基于Hash生成地址的移动IPv6高效安全路由优化方案

2016-07-19 02:07郭志强王振兴张连成孔亚洲
计算机应用与软件 2016年6期
关键词:加密算法非对称密钥

郭志强 王振兴 张连成 孔亚洲

(解放军信息工程大学 河南 郑州 450001)(数学工程与先进计算国家重点实验室 河南 郑州 450001)



基于Hash生成地址的移动IPv6高效安全路由优化方案

郭志强王振兴张连成孔亚洲

(解放军信息工程大学河南 郑州 450001)(数学工程与先进计算国家重点实验室河南 郑州 450001)

摘要针对移动IPv6路由优化中存在的高安全性与低开销不可兼得的问题,借鉴基于加密生成地址CGA(Cryptographically generated addresses)的安全路由优化的优点,提出一种基于Hash生成地址(HGA)的移动IPv6高效安全路由优化方案。该方案通过区分首次绑定和非首次绑定,分别采用不同的绑定更新机制,利用HGA快速生成防伪造、可验证的IPv6地址,在非首次绑定中简化了消息交互过程。理论分析表明,该方案不仅简化了路由优化过程,还提高了其安全性,降低了计算与通信开销。

关键词移动IPv6路由优化Hash生成地址绑定更新

0引言

在移动IPv6(MIPv6)中,移动节点(MN)漫游离开家乡网络后,和通信对端节点(CN)通信时,既可采用传统的基于家乡代理的双向隧道模式,也可使用路由优化模式。双向隧道模式会在家乡代理(HA)处形成隧道聚集[1],形成网络性能瓶颈。路由优化模式中MN和CN可以直接通信而不需要经过HA的转发,解决了由“三角路由”引起的隧道聚集问题,减小了家乡链路和家乡代理的负载,可有效提高网络性能。

在路由优化模式中,MN需要向CN注册家乡地址(HoA)和转交地址(CoA)的绑定关系,即MN需要向CN发送绑定更新报文。绑定更新过程的安全性关系到了整个路由优化模式通信的安全性。在IPv6中虽然将IPsec作为基本协议支持要求强制实现,但IPsec的安全参数的自动配置需要IKE协议的支持,而在大规模的网络中部署IKE显得不太现实。如果采用手动配置IPsec的安全参数,需要在每一对通信的MN和CN之间预先配置,也很难实现。所以为了保证路由优化过程中绑定更新的安全性就不得不寻求除了IPsec之外的其他手段。如何保证MN和CN之间的绑定更新安全,并高效地完成MIPv6的路由优化,已成为目前MIPv6相关学术研究的热点[2]。

本文在分析现有的路由优化安全机制的基础之上,针对现有机制安全性差与开销大等不足之处,提出了一种基于Hash生成地址的高效安全路由优化方案HGA-ESRO(HGA-basedEfficientandSecureRouteOptimization)。

1相关工作

针对路由优化模式下MN和CN之间绑定更新的安全问题目前有多种解决方案。其中包括CAM协议,返回路由可达RR(ReturnRoutability)协议,以及后来的研究者在分析上述两种方案的基础之上提出的几种采用非对称加密算法的安全路由优化方案。

1.1CAM协议

CAM(Child-proofAuthenticationforMIPv6)[4]使用非对称加密算法对绑定更新消息进行保护,MN的HoA是由家乡链路前缀和公钥的Hash组成的,HoA=Home_Link_Prefix+User_ID,其中Home_Link_Prefix从家乡链路上的路由公告(RA)中报文获得,User_ID通过对公钥Hash并取结果的前64bit得到。MN发送给CN的绑定更新报文为:

MN→CN:A′m,Ac,Am,PKm,i,Tm,{H(A′m,Ac,Am,Tm)}SKm[4],其中A′m,Am,PKm,SKm分别代表MN的CoA、MN的HoA、MN所使用的公钥和私钥,Ac为CN的地址,i为MN生成HoA时所使用的参数,Tm为MN发送的时间戳。

由上可知,CAM协议建立了家乡地址和公钥的绑定关系,实现了CN对绑定更新消息签名的验证,能够防止链路上的恶意节点截获并篡改或者伪造绑定更新消息。但其中存在的问题在于该协议无法确定移动节点CoA的真实性,合法的移动节点可以通过伪造CoA(记为f-CoA)进行绑定更新,将CN发往MN的数据流重定向到拥有f-CoA的节点,如果CN发送的数据流过大可能会引起该节点拒绝服务[7]。

1.2返回路由可达机制

