【发布时间】:2017-10-11 08:25:37
【问题描述】:
请澄清以下有关 OPC UA 规范第 4 部分服务的疑问,
- 据我了解,在 GetEndpoints 服务消息之后,客户端向服务器发送 OpenSecureChannel 请求,这意味着该请求已根据所需端点中的安全策略进行签名或签名和加密。我在规范 Part 4 Services, pg.no 33 中看到了以下几行,
OpenSecureChannel 请求和响应消息应被签名 与发件人的证书。这些消息应始终 加密。如果传输层不提供加密,那么 这些消息应使用接收者的证书加密。
在此提到消息应始终被加密。它是如何依赖传输层的?
我还看到 Wolfgang Mahnke、Stefan-Helmut Leitner、Matthias Damm 在 OPC 统一架构书中的另一个描述如下,
如果证书被认为是可信的,那么作为第二个 步一个 OpenSecureChannel 请求,根据 安全策略和安全模式被发送到选定的会话 服务器的端点。 (第 7 章,第 213 页)
这里,它强调消息是根据安全策略和安全模式保护的,所以我要求澄清一下安全模式是否是签名的场景?
消息也会被加密吗?
一般来说,当 MessageSecurityMode 为 None 时,SecurityPolicy“必须”为 None? 'Invalid' MessageSecurityMode 的具体用法是什么?
X509IdentityToken 规范第 4 部分服务第 7.35.4 节
此令牌应始终伴随着签名 如果需要,ActivateSession 的 userTokenSignature 参数 安全策略。服务器应为 如果 SecureChannel 的 SecurityPolicy 为 None,则 UserTokenPolicy。
在第一行中提到“如果 SecurityPolicy 需要”,当 userTokenSignature 是 X509IdentityToken 的必填字段时,“如果需要”的上下文是什么?在第二行中提到,如果 SecureChannel 的 SecurityPolicy 为 None,则需要明确的安全策略,其中“None”表示没有交换证书,因此不能使用 X509IdentityToken,请参阅同一规范中的以下行(第5.6.3 ActivateSession, pg.no: 40)?
如果令牌是 X509IdentityToken 则证明是签名 使用与证书关联的私钥生成。数据 要签名是通过将最后一个 serverNonce 附加到 在 CreateSession 响应中指定的 serverCertificate。
为了您的友好信息,我使用 2015 年 11 月发布的规范进行研究。请澄清。
【问题讨论】: