维护连接之间的安全上下文

注意

从 Windows 11 22H2 开始,Microsoft 将弃用 Microsoft Digest,也称为 wDigest。 我们将继续在受支持的 Windows 版本上支持 Microsoft Digest。 未来版本的 Windows 将包含 Microsoft Digest 的有限功能,最终 Windows 将不再支持 Microsoft Digest。

为了减少域控制器流量并提高性能,Microsoft Digest 的客户端会缓存在服务器成功进行身份验证后收到的信息。 客户端应用程序只需将句柄缓存到已建立 的安全上下文 。 下表描述了安全包缓存的信息。

信息 说明
服务器名称 已成功为用户创建安全上下文的服务器。
领域/域 成功身份验证中使用的域名。
Nonce 与成功身份验证关联的服务器 nonce。
Nonce count 客户端在对服务器的请求中包含 nonce 的次数。 这用于重播检测。
不透明值 身份验证成功后为不透明指令返回的值。 此值包含对用户安全上下文的引用。

当客户端向服务器发送消息时,服务器必须确定客户端是否具有现有安全上下文。 为此,服务器会将每个客户端请求传递给 AcceptSecurityContext (General) 函数。 此函数从请求中提取不透明指令的值(如果存在),并使用它来查找客户端的安全上下文。 如果找到安全上下文,则上下文的句柄将返回到服务器。 有关相关信息,请参阅 对后续请求进行身份验证

作为检测欺骗和重播攻击的一种方法,客户端调用 MakeSignature 函数,该函数使用安全上下文对消息进行签名。 使用 MakeSignature 函数保护消息时,服务器将 VerifySignature 函数与缓存的上下文配合使用来验证消息的来源和 完整性。 有关详细信息,请参阅 保护消息