移动场景下的分簇无线传感器网络密钥管理方案

2023-01-30 11:46黄文锋
韶关学院学报 2022年12期
关键词:攻击者密钥基站

黄文锋

(厦门海洋职业技术学院 信息工程学院,福建 厦门 361006)

分簇式网络包括:基站、簇头、普通传感器节点[1](以下简称节点).目前国内外已有许多基于分簇式WSN的密钥管理方案,过程包括:系统初始化、密钥生成、簇间密钥管理、簇内密钥管理、密钥更新等,但针对移动场景下的分簇无线传感器网络提出专门的密钥管理解决方案较少,笔者基于分簇无线传感器网络,提出移动场景下的密钥管理方案[2].

笔者研究了近年相关资料,提出可以改进之处. 2022年吴万青等提出了环形区域WSN密钥管理方案,但节点封装了多种数据,簇间移动需要多次计算不同的密钥,运算过于复杂[3]. 2021年李峰等提出移动场景下异构无线传感器网络密钥管理方法,但方案中节点移动需要反复验证,过程繁杂;方案中节点移动速度的计算增加了运算负载[4]. 2021年,Fang等提出了基于二项分布的轻量级信任管理方案和基于动态维度权重的多维安全分簇路由方案,但如果簇头在网络中被攻破,则簇内节点存在较大风险[5]. 2020年伍家玉等基于ECC等设计了一个适用于WSN与用户之间的密钥协商协议,但方案对节点公私钥的获取过程过于复杂[6]. 2020年徐震等提出的方案基于互斥基底系统,但方案中节点直接向基站申请离簇增加了节点计算和通信成本;申请加入新簇的流程过于复杂[7]. 2020年Rehman等提出通过多项式管理簇间和簇内密钥,但方案需频繁地更新簇密钥,增加了网络的负担,且在簇分发过程中没有进行加密,增加了网络的风险[8].

1 移动场景下的分簇无线传感器网络密钥管理方案

1.1 本文假设条件

(1)基站是安全无法被攻破的,基站的计算、存储、通信能力都是无限的;(2)WSN网络分簇完成,网络为双向信道,节点可以正常通信;(3)WSN网络完成密钥协商,基站和各簇头、相邻簇头、簇头和簇内节点都有共享密钥[9];(4)WSN网络使用非对称加密,即存在公钥和私钥,基站为所有节点预加载基站的公钥[10].

1.2 方案说明

节点在簇间移动分两种:(1)主动离簇.节点主动申请离开当前簇并加入新簇.节点离开时会向当前簇申请离开,同时清楚即将加入的簇的相关信息,如位置、簇头ID等信息.(2)被动离簇.节点可能由于不可抗力等因素,突然离开当前簇,并且不清楚即将加入的簇的相关信息,该情况下无法向旧簇头申请离开,同样无法确定即将加入的簇的相关信息.其中方案使用的符号及描述见表1.

表1 符号和描述

1.3 方案具体过程

1.3.1 主动离簇

步骤1:申请离簇.节点n向旧簇头A申请离簇,将身份信息和时间、地点、随机数、申请加密后与消息验证码等发送给簇头A[11].簇头A收到信息后先验证MAC码是否正确,如果MAC码正确,可确定消息的完整性及消息确实来自节点n而非伪造节点.簇头A解密并验证节点信息,信息正确则删除簇头A的簇内相关信息,更新簇内节点列表,同时将节点n离开的信息广播通知簇内所有节点.

步骤2:申请加簇.节点n将身份信息和时间、地点、随机数、申请加密后发送给簇头B.此时簇头B和节点n还未进行过密钥协商,没有共享密钥,因此没有采用消息验证码MAC方式发送.

步骤3:确认身份.簇头B将节点发送的信息加上新的时间和随机数加密后和消息验证码一起发送给基站.基站验证MAC码是否正确,然后解密两次获得节点n的ID信息、旧簇头、公钥、时间、地点、随机数等相关信息.基站查询节点n的相关信息,信息错误则发送错误信息通知簇头B将节点n加入黑名单.信息正确则将确认信息加密后和消息验证码一起发送给簇头B.同时,基站保存n的新簇信息、新地点信息.

步骤4:加簇与密钥协商.簇头B验证MAC后解密并保存确认信息.然后向n发送同意入簇通知,n接收信息验证并解密,确认加入B簇,与节点B进行密钥协商,各个网络的密钥协商方式不同,在此就不具体描述,密钥协商后节点n和簇头B分别获取共享密钥Kn-B和KB-n.

