Хорошо это могло бы походить на странный вопрос. Читайте тщательно перед вскакиванием на меня хорошо?;-)
Вообразите эту ситуацию:
Хорошо, таким образом, да, я понимаю, что это звучит странным. Да целый разговор находится на SSL, таким образом, Вы МОГЛИ просто отправить простой текст пароля. И да, я понимаю, что можно сохранить незашифрованный пароль безопасно в хешированной форме.
Вот точка, в которой я являюсь ведущим: для нашего бизнеса полезно действительно сказать, что "Мы никогда не будем знать Вашего пароля".
Обратите внимание, что я НЕ говорю, что "мы не храним Ваш пароль в простом тексте", но что мы действительно, никогда не знайте это; Вы никогда не даете его нам.
(Причина желания этого не релевантна, удовлетворенная, чтобы сказать, что пароль пользователя используется для другого материала, например, шифрования файлов).
Да, я понимаю, что Вы могли бы сказать, что с нормальным способом сделать это "хорошо пароль будет только в простом тексте в памяти для 5 мс, в то время как Вы делаете хеширование", но это больше об отрицании. т.е. Мы можем сказать, что 100% даже не получаем Ваш пароль.
Хорошо, таким образом, вот вопрос:
Кто-либо сделал или услышал о такого рода вещи прежде?
Какова важность безопасности выполнения этого?
Я изо всех сил пытаюсь видеть оборотную сторону. Например:
Хорошо можно теперь вскочить на меня :)
Мысли, комментирует приветствующийся.
Спасибо,
John
Обновление: Просто требуемый для разъяснения: я не предлагаю, чтобы это было так или иначе улучшением безопасности процесса аутентификации. Но, вместо этого что это позволяет "реальному" паролю пользователя оставаться секретным, даже с сервера. Так, если действительный пароль используется для того, чтобы, скажем, зашифровать файлы, сервер не имеет доступа к этому.
Я полностью удовлетворен в моих причинах желания этого, вопрос состоит в том, является ли это помехой для безопасности процесса аутентификации.
Так что на данный момент, на самом деле это не помогает вообще. Давайте предположим, что как-то ваше SSL было скомпрометировано. Они нюхают hashed + соленый пароль. Затем они могут просто отправить, что ваш сервер принимает Hashed + соленый пароль в качестве пароля. То, что вы делаете, просто добавляют один слой сложности (не в состоянии ввести пароль в вашем пароле), в этом случае они могут вручную опубликовать его на свой сервер.
Не говоря уже о том, что он сделан, вы делаете клиентов, вы передаете их не только ваш алгоритм хеширования, но и ваша соль и как вы его объединили.
Резюме: Не имея большую выгоду в моем уме, я могу ошибаться, хотя.
Я лично реализую хеширование + соловая сторона сервера и силы SSLV3 / TLSV1 на страницах входа в систему.
Другая проблема в дополнение к тем, которые упомянуты выше: если вы еще не хэша и соли получаемого значения снова, вы по существу сохраняете все ваши пароли в четкости. Любой злоумышленник, который получает доступ для чтения к вашей базе данных, может триветично аутентифицироваться как любой пользователь вообще.
Рассмотрим несколько вещей:
Конечный результат заключается в том, что соль + пароль стал их новым паролем. В целом, я согласен с большинством людей, при этом мало пользуется.
Мне кажется, что есть одна выгода этой схеме, что я не видел упомянул (может быть, я пропустил ее). Можно, безусловно, утверждает, что соль HASH + становится настоящим паролем. Однако с точки зрения безопасности для людей, которые повторно используют пароли, он добавляет значение. Если я использую свой пароль «ASDFASDF» с вашим сайтом, и кто-то подходит для компромиты вашего сервера, они не смогут извлечь свой пароль, который я использую в Dubdubdub.superfinance.com.
Это именно то, что Password Hashers делает для веб-браузеров.
Проблема, которую каждый имеет с вашей идеей, не так ли это плохое представление; Это просто, так как вы разработчик для как клиент и сервер, доверяющий компьютеру клиента, но не сервер не дает вам никакой реальной выгоды (клиент, в конце концов, может иметь кейлоггер или что-то ). Итак, чтобы ответить на ваш вопрос: это только помеха для вас.