曹井万
(中国石化扬子石油化工有限公司橡胶厂 江苏 南京 210000)
随着计算机技术和网络技术的发展,人们越来越依赖利用网络来获取和发布信息、处理和共享数据。然而,网络协议本身的缺陷、软件系统的安全漏洞就会给网络系统带来风险。在数字化转型当下,流程行业为了实现生产数据多维度呈现,提高装置有效利用率,促进精细化管理水平,工业数据采集就会面临如何对生产网络等进行有效安全管理、如何使生产数据得到有效保护、如何实现数据采集、数据共享等过程中的安全防护。
本文采用数据加密MD5 算法,结合单向网闸等网络安全设备,研究开发适合流程行业的网络及数据安全的应用,探讨并解决上述问题。
MD5 的全称为message-digest algorithm 5(信息-摘要算法),MD5 算法是将原文数据以512 位分组作为源数据信息[1],并且每一组又划分成16 个32 位子分组,经过系列处理以后,得到由4 个32 位分组(此4 个32 位分组联接生成是一个128 位散列值)组成的MD5 输出结果(也是加密的数据)。
它的原理就是将原文按每512位为一个分组进行分割,形如K*512+M 的串,最后一个多出来的不足512 位的M 先填充1,接着再一直填很多0,直至补足512 位,见图1。
在本应用中MD5 加密的作用主要为:(1)生产数据防篡改:假设生产数据在跨单向网闸发送前MD5 的输出结果为x,发送完后,在网闸外侧收到的加密数据y,如果x 与y 不一样就代表中途被篡改;(2)数据保密:生产数据传输过程及保存在数据库的均为MD5 结果,即加密后的数据。
单向隔离装置的内侧、外侧网络并不互通,传输数据是由网闸系统定向“摆渡”数据[2],并不建立内外两个网络的“物理通路”,网闸把数据由内侧“摆渡”到外侧后,再通过正常的通信方式送到目的地。它的原理是通过切断通用的通信协议、采用特定的通信方式或存储协议来达到“隔离”的效果。由于网闸切断了通用的通信协议,内侧网络也不会遭到来自外侧网络的黑客或病毒直接攻击。
在本应用中网闸的主要作用:(1)单向网闸使得数据实现了网络协议上的物理上隔离,只能单向流动;(2)通过配置安全访问规则,可以防范各种网络攻击。
MD5算法的数据输出单位为128位,一共有2 128种可能,正因如此,它在计算机网络通信中的应用更为普遍[3]。
MD5 不可逆的原因是使用了hash 算法,一种散列函数。MD5 算法具有单向性,如果采用暴力破解攻击法,寻找密文和原文的对应关系,需要尝试264 次,按2.6 GHz 的计算频率推算时间大约为225 年[1]。
在本次应用中,为进一步提高MD5 算法的安全性,采用MD5 加随机数算法[4],即调用MD5 算法时,将动态的时间标签、动态随机数一并加入到原文中,生成的密文更加难以破解。由于流程行业工业数据采集会产生大量的实时数据,进而使MD5 处理的数据串会很长并且刷新速率很快(通常为秒级或更快),因此暴力破解几乎不可能。
在现有网络架构基础上,对数据采集网络加装单向网闸进行安全加固、对网闸传输的数据加密、再通过单向传输软件的部署、优化,所以不会影响原有系统应用的整体性能。本次应用侧重于通过单向网闸和数据加密技术来解决生产实时数据采集应用的安全防护,鉴于目前网络配置上存在的问题,通过使用如表1、表2所示的主要安全设备、开发的软件系统来加固、提升网络的安全性。
表1 主要安全设备
表2 主要功能模块
(1)在工业控制区与MES 数据区之间加装单向隔离装置,在内侧实时服务器上对生产数据加密,再单向传输到MES 数据区。
(2)提高系统服务器、生产专网的安全性、数据保密性、抗攻击性,使之符合安全规范标准。
采取这些措施后的网络结构见图2(蓝色虚线框内为本次新加设备、蓝色虚线椭圆框内为新增防护软件模块)。
每套生产专网都有一个OPC 服务器对生产管理系统(MES 数据区)提供生产实时数据,数据流向:工业控制区→MES 数据区→办公区。
通过OPC 客户端采集程序获取生产实时数据后,汇集到隔离装置内侧实时服务器,然后由隔离装置单向接口软件进行加密后,传送给隔离装置外侧实时数据服务器,外侧实时数据库获取数据后再进行解密。
数据加密及传输过程:内侧实时服务器上生产数据经过MD5 加密,再由隔离装置单向接口软件将这些加密数据发送至外侧实时数据服务器,见图3。
在完成系统设计及确定方案后,搭建运行环境、对隔离装置进行配置、完成数据加密、单向传输、数据解密等模块的开发。
(1)隔离装置:南瑞单向隔离装置SysKeeper-2000。
(2)南京森立诚生产实时数据库系统:隔离装置内侧、外侧各一套。
(3)本次开发的软件:隔离装置单向接口软件(含“加密”“单向传输模块”,位于隔离装置内侧)。
(4)数据解密软件(位于隔离装置外侧)。
本文所使用的隔离装置已由公安部计算机信息系统安全产品质量监督检验中心等检测机构检测认证。本次选用的隔离装置型号为南瑞SysKeeper-2000(正向型),应用于企业生产控制大区(工业控制区)到管理信息大区(办公区)的单向数据传递,见图4。
由图5 所示,隔离装置单向接口软件将生产实时数据加密后,通过虚拟IP 地址单向“发送”给外网的9010 端口(网闸内外网在网络协议层次是不连通的,是网闸系统的“摆渡”过程)。
另外,通过绑定内网MAC 地址、绑定外网MAC 地址,来授予特定机器的收发权限,进一步提升数据传输的安全性。
在隔离装置内侧,实时数据发送之前,按一定的算法进行加密,再由上述“隔离装置单向接口软件”发送到隔离装置外侧。
本模块采用MD5 算法加密,按上述1.1 数据加密及传输分析的算法,输入一个任意长度的字节串,生成一个128位散列值组成的MD5 输出结果,例如:源数据887,123.56,2021-01-06 加密后为8YfOp9NC18Eoh5EIsXOfEG2g59KM。
由于算法具有某些不可逆特征,在加密应用上有较好的安全性。如果没有密钥,加密后的数据在传输和存贮状态都不能被识别,这无疑提升了生产数据的保密性及安全性。
采集到的各装置OPC 生产实时数据汇集于隔离装置内侧服务器,经过加密后,由隔离装置单向接口软件发送至隔离装置外侧的服务器上。隔离装置单向接口软件是基于上述隔离装置规则开发,比如向某虚拟IP 的9010 端口传送数据,数据只能由内侧单向传到外侧,软件界面示例见图6。
隔离装置外侧服务器接收到加密数据后,根据密钥进行解密,供生产管理、ERP 等各个系统或模块使用。
在完成了本应用系统后,对系统进行测试:对软硬件运行的稳定性、对各业务流程数据的准确性进行分析和验证。由此找到系统中存在的错误,检测系统的容错性能,进而对其进行改进和优化。
配置完隔离装置后,使用仿真/模拟案例对隔离装置系统的单向传输效果、可靠性、稳定性进行测试。假定从外侧网络主机进行攻击,案例如下:通过200 次测试攻击隔离装置内侧网络的一些已知或未知IP 及端口(192.168.0.19/1433 等端口),这些攻击均不能到达内侧网络。
测试环境:采用实际运行环境,分别进行传输功能、数据加密、维护数据等项目的测试。
测试范围:数据加密和单向网闸技术在流程行业的应用系统的所有部分,包括了软硬件(隔离装置及配套软件、本次开发的隔离装置单向接口传输/加密等模块)运行情况。测试源数据以887,123.56,2021-01-06 为例,加密后为8YfOp9NC18Eoh5EIsXOfEG2g59KM,按以下几个条件验证,见表3。
表3 源数据验证设想条件
该测试中,设定源生产数据和被攻击或篡改的数据仅有1 位的不同,但加密后的值完全不一样,以得出通过隔离装置单向传输的数据是安全可靠性的。
实现了工业控制区和MES 数据区的物理隔离,非法访问进入不了工业控制区;数据单向传输能力:实现了每万测点数据秒级传输;数据加密及解密性能:采用了MD5 加随机数算法加密,经测试不能破解;提供实时监控、审计和告警;采用身份认证等技术实现访问控制;快速的信息交换能力及响应能力;系统快速恢复能力;保障数据库系统和系统的安全。
隔离装置具有良好的抗攻击性,结合“隔离装置单向接口软件”的数据加密模块、数据单向传输模块,有效隔离了生产网和办公网,防止非法入侵,确保了网络及数据的安全。
数据加密和单向网闸技术在流程行业的应用系统,通过加装单向隔离装置,将MES 数据区和工业控制区隔离,实现了生产实时数据加密单向传输,提升了数据采集网络的安全等级,确保了控制系统及生产数据的安全。