您好,
您的问题涉及到Active Directory (AD) 和 Kerberos 认证的内部机制,特别是与用户的NTLM hash 以及支持的加密算法有关。
为了回答您提出的两个问题,下面是一些更加详细的信息:
- AD中用户密钥存储机制
在Active Directory中,用户密码的确会被存储为不同的加密密钥形式,以支持各种加密算法。具体来说,每个用户的密码会生成不同的密钥,这些密钥使用不同的加密算法,如AES、RC4等。这样做的目的是为了兼容不同的Kerberos客户端和支持不同的加密标准。
当用户在尝试通过Kerberos进行认证时,AD会选择一种合适的加密算法与客户端进行协商。这取决于客户端支持哪些加密算法,以及AD在用户条目中存储的密钥。
- 其他Kerberos客户端的认证方式
其他Kerberos客户端,如MIT的krb5,可以连接到AD并完成Kerberos认证,这是因为这些客户端同样支持AD中使用的加密算法。
AD存储的是多种密码的密钥格式,这意味着只要Kerberos客户端使用相同的加密算法,AD就能完成认证流程。因此,MIT krb5这样的客户端在提供正确的明文密码和支持相应的加密算法时,能与AD进行成功的Kerberos认证。
同时为了确保不同的Kerberos客户端实现能够与AD进行互操作,AD支持的Kerberos协议(如RFC 4120)尽量保持标准化。
希望以上信息对您有所帮助。
=============================================
如果答案对您有帮助,请点击“接受答案”并点赞。