OPC UA业务增加安全性会影响性能。OPC UA需要有一个策略和完整的安全架构,为终端用户提供配置灵活性,以便根据应用程序需求打开和关闭安全参数。另一个需求是需要在小型设备中可伸缩的可配置访问控制。
OPC UA安全架构
由此产生的OPC UA安全体系结构是一个通用解决方案,它允许在体系结构的不同位置实现所需的安全特性。根据不同的映射,安全功能在不同的级别上处理。如图所示,OPC UA安全架构由一个应用层和一个位于传输层之上的通信层构成。
客户机或服务器应用程序的日常工作(传输工厂信息、设置和命令)是在应用层的会话中完成的。应用层还管理用户认证和用户授权等安全功能。由应用层管理的安全功能由在OPC UA规范第4部分中指定的会话服务提供。应用程序层中的会话通过在通信层中创建的安全通道进行通信,并依赖它进行安全通信。所有的会话数据都传递给通信层进行进一步的处理。
尽管会话通过安全通道进行通信,但用户、会话和安全通道的绑定是灵活的。模拟允许会话的用户进行更改。会话的用户可以与创建安全通道的用户不同。为了在原始通道丢失后继续使用另一个通道,通信通道的实现负责在不中断逻辑安全通道的情况下重新建立连接。
通信层提供安全功能,以满足保密性、完整性和应用认证等安全目标。提供的安全功能,连同协商和秘密信息,用于在客户机和服务器之间建立安全通道。这个逻辑通道提供了加密以维护机密性,签名以维护完整性,以及为来自应用层并作为“安全的”数据传递到传输层的数据提供应用程序身份验证的证书。
由通信层管理的安全功能由安全通道服务提供,并由为应用程序选择的协议栈实现。服务到某些协议堆栈选项的映射详细说明了如何使用协议堆栈的功能。
传输层处理由通信层提供的数据的传输、接收和传输。
必要的安全服务嵌入到OPC UA协议栈中,以形成完整的安全体系结构,同时仍然为用户提供服务于各种应用程序所需的配置灵活性。
托马斯·j·伯克www.opcfoundation.org,是OPC基金会的总裁兼执行董事。