消息安全中的活动跟踪

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

  • 协商/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 交换。此阶段具有与之前所述相同的环境活动。

  • 交换跟踪

  • 已建立安全通道

  • 已获取共享机密。

Aa738609.note(zh-cn,VS.100).gif注意:
在混合安全模式中,协商身份验证发生在二进制交换中,但 SCT 发生在消息交换中。在纯粹的传输模式中,协商仅发生在传输中,并且没有其他活动。

消息加密和解密

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

安全传输 (HTTPS、SSL)和安全消息层 (WSHTTP)

发生消息加密/解密以及签名身份验证的时间

在接收到消息时

活动

在客户端和服务器上的“进程操作”活动中发出跟踪。

跟踪

  • sendSecurityHeader(发送方):

  • 对消息进行签名

  • 对请求数据进行加密

  • receiveSecurityHeader(接收方):

  • 验证签名

  • 对响应数据进行解密

  • 身份验证

Aa738609.note(zh-cn,VS.100).gif注意:
在纯粹的传输模式中,消息加密/解密仅发生在传输中,并且没有其他活动。

授权和验证

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

发生授权的时间 活动 跟踪

本地(默认)

在服务器上对消息进行解密之后

在服务器上的“进程操作”活动中发出跟踪。

已授权用户。

远程

在服务器上对消息进行解密之后

在由“进程操作”活动调用的新活动中发出跟踪。

已授权用户。