时间:2024-05-04
周 健,施文君,殷红彩,孙丽艳
1.安徽财经大学 管理科学与工程学院,安徽 蚌埠 233041
2.北京邮电大学 计算机学院,北京 100083
飞行器自组网络(flyingAd Hoc network,FAHN)[1-3]是无线网络的一种,是由空域内多个飞行器连接建立的移动自组织网络,飞行器通过单跳或多跳通信转发成员和地面的数据和控制指令[4]。FAHN中的节点通信无需固定的基础网络设施或中心控制节点,飞行器群比单个飞行器具有更多的优势,通过合作与协作飞行器群成员可以有效地减少资源开销,增强生存能力和任务执行效率,具有可扩展性、自组织、自恢复和抗毁性[5]。FAHN具有能够被快速部署到复杂环境中的优点,在军事和民用中得到广泛的应用,如无人机群、卫星群、配置传感器的鸟群等[6-7],成为当前研究热点。然而多个飞行器组成的飞行器群最大的挑战是通信问题,与地面Ad Hoc网络相比较,不仅具有无中心节点、链路可靠性差、节点能力有限等共性问题[8-9],而且还具有覆盖面积大、三维空间部署、高速移动、高动态的拓扑结构、频繁的网络分割和合并、外部环境多变、多普勒效应、节点密度低的特有问题[10]。因此,FAHN与传统Ad Hoc网络相比具有许多新的问题与挑战[11]。特别是FAHN通信完全暴露在空中,而且覆盖面积较大,飞行器很容易被捕获或摧毁,安全管理策略尤为重要,其中密钥管理是一个无线网络安全的关键技术[12],决定了FAHN的安全性能。
群组密钥管理[13-14]是FAHN安全问题的重要内容,为飞行器成员间的通信建立安全信道和身份认证。然而飞行器网络的密钥管理受到严格限制。飞行器的载重和空间是有限的,导致飞行器的计算能力、能量水平和存储能力也受到限制[15],减少计算开销、存储开销和消息开销是FAHN群组密钥管理的重要目标。但是相对计算开销和存储开销,减少飞行器间交互延时和消息开销更为重要。一方面,随着硬件性能的不断提升,目前飞行器携带的存储器和计算器的性能已经显著提高,可持续性的大容量电池进一步缓解了能量消耗问题;另一方面,目前飞行器的机动性越来越高,飞机的飞行速度在500~1000km/h,军用飞机的速度可达3.5 Mach,高速、多变的飞行对交互延时提出苛刻要求,高速度使得成员快速脱离成员无线覆盖区域,多飞行器网络快速合并和分裂,已经无法容忍密钥更新的多次交互。特殊情况下,飞行器网络的机会通信容忍的延时更为苛刻[16]。高速移动对网络的连通性和协议的延时产生了严重影响。
目前,根据密钥中加密密钥和解密密钥之间的关系,动态群组密钥管理主要分为两大类:共享密钥群组管理方案和非共享式群组密钥管理方案[17]。在共享密钥群组管理方案中,所有群成员共享相同的密钥,群密钥不具有密钥独立性,单个成员的妥协导致整个网络安全失败[18],在成员的加入和退出中为保护前向和后向安全性,所有群成员参与密钥更新[19-20],如 方 案 GDH(group Diffie-Hellman)[21]、Octopus[22]、DHLKH(logical key hierarchy based Diffie-Hellman protocol)[23]。在非共享式群组密钥管理方案中,密钥包括加密密钥和解密密钥,不同成员间的解密密钥具有密钥独立性[24],在密钥更新中非更新成员的解密密钥无需更新,减少了成员计算开销,但是非更新成员参与交互过程从而引发1-affect-n问题[25],增加了消息延时,如基于中国剩余定理的方案SLP(secure locks protocol)[26]、基于门限密钥的单加密密钥多解密密钥协议OMEDP(one-encryption-keymulti-decryptionkey encryption decryption key)[27-28]、基于双线性对的AGKM(automatic group key management)[17-29]、不满足前向安全性的PKM(polynomial-based key management)[30]。基于身份的群组密钥管理方案[31]存在不支持前向和后向安全性问题,方案[32]中密钥更新需要重新执行协议,至少群成员间需要一轮交互过程。因此,研究非交互式群组密钥管理对FAHN具有重要意义。
针对上述问题,本文提出一种非交互式动态群组密钥管理方案。初始化阶段,地面可信中心生成公开加密密钥,并通过安全信道为群成员分配具有密钥独立性的私有解密密钥,当有成员加入、退出网络时,或者网络发生分裂或合并时,非更新成员的私有解密密钥保持不变,只需更新公开加密密钥,加密解密过程隐含身份认证,密钥更新无须交互过程,减少了时间延时,提高了密钥更新效率。该方式适合于延时受限的飞行器自组织网络。
高速的飞行状态和频繁的拓扑变化势必使得群内的成员状态产生变化,加入和退出不可避免。为了协作完成某些任务,飞行器网络在运行过程中可能分裂为多个子网或者合并成一个较大的网络[33]。为了保证动态变化的群成员安全,群密钥管理必须更新密钥以保障前向和后向安全性,密钥更新的性能决定安全策略的性能[34]。动态群组密钥操作主要包括4种:密钥加入操作(key joining operation)、密钥退出操作(key leaving operation)、密钥合并操作(key merging operation)、密钥分裂操作(key partition operation)。
飞行器自组织网络部署在覆盖面积较大,空间部署为三维的环境中。建议方案运行在如下环境中,地面存在一个可靠的密钥管理中心或可信中心,该中心通过卫星发布公开信息,如群身份ID、公开加密密钥等信息,且在卫星上发布的信息不可篡改。飞行器网络覆盖面积较大,且可能在短时间内飞行器飞出无线信号最大传输距离,如图1所示,由此飞行器网络成员间的交互过程可能无法实现。同时,飞行器网络的成员与控制中心的距离超过传输距离,可能无法与地面控制中心取得及时的联系,因此该成员可通过卫星获得必要的公开信息。
Fig.1 Topology of flyingAd Hoc networks图1 飞行器自组网络拓扑结构
建议方案支持安全信道建立和动态群组密钥操作。协议分为3个阶段,协议中的实体包括可信中心(trust center)生成的公钥和私钥,飞行器组成的自组织网络,规模为 n,每个群成员 useri,1≤ i≤ n,在可信中心的注册身份IDi,1≤i≤n。
可信中心生成素数q,生成价为q的两个循环群G1和G2,G1为加法循环群,G2为乘法循环群,以及一个有效的双线性映射e:G1×G1→G2,可信中心任意选择一个生成元P∈G1,选取n个不同的随机数{xi,1≤i≤n},构造一元n次方程式:
系数ai满足如下公式:
计算公钥为PK={aiP,0≤i≤n},选择两个哈希函数和H2:G2→{0,1}N,可信中心在公告板如卫星上发布公开信息{PK,H1,H2}。
可信中心为成员useri计算QIDi=H1(IDi),计算解密私钥通过安全信道发送给成员,如在执行任务前通过人工方式。
发送方需要将明文m发送给飞行器群成员useri,发送者从公开的公告板如卫星上获取公开加密秘钥,PK={aiP,0≤ i≤ n},选择一个随机数计算u={raiP,1≤ i≤ n},QIDi=H1(IDi)和 gIDi=e(QIDi,a0P)。发送方加密明文c=m⊕H2(e(QIDi,a0P)r),然后发布(u,c)。
接受者useri收到信息(u,c),使用私钥 xi计算
使用公式解密:
当有成员离开群时,为保护前向安全性,群密钥管理执行群密钥离开操作。设离开的群成员为usern,身份为IDn。可信中心重新构造一元n-1次方程式:
系数ai满足如下公式:
可信中心在公告板重新发布公钥为PK′={aiP,1≤i≤n-1},未离开成员useri的解密私钥保持不变,仍旧为加密阶段和解密阶段如3.2节和3.3节描述。
当有新成员加入群时,为保护后向安全性,群密钥管理执行群密钥加入操作。设新加入的群成员为usern+1,身份为IDn+1。新加入成员在加入网络前通过安全信道从可信中心获取秘密解密秘钥1≤ j≤ n+1。
可信中心重新构造一元n+1次方程式:
系数ai满足如下公式:
可信中心在公告板重新发布公钥为PK″={aiP,1≤i≤n+1},成员useri的解密私钥保持不变,仍旧为加密阶段和解密阶段如3.2节和3.3节描述。
当两个子群合并为一个群时,群密钥管理执行群密钥合并操作。设合并的两个群为A群和B群,规模分别为n1、n2,可信中心为A群构造的一元n1次方程为可信中心为B群构造的一元n2次方程为则可信中心合并两个方程的根集合{xi,1≤i≤n1}和{xi,1≤i≤n2}得到 {xi,1≤ i≤ n1+n2},通过集合{xi,1≤ i≤ n1+n2}重新构造一元n1+n2次方程:
则系数ai满足如下公式:
可信中心在公告板重新发布公钥为PK″={aiP,1≤i≤n1+n2},A群和B群中成员useri的解密私钥保持不变,仍旧为加密阶段和解密阶段如3.2节和3.3节描述。
当一个群分裂为两个子群时,群密钥管理执行群密钥分裂操作,设分裂后的两个群为A群和B群,规模分别为n1、n2,分裂前可信中心利用集合{xi,1≤i≤ n1+n2}构造一元 n1+n2次方程则分裂后的A群拥有集合{xi,1≤i≤n1},可信中心为A群构造一元n1次方程:
则系数ai满足如下公式:
分裂后的B群拥有集合{xi,1≤i≤n2},可信中心为B群构造方程一元n2次方程:
则系数ai满足如下公式:
可信中心在公告板重新发布A群和B群的公钥为 PKA={aiP,1≤ i≤ n1},PKB={aiP,n1≤ i≤ n1+n2},A群和B群中成员useri的解密私钥保持不变,仍旧为加密阶段和解密阶段如3.2节和3.3节描述。
具有合法解密秘钥的成员能够成功解密密文,合法成员对应的解密私钥满足如下的性质:
因此
群密钥离开操作需要保证前向安全性,退出的群成员不能成功解密退出后的加密信息。退出节点的私钥为退出前加密的信息为m⊕H2(e(QIDi,a0P)r),退出后可信中心更新了公开加密密钥,公开加密密钥PK={aiP}的系数ai由
更新为:
群密钥加入操作需要保证后向安全性,新加入的群成员不能成功解密加入前的加密信息。新加入节点的私钥为,退出前加密的信息为m⊕H2(e(QIDi,a0P)r),退出后可信中心更新了公开加密密钥,公开加密密钥PK={aiP}的系数ai由
更新为:
攻击者从公开信道获得的信息包括公开加密密钥 PK={aiP}和加密信息({raiP},m⊕H2(e(QIDi,a0P)r))。攻击者已知{raiP,1≤i≤n}、QIDi、a0P,无合法解密密钥的攻击者或者从{raiP,1≤i≤n}获取r,计算gIDi=e(QIDi,a0P)r,需要破解离散对数难解问题;或者从公钥集合{aiP,0≤i≤n}中根据ai系数获取合法解密密钥值xi,该问题也规约到破解离散对数难解问题,因此加密的信息具有私密性。
每个成员具有的解密密钥互不相同,可信中心为成员useri和userj随机选取秘密值xi和xj,并计算秘密密钥和和xj不存在关联性,由此也不存在关联性,即useri不能通过获取也不能通过获取因此合法成员的解密密钥具有密钥独立性。
攻击者从公开加密密钥中获取PK″={aiP,1≤i≤n+1},必须破解离散对数难解问题得到系数ai,从而构造一元n次方程式计算方程式的根得到合法成员的秘密解密密钥。
初始化阶段,可信中心计算多项式系数使用简单的数学运算,因此其计算开销可以忽略。可信中心生成公钥需要计算n次模乘运算,为每个成员计算私钥需要计算(1+n)n/2次模乘运算。加密阶段执行n+1次模乘运算,一次双线性对运算。解密阶段执行n次双线性对运算。公钥密钥生成的计算开销与群规模呈线性关系,解密密钥生成的计算开销与群规模呈多项式关系。
在群动态操作中,为更新加密密钥,密钥离开操作中公开加密密钥为离开前公开加密密钥的子集,因此需n-1次模乘运算。密钥加入操作中,可信中心执行n次双线性对模乘运算。密钥分裂操作中,公开加密密钥为离开前公开加密密钥的子集,因此需n+m次模乘运算。密钥合并操作中,可信中心最多执行n+m次双线性对模乘运算。4种密钥动态操作中,群成员无需更新自己的私有密钥,因此计算开销为0。可信中心的计算开销与群规模相关,而动态成员的计算开销与群规模无关。可信中心通过更新公开加密密钥撤销退出成员的私钥合法性。
初始化阶段,可信中心在公开板上发布公钥,并通过安全信道为每个成员发送秘密解密密钥。在群动态操作中,离开或加入的成员发送一条加入或退出的信息,非加入或退出成员的秘密解密密钥保持不变,因此消息开销为1。同理,合并或分裂的成员发送一条合并或分裂的信息,合并或分裂的成员的秘密解密密钥保持不变,因此消息开销为1。消息开销与群规模无关。密钥更新过程中没有交互过程,可信第三方和群成员之间无需建立安全信道,群成员之间也无需交互。
公钥的存储复杂度为n+1,加密消息的存储复杂度为n+1,每个成员的秘密解密密钥复杂度为n+1。公钥和私钥的存储复杂度与群规模相关。
GKM(group key management)和LKH(logical key hierarchy)是自组织网络中应用较多的方案,其中DHLKH是基于Diffie-Hellman密钥交互协议设计的一种LKH典型协议,密钥协商过程满足自组织网络需要,但是上述两种方案在密钥更新中存在1-affectn问题,导致拓扑变化需要全体成员参与密钥更新过程,多次交互过程引发较长的延时,不能满足飞行器自组织网络的密钥管理需要。
如表1~表4所示,建议方案在4种群组密钥动态操作中的计算开销与网络的规模相关,但是考虑到实际承担计算任务的是可信中心,因此网络成员无需为更新密钥消耗网络资源。同时,建议方案的消息开销与群规模无关,对比其他方案在延时上具有较大的优势。
如表5所示,GKM和LKH方案不支持身份认证,需要添加身份认证机制,因此需要更多的交互过程,建议方案无需身份认证,隐含在加密/解密过程中。GKM和LKH方案无需可信中心支持,而建议方案在更新公开加密密钥时,需要可信中心和公告板支撑,在飞行器网络中可以通过卫星进行部署。建议方案的最大优势是飞行器非更新网络成员无需参与密钥更新过程,即在保证私有解密密钥合法性前提下,无需为密钥更新付出计算开销和消息开销,而GDH、DHLKH的非更新成员需要为密钥更新付出计算开销和消息开销。
Table 1 Comparison on group key joining operation表1 群密钥加入操作性能比较
Table 2 Comparison on group key leaving operation表2 群密钥离开操作性能比较
Table 3 Comparison on group key division operation表3 群密钥分裂性能比较
Table 4 Comparison on group key merging operation表4 群密钥合并性能比较
Table 5 Comparison on group key schemes表5 群密钥方案
在C语言环境中模拟飞行器网络群组密钥管理,统计3种方案(建议方案NIGKM、GDH、DHLKH)密钥更新中的延时时间。在场景中随机部署规模为n(5,10,15,20,30)的飞行器群,群成员间保持连通性,群成员间交互最多2跳距离,每跳的延时为10 ms,分别统计信道可靠情况下,成员加入和退出的延时时间,以及信道非可靠情况下(信道的连通概率为0.8),成员加入和退出的延时时间。
Fig.2 Time delay of member joining or leaving under reliable channel图2 可靠信道下节点加入更新延时和退出更新延时
Fig.3 Time delay of member joining or leaving under non-reliable channel图3 非可靠信道下节点加入更新延时和退出更新延时
如图2和图3所示,建议方案NIGKM密钥更新延时与网络规模无关,由于密钥更新中成员间无需通过信道进行交互,信道状态对密钥管理延时不产生影响,因此延时最少,仅为常数级。然而GDH和DHLKH的密钥更新延时与网络规模相关,且信道的非可靠状态进一步加剧了密钥更新延时,这是因为GDH和DHLKH的密钥更新过程需要成员间交互,随着信道连通性的降低,密钥更新需要的延时进一步增加。
本文提出了一种适合高速飞行器自组织网络的群组密钥管理方法,通过公钥结构改变解密密钥的关系,优化群组密钥管理策略,具有密钥独立性的解密密钥无需参与密钥更新过程,通过绑定身份的方式进一步减少了因身份认证交互过程带来的延时,提高了飞行器自组织网络应对动态拓扑变化的能力。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!