2009-03-01 5 views
22

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

+8

Ваш вопрос должен звучать так, как будто мы сдаём экзамен? – hop

+0

Извините, я перефразирую его :) – Gili

+11

Теперь я хочу знать, как выглядел оригинал! – ciscoheat

ответ

35

Достоинства и недостатки аутентификации HTTP Digest объясняются достаточно четко в Wikipedia article on the topic - вы должны прочитать это!

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

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

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

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

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

8

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

+0

Насколько я понимаю, аутентификация дайджеста не содержит шифрования вообще, кроме так называемого HMAC. – max

+1

, который вычисляется с использованием криптографических функций ... – hop

+0

@mdorseif: Я думаю, я не был очень точным. Я имел в виду «шифрование» в смысле перевода некоторых данных в неинтерпретируемое, обратимо или нет. Тот же смысл, что и функция crypt(), используемая для хэш-паролей в Linux. –

4

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

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