工业自动化中的数据传输是确保生产过程高效、稳定运行的关键环节。工业自动化系统中,一般会有一个远程的客户端,负责将各个传感器、控制器等设备产生的信息传递到服务端,以实现生产过程的自动化控制和监控。它对于提高生产效率、降低生产成本、保障生产安全具有重要意义。
一、需求背景
如下图所示,安当客户为煤炭行业开发应用,在总控服务器上通过MQTT协议,收集不同企业终端上报的数据。
客户原方案中未考虑对于终端进行认证,总控服务器上难免会收到很多“脏数据”。由于上报数据的终端是由不同的企业开发,又部署在不同的位置,基于生产安全管理的需要,客户希望能对企业终端进行身份识别,确保总控服务端只接收和处理合法的数据和指令。
二、安当技术方案
根据客户的业务需求,安当与客户一起设计了一个企业终端的识别和认证的机制。该流程中借助国密UKEY中的签名验签算法,实现对客户端的认证。过程如下:
上图方案分两个部分,绑定和验证。设备初次上线时,需要在服务器上完成绑定的操作,在生产过程中,设备上线需要先进行验证,验证通过才可以与服务端进行数据传输。
1. 设备绑定
由于终端来自不同厂家,生产时又可能部署在不同的煤矿,在绑定的环节,我们设计了两层的绑定:
- 本地:企业终端在UKEY内写入一个MAC的哈希作为本地终端和UKEY之间的一个简单校验。
- 远端:UKEY上的签名公钥要发送到服务端,服务端要记录MAC和UKEY公钥的对应关系。
2. 设备验证
- 本地:终端通过校验MAC哈希,确认UKEY属于本机。
- 远端:服务端通过签名验签,确认是合法的UKEY与终端。
三、后续方案演进
随着越来越多的工业设备通过互联网来交互数据,工业自动化系统受到网络安全的威胁导致数据泄露或系统瘫痪的风险也越来越高,这个案例中,客户应用因为网络范围可控,所以只采用了对终端通过UKEY进行身份识别的方案。
安当也建议客户,在终端身份认证的基础上,可以采用数据加密的技术,对终端和服务器之间传输的数据报文进行加密处理,借助UKEY的数据加解密能力来确保数据在传输过程中的安全性和可靠性。
文章作者:太白 ©本文章解释权归安当西安研发中心所有