基于节点寻路的设备群组安全验证方法

文档序号:36167040发布日期:2023-11-23 19:21阅读:42来源:国知局
基于节点寻路的设备群组安全验证方法

本发明涉及物联网安全领域,尤其涉及一种基于节点寻路的设备群组安全验证方法。


背景技术:

1、当前,新兴工业趋势的设想是由大量异构嵌入式设备和移动设备组成智能系统,即形成所谓的物联网(iot)。据预测,未来数十亿台连接设备将实现更多新的服务和体验。其中一些实例包括:1、工业控制系统;2、智能环境中的连接的物联网设备;3、自组织动态网络。这种系统通常被称为设备群。为了确保物联网系统的正确运行,维护其软件完整性并保护其免受攻击至关重要。在设备群中,每个设备可能具有不同的功能和安全需求,因此需要一种灵活且高效的方法来确保整个系统的安全性。

2、随着物联网的不断发展,设备群的规模和复杂性也将不断增加。因此,需要寻求更加高效、可扩展且安全的设备群证明方法,以适应未来物联网系统的需求,并确保物联网中的设备群能够在复杂环境下可靠运行。随着网络规模的扩大,网络攻击和数据泄露事件也频频发生。黑客可以利用这些物联网设备的漏洞,进行大规模的网络攻击,形成庞大的僵尸网络,威胁到网络安全和社会稳定。为了应对这些安全挑战,各个领域需要采取有效的安全措施,加强对物联网设备的防护和监控。这包括强化设备本身的安全设计和加密机制,定期更新和维护设备的固件和软件,建立安全审计和监控体系,及时发现和应对潜在的安全威胁。

3、近年来,研究人员想到了群证明的办法,群证明作为一种新兴的安全技术,为应对这些安全威胁提供了有力的解决方案。群证明允许多个设备合作共同生成证明信息,提高了验证的可信度和安全性,并提供更加可靠的验证结果。另外,群证明还能够增强设备之间的信任和合作能力,促进分布式系统中的多设备协作。

4、然而,传统的群证明方法也存在各种各样的问题:1、传统的群证明方法可能利用广播技术进行设备间通信,这可能导致极大的通信开销,并且信息容易被敌手获得,从而降低系统的安全性。2、传统群证明方法中利用生成树构建的方式,只能返回简单的验证结果,证明整个群的安全性,但不能具体到各个设备的安全状况,这不利于网络管理者对设备的维护和安全管理。3、传统群证明方法中利用生成树构建的方法,无法对掉线设备做出很好的处理。一旦遇到这种情况,该子树下的所有设备累积的安全报告将全部作废,从而影响整个设备群的安全性评估。


技术实现思路

1、本发明的目的就在于提供一种解决上述问题,在出现设备掉线情况下,依然可以给验证者提供可信赖的群证明验证报告,且能适应物联网嵌入式设备的动态性的基于节点寻路的设备群组安全验证方法。

2、为了实现上述目的,本发明采用的技术方案是这样的:一种基于节点寻路的设备群组安全验证方法,包括以下步骤:

3、(1)节点设备初始化;

4、对每个节点设备进行初始化操作,包括:为每个节点设备生成初始软件配置摘要c、软件配置摘要证书cert(c)、签名密钥对(sk,pk)、身份证书cert(pk)和邻居设备列表,所述邻居设备列表为空,用于存储该节点设备的邻居设备,所述邻居设备为直接与该节点设备连通的节点设备;

5、(2)生成设备群组s的通信图;

6、(21)选取n个节点设备,设定各节点设备与其余节点设备的连接关系;

7、(22)在相互连接的节点设备间建立通信连接并注册,将相互连接的节点设备加入到对方的邻居设备列表中,n个节点设备的通信连接构成设备群组s的通信图;

8、对两相互连接的节点设备,所述注册过程为:生成二者间的通信密钥、交换并验证对方软件配置摘要证书;

9、(3)当验证者需要验证设备群组s的安全性时,生成一通信标识符q,并从设备群组s选取一用于发送q的节点设备,标记为初始设备ds;

10、(4)从ds开始,用q在通信图中构建生成树,包括(41)~(44);

11、(41)预设一接收时长t0,将ds作为生成树的根节点,向ds的邻居设备广播q;

