безопасность пароля членства в asp.net - PullRequest
0 голосов
/ 29 февраля 2012

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

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

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

1 Ответ

2 голосов
/ 29 февраля 2012

Правильное решение здесь - использовать зашифрованную SSL-страницу (и отправлять SSL-обратно - то есть отправлять на ту же самую ssl-страницу или на другую ssl-страницу)

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

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

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

...