刘 奇,白翔宇
LIU Qi,BAI Xiangyu
内蒙古大学 计算机学院,呼和浩特 010021
College of Computer Science,Inner Mongolia University,Huhhot 010021,China
近年来,延迟容忍网络受到了广泛的研究[1]。这种网络通常用于星际网络、稀疏的ad hoc网络,以及其他具有间歇性连接的挑战性网络环境中[2]。延迟容忍网络由移动节点组成,这些节点连接稀疏,具有机会通信、多变的网络拓扑结构以及端到端高延迟等特点[3]。由于农牧区地广人稀,缺乏网络基础设施,一个村或嘎查(蒙古族聚居的村落)中的便携式节点组成的移动自组网具有延迟容忍网络的特点,可将其视为特殊的DTN。如图1所示,卫星及便携终端混合网络内容分发(Satellite and Portable terminal hybrid network Content Delivery,SPCD)系统结合了卫星广播系统与农牧区DTN,充分利用了DTN的特性。首先,卫星网络播发中心(Satellite Network Delivery Centre,SNDC)将用户订阅的互联网资源通过卫星信道下发到卫星网络接收服务器(Satellite Network Receive Server,SNRS)。随后SNRS将资源发送到临近的DTN便携式通信节点(Node),这些节点采用“存储-携带-转发”的模式将资源转发到目标节点。通过这种方式,SPCD系统为农牧区获取互联网资源提供了支持。
图1 卫星及便携终端混合网络内容分发系统
在SPCD系统的DTN中,安全问题是不容忽视的,节点的身份认证以及访问控制是不可或缺的。由于传统基于PKI证书的公钥加密技术假定需要持续的网络连接,而DTN节点具有间歇性连接的特点,使得其不适用于DTN,DTN密钥管理系统成为一个公开的难题[4]。目前对于DTN密钥管理方案的研究还较少,没有一种DTN密钥管理方案可以直接适用于SPCD系统的DTN中。因此,本文设计了一个适用于SPCD系统中特殊DTN环境的密钥管理方案;同时,此方案也适用于类似的其他网络环境,如由稀疏接入点(如小型基站)以及便携式移动通信节点(如智能手机)所组成的移动自组网。
为了简化传统的基于PKI的加密系统,并且减少存储开销,Shamir首次提出基于身份的密码系统(Identity-Based Cryptosystem,IBC)[5]。随后学者对IBC进行了大量的研究[6-20]。文献[6]实现了第一个可证明安全性的IBC的密码系统。之后,研究者将IBC的密码系统引入到DTN,然而在IBC中节点的私钥是由私钥产生中心(Private Key Generator,PKG)产生并分发给节点的,文献[7]指出IBC存在单点失败问题;同时,PKG可以在未授权的情况下冒充用户,文献[8]指出 IBC存在密钥托管问题。为了解决上述问题,文献[9-12]提出了基于身份的分层密码系统(Hierarchical Identity-Based Cryptography,HIBC)。文献[9]结合了分层机制与基于身份的非交互式的秘钥协议,同层的节点作为门限分布式密钥产生节点(Distributed Private Key Generator,DPKG)为下层的节点产生秘钥,但是未给出私钥分发具体方式,无法抵御高层节点的腐败。文献[10]结合基于分层身份加密系统、可验证秘密共享、门限方案提出一种新的分层加密系统,门限节点可以属于不同层,但必须属于同一个群,但是未给出私钥分发具体方式。文献[11]提出一种有效的基于身份的非交互的秘钥协商协议,但无法抵制高层节点的腐败。在文献[12]提出的基于分层身份加密封装机制中,节点私钥由上层节点产生,通过这种封装机制可以为节点产生随机会话秘钥,并且可以抵御多种攻击方式。在HIBC中,节点密钥由上层节点产生,需要在DTN中维护有序的分层网络拓扑结构。然而,由于DTN中节点的移动性使得DTN拓扑不断改变,难以维持有序的网络拓扑结构。文献[13-18]提出了无证书的密钥管理系统(Certificateless Key Management Scheme,CLKM)。在文献[13]提出的无证书密钥管理方案中,节点自己采用RSA产生密钥对,不存在密钥托管问题,但是在利用中间节点获取其他节点公钥时无法抵御公钥替换攻击。在文献[14-18]中,都是采用(n-t)秘密共享方案将系统主私钥分发给n个DPKG,节点联系任意大于或等于t个DPKG来获取部分私钥,而后产生自己的私钥。在文献[14]中,节点可以按需获取临时会话密钥所对应的私钥,但是未给出初始密钥对分配的过程。在文献[15-17]中,DPKG产生的部分私钥需要通过安全信道传输给请求节点。在文献[18]中,节点部分密钥由一个主DPKG处理其他DPKG产生的信息来为节点产生部分密钥,不需要安全信道。在大多数无证书的密钥管理系统中需要节点同时连接多个DPKG来获取密钥。然而,由于DTN具有拓扑多变,DTN节点具有间歇性连接特性,请求密钥产生服务过程中同时连接多个DPKG获取自己的部分私钥成为难题。其次,DPKG为节点产生的部分密钥可能需要安全信道发送给节点,这对于DTN环境来说难以实现。在文献[19]提出的分布式密钥管理方案中,DTN网络中所有的节点都要参与公共加密参数的计算,当有节点加入或离开时,所有节点需要重新计算公共加密参数,对于节点频繁中断的DTN来说,需要频繁地计算新的公共加密参数。所以,以上方案不能直接应用到卫星及便携终端混合网络内容分发系统的DTN中。
设G1,G2为阶是素数q的循环群。称满足如下性质的映射e:G1×G1→G2为双线性映射:
(1)双线性性。对任意P,Q∈G1,及任意a,b∈,总有e(aP,bQ)=e(P,Q)ab。
(2)非退化性。存在P,Q∈G1,满足e(P,Q)≠1G2。
(3)可计算性。对任意P,Q∈G1,存在一个有效的算法计算e(P,Q)。
设G是一个阶为q的群,G中的离散对数问题是指已知P,Q∈G,求a∈,使得Q=aP。
群G中的计算性Diffie-Hellman问题是指已知P,aP,bP∈G求abP。其中P是G中的随机元素,a,b是中的随机数。
群G中的判定性Diffie-Hellman问题是指已知P,aP,bP,cP∈G,判定cP=abP是否成立。
SPCD系统的DTN秘钥管理系统充分利用卫星网络接收服务器的优势,为DTN移动通信节点生成数字身份证。随后DTN移动通信节点产生自己的密钥对并与数字身份证进行绑定生成盲数字身份证。节点之间通过盲数字身份证可以进行身份认证以及公钥获取。SPCD系统的DTN密钥管理方案过程如图2所示。
图2 密钥管理方案过程
密钥管理方案详细描述如下:
(1)系统初始化
卫星网络接收服务器SNRS发布系统参数params={q,G,GT,e,P,H1,H2},其中G为加法循环群,GT为乘法循环群,q为群G及GT的素数阶,P是群G的一个生成元,e为双线性映射G×G→GT。H1:{0,1}*→G,H2:GT→{0,1}n为哈希函数。SNRS选择随机数s∈作为系统主私钥,计算Ppub=sP为系统公钥。DTN网络中所有节点共同加载系统参数params。
(2)DTN移动通信节点获取数字身份证
DTN移动通信节点(以Alice为例)将自己的身份IDAlice以及个人信息MAlice通过安全信道发送给SNRS。如果Alice的个人信息通过SNRS的验证后,SNRS为Alice颁发包含其个人信息的数字身份证DAlice=。当SNRS为SPCD系统的DTN节点颁发数字身份证后,不参与后续网络中的密钥管理。
(3)DTN移动通信节点密钥对及盲数字身份证产生
Alice选取秘密参数sA∈,计算自己的私钥SA=sAH1(IDAlice)、公钥PA=sAP并选取密钥的生命周期lifetime。随后Alice计算盲数字身份证其中
(4)DTN移动通信节点身份验证及公钥获取
Alice构造包含自己公钥的验证数据包Data,Data包含 IDAlice,XAlice,YAlice,QAlice,H1(MAlice),PA以及PA的生命周期lifetime。Alice对 Data签名得到SigA=sAH1(Data),并将Data与签名发送给欲会话的DTN移动通信节点Bob。Bob收到消息后首先通过公式(1)验证消息的完整性,但不能确认消息的发送者是IDAlice,也不能确认PA的真实性:
随后Bob对消息中lifetime进行验证,如果验证成功则进行下一步验证。
Bob通过公式(2)和(3)验证盲数字身份证的真实性以及确认其属于身份为IDAlice的节点:
Bob通过公式(4)验证消息中公钥的真实性:
若验证通过则Bob可以获取Alice的公钥PA。
公式(1)证明如下:
公式(2)证明如下:
公式(3)证明如下:
公式(4)证明如下:
(5)DTN移动通信节点消息加解密过程
加密过程:如果Alice成功验证Bob发送的信息后,并获取Bob的身份IDBob及其公钥PB,Alice计算SAB=sAH1(IDBob)及KAB=PA+PB。Alice选择随机数r∈并对消息M加密得到密文,其中U=rP;
解密过程:当Bob收到Alice发送的密文后计算KAB=PA+PB(假设Bob已获取Alice公钥)。之后Bob通过M=V⊕H2(gr),g=e(KAB,H1(IDBob))以及自己的私钥SB=sBH1(IDBob)来计算消息 M ,记 N=e(KAB,H1(IDB))r。只要Bob求出N即可解密。N可由公式(5)计算:
公式(5)证明如下:
(6)DTN移动通信节点密钥更新
当节点Alice生成自己的密钥对时,规定了相应的生命周期lifetime。节点Alice定期检查当前密钥lifetime是否到期,若到期则重新选择秘密参数sA∈并生成新的密钥对及盲数字身份证,从而实现节点的密钥更新。
(1)被动攻击安全性分析
在DTN移动通信节点公钥获取的过程中,一个敌手A知道所有的公共信息 params、节点Alice的验证消息Data以及SigA,敌手A想要从这些公共信息中提取用户Alice的解密密钥SA=sAH1(IDAlice)。通过对公共信息分析,仅有P,PPub,PA,H1(IDAlice)及XAlice与私钥相关并对敌手A计算私钥是有用的。则敌手面临的问题就是当给定P,PPub,PA,H1(IDAlice),XAlice来计算SA。由于P是群G的生成元并且H1(IDAlice)∈G,不妨设有c∈使得 H1(IDAlice)=cP,另设 a=sA,b=s。则敌手面临的问题就是当给定生成元P以及aP,bP,cP,abcP来计算acP。则敌手A的优势可以表示为:
由bP,abcP→ac是群G上的DLP问题,由aP,cP→acP是CDH问题。由于DLP或CDH是困难的,敌手不能从验证消息中获取用户的私钥。
(2)抵御公钥替换
在密钥管理方案中,盲数字身份证中绑定了节点的秘密参数sA,并且在验证过程中首先验证了盲数字身份证的真实性,后用盲数字身份证对节点的公钥PA进行了验证,从而实现了盲数字证书与节点公钥的绑定。只有SNRS遭受妥协时,敌手才能用主私钥s产生关于IDAlice的数字身份证,然后节点用新的秘密参数伪造盲数字证书并替换公钥为P′A。此时,对身份为IDAlice的节点具有两个合法的公钥,由此可以判断SNRS已被妥协。
若敌手A不能获取系统的主密钥s,则敌手随机选择s′A∈构造新的公钥P′A,并且敌手构造新的签名Sig′A才能通过完整性验证。由于敌手在没有主密钥的情况下不能伪造对应IDAlice的盲数字证书。所以,敌手无法通过盲数字身份证验证,进而无法通过公钥真实性认证。即方案中采用的盲数字证书与公钥的绑定策略可以抵御公钥替换攻击。
(3)抵御公钥获取重放攻击
在密钥管理方案中,验证消息Data中包含公钥的生命周期lifetime。由于验证过程中敌手A无法篡改lifetime,当验证发现lifetime已到期则丢弃该验证消息。因此,A无法通过发送过期的验证消息(消息中公钥lifetime已到期)来进行公钥获取重放攻击。
(4)具有前向安全
即当卫星网络接收服务器主私钥s泄露时,敌手A不能由s求出用户之前的会话密钥。A虽然可以计算颁发给用户Alice的数字身份证DAlice,但由sH1(IDAlice),sAsH1(IDAlice)→sA或 sH1(MAlice),sAsH1(MAlice)→sA是群G上的DLP问题。
(5)抵御未知密钥共享
在密钥管理方案中,用户Alice在与节点Bob进行会话前需要对其身份验证后,才生成加密所需参数。即Alice不会在没认证欲会话节点Bob身份情况下就与Bob进行会话。
(6)抵御密钥泄露伪装攻击
假设Alice和Bob是两个欲会话节点,当敌手A获得Alice的私钥后,显然敌手A可以向其他用户(如Bob)冒充为Alice。但是由于A不能伪造其他用户(如Bob)的盲数字证书DBob,A不能反过来向Alice冒充为其他用户(如Bob)。
表1描述了本文方案与其他方案的对比,其中“是”表示达到此项要求,“否”表示未达到此项要求。M代表点乘运算,W代表双线性映射运算,t代表方案所采用秘密共享方案的门限值,n代表网络中所有节点数。服务节点计算量以及用户节点计算量分别表示服务节点(如DPKG等)和用户节点在一个用户进行一次密钥生成、公钥获取以及密钥协商过程中的计算量。如果门限值t选取较大,则需要用户节点同时向更多的DPKG请求服务,考虑到DTN环境并参考文献[20]中对门限值的选取,选取门限值t=5以及网络总节点数n=30来计算总的计算量。
表1 与其他方案的对比
在密钥管理方面,由于本文方案在网络运行前SNRS为节点颁发数字身份证,网络运行后不需要额外安全信道;节点密钥由自己产生,不存在密钥托管问题;同时实现了密钥更新,并可以抵御公钥替换,方案达到了SPCD系统中DTN安全要求。
在计算量上,当门限值为t=5以及网络总节点数n=30时,本文方案总计算量比文献[16,19]低。虽然文献[17-18]计算量比本文方案低,但是,本文方案与其差距不是很大。因此,综合考虑计算量以及是否适用于SPCD的DTN环境,本文方案具有明显优势。
本文针对SPCD系统的特殊DTN环境以及现有方案不能直接应用的问题,提出了一种适用于该系统的DTN密钥管理方案。该方案将节点公钥与盲数字身份证进行绑定,实现了身份认证以及公钥获取的需求;并且该方案可以抵御被动攻击,抵御公钥替换等一系列攻击。综合考虑密钥管理、计算复杂度及特殊DTN环境,与其他方案进行了比较,结果表明本文方案更适用于SPCD系统的DTN。
参考文献:
[1]Fall K.A delay-tolerant network architecture for challenged internets[C]//Proceedings of the 2003 Conference on Applications,Technologies,Architectures,and Protocols for Computer Communications,2003:27-34.
[2]Seth A,Keshav S.Practical security for disconnected nodes[C]//1st IEEE ICNP Workshop on Secure Network Protocols,2005:31-36.
[3]Chen R,Bao F,Chang M J,et al.Dynamic trust management for delay tolerant networks and its application to secure routing[J].IEEE Transactions on Parallel and Distributed Systems,2014,25(5):1200-1210.
[4]Jia Z,Lin X,Tan S H,et al.Public key distribution scheme for delay tolerant networks based on two-channel cryptography[J].Journal of Network and Computer Applications,2012,35(3):905-913.
[5]Shamir A.Identity-based cryptosystems and signature schemes[C]//Advances in Cryptology.Berlin Heidelberg:Springer,1984:47-53.
[6]Boneh D,Franklin M.Identity-based encryption from the Weil pairing[C]//Advances in Cryptology—CRYPTO 2001.Berlin Heidelberg:Springer,2001:213-229.
[7]Khalili A,Katz J,Arbaugh W A.Toward secure key distribution in truly ad-hoc networks[C]//2003 Symposium on Applications and the Internet Workshops,2003:342-346.
[8]Al-Riyami S S,Paterson K G.Certificateless public key cryptography[C]//International Conference on the Theory and Application of Cryptology and Information Security.Berlin Heidelberg:Springer,2003:452-473.
[9]Gennaro R,Halevi S,Krawczyk H,et al.Strongly-resilient and non-interactive hierarchical key-agreement in MANETs[C]//Computer Security-ESORICS 2008.Berlin Heidelberg:Springer,2008:49-65.
[10]Tseng F K,Zao J K,Liu Y H,et al.Halo:A hierarchical identity-based public key infrastructure for peer-to-peer opportunistic collaboration[C]//Tenth International Conference on Mobile Data Management:Systems,Services and Middleware,MDM’09,2009:672-679.
[11]Guo H,Mu Y,Li Z,et al.An efficient and non-interactive hierarchical key agreement protocol[J].Computers&Security,2011,30(1):28-34.
[12]He K,Chen M R,Mao Y,et al.Efficient hierarchical identity-based encryption for mobile ad hoc networks[J].Mobile Information Systems,2014,10(4):407-425.
[13]Kasra-Kermanshahi S,Salleh M.An improved certificateless public key authentication scheme for mobile ad hoc networks over elliptic curves[M]//Pattern Analysis,Intelligent Security and the Internet of Things.[S.l.]:Springer International Publishing,2015:327-334.
[14]Zhang Y,Liu W,Lou W,et al.AC-PKI:Anonymous and certificateless public-key infrastructure for mobile ad hoc networks[C]//IEEE International Conference on Communications,ICC 2005,2005:3515-3519.
[15]Khatoon S,Thakur B S.Certificateless key management scheme in manet using threshold cryptography[J].International Journal of Network Security&Its Applications,2015,7(2):55.
[16]Sun H,Zheng X,Deng Z.An identity-based and threshold key management scheme for ad hoc networks[C]//International Conference on Networks Security,Wireless Communications and Trusted Computing(NSWCTC’09),2009:520-523.
[17]Li L,Wang Z,Liu W,et al.A certificateless key management scheme in mobile ad hoc networks[C]//2011 7th International Conference on Wireless Communications,Networking and Mobile Computing(WiCOM),2011:1-4.
[18]Lv X,Li H,Wang B.Virtual private key generator based escrow-free certificateless public key cryptosystem for mobile ad hoc networks[J].Security and Communication Networks,2013,6(1):49-57.
[19]Xie Y,Wang G.Practical distributed secret key generation for delay tolerant networks[J].Concurrency and Computation:Practice and Experience,2013,25(14):2067-2079.
[20]Chen L,Cheng Z,Smart N P.Identity-based key agreement protocols from pairings[J].International Journal of Information Security,2007,6(4):213-241.