在返回路由可达机制[3]中,MN通过家乡地址经家乡代理向CN发送家乡地址测试初始化消息(HoTI),同时MN通过转交地址向CN直接发送转交地址初始化消息(CoTI)。CN在收到MN发来的HoTI和CoTI之后立即通过原来的路径向MN回复家乡地址测试消息(HoT)和转交地址测试消息(CoT)。MN从接收到的HoT和CoT中分别取出HomeKeygenToken和Care-ofKeygenToken,将两者结合生成绑定更新管理密钥(Kbm)对绑定更新消息进行签名后发送给CN,CN通过验证绑定更新消息的签名来保证消息未被篡改。RR中的消息交互过程如图1所示。

图1 返回路由可达机制过程的消息交互

返回路由可达机制采用协商绑定更新管理密钥的方法来保护绑定更新消息的安全,该机制主要有以下三个方面的安全措施:1) 交互过程中的消息禁止使用目的地扩展选项的家乡地址选项,配合IPv6路由器的源地址过滤,防止恶意节点对消息进行伪造。2)CN将授权信息(即生成绑定更新管理密钥所需要的信息)分为两个部分,通过不同的路径发送给MN,实现了对移动节点两个地址可达性的探测,同时也避免MN↔CN通信链路上窃听者获取完整授权信息的威胁。3)CN只有在收到绑定更新消息之后才会计算绑定更新管理密钥,对绑定更新消息的签名进行验证,CN不存储任何除绑定外的关于MN的消息,防止恶意节点伪造MN对CN进行资源消耗型威胁[8]。

根据上面的分析可以发现,RR依靠MN所处子网的路由器对其CoA真实性进行验证,而不是由机制本身进行验证。HoT和CoT消息传递中未采用任何加密手段,位于CN或MN所在链路上的窃听者可以截获HomeKeygenToken和Care-ofKeygenToken构造出Kbm,对MN和CN的通信造成安全威胁。

1.3基于非对称加密算法的路由优化

CAM协议中虽然采用了非对称加密算法对绑定更新报文进行保护,但其并未考虑到对MN的HoA和CoA的可达性进行验证。RR协议中虽然对HoA和CoA的可达性进行了验证,但未采用加密算法对KeygenTokens进行保护,导致存在绑定更新管理密钥可能被窃听者计算出来的问题。后来研究人员在分析CAM和RR并结合两者优点的基础之上提出了几种基于非对称加密算法的安全路由优化方案。

文献[8]提出了基于CGA技术的MIPv6绑定更新安全机制(CGA-RR),其中HoA和CoA均为加密生成地址(CGA),HoT和CoT消息分别使用HoA和CoA的私钥进行加密传输,保护了绑定更新管理密钥生成令牌的安全,同时也对HoA和CoA的真实性和可路由性进行了验证,但该协议交互过程中使用非对称加密算法较多,对移动节点的计算能力要求较高。

文献[9]提出了预先绑定EBU(Earlybindingupdate)的路由优化,该方法使用MN的HoA和CoA作为身份信息,通过应用超奇异椭圆曲线上的对建立基于身份的公钥密码体制。该方法在路由优化中先绑定进行路由优化通信,然后再对CoA进行路由可达性验证,这样避免了由于转交地址身份认证问题带来的时延,在MN的CoA发生改变后能够及时恢复通信。但该方法中同样多次使用非对称加密算法,移动节点在路由优化过程中开销较大。

从上面的分析可以看出,现有的方案存在安全性和效率不可兼顾的问题。本文针对路由优化的安全问题,以及在绑定更新过程中移动节点开销较大的问题,结合Hash算法执行速度快、不可逆的特性和公钥加密算法密钥易分配的特性,提出一种基于Hash生成地址的高效安全MIPv6路由优化方案。

2基于Hash生成地址的路由优化方案

文献[10-12]中指出,路由优化主要的安全威胁是伪造、篡改、重放绑定更新,以及针对CN的泛洪。文献[8]中所提出的方法很好地解决了上面的问题,但是由于CGA的生成和验证计算开销很大,对MN的性能要求较高,而且也增加了切换延时。本文所提的HGA-ESRO方案将MN和CN之间绑定分为首次绑定和非首次绑定,并且分别采用不同的绑定更新方案。为防止合法的MN恶意伪造CoA或其他节点仿冒合法MN的CoA,本文提出一种高效防伪造、可验证的CoA生成算法——Hash生成地址(HGA)算法。

2.1基本概念

定义1首次绑定是指在MN和CN在过去的时间t内无通信,且相互之间未存储(或过去曾经存储但现在已经过期失效删除)任何关于对方的信息的状态下的绑定。

定义2非首次绑定是指MN和CN在过去的时间t内有过通信行为并且MN和CN有通过首次绑定协商的共享密钥的状态下的绑定。

