根据节点在密钥管理中的身份和承担角色,地面无线网络密钥管理方案分为集中式密钥管理、非集中式密钥管理和分布式密钥管理。集中式密钥管理(Centralized Group Key Management,CGKM)方案的最主要的特点是网络中存在能力明显优于其他成员的实体,如密钥管理中心KMC或密钥分发中心(Key Generate Center,KGC),它们负责全网络成员的密钥生成、注册、组织、分配、更新和注销等,承担全部或大部分密钥计算开销和存储开销,成员被动接受密钥材料,成员的所有信息对KMC或KGC是可视的。根据KMC或KGC在密钥管理存在的时间分为如图2.2所示两类:在线式KMC,KMC在密钥管理中始终存在,KMC能对成员的请求做出及时的反应;离线式KMC,KMC只承担密钥管理的初始化工作,当网络成员加入网络后,节点不能从KMC获取任何支持,因此离线式KMC的密钥管理能力是有限的。
图2.2 集中式密钥管理的两种模式
对偶密钥管理(Pairing Keys Key Management,PKKM)方案的原理是全网络成员预先从KGC获取共享的密钥加密密钥(Key Encryption Keys,KEK),节点利用该密钥和其一跳邻居节点协商会话密钥(Session Key,SK)。文献[40,41]提出一种基于密钥包(Group Key Packet,GKP)的对偶密钥管理方案,GKP包含KEK和SK,每个成员的KEK不同,网络成员加入前获得KEK,当有新成员加入网络时,KMC使用加入成员的KEK加密更新的SK,使用其他成员的KEK加密更新的SK,将其发送给网络内所有成员,当有成员离开时,KMC使用留下成员的KEK加密更新的SK,该方案能够保证网络的前向和后向安全性,由于KMC和每个成员之间都必须建立安全信道,因此更新消息开销为O(n)。文献[71]提出一种基于对偶密钥的组播密钥管理方案,KMC首先为每个成员选择一个随机数k,加密组播消息m,然后通过预先分配的KEK加密随机数k,接受者依次使用KEK和k解密得到m,组播消息的发起者为KMC,发送的消息为O(n)。
文献[72,73]解决群组密钥可扩展性问题,提出基于逻辑密钥树LKH(Local Key Hierarchy)方案。在LKH中,所有密钥在逻辑结构上映射为密钥树,树中节点对应密钥,树中叶子节点对应群成员,群成员具有从叶子节点到树根的路径上的KEK,树中根节点是TEK(Traffic Encryption Key),每个成员存储logn+1个密钥,密钥更新的消息数量从O(n)减少为O(logn+1)。如图2.3所示,当节点U5离开时,密钥服务器(Key Server,KS)更新密钥K56,KS使用K6更新节点U6的K56,KS使用K56更新节点U6的TEK,KS使用K1234更新其余节点的密钥TEK,发送的消息量为3个,小于GKMP的消息量。针对此方案的系列优化方案被提出:文献[73]建议了一个LKH的扩展方案,将密钥树从二叉树变为K叉树,通过提高树的节点度减少树的深度,性能分析结果显示节点度的大小为4时达到最优。文献[74,75]提出LHK的改进方案OFT(One-way Function Trees),将密钥更新的消息数量从2log(N)减少为log(n),其中KEK的计算不是从KS中得到,而是群成员利用单向函数f(·),g(·)和左右孩子的KEK计算得到ki=f(g(kleft(i)),g(kright(i)))。文献[76]中使用pseudo随机发生器产生KEK,进一步提高了计算效率。
图2.3 LKH方案
文献[77]提出安全锁协议(Security Locks Protocol,SLP),如图2.4和图2.5所示,当有节点离开网络时,KMC利用中国剩余定理只需要一次广播协议就可以建立新KEK。该协议减少了交互次数和消息量,但是增加了计算复杂度,具有单加密密钥多解密密钥的性质,存在单点失效问题。
图2.4 中国剩余定理
图2.5 SLP协议
文献[78]建议一个基于多播路由的群组密钥协议,KMC和每个群成员共享一个KEK,在发送数据前,源节点使用KEK(s)加密一个TEK发送给KS,KS使用KEK(d)加密TEK给多播目的节点,目的节点解密得到TEK。该协议KS需要和多播地址中的每个目的节点通信,增加了网络负载。该协议是建立在可靠端到端多播路由服务基础上。协议发起者是源节点,而KMC作用是转发密钥材料。
文献[79,80]基于双线性对和门限密钥协议提出一种单加密密钥多解密密钥加密解密协议(One-encryption-key Multi-decryption-key Encryption Decryption Key,OMEDP),如图2.6所示具有单加密密钥多解密密钥性质,通过KMC为加密者分配部分数量的加密密钥碎片,为解密者分配不超过门限数量的加密密钥碎片(Key Fragment,KF),只有当收集的解密密钥碎片超过门限值数量时,解密者才可以成功解密。每个成员具有不同的身份标志,根据该标识KMC使用门限函数为成员计算密钥碎片,因此每次密钥更新都需要重新执行一次协议,为加密者和所有解密者分配新鲜的加密/解密密钥碎片。
(www.xing528.com)
图2.6 OMEDP协议
文献[81]提出基于二维表的密钥管理方案(Centralized Flat Table Key Management,CFKM),该方案中密钥层次结构被一个二维表结构所替代,该表包括一个TEK和2w个KEK,w为成员数量,当群成员变化时,只需要更新变化节点所持有的部分KEK,TEK通过未妥协KEK加密发送,更新的KEK使用未妥协KEK和更新的TEK加密发送,数量为<2w,减少了KS所需要维护的KEK数量。然而密钥更新过程需要较多的通信负载。
表2.2 基于平面表的密钥存储
文献[82]提出了一种可扩展的组密钥管理方案(Extended Group Key Management,EGKM),在网络展开前,为每个节点预导入一个密钥集合,该集合作为密钥加密密钥(KEK),由密钥服务器产生并分发组密钥到邻居节点,然后逐跳进行组密钥分发,使用节点间共享的KEK来保证组密钥的安全传输,而节点间共享的KEK则通过共享密钥发现或路径密钥建立来得到。当有节点被俘虏时,剩余节点并不抛弃被俘虏节点的密钥ki,而是使用一个未被俘虏的密钥km来进行更新,更新后的密钥f为一伪随机函数。此方案采用对称加密,节点计算量较小,且节点本地保存的密钥集合不需要占用太大的存储空间,在节点被俘虏时,对被俘虏的密钥进行更新,增强了方案可用性,但密钥服务器可能会成为通信瓶颈,且会造成单点失效问题。
文献[83]提出了一种随机密钥预分配方案(Random Preconfigure Key Management,RPKM),每个节点加入网络前根据网络规模n计算保持网络连通性的最小连接概率p=(logn+c)/n(c为常数,n为网络规模),从密钥服务器得到一个随机密钥集合,其规模k满足公式当两个节点需要安全通信时,检查是否共享同一密钥,如果没有,就利用拥有共享密钥的中间节点来建立安全信道,k的选择保证共享密钥的发现在1跳到3跳之间。该方案适合能量要求严格,节点移动无规律的网络,由于密钥可能被多个成员共享,密钥更新需要预先知道密钥的位置,与随机性矛盾,因此密钥更新是个困难问题,且该方案需要离线KGC支持。文献[84]提出一种传感器网络密钥预配置管理方案,该方案利用组合数学的平衡不完全区组(Balanced Incomplete Block Design,BIBD)原理均衡地分布密钥。文献[85]提出一种轻量级的传感器网络预配置密钥管理方案,加密解密算法使用椭圆密码曲线机制,密钥管理使用平衡二叉树(AVL(Adelson-Velskii和Landis)),在缩短密钥长度的同时提高密钥管理效率。此后[86,87]相继提出预配置优化方案,在性能指标之间取得折中。
文献[88]提出了一种基于身份标识的公钥系统(Key Management based on Identity,KMI)。该系统利用主体易识别且唯一的特征,比如姓名或E-mail地址作为公钥和证书的生成资料,所以在认证之前不需要交换公钥,但需要一个集中式的KGC来产生系统的公私钥以及用户的私钥。由于KGC知道所有用户的私钥,一旦被俘虏将造成整个系统的崩溃。基于双线性对的密钥管理方案的共享密钥协商无需成员交互,因此在延时要求苛刻的网络中得到广泛的应用,如DTN网络。
文献[89]基于对称密钥体质提出一种基于多项式的密钥管理方案(Polynomial-based Key Management,PKM),会话密钥GKk可以由多个不同的密钥加密密钥KEKi计算得到,会话密钥GKk作为方程的常系数,而解密密钥KEKi作为方程f(x)的根,具有单加密密钥多解密密钥的性质。但是该方案不满足前向安全性和后向安全性。
文献[90]中提出了一种基于证书的动态组密钥管理协议(Multicast Key Management based on Certificate,MKMC),节点以离线方式获得服务资格证书,参与组播组中。证书撤销动作由组播源完成,以证书撤销链表的方式记录,并周期性地广播给每个组成员。组成员与组播源之间通过节点的卫星定位系统GPS(Global Position System,GPS)位置信息构造最优逻辑路径,形成组播树。该树的父子成员节点间通过协商会话密钥来保证组播信息的机密性。该方案通过GPS信息构造最优组播逻辑树,有效地减少了组播信息的通信开销,但组播数据需要在每一跳进行加密和解密,计算开销和能量消耗较大。另外,撤销机制不具备可扩展性,GPS辅助设备也限制了其应用。
如表2.3和表2.4所示,给出了典型集中式方案的安全和效率对比。集中式方案成功实施的一个重要前提是KMC能够在密钥管理中和任何节点建立有效的端到端连接,节点的任何请求都能够被及时地送达到KMC,KMC的绝对安全性和较强能力简化了协议复杂度。KMC是集中式密钥管理方案的核心,绝大部分的密钥管理任务都由KMC负责,因此KMC的能力一般比其他节点强,这也使得KMC的建立较为复杂和昂贵。由于KMC的重要性,它往往成为重点攻击对象,是集中式密钥管理的安全瓶颈。为了避免KMC被攻击,以及减少网络成本,使用KGC提供密钥预分发的方案被提出,这些方案需要节点预先配置大量的备选密钥,随机分配方式造成密钥更新的困难性,基于离线KMC的密钥管理方案大都用于节点能力受限的场景,比如节点的能力无法预先建立安全信道的场景,如传感器网络因为节点能量水平不能支撑公开密钥算法建立安全信道。减少成员与KMC之间交互次数和防止单点失效问题是此类方案的研究核心。
表2.3 集中式密钥管理方案安全性对比
表2.4 集中式密钥管理的性能对比(n:网络规模)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。