加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (https://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

一种基于远程证明的智能制造系统设备群的主动防御方法与流程

发布时间:2022-11-26 00:32:27 所属栏目:安全 来源:互联网
导读:
1.本发明涉及信息安全技术领域,更具体的说是涉及一种基于远程证明的智能制造系统设备群的主动防御方法。
背景技术:
2.智能制造系统中数量庞大的异构设备群通常呈现出一种自组织、大规模

一种基于远程证明的智能制造系统设备群的主动防御方法与流程

1.本发明涉及信息安全技术领域,更具体的说是涉及一种基于远程证明的智能制造系统设备群的主动防御方法。

背景技术:

2.智能制造系统中数量庞大的异构设备群通常呈现出一种自组织、大规模、动态化的结构特征。然而,现实场景往往无法保证所有的设备都满足基本的安全需求,给企业敏感信息带来了泄露风险,也给生产过程带来了极大安全威胁。目前,仅依靠传统围堵式被动防御体系已无法有效应对,在此背景下,远程证明通过一个可信任的安全方(验证者,verifier)来验证目标设备群(证明者,provers)的安全状态成为了一项最优的主动防御选择之一。远程证明通常是基于某一特定的挑战-响应协议来实现,具体来说,verifier首先向provers发送一个挑战信息(challenge)以触发provers本身预置证明程序,证明程序会根据provers当前的设备状态生成一个证据(通常称为证明响应response),并返回该响应给verifier,最终verifier可以通过比对返回的证明响应与期望的安全状态信息来判断当前设备群的状态,从而筛选出遭受外部攻击的设备,并对其进行修复、重置或者移除等操作。

3.然而,现有的远程证明方案针对智能制造设备群的真实环境还存在一些不足:1)网络结构与真实智能制造设备群网络不匹配。现有的远程证明的网络中设备普遍以设备间的多条传输来实现信息传递,而真实智能制造设备群网络一般以网关作为中心节点实现信息的分发与转达,因此现有的远程证明方案难以直接应用到智能制造系统场景中。2)统一挑战带来的安全性问题。现有的远程证明方案中,所有的设备都会被同一个挑战触发证明程序,这就造成攻击者可能会从其他设备处提前窃听到本轮挑战的信息,进而通过窃听、代理、转发等方式伪造出一个正确的响应;然而,如果对每个设备都生成一个独立的挑战,又会造成巨大的通讯开销。

4.因此,如何提供一种能够适配智能制造系统的个性化需求,且保障设备挑战唯一性的主动防御方法是本领域技术人员亟需解决的问题。

技术实现要素:

5.有鉴于此,本发明提供了一种基于远程证明的智能制造系统设备群的主动防御方法,适配智能制造系统的个性化需求,且保障设备挑战唯一性,提高方案安全性的同时,不影响远程证明方案的性能。

6.为了实现上述目的,本发明采用如下技术方案:

7.一种基于远程证明的智能制造系统设备群的主动防御方法,包括以下步骤:

8.s1、对网关划分一块安全存储空间,用于存储证明相关协议及临时的挑战和响应;

9.s2、对设备群中的各个设备进行初始化设置;

10.s3、将各个设备与对应的网关进行网络连接;

11.s4、安全方根据设备群中的设备数量,生成对应数量的随机数,将其打包成挑战集发送给网关,并将挑战集发送时间作为认证开始时间tstart;

12.网关对接收到的挑战集进行暂存,直到收到新的挑战集,则删除上一轮的挑战集;

13.s5、各设备触发质询程序,生成各自唯一的证明质询和消息认证码,并发送给网关;

14.网关根据消息认证码验证消息的完整性,并验证收到的证明质询是否来自于对应的设备,在验证全部通过后查找本轮挑战集中各个设备对应的随机数,并将随机数发送给对应的设备;

15.s6、各设备启动证明程序,根据接收到的随机数生成证明响应,并通过网关将证明响应转发至安全方;

16.s7、安全方将收到证明响应的时间作为认证结束时间tend,依次对设备的证明时间是否超过最大证明时间、消息的完整性以及证明响应结果进行验证,全部验证通过,则当前设备被认为处于安全状态;

