Это зависит от алгоритма. В спецификации Kerberos указано, что функции шифрования и дешифрования должны обрабатывать проверку целостности, но указанный алгоритм должен определять это поведение.
Единственными достаточно безопасными типами алгоритмов Kerberos, которые поддерживает Windows, являются aes128-cts-hmac-sha1-96
и aes256-cts-hmac-sha1-96
. Ни один из них не является хорошим выбором, поскольку они используют SHA-1, но HMAC-SHA-1 по-прежнему безопасен в этом контексте, хотя SHA-1 в целом все же следует избегать. В этих алгоритмах это шифрование и MAC: к открытому тексту добавляется случайная строка, MAC и шифрование выполняются над предварительно подготовленным открытым текстом, а MAC добавляется.
Для систем, использующих более современные aes128-cts-hmac-sha256-128
и aes256-cts-hmac-sha384-192
, они шифруются, а затем MAC: MAC вычисляется по зашифрованному тексту. Однако Windows этого не поддерживает, хотя большинство Unix-систем поддерживают.
Windows также поддерживает множество старых небезопасных алгоритмов для Kerberos, ни один из которых не следует использовать. Эти алгоритмы используют одиночный DES в режиме CBC с CRC (!) или HMAC-MD5 и RC4 с HMAC-MD5. Несмотря на то, что HMAC-MD5 считается безопасным при использовании в качестве MAC, ответственные стороны вообще не используют MD5, а RC4 имеет слабые места, которые практически уязвимы для многих протоколов. Единственный DES можно взломать за 20 долларов, поэтому он совершенно небезопасен. Если вас все равно интересует их шифрование, я отсылаю вас к соответствующим RFC.