12、(42)邻居设备在t0内接收通信标识符q,若接收到,则触发执行生成树协议,ds其中一邻居设备dk执行生成树协议的方法为:

13、(42-1)dk在t0内接收通信标识符q,并按时间顺序记录发来q的节点设备,将第一个标记为主父节点,其余标记为备用父节点;

14、(42-2)主父节点将dk记录为自己的子节点;

15、(43)向下一级拓扑:

16、dk的邻居设备列表为ak,dk向ak中除主父节点的其他邻居设备广播q,以触发对应节点设备执行生成树协议;

17、(44)逐级向下拓扑,直至生成叶子节点;

18、(5)从叶子节点向根节点方向,逐级对设备群组s进行验证,具体为;

19、(51)为每个子节点确定父节点,所述父节点为该子节点的主父节点或备用父节点之一;

20、(52)从叶子节点开始,子节点向父节点发送自己签名的安全验证信息,父节点进行安全验证后得到验证结果;

21、(53)父节点得到其所有子节点的验证结果后生成验证报告,将验证报告和自己的安全验证信息构成信息包,发送给自己的父节点,发送信息包的父节点为下级父节点,接收信息包的父节点为上级父节点;

22、(54)上级父节点对下级父节点的安全验证信息进行安全验证得到验证结果,并对下级父节点发来的验证报告向上累计,直到信息包经根节点发送给验证者;

23、(55)验证者对根节点的安全验证信息进行安全验证得到根节点的验证结果,并接收从根节点发来的验证报告。

24、作为优选,所述节点设备为相同类别设备或异构设备,每个节点设备至少包括只读存储器、内存保护单元和具有写保护功能的时钟。

25、作为优选,步骤(1)中,对一节点设备:

26、初始软件配置摘要c,为每个节点设备根据初始软件配置通过哈希函数生成;

27、软件配置摘要证书cert(c),为网络管理者op使用其公钥pko对初始软件配置摘要c进行签名的证书;

28、签名密钥对(sk,pk)中,sk为节点设备的私钥,pk为节点设备的公钥;

29、身份证书cert(pk)为网络管理者op使用其公钥pko进行签名的证书。

30、作为优选,所述步骤(22)构成通信图具体为;

31、(b1)从n个节点设备中任选两节点设备构成设备群组s;

32、(b2)根据两节点设备的连接关系选择是否连接并执行注册协议;

33、若二者相连,则在二者间建立通信连接、执行注册协议、并互相加入到对方的邻居设备列表;否则不执行操作;

34、(b3)从n-2个节点设备中任选一节点设备加入s,根据该节点设备与s内其他节点设备的连接关系,选择是否连接并执行注册协议;

35、(b4)依次将其余节点设备加入s,n个节点设备的通信连接关系构成设备群组s的通信图。

36、作为优选,步骤(51)确定父节点具体为;

37、(a1)预设一接收时长t1;

38、(a2)子节点向主父节点发送安全验证信息,若主父节点收到安全验证信息,则返回确认信息,否则不返回;

39、(a3)子节点在t1时长内等待确认信息,若收到确认信息,则将主父节点作为父节点,否则将主父节点标记为不可通行节点,并执行步骤(a4);

40、(a4)遍历备用父节点,找到一子节点在发送安全验证信息后,能返回确认信息并在t1时长内被子节点收到的备用父节点,作为父节点。

41、作为优选,步骤(52)中,子节点向父节点发送自己签名的安全验证信息具体为:

42、对一子节点dj、其父节点为di,dj向di发送的安全验证信息mj包括dj的心跳消息hbj、验证消息uj、软件配置摘要证书cert(cj)及信息类别;

43、所述心跳消息hbj由idj、tj、cj’和cert(cj)构成,其中,idj为dj的设备id,tj为dj向di发送安全验证信息的时间戳,cj’为当前软件配置摘要,是dj根据当前软件配置通过哈希函数生成;

44、所述验证消息uj由hbj通过dj和di间通信密钥kij使用mac算法加密得到;

45、所述信息类别包括验证请求;

46、dj对mj的签名为hbj= sign(skj; hbj, uj, msgtype=req);

