Дайджест-аутентификация HTTP и SSL - PullRequest
23 голосов
/ 01 марта 2009

В чем разница между HTTP Digest Authentication и SSL с точки зрения производительности, безопасности и гибкости?

Ответы [ 3 ]

36 голосов
/ 01 марта 2009

Плюсы и минусы HTTP Digest Authentication достаточно ясно объяснены в статье в Википедии на тему - вы должны это прочитать!

Проще говоря: HTTP Digest Auth защитит вас только от потери пароля в виде открытого текста злоумышленнику (и учитывая состояние безопасности MD5, может быть, даже не это).

Однако он широко открыт для атак «человек посередине», а также - в зависимости от реализации, поскольку большинство расширенных функций являются необязательными - воспроизведение, словарь и другие формы атак.

Однако самое большое различие между HTTPS-соединением и HTTP-соединением, защищенным Digest Auth, заключается в том, что с первым все шифруется с помощью шифрования с открытым ключом, а с последним содержимым отправляется в открытом виде.

Что касается производительности: из вышеупомянутых моментов должно быть совершенно ясно, что вы получаете то, за что платите (с циклами ЦП).

Для "гибкости" я пойду с: да?

8 голосов
/ 01 марта 2009

Дайджест-аутентификация только шифрует учетные данные аутентификации (то есть имя пользователя и пароль, которые вы вводите в диалоге аутентификации вашего браузера) ... SSL шифрует все на странице. Таким образом, SSL будет менее эффективен, и, как правило, он более сложен в настройке. Но у SSL есть то преимущество, что он позволяет обеим сторонам проверять личности друг друга, если у них есть доверенные сертификаты. HTTP-дайджест-аутентификация этого не делает, поэтому при использовании HTTP-дайджеста без SSL вы действительно не знаете, является ли сервер, на который вы отправляете свои данные для входа, правильным или самозванцем.

4 голосов
/ 02 марта 2009

Некоторые серверные реализации HTTP Digest Authentication заставляют вас сохранять пароли в виде открытого текста на сервере. Более эффективные реализации сохраняют username:realm:MD5(username:realm:password). Это дает засолку сохраненного пароля, который обеспечивает некоторую безопасность, если злоумышленники получили файл паролей.

...