当前位置:主页 > 科技论文 > 信息工程论文 >

基于远程证明的可信Modbus/TCP协议研究

发布时间:2021-11-03 14:33
  由于工业控制系统(industrial control system,ICS)系统中的通信协议在设计之初很少考虑安全性,传统的ICS网络专用协议很容易遭到来自TCP/IP网络的远程攻击。本文通过增加可信硬件,结合远程证明方法设计了一种新的可信Modbus/TCP通信协议,提高使用专用通信协议的ICS网络安全性。修改了ICS网络中现场设备和控制设备中原有Modbus/TCP通信栈以达到双向认证的目的。利用远程证明方法基于白名单对Modbus/TCP客户机、服务器双方身份和安全状态信息进行认证。这些信息的更新由在线的证明服务器维护并推送给现场设备以减轻通信负担。协议数据通过2种方式受到保护:一是,通信过程中的消息认证密钥由可信硬件保护,只有拥有可信硬件绑定密钥的合法设备才能解密,保证通信数据无法在不被发现的情况下被篡改;二是,加密协议的敏感操作信息的密钥也受到可信硬件的保护。目前,还没有其他公开文献将可信组件引入Modbus/TCP通信环境中以保证其安全性。提出的可信Modbus/TCP协议具备完整性、可认证性、新鲜性和机密性4个安全属性。协议由HLPSL语言描述,使用SPAN工具验证,未... 

【文章来源】:工程科学与技术. 2017,49(01)北大核心EICSCD

【文章页数】:9 页

【部分图文】:

基于远程证明的可信Modbus/TCP协议研究


SCADA系统安全通信威胁模型

子协议,白名单,服务器,信息


命令保证拥有绑定密钥私钥的设备(TPM)才能解密对称密钥Kms和Ke。图2认证子协议Fig.2Authenticationsub-protocol2.3通信子协议认证通过后,通信双方将利用上述认证子协议中生成的密钥Kms和Hash算法字段指定的Hash算法协议数据进行HMAC运算,保证通信过程中数据的完整性和双方身份的可认证性。当安全字段为2时,Modbus/TCP将使用Ke进行协议数据加密传输,保证关键报文信息的机密性。该子协议较为简单,限于篇幅不再给出具体流程描述。2.4验证与更新子协议AS使用验证子协议通过周期性质询CS和PLC的PCR,通过对比白名单信息发现是否出现非预期的设备状态变化,从而保证SCADA系统的终端设备在运行过程中没有被篡改。此过程与认证子协议中的认证过程步骤8~10(图2)类似,因此不再重复描述。根据验证结果是成功或失败,AS将决定是否进行ICS设备状态更新:1)如果验证成功,AS不做任何操作;2)如果验证失败,或者若SCADA管理员通过安全进程在可信服务器AS上更新了某实体在白名单上的信息,则由AS发起更新流程。根据更新实体设备类型不同,AS将进行不同操作:1)若更新实体的设备类型为Modbus/TCP客户机,并且实体名称为CS或HMI,则AS通过将实体新的白名单信息签名后推送到Modbus/TCP网络所有服务器(如PLC)中完成更新;2)若更新实体的设备类型为Modbus/TCP网络服务器(如PLC),则AS通过TCP/IP网络向CS或HMI广播更新实体状态信息改变的消息。接收到AS发起更新通知后,CS或HMI将之前在通信子协议中协商的相关对称密钥Kms和Ke设置为无效,重新发起认证子协议。3可信Modbus/TCP协议实现首先,基于包括可信硬件芯片及相关软件在内的可信组件实现可信Modbus/TCP协议。如图3所示,在现有Modbus/TCP网络的客户机和服务器端分别进行3处

白名单,协议实现,作者


图3基于TPM的可信Modbus/TCP协议实现Fig.3ImplementationoftrustedModbus/TCPprotocolbasedonTPM另外,作者通过增加可信白名单和修改Modb-us/TCP协议PDU实现可信Modbus/TCP协议。1)可信白名单AS中维护了一张保存所有设备信息的可信白名单,以便对通信双方的身份和状态可信性进行验证,其格式如图4所示。其中:Name为设备名称;IP为设备IP地址;Type标记设备是客户机还是服务器;AIK_pub代表设备的AIK公钥;SIGK_pub代表设备的签名公钥;BINDK_pub代表设备用于加密客户机和服务器协商的对称通信密钥的绑定密钥公钥;PCRs用来验证通信设备的状态是否可信,PCRs值对应的度量对象包括Modbus/TCP客户机和服务器的操作系统OS内核模块及工控组态软件。白名单的更新由ICS管理员授权,通过特定程序实现。图4可信白名单数据格式Fig.4Dataformatoftrustedwhitelist2)可信Modbus/TCPPDU可信Modbus/TCP协议PDU数据格式如图5所示,使用HMAC保护协议数据完整性和来源真实性,根据操作码的安全级别保护高安全级别操作数据。图5中:HashAlgorithm为1个字节,由报文发送端根据设备计算能力选择Hash算法。HashItem图5可信Modbus/TCPPDU数据格式Fig.5DataformatoftrustedModbus/TCPPDU因选择的Hash算法不同而长度不同,HashItem=HMAC(Kms,Modbus/TCPPDU),Kms由CS维护,在身份认证过程中生成。SecurityLevel为1个字节。本文对Modbus/TCP功能码进行了读和写两级分类,因此取值范围为1或2,也可根据系统需求自定义相应功能码级别。EncryptionAlgorithm为1个字节,是可选项,仅在SecurityLevel字段为2时,由通信双方根据需要选择。若SecurityLevel字段为1,Data为明文;否则,Data为原始Modbus/TCPPDU加密后的数据。4安全性及性能分析4.1

【参考文献】:
期刊论文
[1]可信计算的研究与发展[J]. 沈昌祥,张焕国,王怀民,王戟,赵波,严飞,余发江,张立强,徐明迪.  中国科学:信息科学. 2010(02)

硕士论文
[1]基于SM2加密算法的网络型电压监测系统的研发[D]. 丁佳莉.江苏大学 2016



本文编号:3473861

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/3473861.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户b7cf7***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com