17.s8、每间隔预设证明周期,重复执行s4-s7。

18.进一步的,s1中,证明相关协议包括:证明通讯协议、挑战集存储协议和质询响应协议;证明通讯协议用于实现网关与安全方或设备间的可靠通讯;挑战集存储协议用于实现对挑战集的存储和删除;质询响应协议用于实现对设备证明质询的验证与响应挑战的查询。

19.进一步的,s1中,网关利用其安全机制保障控制挑战集的读写权限,挑战集存储协议用于对挑战集执行“写”权限,质询响应协议用于对挑战集执行“读”权限。

20.进一步的,s2中,每个设备与网关连接之前,安全方对其进行初始化设置,生成和保存设备身份idi、会话秘钥ki、可信的软件校验和hi以及最大认证时间ti;初始化后,安全方持有信息为:{idi,ki,hi,ti},设备持有信息为:{idi,ki}。

21.进一步的,s3中,各设备与网关连接时,将设备身份idi和会话秘钥ki同步发送至与其连接的网关。

22.进一步的,s5中,各设备利用其自身的设备身份idi生成证明质询qi,利用会话秘钥ki生成证明质询qi的基于哈希的消息认证码qi’,并将(qi,qi’)发送给网关;

23.网关根据会话密钥ki,利用接收到的qi计算一个对应的消息认证码,再将新计算出的hmac与接收到的消息认证码qi’进行比较,验证消息的完整性。

24.进一步的,s6包括:

25.设备收到随机数后,启动证明程序,生成当前设备的软件校验和ri,并利用会话秘钥ki和本轮的随机数noncei生成消息认证码ri

’←

hmac(ki;ri||noncei),其中,ki用于供安全方判断消息是否来源于对应设备,noncei用于保证当前响应的新鲜性,抵御重放攻击;

26.设备将证明响应(ri,ri’)发送给网关,再由网关转发给安全方。

27.进一步的,s7中的验证过程为:

28.判断设备的证明时间是否超过最大证明时间,如果超过,则判断当前证明失败,证明结果ari=-1;

29.如果没有超时,则基于会话秘钥ki,利用随机数noncei和接收到的ri再计算一个对应的消息认证码,并将计算出的消息认证码与接收到的消息认证码ri’进行比较,判断消

息的完整性,如果消息不完整,则判断当前证明失败,证明结果ari=-1;

30.如果消息完整,则比较设备在证明程序中生成的软件校验和ri是否和与初始化生成的软件校验和hi是否一致,如果一致,则判断当前证明成功,设备处于安全状态,证明结果ari=1;如果不一致,则证明失败,证明结果ari=-1。

31.进一步的,安全方和各设备均持有一个松散同步的安全只读时钟,实现异步的远程证明协议通讯,且安全只读时钟的间隔周期为

t。

32.进一步的,一个安全方与多个网关进行通讯,每个网关与多个设备进行通讯。

33.经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于远程证明的智能制造系统设备群的主动防御方法,具有以下有益效果:

34.1.本发明网关作为挑战的中转设备,基于挑战-质询协议,利用网关实现挑战列表和响应的暂存与转发,将挑战列表的通讯和计算开销都转移到了资源丰富的网关,极大节省了资源受限的智能制造设备端的开销,同时使得网络架构适配真实的智能制造系统场景。

35.2.本发明对每个智能制造设备都生成独立的证明挑战,通过网关和设备实现点到点通讯,极大增加了攻击者窃听、代理、转发和伪造响应的难度,降低了被损坏设备逃避证明的可能性。

36.3.本发明通过对智能制造系统中的网关进行功能扩展,将其作为远程证明协议交互的一个独立实体,以网关作为中间节点,完成验证者和智能制造设备之间的异步通讯,以实现对智能制造系统网络结构的适配。

附图说明

37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

38.图1为本发明提供的安全方、网关和设备群之间的架构图;

39.图2为本发明提供的基于远程证明的智能制造系统设备群的主动防御方法的流程图;

40.图3为本发明提供的协议交互示意图。

具体实施方式

41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