步骤5:更新与广播.簇头B更新簇内节点列表,新增节点n的信息,同时将节点n加入的信息广播通知簇内所有节点.

1.3.2 被动离簇

步骤1:广播申请加簇.节点n由于某种原因突然离开旧簇后,无法向旧簇头A发送消息,处于一个未加入任何簇的状态.此时节点n广播自己的信息申请加入附近的簇,采用基站公钥进行加密.

步骤2:确认身份.附近簇头节点收到信息后将这些信息与自己的信息整合,加密后和消息验证码一起发送给基站.基站先验证MAC码是否正确,然后解密后获得节点n的相关信息.基站查询节点n的身份信息,身份错误则无动作.身份正确则进行下一步.基站可能同时收到多个簇头发来的信息,基站对比节点位置和簇头位置,选出适合节点n加入的簇头B.基站将确认信息加密后和消息验证码一起发送给簇头B.同时,基站保存n的新簇信息、新地点信息.其他未收到基站信息的簇头无动作.

步骤3:加簇与密钥协商.同主动离簇.

步骤4:簇头B更新与广播.同主动离簇.

步骤5:簇头A更新与广播.节点n离开A簇后,未能及时向簇头A发送离开信息.簇头A及簇内节点发现节点n离开有3种方式:(1)其他节点向节点n发送消息时未收到回复,向簇头A报告;(2)簇头A定期广播更新密钥发现节点n不在簇内;(3)基站收到簇头B关于节点n的加簇信息后,发送信息通知簇头A.簇头A在确定节点n离开当前簇后,簇头A更新簇内节点列表,同时将节点n离开的信息广播通知簇内所有节点.

为了保证共享密钥的新鲜性,也为了及时发现簇内节点的离开,簇头可以定期进行密钥更新.簇头A生成更新因子KA’,计算KAn’= KAnKA’作为与节点的新共享密钥.簇头用KAn加密E(KAn,(KAn’‖TA))后发送给节点,节点解密并更新共享密钥KAn’,更新后向簇头回复确认信息[12].这个过程一方面保证了网络的安全,另一方面也可以及时发现离簇节点.

1.4 方案对比

文献[4]与本方案的主动离簇类似,文献[7]与本方案的被动离簇类似.文献[7]中新簇头B向原有簇头A验证节点身份,文献[7]直接由基站验证节点身份后通知簇头B.不论簇头B找A还是节点找基站,都存在需要多跳路由,流程也更加复杂,增加了计算和通信成本.

2 方案安全性分析

2.1 捕获攻击

假设节点n在加入新簇过程中被攻击者捕获,攻击者没有节点n的私钥SKn[13],无法解密出簇头B发送给节点n的关于信息.进一步假设攻击者通过捕获节点n获取了共享密钥并与簇头B通信,簇头B首先验证攻击者的MAC信息,即可发现攻击者的非法身份.因此,方案能抵抗捕获攻击.

2.2 伪造攻击

情景1:攻击者伪造成普通加簇节点.假设攻击者伪造成节点n向簇头B发送加簇申请,簇头B通过MAC验证可验证出攻击者的非法身份.即便攻击者可以通过簇头B的MAC验证,簇头B将攻击者身份发送给基站进行验证时,基站也可以验证出攻击者的非法身份.

情景2:攻击者伪造成簇头节点.假设攻击者伪造簇头B与节点n进行验证,节点n通过MAC验证可以验出攻击者的非法身份.即便攻击者与节点建立通信并接收节点n 的加簇申请,攻击者也需要向基站发送节点n的验证信息,基站同样可以验证出攻击者的非法身份.

因此,方案能抵抗节点伪造攻击.

2.3 复制攻击

情景1:攻击者复制多个副本向同一个新簇头申请加簇.对应的新簇头在接收到加簇申请后,需要验证节点的时间、地点、随机数等信息,如果检测到同一个节点在同一时间在不同地点发送加簇申请,即可确定节点被捕获并展开复制攻击,簇头可以将攻击者加入黑名单.

情景2:攻击者复制多个副本向不同新簇头申请加簇.各簇头在接收到节点入簇申请后,需要向基站发送节点的身份、位置、时间等信息申请验证节点身份,如果基站同时收到多个ID的申请信息,并且这些节点的位置不同,即可确定节点被捕获并展开复制攻击,基站通知各簇头将攻击者加入黑名单.

因此,方案能抵抗节点复制攻击.

2.4 女巫攻击

