消息安全中的活动跟踪

本主题描述用于安全处理的活动跟踪,这些活动跟踪发生在以下三个阶段:

  • 协商/SCT 交换。 这可能发生在传输层(通过二进制数据交换)或消息层(通过 SOAP 消息交换)。

  • 消息加密/解密(带有签名验证和身份验证)。 跟踪出现在环境活动(通常为“进程操作”)中。

  • 授权和验证。 这可能在本地发生,或是在终结点之间进行通信时发生。

协商/SCT 交换

在协商/SCT 交换阶段,在客户端上创建了两种活动类型:“设置安全会话”和“关闭安全会话”。“设置安全会话”包含 RST/RSTR/SCT 消息交换的跟踪,而“关闭安全会话”包含“取消”消息的跟踪。

在服务器上,RST/RSTR/SCT 的每个请求/答复都出现在它自己的活动中。 如果在服务器和客户端上都设置了 propagateActivity=true,则服务器上的活动具有相同的 ID,并且在通过服务跟踪查看器查看时一起出现在“设置安全会话”中。

此活动跟踪模型对于用户名/密码身份验证、证书身份验证和 NTLM 身份验证都有效。

下表列出了用于协商和 SCT 交换的活动和跟踪。

发生协商/SCT 交换的时间 活动 跟踪
安全传输(HTTPS、SSL) 在接收到第一个消息时。 在环境活动中发出跟踪。 - 交换跟踪
- 已建立安全通道
- 已获取共享机密。
安全消息层 (WSHTTP) 在接收到第一个消息时。 在客户端上:

- 源自第一个消息的“进程操作”的“设置安全会话”,对应于 RST/RSTR/SCT 的每个请求/答复。
- 源自“关闭代理”活动的“取消”交换的“关闭安全会话”。此活动可能是在其他一些环境活动中发生的,具体取决于安全会话的关闭时间。

在服务器上:

- 对于服务器上的 RST/SCT/取消的每个请求/答复,都有一个“进程操作”活动。 如果 propagateActivity=true,则 RST/RSTR/SCT 活动与“设置安全会话”合并,而“取消”与来自客户端的“关闭”活动合并。

“设置安全会话”有两个阶段:

1.身份验证协商。 如果客户端已拥有正确的凭据,则此阶段是可选的。 可以通过安全传输或通过消息交换完成此阶段。 在后一种情况下,可能发生 1 次或 2 次 RST/RSTR 交换。 对于这些交换,将在新的请求/答复活动中发出跟踪,如同以前设计的一样。
2.安全会话建立 (SCT),此阶段会发生一次 RST/RSTR 交换。 此阶段具有与之前所述相同的环境活动。
- 交换跟踪
- 已建立安全通道
- 已获取共享机密。

备注

在混合安全模式中,协商身份验证发生在二进制交换中,但 SCT 发生在消息交换中。 在纯粹的传输模式中,协商仅发生在传输中,并且没有其他活动。

消息加密和解密

下表列出了消息加密/解密以及签名身份验证的活动和跟踪。

安全传输层(HTTPS、SSL)和安全消息层 (WSHTTP)
发生消息加密/解密以及签名身份验证的时间 在接收到消息时
活动 在客户端和服务器上的“进程操作”活动中发出跟踪。
跟踪 - sendSecurityHeader(发送方):
- 对消息进行签名
- 对请求数据进行加密
- receiveSecurityHeader(接收方):
- 验证签名
- 对响应数据进行解密
- 身份验证

注意

在纯粹的传输模式中,消息加密/解密仅发生在传输中,并且没有其他活动。

授权和验证

下表列出了授权的活动和跟踪。

授权 发生授权的时间 活动 跟踪
本地(默认) 在服务器上对消息进行解密之后 在服务器上的“进程操作”活动中发出跟踪。 已授权用户。
Remote 在服务器上对消息进行解密之后 在由“进程操作”活动调用的新活动中发出跟踪。 已授权用户。