42.本发明实施例公开了一种基于远程证明的智能制造系统设备群的主动防御方法,如图1所示,包含三类实体:验证者/安全方(vrf)、网关(gateway,gwn)和智能制造设备(di,也被称为证明者)。其中,安全方vrf是完全可信的,拥有丰富的存储和计算资源,对智能制造设备群发起挑战并通过其返回的响应验证其安全性;网关gwn也是可信的,通过对现有的

智能制造系统网关的功能扩展,作为验证者vrf与设备之间连接的中间节点,与安全方vrf能够直接通讯且与设备di间形成星型网络结构,本身具备较高的安全可靠性,存储和计算资源丰富,承担存储、转发挑战和响应的功能;设备di在计算和存储资源上有限,而自身防御外部攻击的能力有限,可能遭受外部攻击者的入侵,安全方vrf通过周期性的远程证明协议来检测他们的安全性。其中,一个安全方与多个网关进行通讯,每个网关与多个设备进行通讯,也就是一个网关对应一个设备群。

43.在本发明实施例中,安全方vrf和设备di都持有一个松散同步的安全只读时钟,用于实现异步的远程证明协议通讯。

44.如图2所示,本发明主动防御方法,包括以下步骤:

45.s1、对网关划分一块安全存储空间,用于存储证明相关协议及临时的挑战和响应,并确定挑战和响应的控制权限;

46.s2、对设备群中的各个设备进行初始化设置;

47.s3、将各个设备与对应的网关进行网络连接;

48.s4、安全方根据设备群中的设备数量,生成对应数量的随机数,将其打包成挑战集发送给网关,并将挑战集发送时间作为认证开始时间tstart;

49.网关对接收到的挑战集进行暂存,直到收到新的挑战集,则删除上一轮的挑战集;

50.s5、各设备触发质询程序,生成各自唯一的证明质询和消息认证码,并发送给网关;

51.网关根据消息认证码验证消息的完整性,并验证收到的证明质询是否来自于对应的设备,在验证全部通过后查找本轮挑战集中各个设备对应的随机数,并将随机数发送给对应的设备;

52.s6、各设备启动证明程序,根据接收到的随机数生成证明响应主动防御技术,并通过网关将证明响应转发至安全方;

53.s7、安全方将收到证明响应的时间作为认证结束时间tend,依次对设备的证明时间是否超过最大证明时间、消息的完整性以及证明响应结果进行验证,全部验证通过,则当前设备被认为处于安全状态;

54.s8、每间隔预设证明周期

t,重复执行s4-s7。

55.下面对各步骤进行进一步说明。

56.s1、网关扩展:

57.通过扩展网关的功能,划分一块安全存储区间,用于存储证明相关的协议及临时的挑战和响应,证明相关协议包括:证明通讯协议、挑战集存储协议和质询响应协议,证明通讯协议用于实现网关(gwn)与安全方(vrf)或设备(di)间的可靠通讯;挑战集存储协议用于实现对挑战集的存储和删除;质询响应协议用于实现对设备证明质询的验证与响应挑战的查询。同时,网关gwn会利用其安全机制保障控制挑战集的读写权限,即只有挑战集存储协议用于对挑战集的“写”权限,只有质询响应协议用于对挑战集的“读”权限。

58.s2、设备初始化:

59.每个设备di在加入网络之前,安全方vrf都需要对其进行初始化设置,生成和保存一些相关信息,包括:设备身份idi、会话秘钥ki、可信的软件校验和hi和最大认证时间ti。初始化后,安全方vrf持有所有的信息{idi,ki,hi,ti},设备di仅持有身份和秘钥两个信息

{idi,ki}。

60.s3、设备连接:

61.各设备di加入网络时,需要将身份idi和会话秘钥ki同步发送给其连接的网关gwn,用于之后的挑战质询验证。

62.s4、挑战:

63.如图3所示,展示了周期性的证明过程中,安全方vrf、网关gwn和设备di三类实体的交互协议流。首先,安全方vrf根据设备群s中的设备数量,生成对应数量的随机数noncei

random(),将其打包生成挑战集challlist

{noncei},并发送给网关gwn,同时执行recordtime()函数记录当前时间tstart,作为证明的开始时间。

