发明内容
为解决以上现有技术的不足,本发明提供一种分离机制移动性管理系统的认证授权方法。
本发明的目的通过以下技术方案来实现:
一种分离机制移动性管理系统的认证授权方法,本方法首先将接入分离机制移动性管理系统的移动节点进行身份认证,认证成功后各个该系统中的功能实体通过移动信令交互实现路由的添加和隧道的建立,移动节点获取存储在服务器上的家乡网络前缀信息,此时移动节点可以获得网络服务,从而实现了分离机制移动管理对移动节点的授权;该方法包括家乡域初始认证、家乡域重认证、外地域初始认证、外地域重认证和对移动节点的授权。
进一步,所述家乡域初始认证具体步骤为:
步骤一:MN接入家乡域的AGW1时,发送PANA初始化消息PANA-Client-Initiation,PCI,表明MN处于PANA初始化阶段;
步骤二:AGW1收到PCI消息后,若支持PANA协议并提供接入认证服务则发送PANA认证请求开始消息PANA-Auth-Request Start,PAR(S),消息中包含需要的伪随机算法和完整性算法,否则将PCI消息丢弃;
步骤三:MN收到PAR(S)消息,若其支持这种伪随机算法和完整性算法,则发送PANA认证应答开始消息PANA-Auth-Answer(S),PAA(S),消息中包含相同的算法;
步骤四:AGW1收到含有相同算法类型的PAA(S)消息,表明可以继续PANA认证过程,此时AGW1发送Start类型的ERP初始消息EAPInitiate/Re-auth-Start,通告所在域的域名,MN收到该消息,和域名进行对比,确定现在接入家乡域,MN读取配置信息:接入域名,注册标识位和注册生存时间,判断需要进行家乡域初始认证,此时MN不回复任何信息,等待AGW1发送标识符请求;
步骤五:在生存时间内AGW1发送Start类型的ERP初始消息没有收到MN的回复,表明执行初始认证过程,此时AGW1发送EAP标识符请求消息EAP-Request/Identity请求MN的标识符,该消息承载在PAR消息中;
步骤六:MN将标识符通过EAP标识符应答消息EAP-Response/Identity传给AGW1,该消息承载在PAA消息中;
步骤七:AGW1收到MN的身份标识符,通过Diameter EAP请求DiameterEAP Request,EAP/DER消息发送给HAAA服务器,HAAA服务器通过DiameterEAP应答Diameter EAP Answer,EAP/DEA消息发送应答消息;
步骤八:HAAA服务器收到MN的身份标识符,若该标识符是合法的用户名,则开始完整的EAP-PSK认证过程,移动节点MN和HAAA服务器分别作为客户端和服务器端进行EAP-PSK认证交互,AGW1作为中间实体通过进程间通信方式实现PANA进程和Diameter进程进行通信,传输EAP-PSK认证数据,数据封装在EAP-Payload属性值对EAP-Payload Attribute Value Pair,EAP-Payload AVP中;
步骤九:通过两组EAP-PSK信令交互后,MN和HAAA服务器实现了双向认证。此时HAAA服务器发送认证成功消息EAP/DEA EAP-Payload/success,并且将主会话密钥Master Session Key,MSK发送给AGW1,使得AGW1和MN建立安全关联;
步骤十:MN收到含有认证成功结果码属性值对的PANA认证结束请求消息PANA-Auth-Request(C),PAR(C),至此MN和HAAA间的双向认证结束;
步骤十一:AGW1收到MN回复的PANA认证结束应答消息PANA-Auth-Answer(C),PAA(C)表明MM家乡域初始认证成功。。
进一步,所述家乡域重认证具体步骤为:
步骤一:MN接入家乡域的AGW2时,发送PCI消息,表明MN处于PANA初始化阶段;
步骤二:AGW2收到PCI消息后,若支持PANA协议并提供接入认证服务则发送PAR(S)消息,消息中包含需要的伪随机算法和完整性算法,否则将PCI消息丢弃;
步骤三:MN收到PAR(S)消息,若其支持这种伪随机算法和完整性算法,则发送PAA(S)消息,消息中包含相同的算法;
步骤四:AGW2收到含有相同算法类型的PAA(S)消息,表明可以继续PANA认证过程,此时AGW2发送Start类型的ERP初始消息,通告所在域的域名;MN收到该消息,和域名进行对比,确定现在接入家乡域,MN读取配置信息:接入域名,注册标识位和注册生存时间,接入域名相同,注册标识位为已注册,且生存时间没有过期,此时移动节点需要进行家乡域重认证,发送ERP初始消息EAP-Initiate/Re-auth开始重认证过程,消息中含有接入域名TLV、KeyName-NAITLV和经过子密钥加密过的认证标识,用于完整性保护和HAAA对MN的重认证过程进行认证,该消息承载在PAA消息中;
步骤五:AGW2收到PAA消息,提取出ERP初始消息后,通过进程间通信的方式发送给Diameter进程,Diameter进程将其封装在Diameter ERP请求Diameter ERP Request,ERP/DER消息的EAP-Payload AVP中发送给HAAA;
步骤六:HAAA服务器收到ERP初始消息表明MN执行重认证过程,则HAAA使用MN初始认证中生成的子密钥对收到的数据进行解密,若计算的认证标识和收到的相同,则消息完整性良好,且MN可以进行重认证过程;
步骤七:HAAA服务器对MN的ERP初始消息认证成功后,构造ERP结束消息EAP-Finish/Re-auth,该消息包括接入域名TLV、密钥生存时间TV、
KeyName-NAI TLV和经过子密钥加密过的认证标识,Diameter进程将ERP结束消息封装在Diameter ERP应答Diameter ERP Answer,ERP/DEA消息的EAP-Payload AVP中发送给AGW2;
步骤八:AGW2中的Diameter进程接收到ERP/DEA消息,提取出ERP结束消息,将其封装在PAR消息中发送给MN;
步骤九:MN收到PAR消息后,从ERP结束消息中提取出密钥生存时间,且计算认证标识,若计算结果和收到的认证标识相同,则MN家乡域重认证成功。
进一步,所述外地域初始认证具体步骤为:
步骤一:MN接入外地域的AGW3时,发送PCI消息,表明MN处于PANA初始化阶段;
步骤二:AGW3收到PCI消息后,若支持PANA协议并提供接入认证服务则发送PAR(S)消息,消息中包含需要的伪随机算法和完整性算法,否则将PCI消息丢弃;
步骤三:MN收到PAR(S)消息,若其支持这种伪随机算法和完整性算法,则发送PAA(S)消息,消息中包含相同的算法;
步骤四:AGW3收到含有相同算法类型的PAA(S)消息,表明可以继续PANA认证过程,此时AGW3发送Start类型的ERP初始消息,通告所在域的域名;MN收到该消息,和域名进行对比,确定现在接入外地域,MN读取配置信息:接入域名,注册标识位和注册生存时间判断需要进行外地域初始认证,此时MN不回复任何信息,等待AGW3发送标识符请求;
步骤五:在生存时间内AGW3发送Start类型的ERP初始消息没有收到MN的回复,表明执行初始认证过程,此时AGW3发送EAP请求标识符消息请求MN的标识符,该消息承载在PAR消息中;
步骤六:MN将标识符通过EAP应答消息传给AGW3,该消息承载在PAS消息中;
步骤七:AGW3收到MN的身份标识符,通过EAP/DER消息发送给FAAA服务器,FAAA服务器提取出MN的身份标识符,此时FAAA上没有MN的密钥相关信息,从而FAAA服务器不能对MN进行认证,需要HAAA服务器对MN进行合法性认证,所以AGW3和FAAA作为中间实体,需要传送MN和HAAA之间的信息;此时FAAA向HAAA发送EAP/DER消息,该消息包括承载MN身份标识符的EAP-Payload AVP,指定域的根密钥请求Domain-Specific Root KeyRequest,DSRK RequestAVP,和FAAA的域名AVP;
步骤八:HAAA服务器收到EAP/DER消息后,提取MN的身份标识符,若该标识符是合法的用户名,则开始完整的EAP-PSK认证过程,移动节点MN和HAAA服务器分别作为客户端和服务器端进行EAP-PSK认证交互,AGW3作为中间实体通过进程间通信方式实现PANA进程和Diameter进程进行通信,FAAA作为中间实体通过进程间通信方式实现FAAA的Diameter服务器进程和客户端进程进行通信,进行传输EAP-PSK认证数据,数据封装在EAP-Payload AVP中;
步骤九:通过两组EAP-PSK信令交互后,MN和HAAA服务器实现了双向认证。此时HAAA服务器发送认证成功消息,并且将相应子密钥MSK、DSRK发送给FAAA,MSK用于本次会话,DSRK存在FAAA中用于MN下次接入外地域进行重认证过程,FAAA将MSK和认证成功消息发送给AGW3,AGW3向MN发送PAR(C)消息;
步骤十:MN收到含有认证成功结果码属性值对的PAR(C)消息,至此MN和HAAA间的双向认证结束;
步骤十一:AGW3收到MN回复的PAA(C)消息,表明MN外地域初始认证成功。
进一步,所述外地域重认证具体步骤为:
步骤一:MN接入外地域的AGW4时,发送PCI消息,表明MN处于PANA初始化阶段;
步骤二:AGW4收到PCI消息后,若支持PANA协议并提供接入认证服务则发送PAR(S)消息,消息中包含需要的伪随机算法和完整性算法,否则将PCI消息丢弃;
步骤三:MN收到PAR(S)消息,若其支持这种伪随机算法和完整性算法,则发送PAA(S)消息,消息中包含相同的算法;
步骤四:AGW4收到含有相同算法类型的PAA(S)消息,表明可以继续PANA认证过程,此时AGW4发送Start类型的ERP初始消息,通告所在域的域名;MN收到该消息,和域名进行对比,确定现在接入外地域,MN读取配置信息:接入域名,注册标识位和注册生存时间,接入域名相同,注册标识位为已注册,且生存时间没有过期,此时移动节点需要进行外地域重认证,发送ERP初始消息开始重认证过程,消息中含有接入域名TLV、KeyName-NAITLV和经过子密钥加密过的认证标识,用于完整性保护和FAAA对MN的重认证过程进行认证,该消息承载在PAA消息中;
步骤五:AGW4收到PAA消息,提取出ERP初始消息后,通过进程间通信的方式发送给Diameter进程,Diameter进程将其封装在ERP/DER消息的EAP-Payload AVP中发送给FAAA;
步骤六:FAAA服务器收到ERP初始消息表明MN执行重认证过程,则FAAA使用MN初始认证中生成的子密钥对收到的数据进行解密,若计算的认证标识和收到的相同,则消息完整性良好,且MN可以进行重认证过程;
步骤七:FAAA服务器对MN的ERP初始消息认证成功后,构造ERP结束消息,该消息包括接入域名TLV、密钥生存时间TV和KeyName-NAI TLV和经过子密钥加密过的认证标识,Diamet er进程将ERP结束消息封装在ERP/DEA消息的EAP-Payload AVP中发送给AGW4;
步骤八:AGW4中的Diameter进程接收到ERP/DEA消息,提取出ERP结束消息,将其封装在PAA消息中发送给MN;
步骤九:MN收到PAA消息后,从ERP结束消息中提取出密钥生存时间,且计算认证标识,若计算结果和收到的认证标识相同,则MN外地域重认证成功。
进一步,所述对移动节点的授权具体步骤为:
步骤一:AGW1对MN进行接入检测,并且对MN的身份描述符认证成功后,AGW1向CGW1发送代理绑定更新Proxy Binding Update,PBU以注册更新MN的位置信息;
步骤2:CGW1对代理绑定更新消息进行解析处理,CGW1提取出移动节点的身份标识符后向AAA服务器请求MN的家乡网络前缀;
步骤3:HAAA服务器根据MN的身份标识符提取相应的家乡网路前缀,并发送给CGW1;
步骤4:CGW1提取出MN的家乡网络前缀之后,发送隧道建立请求消息;
步骤5:DGW1动态分配一个核心地址用于与MN的家乡地址进行映射操作,并将家乡地址与核心地址的映射关系写入本地映射服务器的缓存中。同时,DGW1把关于MN的家乡地址与核心地址的映射关系发送给全局映射服务器;
步骤6:DGW1建立AGW1到DGW1的隧道的一端,并向CGW1发送隧道确认消息;
步骤7:CGW1收到隧道确认消息后,向AGW1发送代理绑定应答ProxyBinding Acknowledgement,PBA数据包,PBA中还包括了MN的家乡网络前缀;
步骤8:AGW1在收到代理绑定应答数据包后,建立与DGW1之间的双向通信隧道;AGW1从PBA消息中获得MN的家乡网络前缀,并以路由通告Rout eAdvertisement,RA的单播方式将家乡网络前缀通告给MN,MN收到路由通告后使用无状态地址配置方式配置MN的家乡地址。
本发明的优点在于:
本发明将分离机制移动性管理系统与移动节点的认证授权相结合,实现对接入网络的移动节点进行合法性认证,保证了移动节点的合法性和网络的安全性。认证成功之后,AGW代替MN发送注册请求消息,CGW获得存储在HAAA上移动节点的家乡网络前缀信息,移动节点使用无状态地址配置方式配置MN的家乡地址,此时移动节点可以接入到网络中。
根据移动节点接入到不同的接入网,分为家乡域认证和外地域认证,又由于在同一个域内切换时可以使用更加简洁的重认证信令流程,分为家乡域重认证和外地域重认证,这样使得移动节点可以在域内切换(AGW1切换到AGW2)和域间切换(AGW2切换到AGW3)时都获得接入认证过程,同时在域内切换时使用重认证信令流程减少了信令交互流程和认证时延,在保证认证的合法性同时减少了用户的等待时间。
使用HAAA服务器存储移动节点的策略信息,可以有效地缓解大规模移动节点的网络配置和维护,同时使用第三方实体存储用户的信息使得网络更加安全可靠。
具体实施方式
本发明将分离机制移动性管理系统和对移动节点的认证授权相结合,描述了一种基于分离机制的认证授权设计方案。本方案首先将接入分离机制移动性管理系统的移动节点进行身份认证,认证成功后各个功能实体通过移动信令的交互实现路由的添加和隧道的建立,移动节点获取存储在服务器上的家乡网络前缀信息,此时移动节点可以获得网络服务,从而实现了分离机制移动管理对移动节点的授权。在分离机制移动性管理系统的接入网内增加AAA服务器(包括家乡AAA服务器(HAAA)和外地AAA服务器(Foreign AAA,FAAA)),既可以通过安全协议和预共享密钥机制实现对移动节点的接入认证,又可以作为移动节点信息的远程策略存储。在HAAA和AGW之间、FAAA和AGW、HAAA和FAAA之间部署Diameter协议,在AGW和MN之间部署PANA协议。通过使用Diamet er协议和PANA协议共同承载的EAP协议、ERP协议和EAP-PSK认证机制,实现移动节点在家乡域的初始认证和重认证,在外地域的初始认证和重认证。在HAAA和CGW之间、FAAA和CGW之间部署Diameter协议实现策略信息的获取。
本发明主要解决以下问题:
(1)本发明将分离机制移动性管理系统和对移动节点的认证授权相结合,提出了一种新型的分离机制移动性管理系统的认证授权方法。
(2)在AGW、CGW、FAAA和HAAA上部署Diameter协议,在AGW和MN上部署PANA协议,使用承载在Diameter协议和PANA协议上的EAP协议和ERP协议分别完成移动节点的初始认证和重认证。(3)当移动节点切换到外地域时,借助于FAAA和HAAA的交互完成移动节点的跨域认证,即外地域的初始认证和重认证过程。
(4)CGW通过使用Diameter协议获得存储在HAAA服务器上的策略信息,完成分离机制移动性管理系统对移动节点的授权。
本发明分离机制移动性管理系统的认证授权方法的网络拓扑如图2所示。
分离机制移动性管理系统的认证授权网络分为接入网和核心网,定义了四个功能实体:接入网关AGW,控制网关CGW,数据网关DGW和AAA服务器。AGW负责监测MN的接入,和AAA服务器进行认证信息的交互,代替MN发送注册消息:CGW负责处理控制信令,从AAA服务器获得移动节点的策略信息;DGW负责转发用户数据,采用分离映射机制,实现接入网与核心网间的分离映射功能;AAA服务器存储移动节点的策略信息,和AGW进行认证信息的交互,和CGW进行授权信息的交互。下面将从安全协议部署、四种认证场景的触发条件、EAP-PSK认证流程、功能实体扩展和新增消息格式四个方面重点介绍本发明的技术细节。
安全协议部署
本发明为了实现基于分离机制移动性管理系统的认证授权,包括家乡域的初始认证和重认证,外地域的初始认证和重认证,需用到Diameter协议,PANA协议,EAP协议,ERP协议和EAP-PSK认证机制。PANA协议作为接入网协议部署在MN和AGW之间,Diameter协议作为下一代的AAA协议标准部署在AGW和AAA服务器、CGW和AAA服务器之间,根据文献[3][8]扩展认证协议(EAP)运行在PANA协议和Diameter协议之上完成移动节点标识符和预共享密钥数据的传送,EAP协议支持多种认证算法,本发明采用EAP-PSK认证机制计算密钥数据。协议部署如图3所示。可扩展重认证协议(ERP)是EAP协议在重认证过程中扩展和应用,它也可以承载在PANA协议和Diameter协议上实现对移动节点的重认证。
认证成功后,移动节点可以接入到网络中,获得网络服务,也就是分离机制移动性管理系统对移动节点进行授权,具体消息流程参考文献[1]。本发明更改了CGW获取移动节点家乡网路前缀的方式,选择远程策略存储实体HAAA服务器,通过Diameter协议交互获得移动节点的家乡网络前缀信息,
从而有效地缓解大规模移动节点的网络配置和维护。
四种认证场景的触发条件
分离机制移动性管理系统实现了接入网和核心网的分离,本发明给每个接入网分配可以唯一标识的域名,如图2所示,接入网1的域名为bjtu.net,接入网2域名为iplab.net。从而在接入网1内各个实体均含有相同的域名bjtu.net,所以AGW1的用户名为AGW1.bjtu.net,CGW1的用户名为CGW1.bjtu.net。
本发明规定每个移动节点的身份标识符由用户名和家乡域名共同构成,如移动节点MN的用户名为user1,家乡域名为bjtu.net,因此该移动节点的身份标识符为user1.bjtu.net。由于移动节点的域名为bjtu.net,所以接入网1内的AAA服务器是移动节点MN的家乡AAA服务器(HAAA),用户名为HAAA.bjtu.net,接入网2内的AAA服务器是移动节点MN的外地AAA服务器(FAAA),用户名为FAAA.iplab.net。
AGW1向移动节点发送本地域名bjtu.net,移动节点将自己的域名和接收到的域名进行比对,若两者相同,则表示移动节点接入家乡域,此时进行家乡域初始认证和重认证,反之,移动节点接入外地域,此时进行外地域初始认证和重认证。移动节点读取配置信息获得上次接入的域名,注册标识位‘R’和注册生存时间,若上次接入域名和本次接入域名相同,注册标识位为已注册,且现在时间小于生存时间,表明移动节点两次接入相同的接入网,且在该接入网已经注册过,生存时间还没有过期,此时移动节点就可以进行重认证,反之,需要进行初始认证。移动节点配置信息如表1所示。
表1移动节点配置信息
移动节点身份标识符 |
接入域名 |
注册标识‘R’ |
生存时间 |
user1.bjtu.net |
b jtu.net |
0 |
1 3334567890 |
user1.bjtu.net |
iplab.net |
1 |
1 3334567900 |
EAP-PSK认证流程
EAP-PSK认证流程采用四条消息进行交互,交互成功后完成实体间的相互认证。图4是EAP-PSK认证的标准流程:首先,服务器将它的身份信息ID_S(Identity Server)和质询随机数RAND_S(16字节)放入第一条认证消息中,标志位Flags为0x00,发送给客户端。其次,客户端收到请求消息并解析,构造第二条认证消息,标志位Flags为0x40,消息中包含服务器端质询随机数RAND_S、客户端质询随机数RAND_P(16字节)、消息认证码MAC_P(Message Authentic Code Peer,16字节)、客户端的身份信息ID_P,其中客户端消息认证码是由客户端身份标识符、服务器用户名、服务器端随机数和客户端随机数,使用共享密钥PSK生成的子密钥AK(Authentication Key),通过高级加密标准AES(Advanced EncryptionStandard)生成。再次,服务器收到应答消息并解析,提取出MAC_P,服务器以同样的密钥、标识符和随机数计算出新的MAC_P,若其和收到的MAC_P相等,则服务器对客户端认证成功,此时服务器构造第三调认证消息发送给客户端,标志位Flags为0x80,其中消息中包含服务器端质询随机数RAND_S、服务器端消息认证码MAC_S和服务器保护信道消息PCHANNEL_S_0(Protected Channel Server,20字节),其中MAC_S是由服务器端标识符、客户端随机数,使用子密钥AK,通过AES生成,PCHANNEL_S_0是服务器端将消息头部和数据共同进行加密生成的密文。最后,客户端收到请求消息并解析,同样计算MAC_S是否和收到的MAC_S相等,若两者相等则客户端对服务器认证成功,实现了双向认证,客户端构造第四条认证消息发送给服务器,标志位Flags为0xc0,其中消息中包含服务器端质询随机数RAND_S和客户端保护信道消息PCHANNEL_P_0(Protected Channel Peer,20字节),其中PCHANNEL_P_0是客户端将消息头部和数据共同进行加密生成密文。
功能实体扩展和新增消息格式
功能实体扩展
为了实现分离机制移动性管理系统的认证授权,需要对分离机制网络功能实体改进、扩展。各功能实体新增具体功能如下:
(1)AAA服务器
1)部署Diameter协议,作为认证服务器通过预共享密钥和认证协议认证移动节点的合法性;
2)HAAA和FAAA进行交互,实现移动节点的跨域认证;
3)作为移动节点的远程策略存储,存储移动节点的家乡网络前缀等信息。
(2)CGW
1)部署Diameter协议,通过和AAA服务器交互,获得移动节点的家乡网路前缀信息。
(3)AGW
1)部署PANA协议和Diameter协议,和MN进行PANA协议交互,和AAA进行Diameter协议交互;
2)作为中间实体传送AAA服务器和MN的认证信息。
(4)MN
1)部署PANA协议,和AGW进行认证消息的交互;
2)保存认证信息列表,根据认证信判断是初始认证还是重认证,是家乡域认证还是外地域认证。
消息格式
本专利的认证流程需要定义新的消息格式,具体定义如下。
分离机制移动性管理系统对移动节点的认证过程中,AGW向移动节点发送EAP初始重认证开始消息(EAP-Initiate/Re-auth-Start),即ERP初始消息Start类型,该消息类型是对EAP消息的扩展。格式如表2所示,其中命令码为8bit无符号整数,值为5,表示ERP初始消息;标识符为8bit无符号整数,用于标识区分不同的应答消息,同一应答消息应使用相同的标识符;长度为16bit无符号整数,表示ERP初始消息的总长度;类型为8bit无符号整数,值为1,表示该消息是ERP初始消息Start类型;保留位为8b i t无符号整数,值为0;TV(Type Length)和TLV(Type Length Value)用于传送信息给移动节点,TV是由8bit无符号数的类型值和不定长度的数据组成,TLV是由8bit无符号数的类型值、8bit无符号数的长度和不定长度的数据组成。该消息包括类型为4,数据为所在域名的TLV,长度为域名的长度,如在家乡域中域名为bjtu.net,长度为8。
表2 ERP初始消息Start类型格式
移动节点收到EAP初始重认证开始消息后,若移动节点需要进行重认证,则发送EAP初始重认证消息(EAP-Initiate/Re-auth),即ERP初始消息,该消息类型是对EAP消息的扩展。格式如表3所示,其中命令码为8bi t无符号整数,值为5,表示ERP初始消息;标识符为8bit无符号整数,用于标识区分不同的应答消息,同一应答消息应使用相同的标识符;长度为16bit无符号整数,表示ERP初始消息的总长度;类型为8bit无符号整数,值为2,表示该消息是ERP初始消息;R(Re-authentication)标志位表示重认证的结果,0表示成功,1表示失败,ERP初始消息中设置为0;B(Bootstrap)标志位表示引导标志位,表示此消息是引导消息;L(Lifetime)标志位表示是否请求密钥生存时间,0表示不请求,1表示请求;保留位为5bit无符号整数,值为0;序列号为16bit无符号数,用于抗重播保护;该消息包括类型为4的域名TLV,表示所在域的域名,类型为1的KeyName-NAI(KeyName Network Access Identity)TLV,表示特定域内的移动节点重认证,由移动节点和当前所在域名组成,如移动节点user1.bjtu.net接入外地域iplab.net,则KeyName-NAI的数据为user1.bjtu.netiplab.net;算法类型表示现在重认证过程中支持的算法类型;认证标识用于保护信令消息的完整性,使用规定的算法通过计算ERP初始消息获得规定长度的认证标识。
表3 ERP初始、结束消息格式
AAA服务器收到ERP初始消息后,发送ERP结束消息(EAP-Finish/Re-auth)。格式如表3所示,其中命令码为6,类型为2;如果AAA服务器完成对移动节点重认证过程,则R标志位置为0,表示重认证成功,否则R标志位置为1,表示重认证失败;B标志位和L标志位与ERP初始消息中相应标志位具有相同的数值;该消息中含有类型为1的KeyName-NAI TLV,类型为2和3的不同密钥生存时间TV,类型为4的域名TLV;该消息使用相同的算法对ERP结束消息进行计算,生成认证标识。
结合分离机制移动性管理系统的认证授权拓扑图2,根据移动节点接入不同的接入域,可以将基于分离机制下的认证分成四种场景,下面以MN接入认证为例进行详细说明:
1)家乡域初始认证:当移动节点MN(用户名user1.bjtu.net)初次接入接入网1中的AGW1时,MN的家乡域和接入域相同,且没有经过初始认证,此时MN进行家乡域初始认证;
2)家乡域重认证:当MN在家乡域进行初始认证之后切换到接入网1中的AGW2,MN的家乡域和接入域相同,且生存时间没有过期,此时MN进行家乡域重认证;
3)外地域初始认证:当MN切换到接入网2中的AGW3时,MN的家乡域和接入域不同,此时MN进行外地域初始认证;
4)外地域重认证:当MN在外地域进行初始认证之后切换到接入网2中的AGW4时,MN的家乡域和接入域不同,且生存时间没有过期,此时MN进行外地域重认证。
本发明设计的方案能支持以上四种场景,下面将结合分离机制移动性管理系统认证授权拓扑图2具体分析。
移动节点MN初次接入家乡域AGW1进行家乡域初始认证信令流程如图5所示。
结合图5,移动节点MN进行家乡域初始认证信令流程的具体步骤如下:
步骤一:MN接入家乡域的AGW1时,发送PANA初始化消息(PANA-Client-Initiation,PCI),表明MN处于PANA初始化阶段;
步骤二:AGW1收到PCI消息后,若支持PANA协议并提供接入认证服务则发送PANA认证请求开始消息(PANA-Auth-Request Start,PAR(S)),消息中包含需要的伪随机算法和完整性算法,否则将PCI消息丢弃;
步骤三:MN收到PAR(S)消息,若其支持这种伪随机算法和完整性算法,则发送PANA认证应答开始消息(PANA-Auth-Answer(S),PAA(S)),消息中包含相同的算法;
步骤四:AGW1收到含有相同算法类型的PAA(S)消息,表明可以继续PANA认证过程,此时AGW1发送Start类型的ERP初始消息(EAPInitiate/Re-auth-Start),通告所在域的域名(例如是bjtu.net)。MN收到该消息,和域名进行对比,确定现在接入家乡域,MN读取配置信息(接入域名,注册标识位和注册生存时间)判断需要进行家乡域初始认证,此时MN不回复任何信息,等待AGW1发送标识符请求;
步骤五:在生存时间内AGW1发送Start类型的ERP初始消息没有收到MN的回复,表明执行初始认证过程,此时AGW1发送EAP标识符请求消息(EAP-Request/Identity)请求MN的标识符,该消息承载在PAR消息中;
步骤六:MN将标识符(例如是user1.bjtu.net)通过EAP标识符应答消息(EAP-Response/Identity)传给AGW1,该消息承载在PAA消息中;
步骤七:AGW1收到MN的身份标识符,通过Diameter EAP请求(DiameterEAP Request,EAP/DER)消息发送给HAAA服务器,HAAA服务器通过DiameterEAP应答(Diameter EAP Answer,EAP/DEA)消息发送应答消息;
步骤八:HAAA服务器收到MN的身份标识符,若该标识符是合法的用户名,则开始完整的EAP-PSK认证过程。EAP-PSK认证流程详见2.2.3节。移动节点MN和HAAA服务器分别作为客户端和服务器端进行EAP-PSK认证交互,AGW1作为中间实体通过进程间通信方式实现PANA进程和Diameter进程进行通信,传输EAP-PSK认证数据,数据封装在EAP-Payload属性值对(EAP-Payload Attribute Value Pair,EAP-Payload AVP)中;
步骤九:通过两组EAP-PSK信令交互后,MN和HAAA服务器实现了双向认证。此时HAAA服务器发送认证成功消息(EAP/DEA EAP-Payload/success),并且将主会话密钥(Master Session Key,MSK)发送给AGW1,使得AGW1和MN建立安全关联;
步骤十:MN收到含有认证成功结果码属性值对的PANA认证结束请求消息(PANA-Auth-Request(C),PAR(C)),至此MN和HAAA间的双向认证结束;
步骤十一:AGW1收到MN回复的PANA认证结束应答消息(PANA-Auth-Answer(C),PAA(C))表明MM家乡域初始认证成功。。
移动节点MN经过家乡域初始认证后切换到AGW2,此时MN进行家乡域重认证过程,信令流程如图6所示。
结合图6,移动节点MN进行家乡域重认证信令流程的具体步骤如下:
步骤一:MN接入家乡域的AGW2时,发送PCI消息,表明MN处于PANA初始化阶段;
步骤二:AGW2收到PCI消息后,若支持PANA协议并提供接入认证服务则发送PAR(S)消息,消息中包含需要的伪随机算法和完整性算法,否则将PCI消息丢弃;
步骤三:MN收到PAR(S)消息,若其支持这种伪随机算法和完整性算法,则发送PAA(S)消息,消息中包含相同的算法;
步骤四:AGW2收到含有相同算法类型的PAA(S)消息,表明可以继续PANA认证过程,此时AGW2发送Start类型的ERP初始消息,通告所在域的域名(bjtu.net)。MN收到该消息,和域名进行对比,确定现在接入家乡域,MN读取配置信息(接入域名,注册标识位和注册生存时间),接入域名相同,注册标识位为已注册,且生存时间没有过期,此时移动节点需要进行家乡域重认证,发送ERP初始消息(EAP-Initiate/Re-auth)开始重认证过程,消息中含有接入域名TLV、KeyName-NAI TLV和经过子密钥加密过的认证标识,用于完整性保护和HAAA对MN的重认证过程进行认证,该消息承载在PAA消息中;
步骤五:AGW2收到PAA消息,提取出ERP初始消息后,通过进程间通信的方式发送给Diameter进程,Diameter进程将其封装在Diameter ERP请求(Diameter ERP Request,ERP/DER)消息的EAP-Payload AVP中发送给HAAA;
步骤六:HAAA服务器收到ERP初始消息表明MN执行重认证过程,则HAAA使用MN初始认证中生成的子密钥对收到的数据进行解密,若计算的认证标识和收到的相同,则消息完整性良好,且MN可以进行重认证过程;
步骤七:HAAA服务器对MN的ERP初始消息认证成功后,构造ERP结束消息(EAP-Finish/Re-auth),该消息包括接入域名TLV、密钥生存时间TV、KeyName-NAI TLV和经过子密钥加密过的认证标识,Diameter进程将ERP结束消息封装在Diameter ERP应答(Diameter ERP Answer,ERP/DEA)消息的EAP-Payload AVP中发送给AGW2;
步骤八:AGW2中的Diameter进程接收到ERP/DEA消息,提取出ERP结束消息,将其封装在PAR消息中发送给MN;
步骤九:MN收到PAR消息后,从ERP结束消息中提取出密钥生存时间,且计算认证标识,若计算结果和收到的认证标识相同,则MN家乡域重认证成功。
移动节点MN切换到外地域内的AGW3,此时MN进行外地域过程,信令流程如图7所示。
结合图7,移动节点MN进行外地域初始认证信令流程的具体步骤如下:
步骤一:MN接入外地域的AGW3时,发送PCI消息,表明MN处于PANA初始化阶段;
步骤二:AGW3收到PCI消息后,若支持PANA协议并提供接入认证服务则发送PAR(S)消息,消息中包含需要的伪随机算法和完整性算法,否则将PCI消息丢弃;
步骤三:MN收到PAR(S)消息,若其支持这种伪随机算法和完整性算法,则发送PAA(S)消息,消息中包含相同的算法;
步骤四:AGW3收到含有相同算法类型的PAA(S)消息,表明可以继续PANA认证过程,此时AGW3发送Start类型的ERP初始消息,通告所在域的域名(iplab.net)。MN收到该消息,和域名进行对比,确定现在接入外地域,MN读取配置信息(接入域名,注册标识位和注册生存时间)判断需要进行外地域初始认证,此时MN不回复任何信息,等待AGW3发送标识符请求;
步骤五:在生存时间内AGW3发送Start类型的ERP初始消息没有收到MN的回复,表明执行初始认证过程,此时AGW3发送EAP请求标识符消息请求MN的标识符,该消息承载在PAR消息中;
步骤六:MN将标识符(user1.bjtu.net)通过EAP应答消息传给AGW3,该消息承载在PAS消息中;
步骤七:AGW3收到MN的身份标识符,通过EAP/DER消息发送给FAAA服务器,FAAA服务器提取出MN的身份标识符,此时FAAA上没有MN的密钥相关信息,从而FAAA服务器不能对MN进行认证,需要HAAA服务器对MN进行合法性认证,所以AGW3和FAAA作为中间实体,需要传送MN和HAAA之间的信息。此时FAAA向HAAA发送EAP/DER消息,该消息包括承载MN身份标识符的EAP-Payload AVP,指定域的根密钥请求(Domain-Specific Root KeyRequest,DSRK Request)AVP,和FAAA的域名(domain name)AVP;
步骤八:HAAA服务器收到EAP/DER消息后,提取MN的身份标识符,若该标识符是合法的用户名,则开始完整的EAP-PSK认证过程,EAP-PSK认证流程详见2.2.3节。移动节点MN和HAAA服务器分别作为客户端和服务器端进行EAP-PSK认证交互,AGW3作为中间实体通过进程间通信方式实现PANA进程和Diameter进程进行通信,FAAA作为中间实体通过进程间通信方式实现FAAA的Diameter服务器进程和客户端进程进行通信,进行传输EAP-PSK认证数据,数据封装在EAP-Payload AVP中;
步骤九:通过两组EAP-PSK信令交互后,MN和HAAA服务器实现了双向认证。此时HAAA服务器发送认证成功消息,并且将相应子密钥MSK、DSRK发送给FAAA,MSK用于本次会话,DSRK存在FAAA中用于MN下次接入外地域进行重认证过程,FAAA将MSK和认证成功消息发送给AGW3,AGW3向MN发送PAR(C)消息;
步骤十:MN收到含有认证成功结果码属性值对的PAR(C)消息,至此MN和HAAA间的双向认证结束;
步骤十一:AGW3收到MN回复的PAA(C)消息,表明MN外地域初始认证成功。
移动节点MN经过外地域初始认证后切换到AGW4,此时MN进行外地域重认证过程,信令流程如图8所示。
结合图8,移动节点MN进行外地域重认证信令流程的具体步骤如下:
步骤一:MN接入外地域的AGW4时,发送PCI消息,表明MN处于PANA初始化阶段;
步骤二:AGW4收到PCI消息后,若支持PANA协议并提供接入认证服务则发送PAR(S)消息,消息中包含需要的伪随机算法和完整性算法,否则将PCI消息丢弃;
步骤三:MN收到PAR(S)消息,若其支持这种伪随机算法和完整性算法,则发送PAA(S)消息,消息中包含相同的算法;
步骤四:AGW4收到含有相同算法类型的PAA(S)消息,表明可以继续PANA认证过程,此时AGW4发送Start类型的ERP初始消息,通告所在域的域名(iplab.net)。MN收到该消息,和域名进行对比,确定现在接入外地域,MN读取配置信息(接入域名,注册标识位和注册生存时间),接入域名相同,注册标识位为已注册,且生存时间没有过期,此时移动节点需要进行外地域重认证,发送ERP初始消息开始重认证过程,消息中含有接入域名TLV、KeyName-NAITLV和经过子密钥加密过的认证标识,用于完整性保护和FAAA对MN的重认证过程进行认证,该消息承载在PAA消息中;
步骤五:AGW4收到PAA消息,提取出ERP初始消息后,通过进程间通信的方式发送给Diameter进程,Diameter进程将其封装在ERP/DER消息的EAP-Payload AVP中发送给FAAA;
步骤六:FAAA服务器收到ERP初始消息表明MN执行重认证过程,则FAAA使用MN初始认证中生成的子密钥对收到的数据进行解密,若计算的认证标识和收到的相同,则消息完整性良好,且MN可以进行重认证过程;
步骤七:FAAA服务器对MN的ERP初始消息认证成功后,构造ERP结束消息,该消息包括接入域名TLV、密钥生存时间TV和KeyName-NAI TLV和经过子密钥加密过的认证标识,Diameter进程将ERP结束消息封装在ERP/DEA消息的EAP-Payload AVP中发送给AGW4;
步骤八:AGW4中的Diameter进程接收到ERP/DEA消息,提取出ERP结束消息,将其封装在PAA消息中发送给MN;
步骤九:MN收到PAA消息后,从ERP结束消息中提取出密钥生存时间,且计算认证标识,若计算结果和收到的认证标识相同,则MN外地域重认证成功。
移动节点经过上述场景的认证成功后,分离机制移动性管理系统对移动节点进行授权服务。本发明更改了CGW获取移动节点家乡网路前缀的方式,选择远程策略存储实体AAA服务器,CGW和AAA通过Diameter协议交互获得移动节点的家乡网络前缀信息。
MN经过认证成功后,分离机制移动性管理系统对移动节点进行授权服务,以MN接入接入网1为例,消息流程如图9所示,具体步骤如下:
步骤一:AGW1对MN进行接入检测,并且对MN的身份描述符认证成功后,AGW1向CGW1发送代理绑定更新(Proxy Binding Update,PBU)以注册更新MN的位置信息;
步骤2:CGW1对代理绑定更新消息进行解析处理,CGW1提取出移动节点的身份标识符后向AAA服务器请求MN的家乡网络前缀;
步骤3:HAAA服务器根据MN的身份标识符提取相应的家乡网路前缀,并发送给CGW1;
步骤4:CGW1提取出MN的家乡网络前缀之后,发送隧道建立请求消息;
步骤5:DGW1动态分配一个核心地址用于与MN的家乡地址进行映射操作,并将家乡地址与核心地址的映射关系写入本地映射服务器的缓存中。同时,DGW1把关于MN的家乡地址与核心地址的映射关系发送给全局映射服务器;
步骤6:DGW1建立AGW1到DGW1的隧道的一端,并向CGW1发送隧道确认消息;
步骤7:CGW1收到隧道确认消息后,向AGW1发送代理绑定应答(ProxyBinding Acknowledgement,PBA)数据包,PBA中还包括了MN的家乡网络前缀;
步骤8:AGW1在收到代理绑定应答数据包后,建立与DGW1之间的双向通信隧道。AGW1从PBA消息中获得MN的家乡网络前缀,并以路由通告(RouteAdvertisement,RA)的单播方式将家乡网络前缀通告给MN。MN收到路由通告后使用无状态地址配置方式配置MN的家乡地址。
此时,MN可以使用家乡地址进行数据通信,获得了分离机制移动性管理系统的授权服务。
本文所述的分离机制移动性管理系统的认证授权实现,以AGW、CGW、DGW,AAA服务器为主要功能实体,通过它们之间的一系列消息交互,来完成对移动节点合法性进行认证,保证网络的安全。
应当理解,以上借助优选实施例对本发明的技术方案进行的详细说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。