В чем разница между дайджест-аутентификацией HTTP и базовой аутентификацией HTTPS с точки зрения производительности и безопасности?
С точки зрения производительности https
требует, чтобы все быть зашифрованными: запрос, ответ и учетные данные.
Это, по необходимости, больше накладных расходов на сервер (ЦП / время, ОЗУ), чем дайджест-аутентификация HTTP, которая просто хеширует AUTH
учетные данные, чтобы их нельзя было легко перехватить / украсть.
Так что при прочих равных, https
+ Базовая аутентификация будет медленнее, чем http
+ Digest Auth.
Насколько медленнее? Вероятно, не все, что вы заметите, кроме начального соединения и подтверждения SSL.
Остальная часть этого ответа полностью украдена из верхнего ответа на Этот вопрос о переполнении стека покрывая точно такой же материал.
Плюсы и минусы дайджест-аутентификации HTTP довольно четко описаны в Статья в Википедии по теме - вы должны это прочитать!
Проще говоря: HTTP Digest Auth защитит вас только от потери вашего пароля в открытом виде злоумышленнику (и, учитывая состояние безопасности MD5, возможно, даже не это).
Однако он широко открыт для атак Man-in-the-Middle, а также - в зависимости от реализации, поскольку большинство расширенных функций являются необязательными - повторным воспроизведением, атаками по словарю и другими формами атак.
Однако самая большая разница между HTTPS-соединением и HTTP-соединением, защищенным Digest Auth, заключается в том, что первое все шифруется с помощью шифрования с открытым ключом, тогда как с последним содержимое отправляется в открытом виде.
Что касается производительности: из вышеупомянутых пунктов должно быть совершенно ясно, что вы получаете то, за что платите (с циклами процессора).
Для "гибкости" я пойду с: а?