Ответ 1
При базовой аутентификации пароль отправляется почти равным (с кодировкой base64) на сервер, а на стороне сервера он становится хэшированным и сравнивается с хешированным паролем (хранится в файле htpasswd или аналогичным). С помощью дайджест-аутентификации хешированный пароль отправляется на сервер (с некоторыми данными, определенными на сервере, так что атаки повтора не будут работать). Но для проверки пароля вам нужен простой пароль на стороне сервера (или что-то близкое к простому паролю). Это означает, что если злоумышленник получает доступ к файлу htpasswd, ему необходимо взломать все пароли, прежде чем они смогут использоваться для базовой проверки подлинности, а если он получит доступ к файлу htdigest, он может использовать его непосредственно для проверки дайджеста.
Вкратце: базовый auth менее безопасен на проводе, но более безопасен для хранения на сервере. Таким образом, лучшим выбором обоих будет использование базового auth с SSL. Но обе методики аутентификации имеют недостаток, что нет возможности для тайм-аута сеанса или явного выхода из системы, например. браузер останется включенным до закрытия. Это упрощает атаки, такие как CSRF.