Техническая причина выглядит следующим образом:
Протокол Kerberos в его основном
форма не дает идеального
пересылка секретности для общения.
Если трафик был записан
подслушиватель, затем сообщения зашифрованы
используя сообщение KRB_PRIV, или
сообщения, зашифрованные с использованием
специфичное для приложения шифрование
ключи, которыми обмениваются с помощью Kerberos, могут быть
расшифровывается, если пользователь,
ключ сервера приложений или KDC
впоследствии обнаружен. Это
потому что ключ сессии используется для
зашифровывать такие сообщения, когда
передается по сети, является
зашифрован в ключе
сервер приложений. Это также
зашифрован под ключом сеанса от
TGT пользователя, когда он возвращается
пользователь в KRB_TGS_REP
сообщение. Ключ сеанса от TGT
отправляется пользователю в
KRB_AS_REP сообщение зашифровано в
секретный ключ пользователя и встроенный в
TGT, который был зашифрован в
Ключ от KDC. Приложения
требуется совершенная прямая секретность должна
обмениваться ключами через механизмы
которые предоставляют такую гарантию, но могут
использовать Kerberos для аутентификации
зашифрованный канал установлен
с помощью таких других средств.
По существу, идеальная прямая секретность добавляет дополнительные издержки к протоколу, которые не нужны для многих его приложений. Если вам нужна PFS, вы можете добавить ее. Для большинства пользователей Kerberos важна скорость. Если у вас одновременно проходят аутентификацию десятки тысяч сотрудников по всему миру, тогда накладные расходы, требуемые для PFS, будут слишком дорогими, а для непрактичных.