假设攻击者捕获节点n并试图展开女巫攻击,由于节点只有一个唯一的身份ID信息,攻击者无法利用一个节点创建出多个ID[14].即便攻击者创造出众多身份ID,每个ID需有对应的时间T、地点L、随机数R等众多参数,攻击者无法同时获取如此多的关键参数.因此,方案能抵抗女巫攻击.

2.5 重放攻击

假设攻击者捕获节点n并重放之前的加簇信息,簇头B在验证节点身份时会发现此节点ID已经入簇,再次发送的加簇信息即为重放攻击,簇头B可以将其加入黑名单.即便簇头B不确定此节点是否展开重放攻击,也可以通过验证此ID所对应的时间、地点、随机数等参数确认.因此,方案能抵抗重放攻击.

2.6 Dos攻击

假设攻击者反复高频的发出攻击性的重复加簇申请或大流量无用数据,簇头B在第二次验证其身份ID时可检出其非法身份,将其加入黑名单,从而拒绝其后续的加簇申请或者无用数据.因此,方案能抵抗Dos攻击.

3 方案性能分析

3.1 连通性

WSN中用连通性来表示传感器节点与节点之间建立通信密钥的概率.WSN常用的E-G、q-composite方案需要预存储很多周边节点的密钥,如果密钥数量不够,连通率就会降低.本方案中节点n与s通信有 两 种 方 式,一 是 通 过 簇 头 转 发:WSn→CHB:{IDn,E(Kn-B,“message s”)};CHB→WSs:{IDs,E(KB-s,“message s”)}.二是通过簇头进行密钥协商:WSn→CHB:{IDn,E(Kn-B,“connect s”)};簇头生成协商密钥Kn-s和Ks-n,CHB→WSn:{IDn,E(KB-n,Kn-s)},CHB→WSs:{IDs,E(KB-s,Ks-n)};节点n与s通信,WSn→WSs:{IDn,E(Kn-s,“message s”)}.第一种方式由簇头中转,节点只需与簇头通信,不需要节点之间直接连接,节点在加簇时都必须与簇头密钥协商,簇头与节点可以正常通信,因此节点n和s可以实现百分百连通.第二种方式所需密钥Kn-s、Ks-n通过簇头生成后发送给n和s,节点无需预存密钥,不受密钥池和节点预存密钥的限制,可以实现百分百连通.表2是各种相关方案连通率对比,可看出,本方案的连通率较高.

表2 密钥管理方案连通率对比

3.2 性能分析

性能分析主要从通信成本、存储成本、计算成本3个方面进行计算.

假设网络有S个节点,C个簇,簇内P个节点.则簇头数为C,普通节点数为S-C,每个簇内普通节点数为P-1个.性能分析主要对比文献[4]和文献[7],因此,部署范围和部署方式与文献[7]一样,在300 m×300 m 的网络区域内随机部署节点,网络节点分配情况选用文献[4]的节点数据,见表3.

表3 网络节点分配情况

3.2.1 通信成本

通信成本主要考虑节点发送和接收数据的能量消耗,默认基站的能量是无限的.假设发送1位数据的通信成本为ETSE,接收1位数据的成本为ETRE,节点ID长度LTID、密文长度LTE、哈希或MAC认证码长度LTH.

(1)主动离簇

节点与簇头A:节点发送LTID+LTE+LTH;簇头A接收LTID+LTE+LTH.

节点与簇头B:节点发送LTID+LTE,接收2LTID+LTE+LTH;簇头B发送2LTID+LTE+LTH,接收LTID+LTE[17].

簇头B与基站:簇头B发送LTID+LTE+LTH,接收2LTID+LTE+LTH;默认基站的能量是无限的,不考虑其通信成本.

发送成本ETS=(5LTID+4LTE+3LTH)×ETSE;接收成本ETR=(6LTID+4LTE+3LTH)×ETRE.

通信成本合计:ET=ETS+ETR.

文献[4]过程和本部分讨论的内容相似,因此选取文献[4]进行主动离簇的对比.文献[4]中,发送成本ETS=(7LTID+5LTE)×ETSE,接收成本ETR=(6LTID+5LTE)×ETRE,通信成本合计:ET=ETS+ETR.

笔者参考文献[18]相关能量参数进行仿真,图1通过对比了本方案与文献[4]的通信成本.由图1可知,本方案的通信成本更低.随着簇头和节点数不断增加,方案的通信成本差距开始拉开,本方案的通信成本优势明显.

图1 本方案与文献[4]的通信成本对比

(2)被动离簇

分析方法同上,此处不再赘述.

