2. 东北大学信息科学与工程学院, 辽宁 沈阳 110004;
3. 中科院网络化控制系统重点实验室, 辽宁 沈阳 110016;
4. 中国科学院大学, 北京 100049;
5. 中国科学院机器人与智能制造创新研究院, 辽宁 沈阳 110016
2. School of Information Science and Engineering, Northeastern University, Shenyang 110004, China;
3. Key Laboratory of Network Control System of Chinese Academy of Sciences, Shenyang 110016, China;
4. Universityof Chinese Academy of Sciences, Beijing 100049, China;
5. Institudes for Robotics and Intelligent Manufacturing, Chinese Academy of Sciences, Shenyang 110016, China
0 引言
当前,随着信息和互联网技术的高速发展以及它们向各产业的不断延伸与渗透,原有封闭、孤立的工业控制系统逐步走向开放、互联,一个高度自动化、个性化和互动化的工业互联网即将诞生.互联网技术为工业控制领域带来了技术进步、生产率提高与竞争实力大大增强的利益,然而在工业控制领域享受这些利益的同时,也面临着越来越严峻的信息安全挑战,病毒、木马等威胁正在向工业控制系统扩散[1-2].
对于工业控制系统的攻击手段,主要分为对工业企业数据的攻击、对控制性能的攻击、对控制功能的攻击,近几年工业控制系统遭到攻击的恶性事件层出不穷,自1982年在苏联发现的首个SCADA逻辑炸弹,到2010年伊朗核电站“震网”事件,再到2016年亚洲能源行业“洋葱狗”等事件均表明网络安全威胁的触角已真正地开始向工业领域蔓延.工业控制系统一旦遭到破坏,会造成整个控制系统的工作异常,控制器失灵,数据信息遭到窃取与破坏,这不仅会影响产业经济的持续发展,更会对国家安全造成巨大的损害,总而言之当前工业控制系统的信息安全形势十分严峻[3-4].
目前,工业测控系统的核心仍然是以PLC为代表的可编程嵌入式电子设备,但其自身安全防护能力较弱,认证机制和访问控制的防护不足,很容易遭到入侵,进而对整个系统造成破坏.工业控制系统一旦遭到破解,则可能造成工业控制中的控制PLC启停、植入恶意PLC逻辑与自定义固件等高危持续性威胁[5],后果不堪设想,这已经成为影响我国工控系统安全的重要问题.基于密码技术保护工控网络中数据传输的机密性、完整性和不可否认性成为越来越重要的技术手段.所以加强工业控制系统信息安全的防护,采用密码技术解决工控系统信息安全问题是大势所趋[6].
作为通信网络环境下的一种安全保密基础设施,身份认证机制一直都是密码技术中重要的研究方向.认证机制作为工业控制系统信息安全防护的一道重要关卡,不仅可以有效地阻挡非法用户对工控系统的未授权访问,同时群组认证还可以用来检测多个终端中是否存在已被入侵的终端,进而保护系统的敏感资源.在工控系统中添加密码学中的认证模块可以为工控系统提供或增强身份认证的能力,确保工控网络中数据传输的机密性与安全性.所以迫切需要将一种完整高效的认证机制应用到工控场景中[7].
1 国内外研究现状典型的工业控制系统,一般分为现场控制层、监控管理层、企业管理层三层.现场设备层主要由负责工业制造的设备、仪器仪表、传送设备等物理设施组成,现场设备通过现场总线或者工业以太网与工业控制终端进行连接,PLC或RTU设备负责实现局域控制功能;监控管理层主要由上位机、数采机、数据服务器、HMI组成,并由OPC、工业以太网等进行通讯,主要负责对相应的控制器以及物理设备等参数的设定与控制,以及实时数据的上传与监控;企业管理层主要由相应的管理终端通过以太网进行通讯,负责生产过程的管理、生产计划制定等[8].随着互联网的发展,现场控制层、监控管理层和企业管理层,这三层之间的通讯逐渐开始与企业网、因特网互联.其中现场设备层中的数据最为重要,其核心设备是以PLC为代表的可编程嵌入式电子设备,因此PLC设备面临的网络安全风险也随之增大.针对PLC产品与其他设备交互时认证技术不完善等相关问题,国内外一些学者提出了相应的改进办法.
Hayes等人提出一种基于哈希运算消息认证码(HMAC)和流控制传输协议(SCTP)技术的后向兼容Modbus改进安全协议Modbus Sec,其可为系统提供可靠的消息传递服务,并实现设备间的双向认证,但是该方案的安全性过分依赖于其预共享密钥的长度和复杂性,该方案缺乏实用性[9]. Morris等人提出一种改进的入侵检测软件Modbus RTU/ACSII Snort,将串行连接流量转换为以太网TCP/IP流量进行传输和检测,该入侵检测软件未做通讯实时性、有效性的测试,对通讯实时性、有效性要求比较苛刻的环境没有保证[10].信息安全界对工业控制系统中终端设备和网络的接入安全也进行了研究. TCG组织于2014年将可信计算技术引入ICS,利用可信度量和可信连接为ICS的终端、网络等提供更高级别的安全保护,但这种方案只改进了终端设备和网络接入的安全,并未改进终端设备通信使用的协议,存在一定的安全隐患,如通信报文被窃听[11].杨静等人针对Modbus/TCP协议缺乏身份认证,提出一种新的Modbus/TCP协议安全增强方法,可以完成通信双方的认证,但数据处理耗时较大,不满足实时性要求[12].王勇等人提出基于可信计算的身份认证方法,采用基于数字证书的身份认证方法,构建了可信PLC的安全认证模型,但是该方法计算量大,认证过程较为繁琐[13].
针对上述实用性差、安全性低和计算量大等问题,本文针对传统信息安全中的身份认证技术进行了改进,并将改进后的认证技术应用到工业控制系统中,实现了工控系统中多机协作场景下对多台PLC进行同时认证的功能,便于多个终端同时管理,提高系统的认证效率,增强整个系统的安全性与可靠性,解决控制系统中身份认证机制存在的认证过程繁琐终端计算能力有限等问题.
2 相关理论基础 2.1 密码学相关理论基础 2.1.1 无证书签名机制1) 系统建立
这个算法由密钥生成中心(KGC)完成.算法输入参数1k,输出主密钥s和系统参数params. KGC保密s,公开params.这里k是一个安全参数.
2) 部分私钥提取
这个算法生成用户的部分私钥,由KGC完成.算法输入一个用户的身份IDU,KGC计算该用户的部分私钥并通过安全方式发送给这个用户.
3) 设置秘密值
该算法输入系统参数params和一个用户的身份IDU,输出该用户的秘密值xU.
4) 设置私钥
该算法输入系统参数params和一个用户的部分私钥DU与秘密值xU,输出一个完全的私钥SU.
5) 设置公钥
该算法输入系统参数params和一个用户的秘密值,输出该用户的公钥PKU.
6) 签名
该算法输入系统参数params、一个签名者的身份IDU与公钥PKU、一个签名者的私钥SU和一个消息m,输出一个签名σ.
7) 验证
该算法输入系统参数params,一个签名者的身份IDU与公钥PKU、一个消息m和一个签名σ,输出“真”(表示签名σ对于消息m和(IDU,PKU)是合法的)或者“伪”(表示签名σ对于消息m和(IDU,PKU)是不合法的).
2.1.2 Shamir门限方案1979年,Shamir提出了一个基于多项式拉格朗日插值的(k,n)门限方案.设p为一个素数,p≥n+1,共享秘密s∈Zp.假设由一个可信中心T来给这n个用户分配秘密份额,Shamir门限方案由份额分配算法和恢复算法构成[16-17].
1) 份额分配算法
(ⅰ)T随机选择k-1个独立的系数a1, a2, …, ak-1∈Zp,定义a0=s,建立一个多项式:
(ⅱ)T选择n个互不相同的元素x1, x2, …, xn
xk-1∈Zp,并计算yi=f(xi)mod p,1≤i≤n.最直接的方法是令xi=i.
(ⅲ)将(xi, yi)分配给用户Ui,1≤i≤n, 其中xi公开,yi为Ui的秘密份额.
2) 恢复算法
任何k个或更多的用户将他们的份额集中起来.这些份额提供了k个不同的点(xi, yi),可以通过拉格朗日插值计算出f(x)的系数ai. 1≤i≤k-1.秘密s就可以通过计算f(0)=a0=s得到.
对于一个次数小于k的未知多项式f(x)来说,给定k个点(xi, yi), 1≤i≤k,我们就可以根据拉格朗日插值公式进行重建:
既然f(0)=a0=s,共享的秘密可以表示成
其中,
可信平台模块(Trusted Platform Module)是一种植于计算机内部为计算机提供可信根的芯片. TPM是一个含有密码运算部件和存储部件的小型片上系统,它由CPU、存储器、I/O、密码运算器、随机数产生器和嵌入式操作系统等部件组成.它是具有加密功能的安全微控制器,旨在提供涉及加密密钥的基本安全功能.
TPM安全芯片,是指符合TPM标准的安全芯片,它能有效地防止非法用户访问,可实现数据加密、密码保护等安全功能.它所起的作用相当于一个“保险柜”,最重要的密码数据都存储在安全芯片中,安全芯片配合管理软件完成各种安全保护工作,而且根据安全芯片的原理,由于密码数据只能输出,而不能输入,这样加密和解密的运算在安全芯片内部完成,而只是将结果输出到上层,避免了密码被破解的机会[18].
2.2.2 PCI-e总线概述PCI-Express(又称PCI-e)是一种高性能、高带宽串行通讯互联标准,它取代了基于总线的通信构架,如:PCI、PCI Extended(PCI-X)以及加速图形端口(AGP). PCI-e具有更低的生产成本、更高的系统吞吐量和更好的可扩展性与灵活性等主要性能.
随着现代处理器技术的发展,在互连领域中,使用高速差分总线替代并行总线是大势所趋.与单端并行信号相比,高速差分信号可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行数据信号才能达到的总线带宽. PCIE(Peripheral Comp-onent Interconnect-Express)总线使用了高速差分总线,并采用端到端的连接方式,因此在每一条PCIE链路中只能连接两个设备. PCIE总线使用了一些在网络通信中使用的技术,如支持多种数据路由方式、基于多通路的数据传递方式和基于报文的数据传送方式,并充分考虑了在数据传送中出现服务质量QoS(Quality of Service)问题[19].
3 轻量级组认证机制 3.1 符号描述本文结合无证书签名机制和传统信息安全中的群组认证方案,提出了面向工控终端的轻量级组认证机制.本文中的机制在秘密份额传输时使用了CLSC(cer-tificatelesssigncryption)机制,用来解决第三方的不可信问题,防止其下发假的份额给终端.同时,该机制可以在全部n台PLC中,对其中任意m(t≤m≤n)台PLC进行整体组认证,判断m台参与认证的PLC是否都处于安全通信的状态,该机制主要为以PLC为核心的工控系统添加认证机制,增强整个系统的安全性与可靠性.本文中的机制所涉及到的符号描述如表 1所示.
符号 | 描述 |
U | 工程师站与PLC标识的集合 |
xi | 公开身份信息ID |
k | 系统的安全参数 |
s* | 系统主密钥 |
pp | 系统公开参数 |
G1,G2,GT | 构造双线性映射的循环群 |
p, q, g | 分别为G1,G2,GT的生成元 |
φ | 同构函数 |
e | 双线性对映射函数 |
Ppub | 系统的公钥 |
H1,H2,H3 | 3个不同的加密哈希函数 |
n | 被签名消息的长度 |
p,q | 大素数(p是G1,G2,GT的阶) |
dxi | 部分私钥 |
Qxi, Txi | 计算密钥产生的中间值 |
xxi | 秘密值 |
skxi | 私钥 |
pkxi | 公钥 |
s | 总的秘密值 |
si | 秘密份额 |
ai | 随机多项式f的系数 |
H(s) | 验证阶段使用的单项哈希函数 |
ri | 随机选取的计算值 |
c, u, v, w | 构成签名的4个计算值 |
δ | 签名 |
gr1, h2 | 计算签名产生的中间计算量 |
P | 参与认证的PLC标识的集合 |
Ci | 随机分量 |
s′ | 参与认证的PLC计算出的秘密值 |
注:论文中涉及上述符号且下标后缀有s(send)的为发送方,有r(receive)的为接收方. |
本文中的机制包括系统中的PLC设备、工程师站和密钥生成服务器,认证实体的具体描述如下:
1) 系统中的PLC设备:为系统中的PLC设备添加PCIE网络安全单元,并使用具有身份认证功能的可信PLC控制器作为系统中的主控设备,构成安全可信的认证环境.系统中所有的n台可信PLC都会在工程师处成功注册并获得有效的秘密份额.但是,在认证阶段只有m台参与认证的可信PLC会生成随机分量进行组内认证.
2) 工程师站:工程师站在本机制中负责选择多项式的参数和秘密值、计算并公开秘密的Hash值、生成秘密份额并通过无证书签名方式安全地分发给可信PLC主控,并且在认证阶段负责判断可信PLC主控最终计算出的秘密的Hash值是否正确.
3) 密钥生成服务器:密钥生成服务器在本机制的主要工作是设置并发布系统的公开参数,提取工程师站和所有可信PLC的部分私钥,并将提取到的相应的部分私钥发送到工程师站和系统中所有的可信PLC中,在整个机制的过程中该步骤仅执行一次.
数据信息的实体交互图如图 1所示.
3.3 认证流程在整个机制中,先由密钥生成服务器进行一系列的准备工作,包括给定双线性配对组、选取系统主密钥和选择3个不同的加密哈希函数等.之后密钥生成服务器计算并公开系统参数,以及提取出所有可信PLC主控和工程师站的部分私钥,并将部分密钥下发,机制的通信过程也由此开始.所有可信PLC主控和工程师站接收到相应的部分私钥后根据各自的身份信息ID和系统的公开参数生成自己的公钥和完整的私钥.
当上述的准备工作一切就绪之后,工程师站开始选择秘密值s、随机多项式f和单项哈希函数H(s),再根据系统中每台可信PLC主控的身份信息ID计算它们相应的秘密份额sj.之后,工程师站利用无证书签名的方式将相对应的秘密份额安全地发送给每台可信PLC主控.可信PLC主控接收到签名后使用自己的身份信息ID、工程师站的公钥和自己的私钥对签名进行验签.如果签名有效则根据接受到的秘密份额进行组内认证,否则丢弃接受到的秘密份额,等待下一次的秘密份额发送.
在确认过签名有效后,参与认证的m(t≤m≤n)台可信PLC主控开始进行组认证.参与认证的m台可信PLC主控根据接受到的秘密份额生成各自相应的随机分量,之后每一台可信PLC向其他参与认证的可信PLC发送随机分量,当接收到所有的随机分量后,开始组内的认证过程.
每台参与认证的可信PLC通过恢复出来的秘密值s′计算H(s′),可信PLC主控将H(s′)发送到工程师站,工程师站再通过判断是否成立来判定H(s′)=H(s)是否存在非法的PLC设备.如果认证结果成立,工程师站和PLC设备之间则可以开始正常的数据通信.如果认证结果不成立,则说明参与认证的PLC设备中存在可疑的PLC设备参与到了认证的过程中,企图加入组内,获取工业控制系统过程中的相关数据,此时相关的工作人员应该提高警惕,开始一系列的排查工作,整个机制的流程图如图 2所示.
3.4 认证步骤 3.4.1 准备阶段在准备阶段由3个算法组成,分别是初始化算法、部分私钥提取算法和设置公私钥算法,即Preparation-Phase=(Init, PartPKGet, Pri/PubKSet),具体描述如下:
假设整个工控系统中共有n台可信PLC互连互通进行认证和一个工程师站,通过U={Ui|i=1, 2, …, n, n+1}对这n台可信PLC和工程师站进行标识,每台可信PLC和工程师站(即Ui)获取自己的设备编号记为xi,将xi作为Ui的公开身份信息ID且xi≠1,其中,i=1, 2, …, n, n+1.
1) (s*, pp)←Init(k):初始化算法由密钥生成中心完成,算法输入一个安全参数k,输出系统主密钥s*和系统参数params,密钥生成中心保密s*,公开params,算法详细流程如下:
(ⅰ)选取具有相同阶p(其中p>2k)的循环(G1, G2, GT),其中群G1和群G2具有同构性,即ϕ: G2→G1,双线性配对函数为e: G1×G2→GT.
(ⅱ)选取G2的任意生成元Q,并设置P=φ(Q)和g=e(P, Q),使P、g分别是G1和G2生成元.
(ⅲ)随机选取系统主秘钥,s*∈RZp*,并将Ppub=s*Q设置为系统的公钥.
(ⅳ)选取3个不同的加密哈希函数H1: {0, 1}*→Zp*, H2: {0, 1}n×G2×GT×G23→Zp*和H3:G2×GT→{0, 1}n.
发布系统参数:pp= < G1, G2, e, p, P, Q, g, Ppub, φ, H1, H2, HT>.
2)(dxi)←PartPKGet(pp, s, xi):部分私钥提取算法由密钥生成中心完成,算法输入身份信息xi,系统参数pp和系统主秘钥s*,输出每台可信PLC和工程师站的部分私钥,具体计算公式如下:
(1) |
(2) |
参与认证的可信PLC和工程师站获取到相应的部分私钥后,通过计算:
(3) |
来确认所获取的部分私钥是否真实.为了书写简便,在此定义:
(4) |
3)
(5) |
之后再输入pp,部分私钥dxi及其秘密值xxi∈RZp*,输出一对(dxi,xxi)作为每台可信PLC和工程师站的私钥skxi.
该阶段的UML时序图如图 3所示.
3.4.2 注册阶段在注册阶段由3个算法组成,分别是秘密份额生成算法,秘密份额下发算法和验签算法,Registration-Phase(ShaCre, ShaDis, ShaVer),具体描述如下:
1) (s, si)←ShaCre(xi):秘密份额生成算法由工程师站执行,该算法输入所有可信PLC的公开身份信息xi,输出秘密s的单项哈希值H(s)和秘密份额si,其中i=1, 2, …, n.工程师站在该阶段为每台可信PLC生成一个门限秘密共享中的秘密份额si,具体算法如下:
首先,工程师站选择两个大素数p和q,使得p>q+nq2.之后,在GF(p)上随机选择t-1个值ai(i=1, 2, …, t-1),并在GF(p)上选择a0作为秘密s,生成一个t-1次随机多项式:
(6) |
其中,秘密s=a0=f(0),然后工程师站利用每一台可信PLC的公开身份信息xi计算f(xi),并将其记为秘密份额si.
2) ShaDis(skxiS, xiR, pkxiR, si):秘密份额下发算法由工程师站执行,首先对一个秘密份额消息si∈{0, 1}n进行签密,然后将签名发送给要接收消息的可信PLC,具体计算公式如下:
随机选取ri∈RZp*,计算下面给出的4个值(c,u,v,w):
(7) |
(8) |
(9) |
(10) |
(11) |
此时,设置签名σ=(c, u, v, w).
3) ShaVer(xiS, pkxiS, skxiS, σ):验签算法由可信PLC执行,对工程师站发送过来的签名σ进行验签,具体计算步骤如下:
(ⅰ)首先通过以下两个公式计算gr1′和si的值:
(12) |
(13) |
(ⅱ)然后通过以下两个公式设置h2和r′1Txis的值:
(14) |
(15) |
(ⅲ)最后通过判断以下等式是否成立.
(16) |
当且仅当等式成立时才接受xi,否则返回错误符号⊥(表示解密失败).当解密失败时,说明该工程师站发送来的消息不可信,这时PLC终端会丢弃接受到的秘密份额,等待下一次的秘密份额发送.
该阶段的UML时序图如图 4所示.
3.4.3 认证阶段在认证阶段由两个算法组成,分别是随机分量生成算法和认证算法,即Certification-Phase=(ComApp, ComCre),具体描述如下:
1) (Ci)←ComCre(xi该算法由这m台参与认证的可信PLC执行,输入彼此公开的身份信息xi,输出相应的随机分量Ci.
在此通过{Pj|j=1, 2, …, m}∈U对这m台可信PLC进行标识,现在需要这m台可信PLC彼此之间进行验证是否属于同一组,则其中的任一参与认证的可信PLC(公开身份为xi)在GF(q)上选取随机数,并计算如下随机分量Ci:
(17) |
2) ComApp(Ci):认证算法由收集到所有随机分量的可信PLC执行,该算法是为了确定全部m台参与认证的可信PLC是否属于同一组.每一台参与认证的可信PLC通过私有信道与其他各参与认证的可信PLC交换随机分量Ci.当收到所有参与认证可信PLC的随机分量,即{Cj|j=1, 2, …, m}后,Pi计算如下公式:
(18) |
可信PLC主控通过s′计算H(s′),并将该值发送给工程师站,工程师站判断等式H(s′)=H(s)是否成立.若等式成立,则表明所有参与认证的PLC属于同一组;反之,则可断定至少存在一台非法参与认证的PLC,即m台参与认证的PLC终端中存在可疑的PLC终端参与到了认证的过程中,企图加入组内,连接到工程师站,与工程师站进行数据通信,获取工业控制系统中的重要数据.
该阶段的UML时序图如图 5所示.
4 认证模块的实现与分析与传统的信息系统相比,工业控制系统有许多不同的特征,具体体现在操作系统、数据交换协议、实时性、故障响应、升级难度等方面,所以在实现该机制时使用可信PLC代替传统的PLC,使其具有可信计算技术;设计了不仅可以支持传统用户的以太网—以太网的模式,还可以支持以太网—PCIE模式的网络安全单元,用于数据的传输.
传统的PLC采用嵌入式处理器和现场可编程门阵列(FPGA)的结构,但是该结构在实际运行中无法确保执行代码的可信性,也不具备身份认证的功能.针对上述问题,本文中的可信PLC采用嵌入式处理器和安全处理单元的结构,其中安全处理单元的设计机制采用FPGA与TPM安全芯片的系统架构,FPGA作为系统的主控芯片[20-21].
由于传统以太网具有数据传输速率较低,延迟时间较长等局限性,本文在PLC与可信认证模块进行数据通信时是采用数据传输速率高,延迟时间短的PCIE协议传输替代了传统的网络接口的数据传输,PLC与安全单元通过PCIE进行数据交互,确保数据在PLC与安全单元间传输地安全稳定性.
4.1 认证模块的实现 4.1.1 基于安全处理单元的可信PLC控制器安全处理单元以可信计算技术为基础,采用可信芯片作为信任根,在安全可编程嵌入式电子设备运行阶段,安全处理单元可以实现本文机制中的接受并验证工程师站发送的签名,产生随机分量并进行组内认证等相关步骤.
该单元的安全功能除了身份认证之外,还包括系统的执行控制、虚拟化隔离、加密/解密、访问控制等关键技术,同时身份认证与密钥协商过程不干扰工业应用的执行过程.可信PLC通过加密和身份认证技术,确保下装的用户控制运算代码的有效性和正确性,可信PLC安全防护架构如图 6所示.
4.1.2 基于PCIE协议的网络安全单元国内大部分的认证产品功能单一、抗干扰性较差,严重影响系统的数据传输.目前市场上的以太网协议转换网关或适配器大多功能单一、价格昂贵,无法适应当前低成本、高性能的产品需求.本文中设计的网络安全单元的物理层通信接口不仅可以支持传统用户的以太网—以太网的模式,还可以支持以太网—PCIE模式.针对基于PCIE协议的传输方式,需要编写专用于PCIE协议的底层驱动软件,并综合数据转发、过滤等功能,上层应用软件只需将网络数据写入相关数据区,就可实现网络数据在PCIE中的自动发送和接收,降低通信接口改变对上层应用的影响.
该单元的数字系统由CPU、存储资源、加解密芯片阵列和时钟等电路组成,用于运行操作系统和安全应用,并确保网络安全单元的系统性能要求,其操作系统采用LINUX系统.网络安全单元的系统核心安全应用是协同可信PLC完成接受并验证工程师站发送的签名,产生随机分量并进行组内认证等相关步骤.该单元的系统设备模型如图 7所示.
该网络安全单元数据传输时支持以太网—以太网的传输模式.目前工业控制中进行数据传输时,主要使用工业以太网,当以太网用于工业控制时,体现在应用层的是实时通信、用于系统组态的对象以及工程模型的应用协议.同时在该单元增加PCIE接口,使其支持以太网—PCIE的传输模式,这种传输方式可以应用于任何支持PCIE协议的PLC中,数据通过背板传输,无需外部网络传输线或网络设备,确保网络数据不会外泄,最大程度上保证了未加密数据的安全性,所以在数据传输方面该网络安全单元满足大部分工业控制系统.
4.2 认证模块的分析 4.2.1 系统部署对比分析本文改进后的机制使用了无证书签名机制,相比于传统的PKI认证机制,本文中的认证机制不再需要生成和管理公钥证书.在使用改进后算法的部署图中,系统不再需要CA/RA服务器、LDAP目录服务器、安全管控平台服务器和安全管控平台,也不再需要为工程师站和安全管控平台安装安全U盾,只需要密钥生成服务器生成部分的私钥,可以很直观地看到整个系统的部署图更加简洁,认证过程更加方便快捷,整个系统改进前后的部署图如下图所示.
4.2.2 实用性与安全性分析虽然有学者提出了一些解决办法,但基本都未能用于实际工控系统中,其主要原因在于:第一,许多设备供应商不支持这些改进协议;第二,对已实际部署的工控软硬件设施进行改造升级困难较大.基于上述两个问题的存在,在实现该机制时,使用可信PLC代替传统的PLC,使其具有可信计算技术,可信PLC采用嵌入式处理器和安全处理单元的结构;设计了不仅可以支持传统用户的以太网—以太网的模式,还可以支持以太网—PCIE模式的网络安全单元.可信PLC与安全单元通过以太网—以太网和以太网—PCIE两种模式进行数据交互,满足大部分工业控制系统数据传输需求的同时也确保了数据在可信PLC与安全单元间传输地安全稳定性.
在传统的认证机制中,工程师站一次只能与一台PLC终端进行身份认证.在本文的机制中,认证阶段利用了Miao等人提出的组认证方案,将密钥管理功能分散到t个或以上可信PLC中,用于m(m≤n)个或以上的组内可信PLC认证,解决密钥托管问题的同时实现了工业测控系统中多台PLC的群组认证,更加适用于拥有多个控制终端的工业测控系统.
由于本文中的机制使用了Miao等人提出的组认证方案,该方案可以同时抵御t-1个内部攻击者的合谋攻击和m-1个外部攻击者的合谋攻击.将该方案进行改进应用到工业系统中后,本文中的机制同样具有Miao等人提出方案的优越性,在实际的工业控制系统中,本文中的机制可以同时预防t-1台组内可信PLC遭到入侵以及抵御m-1台组外的PLC的合谋攻击.本文中的机制在减少计算成本的同时也增加了计算的复杂性,确保了认证过程中数据的机密性和完整性.
5 结论本文基于无证书签名机制和门限秘密共享方案设计了一种面向工控终端的组认证机制.本文中的机制将密钥进行了拆分,可对多台可信PLC同时进行认证.本文机制中的每台可信PLC利用自己的身份标识生成自己的公钥和全部的私钥,不再需要公钥证书的存在,极大地降低了公钥证书管理和维护的复杂性.本文中的机制为工业控制系统添加认证模块的同时减少了认证模块的计算量和通信开销,确保了数据传输地安全稳定性,更加适合于终端计算和存储能力有限工控网络.
在实现该机制时,使用可信PLC代替传统的PLC,可信PLC采用嵌入式处理器和安全处理单元的结构,使其具有可信计算技术;考虑到数据传输的机密性与保密性,设计了可以支持传统用户的以太网—以太网的模式和以太网—PCIE模式的网络安全单元.可信PLC与安全单元通过以上两种模式进行数据交互,满足大部分工业控制系统数据传输需求的同时也确保了数据在可信PLC与安全单元间传输地安全稳定性.
本文中的机制在对工控终端进行认证时尚且停留在群组认证层面,并未对单一认证进行研究,这在一定程度上影响到了认证机制的完善性.当使用群组认证机制检测出有终端遭到入侵时还需要有单一认证进行逐一的排查,未来会在单一认证机制上展开工作,提出更完善,更适合工控系统现场的认证机制,提高整个工业控制系统的认证能力,使工业控制系统的通信更加稳定安全.
[1] |
汪伟.工业控制信息安全数据采集系统的设计与实现[D].武汉: 华中科技大学, 2014. Wang W. Design and implementation of industrial control information security data acquisition system[D]. Wuhan: Huazhong University of Science and Technology, 2014. |
[2] |
马李翠.智能电网的安全关键技术研究[D].北京: 北京交通大学, 2017. Ma L C. Research on key safety technologies of smart grid[D]. Beijing: Beijing JiaotongUniversity, 2017. |
[3] | Khan R, Maynard P, Mclaughl-in K, et al. Threat analysis of black energy malware for synchrophasor based real-time control and monitoring in smart grid[C]//4th International Symposium for ICS&SCADA Cyber Security Research. Piscataway, NJ, USA: IEEE, 2016: 53-63. |
[4] | Gjendemsjo M. Creating a weapon of mass disruption: Attacking programmable logic controllers[D]. Norway: Norwegian University of Science and Technology, 2013. |
[5] |
赵爽, 马陟.
核电工控系统信息安全的密码应用研究[J]. 电脑知识与技术, 2018(4): 35–36.
Zhao S, Ma Z. Research on password application of information security of nuclear electrical control system[J]. Computer Knowledgeand Technology, 2018(4): 35–36. |
[6] | Taylor C R, Shue C A, Paul N R. A deployable SCADA authentication technique for modern power grids[C]//Proceedings of the 2014 Energy Conference. Piscataway, NJ, USA: IEEE, 2014: 696-702. |
[7] |
张建川.分布式认证技术研究[D].成都: 电子科技大学, 2011. Zhang J C. Research on distributed authentication technology[D]. Chengdu: University of Electronic Science and Technology, 2011. |
[8] |
邵诚, 钟梁高.
一种基于可信计算的工业控制系统信息安全解决方案[J]. 信息与控制, 2015, 44(5): 628–633, 640.
Shao C, Zhong L G. An information security solution for industrial control system based on trusted computing[J]. Information and Control, 2015, 44(5): 628–633, 640. |
[9] | Hayes G, El-khatib K. Securing modbus transactions using hash-based message authentication codes and stream transmission control protocol[C]//International Conference on Communications& Information Technology. Piscataway, NJ, USA: IEEE, 2013: 179-184. |
[10] | Morris T, Vaughn R, Dandass Y, et al. A retrofit network intrusion detection system for modbus RTU and ASCⅡ industrial control system[C]//Hawaii International Conference on System Sciences. Piscataway, NJ, USA: IEEE, 2012: 2338-2345. |
[11] | TrustedComputing Group, Incorporated. TCG Trusted Network Connect IF-MAP Metadata for ICS Security[R]. Specification Version 1.0, 2014. |
[12] |
杨静. SCADA系统的Modbus/TCP协议安全研究[D].北京: 北京工业大学, 2016. Yang J. Research on Modbus/TCP protocol security of SCADA system[D]. Beijing University of Technology, 2016. |
[13] |
王勇.基于可信计算PLC的身份认证与终端度量技术的研究[D].沈阳: 沈阳理工大学, 2018. Wang Y. Research on identity authentication and terminal measurement technology based on trusted computing PLC[D]. Shenyang: Shenyang Ligong University, 2018. |
[14] | Abdallah A, Salleh M. Secret sharing scheme security and performance analysis[C]//2015 International Conference on Computing, Control, Networking, Electronics and Embedded Systems Engineering(ICCNEEE). Piscataway, NJ, USA: IEEE, 2016: 83-93. |
[15] | Miao F Y, Xiong Y, Wang X F. Randomized component and its application to (t, m, n)-group oriented secret sharing[J]. IEEE Transactionson Information Forensics and Security, 2015, 10(5): 889–899. DOI:10.1109/TIFS.2014.2384393 |
[16] |
王鑫龙.云存储下数据完整性审计技术研究与设计[D].合肥: 国防科学技术大学, 2016. Wang X L. Research and design of data integrity audit technology under cloud storage[D]. Hefei: National University of Defense Technology, 2016. |
[17] | Sarkar P, Niandi S, Chowdhury U. Publicly verifiable secret sharing scheme in hierarchical settings using CLSC over IBC[D]. India: Indian Institute of Technology, 2013. |
[18] |
刘德国.
浅谈中国安全芯片技术研发的要素——以联想"恒智"为例[J]. 中国科技信息, 2014(6): 130–131.
Liu D G. Talking about the elements of R&D of China's security chip technology-taking Lenovo "Hengzhi" as an example[J]. China Science and Technology Information, 2014(6): 130–131. DOI:10.3969/j.issn.1001-8972.2014.06.042 |
[19] |
李佳楠.高速I/O协议数据链路层的设计与实现[D].西安: 西安电子科技大学, 2015. Li J N. Design and implementation of data link layer of high speed I/O protocol[D]. Xi'an: Xidian University of Electronic Technology, 2015. |
[20] |
乔全胜, 邢双云, 尚文利, 等.
可信PLC的设计与实现[J]. 自动化仪表, 2016, 37(12): 76–78.
Qiao Q S, Xing S Y, Shang W L, et al. Design and Implementation of Trusted PLC[J]. Automated Instrument, 2016, 37(12): 76–78. |
[21] |
王勇, 尚文利, 赵剑明, 等.
基于TPM的嵌入式可信计算平台设计[J]. 计算机工程与应用, 2018, 54(13): 105–110.
Wang Y, Shang W L, Zhao J M, et al. Design of embedded trusted computing platform based onTPM[J]. Computer Engineering and Applications, 2018, 54(13): 105–110. DOI:10.3778/j.issn.1002-8331.1703-0021 |