消息安全中的活动跟踪

本主题介绍安全处理的活动跟踪,这发生在以下三个阶段:

  • 协商/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(接收方):
- 验证签名
- 解密响应数据
-认证

注释

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

授权和验证

下表列出了与授权相关的活动和跟踪信息。

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