47、其中,skj为dj的私钥,msgtype=req表示mj的信息类别为验证请求。

48、作为优选,当一节点设备位置发生改变,或新增节点设备,则断开原通信图的通信连接,并按步骤(2)重新生成设备群组s的通信图。

49、名词解释:

50、1、群证明:英文swarm attestation。群证明方法允许验证者并行证明多个证明者。与传统的远程证明不同,群证明不仅仅是个体的证明,而是多个个体共同参与并合作完成的证明过程。群证明可以用于多种场景,例如群体身份验证、群体授权、群体决策等。在群证明中,每个群体成员都具有自己的身份和证书,通过合作和协调,群体成员可以共同证明设备的安全性和完整性。

51、2、验证者:英文verifier,缩写ver。主要负责验证和审查来自其他参与者的证明和相关信息,确保群证明的有效性和正确性。验证者的角色可以由不同实体扮演,例如网络中的服务器、区块链节点或其他合法的参与者。验证者通常具有一定的计算和存储资源,以执行验证算法和存储相关的验证信息。

52、3、网络管理者:英文network operator,缩写op:是一个我们假定的安全实体,群中的所有设备均由它进行初始化和部署,主要负责分发密钥以及分配安全证书。网络管理者处在一个绝对安全的环境中,因此在本方案中,不考虑敌手对他的软件攻击和物理攻击。

53、4、群:英文swarm。指由多个参与者组成的集合。这些参与者可以是个体、设备、节点或其他实体,彼此之间可以进行协作和合作。在本方案中,特指各种异构嵌入式设备组成的网络。

54、5、签名:英文 signature。指在信息或文件上附加的一种数字标记,用于验证该信息或文件的完整性、真实性和来源。签名是由发送方生成并附加到信息上,接收方可以使用公钥验证签名的有效性。

55、6、哈希函数:英文hash function,是一种将输入数据(消息、文件等)转换为固定长度的输出值的算法。哈希函数的输出值通常称为哈希值、摘要或散列值。哈希函数将输入数据映射到一个较短的固定长度的二进制字符串,该字符串在理想情况下是唯一的。本发明在生成初始软件配置摘要c、当前软件配置摘要时都需要用到哈希函数。

56、7、群节点设备,是网络中的众多普通设备。该系统由许多节点组成的网络构成,每个节点设备都有自己独立且唯一的设备号id。每个节点设备需要维护一张邻居设备列表,例如,节点设备di的邻居列表为ai,该列表记录了节点设备所有邻居设备的信息。这些设备可以是异构的,但是它们必须具有最轻量级的安全框架,包括只读存储器rom、内存保护单元mpu和具有写保护功能的时钟。此外,这些设备在地理上可能分布在一个广泛的范围内。只读存储器rom、内存保护单元mpu和具有写保护功能的时钟用于说明每个设备都需要具有这些物理保护功能,比如写保护时钟,就是防止入侵者修改后面用到的时间戳。

57、与现有技术相比,本发明的优点在于:

58、(1)能有效验证群节点设备的完整性状态,并且能够确保节点设备身份的合法性及其所运行软件的正确性,能有效防止敌手设备对节点设备的各种恶意攻击。

59、(2)本发明在通信图中构建生成树,并改进生成树协议,通过标记父节点、子节点、改进广播方式,与传统的广播方式相比,大大减小了通信开销,与此同时,也有效降低了物联网中对嵌入式设备的计算性能要求。

60、(3)本发明提出了一种新的设备群证明方法,通过子节点向父节点累计各节点的验证报告的方法,最终将所有节点设备的安全状态汇报给验证者,为设备群的维护提供了更多信息,大大降低了网络管理者的管理负担与维护成本。

61、(4)本发明还增加了寻路方法,为每个子节点,记录主父节点和备用父节点,并在验证时,在父节点设备掉线的情况,按步骤(51)中的(a1)-(a4)确定新的父节点,本发明能在父节点设备掉线的情况下依然正确的将各设备的安全状况返回给验证者,这与传统的通过构建生成树的群证明方法有着本质的区别,不仅提高了安全报告的可信度和完整性,还丰富验证报告的信息量,使原本只能反映整体安全状况的群证明方法,扩展到了可以具体到各个节点设备安全状况的群证明方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1