2012-02-29 3 views
0

Я заметил, что, глядя на шаблоны для интернет-приложений mvc, пароль отправляется с клиента на сервер в виде открытого текста, хотя я считаю, что он, вероятно, зашифрован/хэширован + солен, когда хранится в базе данных.asp.net безопасность паролей asp.net

Лучше всего повысить безопасность здесь, чтобы включить только SSL/HTTPS, или было бы лучше всего хэшировать пароль на стороне клиента, чтобы он не мог быть перехвачен на маршруте на сервер или это перебор?

Есть ли что-либо в инфраструктуре asp.net или сторонних инструментах, которые помогли бы с таким шифрованием/хэшированием на стороне клиента?

ответ

2

Правильное решение здесь использовать SSL зашифрованные страницы (и SSL пост обратно - означает запись в одной и той же Ssl страницы или на другую страницу Ssl)

При попытке зашифровать или хэш его, прежде чем отправить его с javascript вы просто делаете свой код более сложным и не добавляете так много к его безопасности.

Чтобы сказать, что некоторые из них думают, скажем, что кто-то посередине получает значения обратной связи, хэш пароля обычно составляет от 48 до 128 бит, что меньше, чем безопасность SSL, у которой есть ключ f 2048 бит. Так что никаких особых преимуществ, если вы хэш-пароль перед отправкой.

Еще одна проблема: если вы сделаете хэш пароля на стороне клиента, то вы разоблачите свой ключ, а если кто-то получит ваш ключ, то можете создать из хэша, пароли, которые дают одинаковый хэш. Поэтому не делайте хэш/соль вашего пароля на клиенте, потому что у вас также есть проблема с безопасностью.

Смежные вопросы