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 和安全包