上面定义中所述时间t为共享密钥失效时间。

2.2方案框架描述

文献[7]中提出使用加密生成的HoA(CGA-HoA)和非加密生成的CoA(NonCGA-CoA)保护MN和CN之间的绑定更新。在MN移动后其CoA发生改变,使用非CGA地址能够缩短CoA生成时间,提高切换效率。但非CGA的CoA不能证明自身的真实性,所以只能通过可达性测试来完成对CoA的认证。为了减小切换时延,该方案中采用先绑定后验证的策略,这一方面增加了绑定更新过程的安全风险,另一方面并没有简化绑定更新过程的消息交互。

本方案在首次绑定时采用文献[8]中的方案,使用双CGA地址配合返回路由可达机制完成对MN的HoA和CoA的认证和绑定,并协商绑定管理密钥Kbm。和原来方案不同之处是,本方案中Kbm生成后MN和CN都要保存下来作为该之间的共享密钥以备后用。首次绑定的消息交互如图2所示。

图2 首次绑定消息交互

在非首次绑定中采用Kbm同时作为绑定更新管理密钥和MN的身份信息,MN移动后生成的新CoA采用本文中提出的快速的地址生成方式——HGA,这样在非首次绑定中一步即可完成对MN的身份的认证和对其CoA真实性的认证,从而完成绑定更新。非首次绑定的消息交互如图3所示。

图3 非首次绑定消息交互

2.3Hash生成地址

CGA的安全性主要体现在两个方面,首先可以防止节点伪造任意地址,其次可以在无共享信息的情况下向其他节点证明自身对于该地址的拥有性(即不是仿冒其他节点的地址)。

基于CGA的安全路由优化的安全性也体现在两个方面。首先,在MN和CN之间无共享密钥的情况下使用CGA的公/私密钥保护KeygenTokens在传输过程中的安全性,进而确保由KeygenTokens生成的绑定更新管理密钥Kbm的安全,避免链路上的窃听者计算出Kbm,对MN和CN之间的通信构成安全威胁。其次,在MN发生移动导致CoA改变时MN只能采用CGA生成特定的IP地址,而无法将任意地址伪造成合法的CoA。

算法1Hash生成地址(HGA)算法

输入:共享密钥Kbm,随机数Nonce,链路前缀Link_Prefix

输出:HGA

Algorithmbegin

1)hash=MD5(Kbm|Nonce|Link_Prefix)

//计算hash值,|符号代表将字节流连接

2)User_ID=First(64,hash)&0xfcffffffffffffff

//取hash值的前64bit,并将第7位(u)和第8位(g)置为0关于为

//何这样做请参考文献[6],First(x,y)代表取字节流x的前ybit

3)HGA=Link_Prefix|User_ID

//将Link_Prefix和User_ID连接,生成HGA

4)if(DAD(HGA) ==pass)

goto5)

else

choosanewNonce

goto1)

//对3)生成的HGA做重复地址检测,如果通过跳到步骤5)否则

//选择一个新的Nonce跳到步骤1)

5)done

Algorithmend

由上面的分析可以看出基于CGA的安全路由优化方案能够很好地保护路由优化的安全,而且安全地在MN和CN之间建立了共享密钥(即Kbm)。当MN发生移动导致CoA改变时,该Kbm依然能够作为MN向CN证明其自身身份的信息。因此这时只需要解决以下两个问题即可保证路由优化的安全性:1)MN的CoA采用一种算法生成,对于给定的输入该算法能够快速地计算出相应的IP地址。2) 对于给定IP地址,无法通过计算得出利用上述算法生成IP地址所需的输入。Hash算法具有单向性,能够满足上面的两个要求,因此提出Hash生成地址算法,其算法描述如算法1所述。

其中Kbm为首次绑定时协商的绑定更新管理密钥,Nonce为64bit的随机数,Link_Prefix为MN从其所在链路的RA(路由广播)报文中获取的64bit链路前缀。

CN在验证MN非首次绑定更新的CoA时,首先使用Kbm从非首次绑定更新报文中解密出Nonce,然后从CoA中取出Link_Prefix,最后采用HGA生成算法的步骤1)—步骤3)计算出HGA-CoA再和收到的绑定更新报文中的CoA进行对比,如果两者相同则验证通过,否则验证失败。

2.4MN绑定更新操作

MN在需要向CN发送绑定更新时先判断是否存在和CN协商好的密钥Kbm。如果存在说明非首次绑定,采用HGA方式生成新的CoA然后使用非首次绑定的方式向CN发送绑定更新报文;否则采用CGA方式生成CoA,通过首次绑定的方式与CN协商Kbm并完成首次绑定更新,同时保存Kbm。MN操作的流程如图4所示。

