1

要求澄清从打开 SecureChannel 到激活 OPC UA 安全架构中的会话的应用程序实例证书(客户端/服务器)的验证次数?

  • 从 Mahnke、Leitner、Damm 的《OPC 统一架构》一书中,可以看到下图是应用实例证书经过验证的位置。(第 214 页中的图 7.4) 创建 OPC UA 安全通道
  • 根据规范第 4 部分服务,第 6.1.5 节 - 图 22 显示在会话创建期间再次验证应用程序实例证书。

为什么标准和书中描述的概念之间存在这种差异?在会话创建期间是否真的需要再次验证应用程序实例证书?我注意到如果我没记错的话,Milo 示例在打开 SecureChannel 时仅验证一次。

4

2 回答 2

1

我认为该图表不正确或已过时。

信任的验证和验证必须在客户端/服务器第一次看到证书时发生,也就是建立通道的时候。

在创建/激活会话服务中,使用请求/响应中交换的签名证明拥有证书。

编辑:总结评论,只有在使用的传输层没有在那里验证的情况下,才需要在会话创建期间进行验证,但在 Milo 的情况下,它始终是二进制 TCP 传输,因此在会话创建期间进行验证是多余的。

于 2018-01-02T15:33:47.117 回答
0

规范(OPC UA Spec. Part 4. 6.1 Security (v.1.03))确实指定了参与证书验证的两个阶段:

  1. 创建 SecureChannel 和
  2. 创建会话。

在 SecureChannel 创建过程中,证书会针对 CA 签名、颁发和到期日期以及吊销列表进行验证。在会话创建时,可以进行完整的验证。

主要区别在于 ApplicationDescriptions 在 CreateSession 阶段可用,因此证书的 ApplicationUri 字段只能在此阶段进行验证。

于 2018-01-09T09:14:31.830 回答