一种基于远程证明的智能制造设备群的主动防御方案
2023-06-10孔维一宋永立况博裕付安民
孔维一 李 昕 宋永立 况博裕 付安民
1(南京理工大学计算机科学与工程学院 南京 210094)
2(北京计算机技术及应用研究所 北京 100854)
3(南京理工大学网络空间安全学院 南京 210094)
人工智能技术的发展极大促进了产业的迭代与升级,智能制造成为了市场、行业和国家的必然选择[1].在智能制造系统中,数量庞大的异构设备群通常呈现出一种自组织、大规模、动态化的结构特征[2].然而,设备群面临的安全风险也变得越发突出[3],例如2022年伊朗最大的钢铁生产商KSC因为外部攻击而被迫停产[4].一方面,一个被入侵的智能制造设备可能会将生产机密透露给第三方(即隐私泄露),或者篡改/控制这些设备的行为造成生产链错误[5];另一方面,攻击者则可以由一个被破坏的设备为跳板攻击其他的良性设备,进而威胁到整个设备群的安全[6].不幸的是,现有的防御方法因为网络架构、安全和性能需求等因素,难以适应智能制造设备群的真实情况.在此背景下,远程证明[7]基于挑战-响应协议通过一个可信任的安全方(验证者)来验证目标设备群(证明者)的安全状态成为最优的主动防御选择之一.
然而,现有的远程证明方案针对智能制造设备群的真实环境还存在一些不足:1)网络结构与真实智能制造设备群网络不匹配.现有的远程证明的网络中设备普遍以设备间的多条传输来实现信息传递,而真实智能制造设备群网络一般以网关设备作为中心节点实现信息的分发与转达,因此现有的远程证明方案难以直接应用到智能制造系统场景中[8].2)统一挑战带来的安全性问题.现有的远程证明方案中,所有的设备都会被同一个挑战触发证明程序,这就造成攻击者可能会从其他设备处提前窃听到本轮挑战的信息,进而通过窃听、代理、转发等方式伪造出一个正确的响应[9];然而,如果对每个设备都生成一个独立的挑战,又会造成巨大的通信开销.
为了解决现有远程证明方案在应对真实环境时存在的缺陷,本文设计了一种安全高效的基于远程证明的智能制造系统设备群主动防御方案SecRA,适配智能制造系统的个性化需求,保障设备挑战唯一性提高方案安全性的同时,不影响远程证明方案的性能.本文贡献主要包括以下3个方面:
1) 高安全性.本文方案对每个智能制造设备都生成独立的证明挑战,通过网关和设备实现点到点通信,极大增加了攻击者窃听、代理、转发和伪造响应的难度,降低了被损坏设备逃避证明的可能性.
2) 系统适配性.本文方案通过对智能制造系统中的网关设备进行功能扩展,将其作为远程证明协议交互的一个独立实体,以网关设备作为中间节点,完成验证者和智能制造设备之间的异步通信,以实现对智能制造系统网络结构的适配.
3) 低开销.本文方案基于挑战-质询的证明协议,而不是传统的挑战-响应式证明协议,利用网关设备实现挑战列表和响应的暂存与转发,将挑战列表的通信和计算开销都转移到资源丰富的网关设备,极大节省了资源受限的智能制造设备端的开销.
1 相关工作
随着现有网络规模的增大,设备的数量也随之增多,在这种背景下,研究者们提出了群证明的思想,验证者利用并行计算的方式,在一次交互中就能验证网络中所有证明者的安全状态.
2015年,Asokan等人[10]基于生成树的聚合模型提出了第1个群证明方案SEDA.此后,Ambrosin等人[11]又基于SEDA提出SANA,利用聚合签名增强了群证明的安全性.SeED[12]提出了第1个非交互式的证明协议,可以减轻DoS攻击.ESDRA[13]提出一种分布式群证明方案,降低了验证者单点破坏的可能性.DO-RA[14]考虑到控制流攻击,提出了一种数据导向的运行时证明方案.SARA[15]提出一种新颖的安全异步远程证明协议,它释放了设备间同步交互的约束.SWARNA[16]提出一种基于软件的物联网设备群证明方案.文献[17]采取主动式的自我度量方案,很好地降低了被动远程证明技术对设备关键性数据造成的损失.
最近,Cao等人[18]又针对基于软件的远程证明方案不适合无线网络的问题,提出了延迟观察机制.FeSA[19]提出了一个自动化联邦群证明方案,将联邦学习方法应用于远程证明,使验证者能够通过神经网络模型识别可疑的设备,极大提升了证明效率.SCRAPS[20]构建了可扩展的Pub-Sub集群远程证明,它通过将验证者的职责外包给智能合约实现证明的可扩展性.
2 方案设计
2.1 整体方案介绍
在基于远程证明的智能制造系统设备群的主动防御方法中,SecRA通过扩展网关设备的功能,作为挑战的中转设备,基于挑战-质询协议,使得每个设备都能获得唯一的证明挑战而不带来巨大开销,同时使得网络架构适配真实的智能制造系统场景.
本文方案的系统模型如图1所示,模型中包含3类实体:验证者(Vrf)、网关设备(GWn)和智能制造设备(证明者Di).其中:Vrf是完全可信的,拥有丰富的存储和计算资源,对智能制造设备群发起挑战并通过其返回的响应验证其安全性;GWn也是可信的,通过对现有的智能制造系统网关设备的功能扩展,作为验证者Vrf与设备之间连接的中间节点,与Vrf能够直接通信且与Di形成星型网络结构,本身具备较高的安全可靠性,存储和计算资源丰富,承担存储、转发挑战和响应的功能;Di在计算和存储资源上有限,且自身防御外部攻击的能力有限,可能遭受外部攻击者的入侵,Vrf通过周期性的远程证明协议检测它们的安全性.在本文方案中,Vrf和Di都持有一个松散同步的安全只读时钟,用于实现异步的远程证明协议通信.
图1 SecRA系统模型
一次完整的远程证明实现具体步骤为:1)网关设备扩展;2)设备初始化;3)设备连接;4)挑战;5)设备质询;6)设备证明;7)响应验证.步骤1)~3)通常只需执行1次,当设备更新或者连接的网关发生变更时才需再次执行,而步骤4)~7)则每隔ΔT时间会周期性执行,使得Vrf能够检测当前智能制造设备群的安全性.因此,本文方案将整个远程证明过程分为设备群初始化阶段和设备端证明阶段.
2.2 设备群初始化
2.2.1 网关设备扩展
通过扩展网关的功能可以划分一块安全存储区间,用于存储证明相关协议及临时的挑战和响应,证明相关协议包括证明通信协议、挑战集存储协议和质询响应协议.证明通信协议用于实现GWn与Vrf或Di的可靠通信;挑战集存储协议用于对挑战集的存储和删除;质询响应协议用于对设备证明质询的验证与响应挑战的查询.同时,GWn会利用其安全机制保障对挑战和响应的权限控制,即只有挑战集存储协议拥有对挑战集的“写”权限,只有质询响应协议拥有对挑战集的“读”权限.
2.2.2 设备初始化
每个设备Di在加入网络之前,Vrf都需要对其进行初始化设置,生成和保存一些相关信息,包括:设备身份idi、会话密钥ki、可信的软件校验和hi及最大证明时间Ti.初始化后,Vrf持有所有的信息{idi,ki,hi,Ti},Di仅持有身份和密钥2个信息{idi,ki}.
2.2.3 设备连接
Di加入网络时,需要将身份idi和会话密钥ki发送给其连接的网关设备GWn,用于之后的挑战质询验证.
2.3 设备端证明
2.3.1 挑战
图2示出了周期性的证明过程中,SecRA所涉及Vrf,GWn和Di共3类实体的交互协议流.首先,Vrf根据S中的设备数量,生成对应数量的随机数noncei←random(),将其打包生成挑战集challList←{noncei},并发送给GWn,同时执行函数RecordTime()记录当前时间Tstart,作为证明的开始时间.
GWn收到challList后,删除当前已有的(上一轮证明的)挑战集challListold,并存储本轮证明的挑战集Store(challList),等待设备质询.
2.3.2 设备质询
2.3.3 设备证明
2.3.4 验证响应
Vrf收到证明响应后,首先记录当前时间作为证明结束时间Tend,然后判断设备证明时间是否超过最大证明时间,即Tstart-Tend>Ti,如果超过则直接判断当前证明失败,证明结果ARi=-1,因为这表示当前证明响应可能是攻击者伪造的.
3 实验分析
本节对本文方案在真实设备群场景下的性能进行了仿真实验,因为Vrf和GWn对资源并未受到限制,所以主要考虑的是设备群证明阶段的设备端开销.
SecRA是一个针对智能制造设备群的主动防御方案,而设备群中包含的设备数量过于庞大,导致难以应用真实的场景验证方案的能力,所以和之前的设备群证明方案[10-20]一样,本文使用OMNET++仿真工具,对最大100万台设备进行了大型网络仿真实验,验证SecRA在真实大规模设备群场景下的性能.实验选择ZigBee网络中的普遍传输速率200Kbps作为网络传输速率,假定每个设备使用HYDRA[21]作为安全硬件架构.HYDRA是一种主流的混合远程证明架构,基于经过正式验证的seL4微内核,能够测量验证过程中每个步骤的执行时间.在实验过程中对这些耗时操作使用延时进行模拟.
从验证的总运行时间、单设备的运行时间和单个设备验证的能量消耗3个方面进行分析.此外,本文将SecRA与SEDA[10]和ESDRA[13]2个代表性的群证明方案进行了比较,以展示SecRA的优越性.
图3是在不同规模的设备群中,在不同网关数量(100,200,500,n/500,n/1000,n表示证明设备数量)情况下SecRA的运行时间.运行时间是指从第1个群设备执行证明协议开始到最后1个群设备结束证明为止的时长.由图3可知,当1个网关设备连接的证明设备数量几乎不变时(即c=n/500,c=n/1000),SecRA的运行时间是一个常数.
图4示出了不同的群证明方案中运行时间的对比结果.SEDA使用生成树的拓扑结构传播证明挑战并递归地收集证明结果,因此其运行时间随着树的高度增加而增加,且是群设备总数的对数函数.相比之下,ESDRA利用相邻的节点启动多对1的证明,将证明交互保持在少数设备之间,因此其运行时间接近于一个常数.SecRA表现出更突出的运行时间优势,这是因为挑战-质询机制使得所有的证明者都能并行地执行证明协议,从而将运行时间降低到一个非常小的常数.
图4 不同群证明方案运行时间对比
图5示出了不同群证明方案中单个设备的运行时间对比.单个设备的运行时间反映了证明协议对设备正常运行的影响程度.尽管群证明可以减少总运行时间,但是大多数群证明方案需要群设备额外执行一些消息传递、消息聚合,甚至是响应证明的操作,因此单个证明者的运行时间可能会变长,这也导致单个设备的运行时间对邻居数量很敏感.在此背景下,图5中的重叠线表明,SecRA的单设备运行时间并不会随着邻居数量而改变,它保持在一个恒定的值(约为0.654s),这几乎与单个证明者验证方案的时间成本相当.
图5 不同群证明方案中单设备的运行时间对比
如图6所示,相比于SEDA和ESDRA,SecRA的能耗开销十分优秀,原因在于SecRA尝试将单设备的能耗最小化,在验证过程中证明设备不需要执行任何其他与证明无关的操作.
图6 不同群证明方案证明能耗开销对比
4 结 语
本文提出了一种基于远程证明的智能制造系统设备群主动防御方案SecRA.该方案为每个智能制造设备生成独立的证明挑战,并通过网关和设备实现点到点通信,从而极大地确保了其安全性.为了适应现有的智能制造系统网络结构,SecRA通过对网关设备进行功能扩展,实现了验证者和智能制造设备之间的异步通信.此外,基于挑战-质询的证明协议可将通信和计算成本转移到资源充足的网关设备上,从而大大减少了资源受限的智能制造设备端的开销.最后,仿真实验证明了SecRA主动防御方案的高效性和可行性.