Kerberos v5 协议

Kerberos v5 身份验证协议的身份验证服务标识符为 RPC_C_AUTHN_GSS_KERBEROS。 Kerberos 协议定义客户端如何与网络身份验证服务交互,1993 年 9 月由 Internet 工程任务组 (IETF) 在 RFC 1510 文档中制定标准。 客户端从 Kerberos 密钥分发中心 (KDC) 获取票证,并在建立连接时向服务器出示这些票证。 Kerberos 票证表示客户端的网络凭据。

与 NTLM 一样,Kerberos 协议使用域名、用户名和密码来表示客户端的标识。 用户登录时从 KDC 获取的初始 Kerberos 票证基于用户密码的加密哈希。 此初始票证已缓存。 当用户尝试连接到服务器时,Kerberos 协议会检查该服务器中有效票证的票证缓存。 如果一个不可用,则用户的初始票证将连同指定服务器的票证请求一起发送到 KDC。 该会话票证将添加到缓存中,可用于连接到同一服务器,直到票证过期。

当服务器使用 Kerberos 协议调用 CoQueryClientBlanket 时,将返回客户端的域名和用户名。 当服务器调用 CoImpersonateClient 时,将返回客户端的令牌。 这些行为与使用 NTLM 时相同。

Kerberos 协议跨计算机边界工作。 客户端和服务器计算机必须同时位于域中,并且这些域必须具有信任关系。

Kerberos 协议需要相互身份验证,并提供远程支持。 客户端必须指定服务器的主体名称,并且服务器的标识必须与该主体名称完全匹配。 如果客户端为服务器的主体名称指定 NULL,或者主体名称与服务器不匹配,调用将失败。

借助 Kerberos 协议,可以使用模拟级别标识、模拟和委派。 当服务器调用 CoImpersonateClient 时,返回的令牌会在 5 分钟到 8 小时之间在计算机外有效。 此后,它只能在服务器计算机上使用。 如果服务器“以激活器运行”,并且使用 Kerberos 协议完成激活,则服务器令牌将在激活后 5 分钟到 8 小时过期。

Windows 实现的 Kerberos v5 身份验证协议支持掩蔽

COM 和安全包