现场总线通信安全的设计与实现
我国已经提出了“以信息化推动工业化”的战略。在生产自动化系统中实现信息交换和共享并以此为基础实施企业CIMS工程已成为人们的共识,这必将成为自动化系统未来发展的方向。现场总线在这一系统中扮演了重要的角色,它为底层的智能设备提供了开放的通信平台,使之能够实时地进行数据交换。而且便于自动化系统与企业局域网互联,从而实现任意时刻、任意地点的控制,进而推进整个企业的自动化、信息化进程。
一、问题的提出
图1为某中药生产厂的自动化系统。该系统实现了中约生产中的配料工作的自动化,能够提高生产效率,而且增加保密性,同时便于远程管理。
图1 中药配料系统
在生产一线上采用基于现场总线的控制系统。当中药配料落入秤斗中时,Panther仪表就可以检测出这个变化,经过A/D转换变成以数字表示的称重数值。通过RIO接口,PLC程序可直接读取Panther的称重数值。智能仪表与控制器作为总线节点,依托总线进行相互通信,协调工作。
可以看到基于现场总线的这一系统结构简单,成本较低,可以有灵活的控制,可扩展性强。而且能够方便地与企业局域网进行通信,从而满足远程控制的要求。
可是我们发现,在现场总线一级的设备之间的通信是不安全的,如图2中,监听者可以获取信道中的数据。现场总线协议标准是公开的,这些数据很容易被解释为有意义的信息,那么各个节点之间的通信就没有任何保密性可言。
图2 伪节点监听总线数据
现场总线数据交换中的这种不安全因素来自于协议本身。现场总线采用类似局域网的广播报文方式进行通信,那么上面的这种窃听就可以获取总线上通信的所有信息。对于一个中药厂来说,药品的配方就是企业的生命,如果这些信息被窃取,后果将不堪设想。
推而广泛,现代企业的许多关键技术都会在生产一线的仪器工作参数中体现出来,那么随着企业的自动化、信息化程度的提高,信息的不安全性也越来越高。企业的现代化进程是不可避免的,在这一过程中,必须对信息安全提出越来越高的要求,对于采用现场部构建的生产自动化系统,应该考虑总线网段的通信安全。
二、解决方案
我们提出的是一种进行设备间通信加密的方案,来解决上面提出的问题。
现场总线网段上设备的通信加密不同于目前通常的网络通信加密,,需要考虑实现加密的层次、实现方法以及对性能影响等诸多因素。
1、实现安全的层次
图3 加密层次的选择
加密层次的选择是相当关键的。这不仅涉及到对系统性能的影响,也决定着方案是否具有可行性。加密与解密应在同一层次进行。如图3所示,通常有几种可能的选择:
(1)在应用层实现。这需要由用户选择加密算法进行编程,然后利用智能仪表和控制器的运算能力将数据转化为密文,交给下层处理。同时,应用层也要负责解密。
在应用层实现最大问题是对性能的影响。设备的运算能力是有限的,在设计运算能力的时候只有针对普通数据的处理而没有考虑到实现较为复杂算法(加密、解密)。所以,利用现有的协议和软硬件去实现加密是不适宜的。而且,应用层的基本功能是控制与管理,把加密解密放到这个层次,会使其功能复杂化,不利于其管理控制任务的进行。
(2)集成于逻辑链路控制子层(LLC子层)或介质访问控制子层(MAC子层)。这两种选择都需要对现有的LLC或MAC层的协议进行改动,是相当复杂的工作。因为现场总线的协议还没有完全标准化,各种协议在底层的实现不同,进行集成的工作会影响各类总线,而且这种改动既涉及到协议制定者,又影响到设备生产者,不会是一件容易的事性。这种方案也会使原有的LLC和MAC层的协议更加复杂。
评论