文献[7]过程和本部分讨论的内容相似,因此选取文献[7]进行被动离簇的对比.通信成本对比见图2.由图2可知,本方案的通信成本优势明显.

图2 本方案与文献[7]的通信成本对比

3.2.2 存储成本

存储成本主要考虑节点存储数据的数据位数,方案中的存储成本主要考虑节点ID和密钥的存储成本,默认基站的能量是无限的.假设方案中的各种消息长度如下:设备ID长度为LSID,密钥长度为LSE.

(1)主动离簇

节点:存储IDn‖IDB共两个身份信息,PKn‖SKn‖PKBS‖Kn-B共四个密钥信息,所以单个节点的存储成本为2LSID+4LSE,所有节点的存储成本ESSN=(2LSID+4LSE)×(S-C).

簇头A:存储IDn‖IDA,考虑到其他节点可以加入簇头A所在簇,所以统一采用新簇头B的存储成本作为簇头的平均存储成本来计算.

簇头B:方案通过基站验证节点身份,因此,无需保存其他簇头ID信息,存储IDn‖IDB共两个身份信息,PKB‖SKB‖KB-BS‖Kn-B共四个密钥信息,另外簇头需要保存簇内所有节点的ID列表,单个簇头的存储成本为(2LSID+4LSE+(P-1)×LSID),所有簇头的存储成本ESCH=(2LSID+4LSE+(P-1)×LSID)×C.

存储成本合计:ES=ESSN+ESCH.

文献[4]中,所有节点的存储成本ESSN=(2LSID+4LSE)×(S-C),所有簇头的存储成本ESCH=(3LSID+5LSE+(P-1)×LSID)×C.存储成本合计:ES=ESSN+ESCH.

网络节点分配同通信成本.两个方案的节点存储成本相同,不做对比,主要对比簇头的存储成本,仿真结果见图3.由图3可知,本方案的存储成本更低.

图3 本方案与文献[4]的簇头存储成本对比

(2)被动离簇

分析方法同上,此处不再赘述.

图4对比了本方案与文献[7]的簇头存储成本.由图4可知,本方案的存储成本更低.

图4 本方案与文献[7]的簇头存储成本对比

3.2.3 计算成本

计算成本主要考虑节点和簇头加解密和哈希运算所需的成本,默认基站的能量是无限的.本方案未讨论具体的密钥协商过程,因此不涉及点乘、点加等计算成本,仅考虑加解密和哈希运算的成本.假设加密1次的计算成本是EE,解密1次的计算成本是ED,哈希运算1次的计算成本是EH.

(1)主动离簇

节点:加密2次,解密1次,哈希2次.

簇头A:解密1次,哈希1次.

簇头B:加密2次,解密1次,哈希3次.

节点计算成本ECSN=2EE+ED+2EH,簇头计算成本ECCH=2EE+2ED+4EH[19].

计算成本合计:EC= ECSN+ECCH=4EE+3ED+6EH.

文献[4]中,所有节点的计算成本为ECSN=2EE+ED,簇头计算成本为ECCH=3EE+3ED.计算成本合计:EC=ECSN+ECCH=5EE+4ED.文献[4]没有使用哈希函数,虽然节省了部分计算成本,但是不能进行身份和完整性验证.

笔者参考文献[20]基于PCB库和GMP库相关参数进行仿真[20],计算成本对比见图5.图5体现的是极限情况下所有节点申请离簇的总耗时情况,因此总时长较大.从图中可以看出,本方案的计算成本存在一定优势.

图5 本方案与文献[4]的计算成本对比

(2)被动离簇

分析方法同上,此处不再赘述.

图6对比了本方案与文献[7]的计算成本.由图6可知,本方案的计算成本具有明显优势.

图6 本方案与文献[7]的计算成本对比

4 结语

笔者提出了一种移动场景下的分簇无线传感器网络密钥管理方案,详细描述了主动离簇和被动离簇两种状态下的密钥管理过程[21].方案采用非对称加解密、哈希变换、MAC验证等技术,能有效抵抗各种常见攻击,并提升方案的性能.非形式化分析验证了方案的安全性,量化分析通信、存储和计算成本,结果表明方案的性能较其他方案有明显提升[22].未来工作中,将继续完善密钥协商、密钥更新等相关内容.

猜你喜欢
攻击者密钥基站
幻中邂逅之金色密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
5G IAB基站接入网络方案研究*
TPM 2.0密钥迁移协议研究
正面迎接批判
正面迎接批判
基于移动通信基站建设自动化探讨
可恶的“伪基站”
基于GSM基站ID的高速公路路径识别系统