生成摘要质询响应
收到来自服务器的质询后,客户端通过调用 InitializeSecurityContext (Digest) 函数来创建 Digest 质询响应。 此函数使用有关请求的资源和质询数据的信息生成 MD5 哈希 指纹,并输出表示部分 安全上下文的安全令牌。 若要完成身份验证,客户端必须将令牌返回到发出质询的服务器。
下表描述了 InitializeSecurityContext (Digest) 函数的参数,以及构造摘要质询响应时要提供的值。
参数 | 说明 |
---|---|
fContextReq |
客户端请求的安全上下文属性。 有关详细信息,请参阅摘要质询响应上下文要求。 |
pszTargetName |
HTTP:以 Null 结尾的字符串,用于指定目标 URL。 SASL:以 Null 结尾的字符串,指定 DNS/SPN 目标。 |
pInput |
包含摘要 SSP 所需信息的缓冲区。 有关详细信息,请参阅 摘要质询响应的输入缓冲区。 |
pfContextAttr |
接收返回的安全上下文支持的属性。 有关详细信息,请参阅摘要质询响应上下文要求。 |
pOutput |
接收要发送回服务器的安全令牌的SECBUFFER_TOKEN类型缓冲区的地址。 |
摘要质询响应上下文要求
上下文要求是确定:
- Microsoft Digest 是用作 SASL 机制还是 HTTP 身份验证协议。
- 客户端和服务器共享 的安全上下文 支持的保护质量。
默认情况下,Microsoft Digest 充当 SASL 机制。
上下文要求指定为传递给 InitializeSecurityContext 函数的 fContextReq 参数的标志。 标志通过控制质询响应中的 qop 指令来影响安全上下文的保护质量。
默认情况下,qop 指令设置为“auth”。 若要生成将 qop 设置为“auth-int”的质询响应,必须发生以下情况:
摘要质询必须将 qop 指令设置为“auth-int”。
客户端必须指定以下一个或多个标志:
- ISC_REQ_INTEGRITY
- ISC_REQ_REPLAY_DETECT
- ISC_REQ_SEQUENCE_DETECT
仅适用于 SASL:通过指定 ISC_REQ_CONFIDENTIALITY 标志,生成 qop 指令设置为“auth-conf”的质询响应。 由于此标志对 HTTP 身份验证无效,因此不能与 ISC_REQ_HTTP 标志一起使用。
验证保护质量
客户端必须检查 InitializeSecurityContext 函数的 pfContextAttr 参数中返回的安全上下文属性标志。 仅当标志指示的保护质量足以满足其目的时,客户端才应将质询响应发送到服务器。 相关标志可以是以下任意组合:
- ISC_RET_INTEGRITY
- ISC_RET_REPLAY_DETECT
- ISC_RET_SEQUENCE_DETECT
- 仅) ISC_RET_CONFIDENTIALITY (SASL 上下文
有关 qop 指令的详细信息,请参阅 保护和密码的质量。
有关质询响应指令的详细信息,请参阅 摘要质询响应的内容。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