图4 MN绑定更新的操作

2.5CN绑定更新操作

CN在接收到MN发送过来的绑定更新报文时,通过绑定更新报文中HoA来初步判断MN的身份。如果存在关于该MN的Kbm则判定为非首次绑定更新,同时对发送过来的BU报文的消息签名和HGA-CoA进行验证,如果验证通过则完成绑定更新并回送绑定确认消息,否则丢弃该BU并回送绑定错误消息;反之,如果不存在和该MN关联的Kbm则按照首次绑定更新的流程处理MN发送过来的消息,完成对MN的CGA-HoA、CGA-CoA的认证,协商Kbm完成首次绑定更新,并保存Kbm。CN绑定更新的操作流程如图5所示。

图5 CN绑定更新操作

3分析比较

本方案HGA-ESRO中首次绑定更新中采用CGA和非对称加密算法来保证HoA和CoA的真实性和不可伪造性,同时也保护了Kbm的安全性,非首次绑定的安全性依赖于HGA算法的安全性。和现有的方案相比,HGA-ESRO平均开销比较小,而且该方案不需要PKI/CA的支持,更加容易部署。

3.1HGA安全性及性能分析

HGA的提出主要为了满足两个安全需求:1)MN节点无法伪造任意CoA;2) 任意节点无法冒充已知的CoA。下面证明HGA算法能够满足以上两个要求。

1)MN节点在发送绑定更新报文时需要将产生HGA所使用的随机数Nonce同时发送给CN,根据Hash算法的不可逆性,可知给出任意HGA无法计算出相应的Nonce,所以MN节点无法伪造任意CoA。

2)MN给CN发送用于生成HGA的Nonce时使用Kbm对Nonce进行加密传输,由于除MN和CN之外的任意节点无法获取Kbm,从而无法截获到该Nonce,当任意节点想要冒充已知的CoA时,因为其无法向CN提供生成地址所使用的Nonce和Kbm,所以不能通过CN的验证。

从上面的分析可以得知HGA在节点间有共享密钥的情况下可以达到前面所提到的两个安全需求,而且Hash算法相对于非对称加密算法计算开销大大减小,使该地址生成算法能够更好地适应移动设备的要求。

3.2方案综合分析比较

MN的绑定更新主要由于原绑定更新超时或MN发生移动后CoA改变引起,一般情况下MN对同一个CN会有很多次绑定更新。本文所提的HGA-ESRO方案在同一对之间区分首次绑定更新和非首次绑定更新。首次绑定更新采用非对称密钥体制保护返回路由可达过程,对HoA和CoA的真实性和可达性进行验证,并在加密信道保护的条件下完成Kbm协商;在非首次绑定更新中为了防止MN在移动后生成新的CoA时任意伪造IP地址和恶意节点伪造合法MN的CoA,本文提出了HGA,在绑定更新过程中CN可以一步完成对MN身份和CoA真实性的验证,简化了路由优化过程。

与CAM协议相比,本方案中CoA采用了CGA和HGA算法生成,防止了恶意节点对CoA的伪造,具有更高的安全性。在开销方面,由于本协议只在首次绑定更新中采用非对称加密算法,而CAM协议中每次都要使用,所以多次绑定更新的平均开销较CAM小。

与RR和CGA-RR相比,本方案将同一MN和CN之间的绑定更新区分为首次绑定和非首次绑定,并且对两者采用不同的处理手段。在首次绑定中具有和CGA-RR同样的开销和时延,由于采用了非对称加密算法,所以较RR开销和时延较大;在非首次绑定中由于采用了优化的绑定更新方案和CGA-RR相比开销和时延大大减小,和RR协议相比消息交互过程简化,通信开销减小。

与CBU相比,本方案的最大优点在于不需要PKI/CA的支持,易于大规模部署。

EBU协议的安全性依赖于HA对于密钥管理的安全性,如果HA密钥管理出现问题造成密钥泄露,则所有使用该HA的MN的通信安全都会受到威胁。本方案中,共享密钥的分散的存储于各个相互通信的MN和CN上,和EBU协议相比密钥存储去中心化,网络中个别节点被攻击者控制对其他节点构不成安全威胁。另外在EBU方案中,MN每一次移动后CoA发生改变时绑定更新过程中都需要用到非对称加密算法,较本方案开销大。

表1为本文方案和上述其他方案的综合对比分析。

表1 综合对比分析

4结语

