消息安全中的活动跟踪
本主题描述用于安全处理的活动跟踪,这些活动跟踪发生在以下三个阶段:
协商/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 | 在服务器上对消息进行解密之后 | 在由“进程操作”活动调用的新活动中发出跟踪。 | 已授权用户。 |