USBKey辅助的无证书移动IP注册认证协议
2018-05-08黄国盛夏明华
黄国盛,夏明华
HUANG Guosheng1,2,XIAMinghua2
1.湖南第一师范学院 信息科学与工程学院,长沙 410205
2.中山大学 电子与信息工程学院,广州 510006
1.School of Information Science and Engineering,Hunan First Normal University,Changsha 410205,China 2.School of Electronics and Information Technology,Sun Yat-sen University,Guangzhou 510006,China
1 引言
移动IP是在Internet上提供移动性支持的协议,是计算机网络的一个重要发展方向。在移动IP中,因为节点的移动性和无线链路的开放性,在网络中引入了新的安全问题,其中最关键的是移动节点(Mobile Node,MN)的注册安全[1-3]。当MN从家乡子网移动到外地子网时,需向其家乡代理(Home Agent,HA)发送注册请求、注册其在外地子网获得的转交地址(Care of address,CoA),注册完成后,所有发往MN的数据包将发往其CoA。攻击者可以利用这一特性伪造注册信息来截获发往MN的数据包,给MN和通信对端节点(Correspondent Node,CN)带来安全威胁。因此,移动注册安全是移动IP需解决的一个核心问题[4-6]。
移动IP中的移动注册涉及MN、HA和外地代理(Foreign Agent,FA)等协议实体,其中特别要加强对MN的安全保护[4]。针对移动IP中的注册安全问题,最早的移动注册协议通过手动分发对称密钥的办法实现通信实体的相互认证,这种认证方式原理简单、注册延时小,但密钥分发和管理非常困难,且MN的密钥容易被非法窃取、猜测和替换。文献[7-8]提出了基于证书的移动IP注册协议加强移动注册安全,但这些协议存在着繁琐的证书管理问题。文献[9-11]提出了一种无证书的移动IP注册认证协议,可以减少证书管理带来的代价和注册延时,有效改善了协议性能,但这类方案在无线移动环境中存在MN密钥等身份信息泄露的风险,在身份认证方面还存在安全隐患[12-13]。通过USBKey加强身份认证是近年来发展起来的一种安全可靠的认证技术。USBKey具有双重身份认证机制:验证UserPIN码和USBKeyID[14]。其中,USBKeyID可以作为MN的私钥。如果移动用户丢失USBKey硬件,只要UserPIN码没有被攻击者窃取,攻击者将无法读取USBKeyID,仍然可保证信息安全;如果UserPIN码泄密,只要用户的USBKey硬件没有被非法获取,攻击者也不能仿冒用户身份[14-15]。本文结合USBKey和无证书认证协议的优点,提出一种USBKEY辅助的无证书移动IP注册认证方法,并区别于传统的USBKey认证,使移动注册与身份认证同步进行,具有注册延迟小和安全性强的优点。
2 USBKey辅助的移动注册认证方法
本文提出的注册认证协议的基本思想是通过USBKey实现对MN私钥的加密保护,将USBkey辅助的身份认证集成到MN周期性的移动注册中,并通过数字信封和数字签名技术加强对认证信息的加密保护,从而提高移动注册的安全性和可靠性。
2.1 注册认证思路
MN向其HA申请USBKey,将MN的UserPIN码、USBKeyID及相应加密算法写入USBKey内部存贮器,通过USBKey保护MN在注册中使用的个人信息。其中,UserPIN作为访问USBKey内部信息的密钥,USBKeyID作为MN进行数字签名的私钥(从外部不能直接读取)。MN每次进行移动上网时,必须插入USBKey。同时,在插入USBKey后首次进行移动注册前,必须输入正确的UserPIN码才能读取USBKey中的私钥、调用其中的加密算法实现身份认证过程。在MN每次进行移动注册时同步进行身份认证,并通过对称加密和非对称加密算法实现对注册报文的加密保护,防止注册信息被窃取、篡改和伪造,充分保证移动注册的安全。
2.2 协议符号定义
为便于协议描述,引入相应的符号定义,如表1所示。
2.3 注册认证过程及协议描述
MN通过接收代理广播(Agent Advertisement)判断自己是位于家乡子网还是位于外地子网,并判断是否从一个子网移动到了另一个子网。当MN移动到某一个外地子网时,根据收听到的代理广播选择一个FA,并获得一个属于该子网的CoA。随后,MN向FA发送注册请求(Registration Request)报文,以注册反映其当前网络接入位置的转交地址。FA将处理后的注册请求发往MN的HA。如果HA确认其收到的是有效的注册请求,将为MN建立一个移动绑定(Mobility Binding),记录MN获得的CoA。同时HA经FA向MN返回一个注册响应报文(Registration Reply),FA收到从HA发来的注册响应报文后转发至MN,完成移动注册。移动注册和身份认证中完成的相关操作如图1所示。
表1 注册认证协议中的符号定义
图1 移动注册与身份认证中的相关操作
在注册过程中,通信双方通过随机对称共享密钥对注册信息进行加密,通过Hash函数产生消息摘要对注册信息进行完整性保护,并通过数字签名进行身份认证。其中,MN用于数字签名的私钥为MN的USBKeyID(保存在USBKey中)。
(1)MN接收由FA发送的代理广播Msg0
在FA发送的代理广播 Msg0中,包括FA的IP地址,MN在该子网可以使用的CoA,FA发送给MN的随机数等信息。
(2)MN向FA发送注册请求报文Msg1
Msg1=(M1,σM-F),即注册请求报文 Msg1分成两个部分:
第一部分为 M1,M1=({Request,RM-F}KM-F,<KM-F>PKF,<RM-H>PKH,σM-H),包括Request消息(其中包含了MN的HA地址及MN请求注册的CoA等),MN发给FA的随机数RM-F(来源于FA在代理广播中发给MN的随机数),MN和FA的随机对称共享密钥KM-F,MN发给HA的随机数RM-H等。为保证注册数据的安全性,Request消息和随机数RM-F通过随机对称共享密钥KM-F加密,KM-F通过FA的公钥PKF加密(只有FA的私钥才能解密),即通过数字信封技术传输共享密钥,充分保证注册信息的安全性。RM-H通过HA的公钥PKH加密,只有通过HA的私钥才能解密。
M1中的 σM-H=<H(RM-H)>SKM,其中,SKM=USBKeyID。σM-H为MN对其在注册请求中发送给HA的随机数RM-H的数字签名,即MN对RM-H通过Hash函数生成定长的散列值后,再通过MN的私钥SKM进行加密(SKM为USBKey的硬件标识USBKeyID)。HA收到注册请求报文后,可以通过σM-H验证MN的身份。其中MN私钥只有输入MN合法的UserPIN码才能从USBKey中读取,可充分保证MN私钥的安全。
第二部分为 σM-F,σM-F=<H(M1)>SKM,即MN对注册请求报文的第一部分M1通过Hash函数生成定长的消息摘要,再通过MN的私钥SKM(即USBKeyID)对生成的消息摘要进行加密,形成MN对M1的数字签名。
FA收到Msg1报文后,首先用MN的公钥PKM对σM-F进行解密,如解密成功则证明该报文是从MN发出的,并得到由MN在Msg1中封装的消息摘要digest1,即H(M1)。同时,FA对Msg1报文的第一部分M1通过Hash函数生成消息摘要digest2。如果digest1与digest2相等,则验证了消息的完整性。FA对MN进行身份认证和对注册请求报文进行完整性检验的过程如图2所示。
图2 身份认证和完整性检验
然后,FA通过其私钥SKF解开数字信封得到共享密钥KM-F。FA再通过得到的随机共享密钥KM-F解密注册请求报文中的Request消息密文,得到Request消息和随机数RM-F。FA检查Msg1中收到的RM-F是否等于它先前广播的随机数,以验证注册请求报文的新鲜性、防止重放攻击。
FA从Request消息中记录MN注册请求的源IP地址、源UDP端口号、HA地址和该请求的生存时间等信息后,将注册请求报文转发至HA。
(3)FA向HA转发注册请求消息Msg2
其中 M2=({Request,RF-H}KF-H,<KF-H>PKH,
KF-H为FA与HA的随机对称共享密钥,通过数字封信技术加密保护。
HA收到 Msg2后,首先通过FA的公钥 PKF对σF-H进行解密,如果解密成功则证明Msg2是FA转发的,并得到FA在Msg2中封装的消息摘要digest3。同时,HA对注册请求消息Msg2中的M2通过Hash函数生成消息摘要digest4,如是digest3与digest4相等,则验证了消息的完整性。然后,HA通过其私钥SKH解密<KF-H>PKH,得到共享密钥KF-H,并通过共享密钥KF-H得到Request消息和随机数RF-H,RF-H可用于防止重放攻击。同时,HA通过其私钥SKH解密<RM-H>PKH,得到RM-H。HA从注册请求报文中得到随机数RM-H后,通过Hash函数生成定长散列值digest-RM1,并通过MN公钥解密σM-H得到MN封装的对RM-H生成的散列值digest-RM2,如digest-RM1和digest-RM2相等,则可以验证MN的身份和随机数RM-H的完整性。
如以上操作成功,则HA在其绑定缓存中建立MN的绑定项,并向FA返回注册响应报文。
(4)HA向FA返回注册响应报文Msg3
KH-F为HA与FA的随机共享密钥,KH-F通过数字封信技术加密。Reply为HA返回给MN的注册响应消息。RH-F为HA发给FA的随机数,RH-M为HA发给MN的随机数(来源于MN在注册请求报文中发给HA的随机数),用于防止重放攻击。σH-M为HA对随机数RH-M的数字签名。MN可通过σH-M验证HA的身份。
FA收到注册响应报文Msg3后,首先通过HA的公钥PKH对σH-F解密,如果解密成功,则证明该消息是由HA发出的,并得到消息摘要digest5。同时,FA对注册响应报文中的M3通过Hash函数生成消息摘要digest6,如果digest5与digest6相等,则验证了消息的完整性。然后,FA通过私钥SKF解密数字信封,得到共享密钥 KH-F,再通过KH-F得到Reply消息和随机数RH-F。FA更新其来访的MNs列表,并根据在MN的注册请求中记录的信息,将注册响应消息转发给MN。
(5)FA向MN转发注册应答报文Msg4
MN收到注册应答报文Msg4后,先通过FA的公钥PKF验证数字签名σF-M。然后,MN通过私钥SKM(即USBKeyID)解密数字信封得到共享密钥KF-M,通过KF-M得到Reply消息和随机数RF-M。然后MN通过其私钥解密 <RH-M>PKM,得到随机数RH-M,验证RH-M是否等于先前在注册请求报文中发给HA的随机数RM-H(MN通过随机数RM-H可防止重放攻击)。验证成功后,MN根据Reply消息修改其绑定缓存和路由表,并将FA作为其在当前外地子网的默认路由器,完成移动注册过程。
3 安全性能分析
本文提出的协议可显著加强移动IP注册认证的安全性,下面从5个方面进行分析。
3.1 MN密钥的安全保护
MN的私钥为USBKeyID,加密保存在USBKey硬件中。MN进行移动注册时,必须拥有相应的USBKey硬件才能获取USBKeyID作为密钥,因而可以有效防止他人冒充MN进行移动注册。MN在USBKey中保存的密钥(即USBKeyID)可以通过用户设定的UserPIN码进行保护,并且可限定UserPIN码输入次数(超限定次数可锁定USBKey),可以防止因USBKey丢失而导致泄密。所以,通过USBKey可以显著加强MN注册密钥的安全性、加强对MN注册的安全保护。
3.2 协议实体的身份认证
MN、FA和HA在移动注册过程中可以实现双向身份认证,有效防止中间人攻击。MN发给FA的注册请求报文中,根据数字签名σM-F可验证MN的身份。因σM-F通过MN私钥加密,若用MN公钥能成功解密σM-F,则证明该消息是由MN发送的。同样,在FA转发给MN的注册响应报文中,通过数字签名σF-M以验证FA的身份,FA和HA之间也可以通过注册报文中各自的数字签名进行双向认证。在MN发送的注册请求报文中,MN发出的随机数RM-H通过HA公钥PKH进行加密,只有HA才能解密。在HA返回给MN的注册响应报文中,HA通过MN公钥PKM对RH-M加密,只有MN的私钥才能解密。此外,在MN发送的注册请求报文中,MN对随机数RM-H通过Hash函数生成消息摘要,再通过其私钥SKM加密,形成数字签名σM-H。HA利用RM-H和数字签名σM-H,既可验证MN的身份,又可保证随机数RM-H在传输过程中不能被更改。同样,MN可以通过HA返回的注册应答报文中的数字签名σH-M来验证HA的身份,因而MN和HA也可以实现双向认证。
3.3 注册消息的机密性保护
注册请求报文中的Request消息和注册应答中的Reply消息均通过随机对称共享密钥进行加密,且该共享密钥通过数字信封技术进行保护。只有合法的接收方才能通过其私钥解密数字信封得到共享密钥,然后通过该对称共享密钥解密Request消息(或Reply消息)。以MN向FA发送的Msg1消息为例,MN通过数字信封技术加密Request消息和FA解密Request消息的过程如图3所示。同时,每次移动注册有一定的生存时间,且对称共享密钥由发送方随机生成,MN在每次移动注册中使用的共享密钥互不相同,可有效防止密钥猜测攻击,充分保证注册信息的机密性。
图3 MN发往FA的Request消息的加密与解密
3.4 注册消息的完整性保护
注册请求报文和注册应答报文中附加的数字签名σM-F、σF-H、σH-F和σF-M等可以实现对注册请求报文和注册响应报文的完整性保护。以注册请求报文Msg1为例,该报文可以分成M1和σM-F两部分,FA解密 σM-F后,可得MN封装的、对 M1的消息摘要digest1,同时FA可直接对M1通过Hash函数生成消息摘要digest2。如果M1被人为修改,将导致digest1和digest2不相等、不能通过验证。因而,通过解密数字签名、对Hash函数生成的消息摘要进行验证,可以防止非法用户对注册报文的恶意篡改,保证注册报文的完整性。
3.5 注册消息的新鲜性保证
注册请求报文和注册响应报文中,均包含了用于防止重放攻击的随机数(如RM-H和RM-F),且随机数通过接收方的公钥加密后进行传送,必须通过接收方的私钥才能解密。同时,不同的注册请求报文和注册响应报文使用的随机数不同,加密的随机数既可以用来对接收方进行身份认证,又可标识不同的注册请求报文和注册响应报文,可有效防止攻击者进行重放攻击、保证注册消息的新鲜性。
4 和其他注册认证协议的比较
协议安全性和延时是注册认证协议最重要的两个性能指标,下面将从这两个方面对本文提出的协议和相关协议进行比较和分析。
4.1 注册认证安全性比较
表2给出了提出的协议与相关协议在安全性能方面的比较。
表2 相关协议的安全性比较
从表2可以看出,文献[6]、文献[11]和文献[12]中提出的协议不能提供对MN密钥的加密保护,存在MN密钥泄露的安全风险。相比而言,本文提出的注册认证协议能够通过USBKey双重认证方式实现对MN密钥的加密保护,具有较高安全性能,可以更好地保证MN的注册安全。
4.2 注册认证延时比较
根据文献[11-12,16]中提出的方法,对表2中相关协议的注册认证延时进行了分析。在分析中使用的系统参数和密码操作的时间与文献[11]和文献[12]中的参数一致。根据文献[10]和文献[12],在文献[6,11-12]中提出的认证协议,其注册认证延时分别为96.2 ms、18.898 ms和22.873 ms。
同时,根据文献[11]和文献[16]中提出的方法,对本文提出的注册认证协议延时(ms)计算如下:
相关协议的注册认证延时比较如图4所示。从图4可以看出,文献[6]中提出的协议其注册认证延时最大,文献[11]中提出的协议其注册认证延时最小,而本文提出的协议的注册认证延时与文献[11]中的协议基本相当。这是因为文献[6]中提出的协议虽然不涉及证书管理,但需进行复杂的对运算(Pairing Computation),而本文提出的协议和文献[11]中的协议采用了无对运算的无证书数字签名方案,因而具有较小的协议延迟。本文提出的协议通过USBKey辅助,实现对MN密钥的加密保护,并且实现了MN、HA和FA的双向身份认证,因而比其他相关协议具有更高的安全性,但在一定程度上引入了延时,因而比文献[11]中的认证协议延时略大。
图4 相关协议的注册延时比较
5 结束语
针对无线移动IP中MN的注册安全问题,本文提出了一种USBKey辅助的无证书注册认证协议。虽然该认证协议需要增加USBKey硬件,但是USBKey的体积小、成本低、容易实现,且便于携带,适合移动IP中MN的网络接入位置随机变化的情况。该协议通过USBKey的双重认证方式加强MN密钥的安全性,并结合数字信封和数字签名技术,实现相关协议实体身份的双向认证和注册信息的加密保护,可有效保证注册信息的机密性和完整性,与其他相关协议相比,可以更好地保证MN的注册认证安全。同时,在该注册认证协议中,不需增加额外的协议报文,不涉及繁琐的证书分发与管理,并且区别于传统的USBKey认证,使MN周期性的移动注册及其身份认证同步进行,具有比多数相关协议的注册认证延迟更小的优点。
参考文献:
[1]Ahmad I,Kabir K,Choudhury T et al.Enhancing security in specialized use of mobile IP[C]//Proceedings of 2016 International Conference on Networking Systems and Security,Dhaka,Bangladesh,2016:1-9.
[2]姚瑶,王兴伟.一种改进的移动IP注册认证协议[J].东北师大学报:自然科学版,2011,43(2):56-60.
[3]Eiza M H,Shi Q,Marnerides A et al.Secure and privacyaware proxy mobile IPv6 protocol for vehicle-to-grid networks[C]//2016 IEEE International Conference on Communications(ICC),Kuala Lumpur,Malaysia,2016:1-6.
[4]伍华凤,戴新发,陈鹏.一种层次化移动IP接入认证机制[J].计算机工程,2008,34(24):131-133.
[5]Cao X,Kou W,Li H.Secure mobile IP registration scheme with AAA from parings to reduce registration delay[C]//InternationalConferenceon Computational Intelligenceand Security,Guangzhou,China,2006:1037-1042.
[6]Zhang Manjun,Pei Changxing,Dang Lanjun.Efficient mobile IP registration in certificateless signature[C]//IEEE 24th International Conference on Advanced Information Networking and Applications Workshops,Perth,Australia,2010:363-366.
[7]Chenait M.LMIP/AAA:Local Authentication,Authorization and Accounting(AAA)protocol for mobile IP[C]//4th International Conference(ICGes,2008).Berlin:Springer,2008:228-238.
[8]马东,何大可,郑宇,等.基于AAA的移动IP快速认证注册方案研究[J].铁道学报,2008,30(1):98-103.
[9]郑晓丽,姜迪刚.基于无证书公钥的移动IP注册协议认证[J].通信技术,2011,44(8):127-129.
[10]马华,刘雪,刘振华,等.一种高效的基于无证书公钥的移动IP注册协议[J].四川大学学报:工程科学版,2012,44(4):135-139.
[11]许捷,党岚君,石光明.一种高效的AAA下无对的无证书移动IP注册协议[J].西安电子科技大学学报:自然科学版,2014,41(2):51-56.
[12]贾宗璞,田肖,李贺.一种基于三方密钥协商的移动IP注册协议[J].计算机工程与科学,2015,37(3):492-496.
[13]张刚,石润华,仲红.车载自组织网络中基于身份的匿名认证方案[J].计算机工程与应用,2016,52(17):101-106.
[14]曹喆,王以刚.基于USBKey的身份认证机制的研究与实现[J].计算机应用与软件,2011,28(2):284-286.
[15]Wu K,Hu B,Zhou X,et al.A new technology for quick online payment based on USBKEY[C]//2015 6th IEEE International Conference on Software Engineering and Service Science,Beijing,China,2015:916-919.
[16]He D,Chen J,Zhang R.An efficient and provably secure certificateless signature scheme without bilinear pairings[J].International Journal of Communication Systems,2012,25:1432-1442.