签名和加密是否为 OCP UA over HTTPS 带来任何好处?

Does signing and encryption bring any benefits for OCP UA over HTTPS?

我正在阅读 OPC UA 规范,有一件事让我感到困惑:

当使用 HTTPS 作为传输协议时,TLS 已经建立了安全通道。

在这种情况下,使用 None 以外的任何其他安全模式是否有意义?

通过已经安全的通道加密或签署消息有什么好处?

使用 HTTPS 传输时,SecurityPolicy 几乎变得无关紧要。

来自第 6 部分讨论 HTTPS 时:

The SecurityPolicy shall be specified, however, it only affects the algorithms used for signing the Nonces during the CreateSession/ActivateSession handshake. A SecurityPolicy of None indicates that the Nonces do not need to be signed.

物有所值...您会发现在现实世界中唯一得到广泛支持的传输是采用二进制编码的 OPC UA TCP 传输。这是唯一的强制实施组合。

如果您使用 HTTPS 进行传输,如您所了解,TLS 将定义加密。

但是,OPC UA 还启用了使用应用程序实例证书的应用程序身份验证。如果您使用 OPC UA SecurityMode=None,应用程序身份验证将被忽略。为了使用 HTTPS 启用应用程序身份验证,您至少需要使用 SecurityMode=Sign,尽管在 TLS 之上消息签名或安全性并不是真正必需的。