针对MIPv6路由优化过程中高安全性和低开销难以兼顾的问题,本文提出基于Hash生成地址的高效安全路由优化方案。在MN和CN无共享密钥的情况下,利用非对称加密算法密钥易分配的特点在无共享密钥的情况下建立保密信道,完成共享密钥的安全分配。在分配了共享密钥之后,MN生成新的CoA时采用HGA算法,MN向CN发送绑定更新报文时采用对称加密算法保护报文安全,Hash算法和对称加密算法相对于非对称加密算法计算开销大大减小,因此该方案在保证安全性的同时还降低了计算开销。另外,本方案在非首次绑定中根据Kbm来确认MN的身份,不再需要类似于返回路由可达机制的消息交互,因此简化了绑定更新的过程。而在同一对通信过程中,通信持续时间越长,非首次绑定占据的比例越大,因此该方案进一步提高了MIPv6的通信效率,减小了平均计算开销和切换时延,有利于在智能终端等移动网络接入设备上推广应用。

参考文献

[1]RenK,LouW,ZengK,etal.RoutingoptimizationsecurityinmobileIPv6[J].ComputerNetworks,2006,50(13):2401-2419.

[2]ModaresH,MoravejoshariehA,LloretJ,etal.AsurveyofsecureprotocolsinmobileIPv6[J].JournalofNetworkandComputerApplications,2014,39(0):351-368.

[3]JohnsonD,PerkinsC,ArkkoJ.RFC6275:MobilitysupportinIPv6[S].IETF,2011.

[4]O’SheaG,RoeM.Child-proofauthenticationforMIPv6 (CAM)[J].ACMSIGCOMMComputerCommunicationReview,2001,31(2):4-8.

[5]ArkkoJ,KempfJ,ZillB,etal.RFC3971:Secureneighbordiscovery(SEND)[S].IETF,2005.

[6]AuraT.RFC3972:Cryptographicallygeneratedaddresses(CGA)[S].IETF,2005.

[7]ArkkoJ,VogtC,HaddadW.RFC4866:EnhancedrouteoptimizationformobileIPv6[S].IETF,2007.

[8] 曹昉,杜学绘,钱雁斌.基于CGA技术的移动IPv6绑定更新安全机制[J].计算机工程,2008,34(6):167-169.

[9]VogtC,BlessR,DollM,etal.EarlybindingupdatesformobileIPv6[C]//WirelessCommunicationsandNetworkingConference,2005,3:1440-1445.

[10]NikkanderP,ArkkoJ,AuraT,etal.RFC4225:MobileIPversion6routeoptimizationsecuritydesignbackground[S].IETF,2005.

[11]MoravejoshariehA,ModaresH,SallehR.OverviewofmobileIPv6security[C]//IntelligentSystems,ModellingandSimulation(ISMS),2012ThirdInternationalConferenceon.IEEE,2012:584-587.

[12]GeorgiadesA.AsecurityprotocolforauthenticationofbindingupdatesinMobileIPv6[D].MiddlesexUniversity,2011.

AN EFFICIENT AND SECURE ROUTE OPTIMISATION SCHEME FOR MOBILEIPV6BASEDONHASHGENERATEADDRESS

Guo ZhiqiangWang ZhenxingZhang LianchengKong Yazhou

(PLA Information Engineering University,Zhengzhou 450001,Henan,China)(State Key Laboratory of Mathematical Engineering and Advanced Computing,Zhengzhou 450001,Henan,China)

AbstractAiming at the problem that the high security and the low cost cannot be gained both in route optimisation of mobile IPv6, this paper presents an efficient and secure HGA-based route optimisation scheme for mobile IPv6 by referring to the advantage of cryptographically generated addresses (CGA)-based secure route optimisation. The scheme divides the bindings into the first time and the non-first time, adopts different binding update mechanism separately, and uses HGA to quickly generate the anti-forgery and verifiable IPv6 addresses, then simplifies the message interaction between MN and CN in non-first time binding update process. Theoretical analysis shows that this scheme not only simplifies the route optimisation process, but also improves its security and reduces the computation and communication overheads.

KeywordsMobile IPv6Route optimisationHash generate address (HGA)Binding update

收稿日期:2015-01-07。国家自然科学基金项目(61402525);国家高技术研究发展计划基金项目(2012AA012902)。郭志强,硕士生,主研领域:IPv6网络安全。王振兴,教授。张连成,讲师。孔亚洲,博士生。

中图分类号TP393.0

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.06.026

猜你喜欢
加密算法非对称密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
非对称干涉仪技术及工程实现
非对称Orlicz差体
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
非对称负载下矩阵变换器改进型PI重复控制
对称加密算法RC5的架构设计与电路实现