64.网关gwn收到挑战集challlist后,会删除当前已有的(上一轮证明的)挑战集challlistold,并存储本轮证明的的挑战集store(challlist),等待设备质询。

65.s5、设备质询:

66.设备端的松散同步的安全只读时钟程序clock()会周期性地触发质询程序(每隔证明周期

t时间),质询程序attestationquery()利用利用当前设备的idi生成证明质询qi

attestationquery(idi),然后利用会话秘钥ki生成qi的基于哈希的消息认证码(hash-based message authentication code,hmac)qi

’←

hmac(ki;qi),最后将(qi,qi’)发送给网关gwn。

67.网关gwn收到(qi,qi’)后,首先基于会话密钥ki,利用接收到的qi计算一个对应的hmac,再将计算的hmac与接收到的消息认证码qi’进行比较,以验证消息的完整性vermac(ki;qi,qi’),如果新计算出的hmac与qi’不一致,认为消息不完整vermac(ki;qi,qi’)=-1,即hmac验证失败,则丢弃该消息;如果新计算出的hmac与qi’一致,认为消息完整,验证通过vermac(ki;qi,qi’)=1,则利用收到的设备di的idi查找挑战集challlist中对应的挑战noncei

searchlist(challlist,idi),并将挑战(随机数)noncei发送给该设备di。

68.s6、设备证明:

69.设备di收到挑战(随机数)noncei后,则启动证明程序attestation(),生成当前智能制造设备di的软件校验和ri

attestation(),然后利用会话秘钥ki和本轮的挑战noncei生成对应的消息认证码hmac ri

’←

hmac(ki;ri||noncei),即将软件校验和ri与随机数noncei进行逻辑或操作,再基于会话秘钥ki计算hmac ri’,其中ki用于安全方判断消息是否来源于设备di,noncei用于保证当前响应的新鲜性,抵御重放攻击,即攻击者将之前的证明响应再次发送。最后设备di将证明响应(ri,ri’)发送给网关gwn,再由网关转发给安全方vrf。

70.s7、验证相应:

71.安全方vrf收到证明响应后,首先记录当前时间作为认证结束时间tend,然后判断设备证明时间是否超过了最大证明时间,即tstart

tend》ti,如果超过,则直接判断当前证明失败,证明结果ari=-1,因为这表示当前证明响应可能是攻击者伪造的;

72.如果没有超时,则先基于会话秘钥ki,利用随机数noncei和接收到的ri再计算一个对应的hmac,并将计算出的hmac与接收到的消息认证码hmac ri’进行比较,从而判断消息的完整性,该过程的形式表达为:vermac(ki;ri||noncei,ri’),如果消息不完整,即新计算出的hmac与接收到的消息认证码的ri’不一致,那么hmac验证失败vermac(ki;ri||

noncei,ri’)=-1,安全方直接判断当前证明失败,证明结果ari=-1;

73.如果hmac认证成功vermac(ki;ri||noncei,ri’)=1,则继续验证证明结果,即比较设备di在证明响应中返回的软件校验和ri与s2中设备初始化阶段生成的可信的软件校验和hi是否一致verification(hi,ri),此处hi是vrf利用证明程序在保证设备处于安全状态下生成的可信的软件校验和,而ri表示设备当前的软件校验和,所以如果hi≠ri,则说明设备软件经历了未经授权的修改,即设备遭受了非法入侵。因此,如果hi=ri则证明成功,设备被认为处于安全状态,证明结果verification(hi,ri)

ari=1;否则验证程序判断设备证明失败,证明结果verification(hi,ri)

ari=-1。

74.如果一个设备被判断证明失败ari=-1,vrf就可以通过修复(对被入侵设备进行补丁或者升级)、重置(将被入侵设备的软件配置重置到之前的安全状态)或者移除(直接将被入侵设备从设备群中剔除)等方式来保证设备群的安全性。

75.s1-s3通常只需执行一次,当设备更新或者连接的网关发生变更时才需再次执行,而步骤s4-s7则是每隔证明周期

t时间会周期性执行,使得安全方vrf能够周期性检测当前智能制造设备群的安全性。

76.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

77.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!