基于家乡代理的绑定更新验证机制
2014-11-30李向丽窦锦身李一航
李向丽,窦锦身,李一航
(郑州大学 信息工程学院,河南 郑州450001)
0 引 言
在移动IPv6(MIPv6)中,当移动节点 MN (mobile node)移动到外地链路时,移动节点MN直接与通信对端CN通信,有效地避免 “三角路由”问题,实现路由优化,降低了系统开销和冗余、增强了系统健壮性[1]。然而,该路由优化过程存在诸多安全隐患,合法节点在接收未经认证的或者错误的绑定更新消息时,易受到恶意节点的攻击,比如拒绝服务攻击、重定向攻击、反射攻击、中间人攻击等[2]。因此,为保证路由优化绑定更新的安全进行,必须采用安全验证机制对绑定更新消息进行认证,即对通信双方的身份进行认证以及对绑定更新消息的完整性进行认证。
目前,解决移动节点和通信对端之间的绑定更新过程的方法主要有2种:第1种是借助第三方参与的验证机制,比如基于PKI以及数字证书技术的验证机制;第2种是没有第三方参与的验证机制[3]。没有第三方参与的验证机制具有扩展灵活、移动方便、部署快速等优点,成为这一领域的主要研究方向。为此,本文对第2种方法进行研究,并提出一种基于家乡代理的移动IPv6的路由优化安全验证机制。该验证机制对MIPv6中移动节点和通信对端的身份进行认证,对绑定更新消息的完整性进行认证,从而实现移动IPv6路由优化中绑定更新消息的安全验证以及绑定更新过程的安全进行。该验证机制能够抵御常见的攻击,有一定的可靠性。
1 相关工作
目前没有第三方参与的验证机制有返回路由可达协议RRP(return routability procedure)和基于加密生成地址协议CGA (cryptographically generated addresses)。
为了保证MN在移动过程中,CN能够继续与合法的MN进行信息交换,RRP机制探测家乡地址HoA和转交地址CoA地址是否可达[4]。虽然该机制能限制恶意节点的位置,从一定程度上减少合法节点受攻击的可能,但并不能完全抵御绑定更新引起的各种安全威胁。
基于CGA的安全路由优化机制,其工作原理是通过绑定公钥和IP地址的方法来实现对 MN身份的验证[5]。但是,该方法存在以下缺点:对节点计算能力要求过高;每次绑定更新过程都要求MN产生数字签名以及CN对该签名验证[6]。
DES(data encryption standard)是一种分组对称加密体制,是目前应用最广泛的对称加密算法之一。DES算法采用64位密钥技术,是一种安全性比较高的算法,用于对整段数据、整块数据进行加密以及对消息的完整性进行验证[7]。对称加密算法与非对称加密算法相比通常计算速度非常快,而且可以通过硬件实现加速,从而提高计算效率[8]。
2 新的安全通信机制
本文提出的安全机制基于这样的前提,即当移动节点移动到外地链路时,MN和CN之间进行绑定更新前MN和家乡代理HA (home agent)已经进行过绑定更新,MN和CN之间进行绑定更新用HA判断MN的地址合法性。在MN和HA绑定更新过程中,HA向MN发送绑定确认消息时,HA产生并向MN发送密钥P。HA和MN之间的绑定更新与数据交换由IPSec机制进行保护。CN自己产生一对公私密钥对,记为Scn/Pcn。具体绑定更新过程如图1所示。
(1)MN向CN发送绑定请求消息BUReq。
MN用CN对外宣称的公钥Pcn对MN的转交地址CoA、MN的家乡地址HoA、Nmn、gx加密,也以明文形式发送Nmn和T1。
BUReq: {Pcn {HoA,CoA,P,Nmn,gx},Nmn,T1}
其中MN的转交地址CoA是该消息的源地址,Nmn是MN产生的随机数,并用来匹配回复消息,gx是DH交换的一个参数,用于密钥交换。T1是时间戳,P是之前MN和HA绑定时HA向MN发送绑定确认消息包含的对称密钥。
(2)CN向HA发送判定MN身份的消息PROBE。
CN收到MN的绑定请求消息BUReq消息后,首先检验时间戳T1的有效性,再用与公钥Pcn相对应的私钥Scn对BUReq消息解密,只有合法的CN才有与公钥Pcn对应的私钥Scn,即只有合法的CN才能解密。然后CN向HA发送PROBE消息用来验证解密得到的HoA和CoA是否合法。
PROBE:{T2,P {HoA,CoA,N1}}
其中N1是CN生成的随机数,T2是时间戳。
用解密后得到的对称密钥P对HoA和CoA加密。
(3)HA向CN发送MN身份确认消息PROBE CONFIRM。
HA收到PROBE消息后,先检查时间戳T2的有效性,用HA之前发送给MN的对称密钥P解密,只有合法的MN和合法的CN才有对称密钥P以及MN的家乡地址HoA和转交地址CoA,HA检查解密得到的HoA和CoA是否在它的绑定缓存中,如果在的话,从而证实MN的HoA和CoA是合法的。HA向CN发送MN身份确认消息。该消息使用对称加密算法对N1加密。
PROBE CONFIRM:{P {N1},T3}
(4)CN发送BURep消息。
CN收到PROBE CONFIRM后,对消息进行解密,和PROBE消息中发送的随机数N1比对,如果一致就说明PROBE CONFIRM消息是安全的,从而证实MN的CoA和HoA的地址有效性,这样CN就验证了MN的地址合法性。然后向MN发送绑定请求确认消息。
BURep:{Ncn,P {Nmn,gy},T4}
其中Ncn是CN生成的随机数,T4为时间戳,Nmn是BUReq消息中解密得到的随机数,gy是CN产生的另一个DH交换参数。该消息用对称密钥算法对Nmn和gy加密。
(5)MN向CN发送绑定更新消息 (BUMsg)。
MN收到BURep消息后,首先检验时间戳T4的有效性,再用对称密钥P对消息解密,检验解密得到的Nmn与之前发送的是否一致,再检验解密后的Ncn和以明文发送的Ncn是否一致,如果都一致,MN就认为CN是合法的。然后MN直接向CN发送绑定更新消息。该信息使用对称密钥算法对HoA和CoA加密。
BUMsg:{Kbu{HoA,CoA},T5}
其中,绑定更新密钥Kbu参照参考文献 [9]的计算公式,如式 (1)所示,其中Kdh是DH交换密钥,参考文献[9]按式 (2)进行计算
(6)CN向MN发送绑定更新确认消息BA。
当CN收到MN的绑定更新消息BUMsg,CN首先检验时间戳T5的有效性,CN也会检查解密得到的HoA和CoA是否是和BUReq中的一致,如果这些都一致的话,CN就可以保证节点声称的HoA和CoA都是合法的。最后MN和CN都更新下密钥,作为以后消息交换的绑定密钥,按式 (3)计算[10]
至此,该验证机制完成了MN和CN之间的绑定更新过程,从而实现了路由优化。
3 新通信机制的分析
3.1 安全性分析
本文提出的新安全机制在面临常见的安全性攻击时都有应对措施。
(1)假如有恶意节点想冒充MN往CN发送绑定消息,CN收到BUReq消息后向HA发送PROBE消息,HA收到PROBE消息检查HoA和CoA的合法性,从而检验MN的合法性,然后向CN发送PROBE CONFIRM消息,进而CN得知MN的地址合法性。
(2)假如有恶意节点想冒充CN来接收MN的绑定,当接收到BUReq消息后,要用CN的私钥对消息解密,只有合法的CN才能解密。BURep消息中CN用对称密钥P对解密出来的Nmn再加密发送给MN,从而MN得知CN的合法性。
(3)本验证机制没有公钥证书或者认证中心等第三方认证机构,扩展灵活,方便管理,成本低。
(4)该安全机制中,除发送BA消息外始终用加密机制,防止了监听的可能性。而且消息一直对HoA和CoA加密,恶意节点无法得知并篡改地址。
(5)每次消息发送都添加了时间戳,当恶意节点截获消息企图重放时,接收方就可以根据时间戳的大小来断定该数据包是否过时,从而防止重放攻击。
(6)当合法的MN和CN绑定时向CN发送一个错误的转交地址CoA,若CN未对该绑定消息认证,CN将会和拥有该转交地址的节点进行绑定,那么该节点就会成为受害者。由于该验证机制对MN所宣称的HoA和CoA都进行了认证,从而防止了反射攻击,并在一定程度上能抵御DOS攻击。
(7)对BU消息加密用的是新的对称密钥,保证信息的安全性。发送BU消息之前的信息交换中只有一部分参数而且都采用加密算法对消息加密,只有合法的MN和CN才有全部参数,从而保证BU消息的安全性。
(8)对MN所宣称的转交地址进行了认证,恶意节点无法用非法的地址冒充新的CoA发送给MN和CN,使得MN和CN误认为接收到的CoA就是双方的新转交地址,从而防止了中间人攻击。
(9)假如恶意节点试图重放以前的一个绑定请求,由于每次发送绑定消息后,MN和CN都对绑定更新密钥进行更新,该方式能够抵御此攻击。
(10)只有合法的节点才有密钥对接收的消息解密,若解密后得到的数据不一致,那么接收方得知发送方身份不合法,接收方丢弃该消息,从而消息不会重定向到别处,防止了重向攻击。
通过对以上安全性的分析可知,本文提出的绑定更新方案在安全性方面是比较可靠的。
3.2 性能分析
3.2.1 模拟场景及性能分析
移动IPv6在性能方面主要考虑的是通信所带来的时间开销。在网络模拟软件NS2环境下进行仿真实验。MN与CN进行绑定更新如图2所示。
在此次模拟过程中,设置网络时延为0.02s,数据包的传输时间是由每次发送数据包的大小决定的,数据包在MN、HA和CN的处理时间由它们所处理的数据大小和它们各自处理数据包速度共同决定[11]。Trace文件包含了节点的信息,比如时间、分组大小、分隔符等[12]。Trace文件部分内容如下:
由Trace文件得知MN于0.018122s向CN发起绑定请求消息,于0.068386s绑定完成,历时0.050264s。
在此次仿真的基础上,多次进行绑定更新过程,以提高实验的可信度和准确性。则得到绑定更新次数与绑定更新平均时间的关系表,见表1。
3.2.2 新机制与经典RRP机制的性能对比
在此次仿真的基础上,绘制出RRP机制与本文提出的安全绑定机制平均绑定更新时间比对图。如图3所示,其中,横轴表示本方案的模拟次数,纵轴表示绑定更新时间的平均值,NEW代表本文提出的安全绑定机制,RRP代表RRP机制。
通过本次模拟实验可知,本方案中的绑定更新安全验证机制随着绑定更新过程中模拟次数的增加,平均每次绑定更新所花费的时间呈递减趋势且基本趋于稳定。而且该绑定更新验证过程只有第一次绑定更新所用的时间多于RRP机制所需的时间,以后的绑定平均时间虽然不稳定,但都小于RRP机制所需的时间。
4 结束语
本文提出一种MN和CN之间进行绑定更新的安全验证机制,在MN和HA已经完成绑定更新的情况下,MN和CN之间的绑定更新通过HA判断MN的地址合法性来实现。本方案可以验证通信双方的身份,多次用到了DES对称加密算法保证消息的安全性和完整性。对称加密算法与非对称加密算法相比通常计算速度非常快,而且可以通过硬件实现加速,从而提高计算效率。通过分析,可知该验证机制能够抵御常见的攻击,有一定的可靠性。在通信双方执行验证机制过程中的时间花费上,本文提出的验证机制具有一定的时间性能优势。但是对节点计算量有一定要求[13],而且MN和CN进行绑定更新过程利用HA进行验证,会增加HA的负担。后续工作可以考虑在保证绑定更新过程的安全性情况下,简化加密解密机制,减小计算量。
[1]HAN Mingqui,PAN Jin,CHEN Zhiguang,et al.Mobile IPv6binding update mechanism and verification [J].Computer Engineering,2011,37 (1):151-153 (in Chinese).[韩明奎,潘进,陈志广,等.MIPv6绑定更新机制及验证 [J].计算机工程,2011,37 (1):151-153.]
[2]ZHOU Ying,WU Zhongfu,ZHONG Jiang,et al.Simulation of binding update message authentication based on home agent[J].Computer Simulation,2008,25 (1):166-172 (in Chinese).[周瑛,吴中福,钟将,等.基于家乡代理的绑定更新注册验证机 制仿真 [J].计算 机 仿 真,2008,25 (1):166-172.]
[3]XU Xingqi,PAN Jin,CHEN Anlin,et al.Efficient authentication mechanism for general registration in MIPv6network[J].Computer Engineering,2011,37 (20):108-111 (in Chinese).[徐邢启,潘进,陈安林,等.MIPv6网络中一般注册的高效认证机制 [J].计算机工程,2011,37 (20):108-111.]
[4]YANG Jin,SHEN Pubing,SHEN Xiangyu,et al.The fast security route optimization mechanism in mobile IPv6 [J].Computer Engineering & Science,2011,33 (7):36-39 (in Chinese).[杨瑾,申普兵,沈向余,等.MIPv6的快速安全路由优化机制 [J].计算机工程与科学,2011,33 (7):36-39.]
[5]HUANG Zhibin,HONG Peilin.Proposal of route optimization security in mobile IPv6 [J].Computer Engineering and Applications,2009,45 (6):120-123 (in Chinese).[黄志彬,洪佩琳.移动IPv6路由优化安全方案 [J].计算机工程与应用,2009,45 (6):120-123.]
[6]KavithaK D,Sreenivasa Murthy KE,Sathyanarayana B,et al.An efficient hierarchical certificate based binding update protocol for route optimization in mobile IPv6 [J].Global Journal of Computer Science and Technology,2010,10 (2):47-51.
[7]XIE Zhiqiang,GAO Pengfei,YANG Jing.Research on improved algorithm of DES based on prefix codes [J].Computer Engineering and Applications,2009,45 (9):92-95 (in Chinese).[谢志强,高鹏飞,杨静.基于前缀码的DES算法改进研究 [J].计算机工程与应用,2009,45 (9):92-95.]
[8]GAO Tiegang,GU Qiaolun,CHEN Zengqiang.Study on encrypt arithmetic of symmetry enforced byhyper-chaos and its application [J].Computer Engineering and Design,2007,28(1):36-38 (in Chinese).[高铁杠,顾巧论,陈增强.超混沌强化对称加密算法的研究与应用 [J].计算机工程与设计,2007,28 (1):36-38.]
[9]Rajkumar S,Ramkumar Prabhu M,Sivabalan A.Securing binding updates in routing optimization of mobile IPv6 [J].Research Journal of Applied Sciences,Engineering and Technology,2012,4 (12):1633-1636.
[10]Yeh Lo-Yao,Yang Chun-Chuan,Chan Jee-Gong,et al.A secure and efficient batch binding update scheme for route opti-mization of nested network mobility(NEMO)in NETs [J].Journal of Network and Computer Applications,2013,36(1):284-292.
[11]WU Kaigui,XIE Qi,ZHU Zhengzhou,et al.Research on security of binding update to correspond nodes in mobile IPv6[J].Computer Science,2008,35 (1):45-50 (in Chinese).[吴开贵,谢琪,朱郑州,等.移动IPv6通信对端绑定更新安全研究 [J].计算机科学,2008,35 (1):45-50.]
[12]WANG Zheng.Security policy research of mobile IPv6based on NS-2 [D].Beijing:Beijing University of Chemical Technology,2008 (in Chinese).[王铮.基于 NS-2的移动IPv6的安全机制研究 [D].北京:北京化工大学,2008.]
[13]CAO Fang,DU Xuehui,QIAN Yanbin.Security mechanism of mobile IPv6binding update based on CGA [J].Computer Engineering,2008,34 (6):167-169 (in Chinese).[曹昉,杜学绘,钱雁斌.基于CGA技术的移动IPv6绑定更新安全机制 [J].计算机工程,2008,34 (6):167-169.]