Export (0) Print
Expand All Cryptographic Material

Kerberos V5 establishes a secret key that is shared by a principal and the KDC and a session key that forms the basis for privacy or integrity in the communication channel between client and server. When KILE creates an AES128 key, the password MUST be converted from a Unicode (UTF16) string to a UTF8 string ([UNICODE], chapter 3.9). KILE concatenates the following information to use as the key salt for principals:

  • User accounts: < DNS of the realm, converted to upper case> | <user name>

  • Computer accounts: < DNS name of the realm, converted to upper case > | "host" | < computer name, converted to lower case with trailing "$" stripped off > | "." | < DNS name of the realm, converted to lower case >

Using KILE, application clients (for example, CIFS/SMB clients) MAY use the negotiated key directly. When an application client uses the session key, the application protocol MUST document the explicit use of the key in its protocol specification. The key MAY be exported as an attribute of the completed security context in the SSPI API.

The subkey in the EncAPRepPart of the KRB_AP_REP message SHOULD be used as the session key when MutualAuthentication is requested. (The KRB_AP_REP message and its fields are defined in section 5.5.2 of [RFC4120].) When DES and RC4 are used, the implementation is as described in [RFC1964]. With DES and RC4, the subkey in the KRB_AP_REQ message can be used as the session key, as it is the same as the subkey in KRB_AP_REP message; however when AES is used (see [RFC4121]), the subkeys are different and the subkey in the KRB_AP_REP SHOULD be used. (The KRB_AP_REQ message is defined in section 5.5.1 of [RFC4120]).

© 2014 Microsoft