基于TLS的分离机制移动性信令保护系统及保护方法
技术领域
本发明涉及一种移动性信令保护系统,特别是涉及基于TLS的分离机制移动性信令保护系统及保护方法。
背景技术
移动IP技术为主机在TCP/IP网络环境下实现移动和漫游提供了解决方案。作为IPv6网络重要的移动性解决方案,移动IPv6(Mobile IPv6,MIPv6)由因特网工程任务组(Internet Engineering Task Force,IETF)在2004年6月正式批准成为标准RFC3775。MIPv6是一种需要主机支持的网络层协议,通过主机上的MIPv6协议栈为主机提供移动性管理服务,采用了同样工作在网络层的IPSec(IP Security)协议作为它安全机制的基础。有关IPSec保护MIPv6信令规范在RFC3776、RFC4877中定义。其中RFC3776规定了MN在绑定注册过程中与家乡代理(Home Agent,HA)交互的绑定更新(BindingUpdate,BU)和绑定确认(Binding Acknowledgement,BA)必须采用IPSec安全机制进行保护。代理移动IPv6(Proxy Mobile IPv6,PMIPv6)是基于网络的移动性管理协议,在2008年8月由IETF进行标准化成为RFC5213,PMIPv6同样采用了IPSec作为其安全机制的基础。目前为人们所熟知的网络层移动性协议基本都采用IPSec保护移动性信令的安全。
传输层安全协议(Transport Layer Security,TLS)协议由安全套接层(Secure Sockets Layer,SSL)协议发展而来,它的安全基础是公钥加密技术。TLS协议可以为网络上的通信节点提供身份验证,并实现两个通信实体之间数据的加密和完整性验证。SSL最早由Netscape公司提出用来实现Web安全,后来由IETF进行标准化产生的TLS已经成为事实上的工业标准,得到了广泛应用。现行的Web浏览器都将HTTP(HyperText Transfer Protocol)和SSL相结合,实现身份验证及数据加密。但TLS协议工作在传输层,而一般的移动性管理信令都作为IPv6的扩展报头工作在网络层,也就是说TLS无法直接保护移动信令。
一、与本发明相关的现有技术一
一般来讲,移动性管理协议都默认采用IPSec方式对移动信令进行安全保护。以MIPv6为例,RFC3776规定移动性信令BU和RA必须采用IPSec进行保护。但是MIPv6并没有强制MN与HA之间的IPSec安全关联(SecurityAssociation,SA)的生成方式,也就是说静态配置的安全关联也是可以接收的。然而在实际应用中,一个HA通常要管理很多MN,如果都采用静态配置的方式与每个MN建立SA,HA的管理复杂度是不可想象的,所以MIPv6中动态协商密钥也就是互联网密钥交换协议(Internet Key Exchange,IKE)必须被考虑。
RFC3776规定了IPSec为MIPv6提供安全机制的技术细节,其中MN与HA密钥交换产生安全关联的技术环节使用了IKEv1(互联网密钥交换协议第一版)。随着IPSec协议的不断发展,在RFC 4301中IPSec的选择器已经可以识别移动头选项,真正的实现了IPSec协议对MIPv6的支持。RFC 4877针对这一变化对原有的RFC 3776标准进行改进,调整了MIPv6、IPSec及IKE协议的交互过程,密钥交换部分也采用了IKE的下一个版本IKEv2协议。现有技术一的缺点
1.采用IPSec/IKE方式保护移动性信令的弊端很多,RFC3776和RFC4877并没有规定IKE与MIPv6的交互接口,在MIPv6的后续研究中,个人草案在内核中定义了接MIGRATE用来实现MIPv6与IKEv1的交互,个人草案根据前人的工作改进该接口,定义了内核Enhanced MIGRATE接口并可以实现MIPv6与IKEv2的交互。但在实际开发和使用时这种内核方式的交互都是比较复杂的,目前为止这两个草案都没有成为RFC。
2.IPSec目前无法解决双栈移动IPv6(Mobile IPv6Support for DualStack Hosts and Routers,DSMIPv6)的安全机制问题,DSMIPv6本身就非常复杂,涉及很多应用场景,如果采用IKE动态生成IPSec安全关联,需要考虑的情况将更加复杂。
3.在MIPv4中IPSec是一个附加条件,但对MIPv6来说,设计者考虑到不断增长的安全需求而把IPSec当成一个强制执行的先行条件,也就是说一个想要实现MIPv6的主机,必须同时先实现IPSec和IKE。而现实的情况是很多需要使用MIPv6的MN本身没有IPSec协议栈。造成的结果就是MIPv6不再是一个可以独立存在的基于主机的移动性管理协议。
4.MIPv6本身就是一种需要主机参与的移动性管理协议,其安全机制需要的IPSec/IKE在处理能力上的需求比MIPv6协议还要大,这种负担对一些以低功耗,功能简单为设计目的的移动设备来说是无法完成。
5.IPSec和IKE对某些移动设备来说不是重要的,移动性的支持才是最重要的。在许多情况下,一种更简单的安全机制取代IPSec/IKE,也许能让MIPv6更有吸引力。
二、与本发明相关的现有技术二
针对IPSec/IKE保护移动性信令带来的问题,IETF在提出了MIPv6认证协议RFC4285在一定程度上也可以解决MIPv6的安全问题。RFC4285引入了MIPv6扩展认证选项,辅助MN的认证过程。RFC4285是一种轻量级认证协议,采用了类似MIPv4的扩展认证方法,对移动信令进行身份认证。现有技术二的缺点
RFC4285只能提供有限的MIPv6信令安全性,扩展的认证选项辅助MN进行认证注册,通过与共享密钥方式检验MN的身份合法性,但认证协议本身并不改变移动信令的内容,不能实现对移动信令的加密功能。
三、与本发明相关的现有技术三
IETF的工作组草案为移动性信令的保护提供了新思路,该草案描述了一种基于TLS的MIPv6信令安全机制,利用传输层安全协议TLS保护HAC(Home Agent Controller)和MN之间的通信,HAC借由TLS安全机制向MN分发通信密钥和MIPv6自引导信息,然后MN使用这些信息与HA进行信令的交互。
TLS下的MIPv6安全机制与IPSec/IKE机制最大的不同就是,IPSec/IKE方式工作在网络层,需要通信双方也就是MN和HA直接使用IKE协议建立安全关联,这种安全模式需要使用到MIPv6的IP协议栈部分与IPSec/IKE的IP协议栈部分进行交互,在实际开发和应用中特别是DSMIPv6场景下,情况变的非常复杂;而TLS下的MIPv6安全机制,引入了一个新的功能实体HAC,HAC负责MN的自引导,认证,分发密钥,也就是MN在发出BU之前不需要与HA进行交互,MN在TLS的保护下从HAC处得到了与HA之间的安全关联。
现有技术三的缺点
该草案描述的方案试图提出一种内嵌的MIPv6安全解决方案,完全抛弃了内核中的IPSec协议栈,所有的加密和消息验证功能都在用户空间完成,MN与HA之间的信令及数据加密采用了一种类似于ESP封装的数据包格式,这在一定程度上违背了RFC1958中关于互联网体系设计原则的描述:如果有几种方式能够达成同一目的,只选择一种,如果一个之前的设计已经能够成功解决同样的问题,采取之前的设计,除非有更好的理由更换。既然MN和之间的数据采用了类似ESP封装的格式,那么完全可以采用原始IPSec/ESP进行加密封装,而密钥交互部分改由TLS机制完成。
发明内容
为避免以上现有技术的不足,本发明提出基于TLS的分离机制移动性信令保护系统及保护方法。
本发明的目的通过以下技术方案来实现:
基于TLS的分离机制移动性信令保护系统,该系统包括:
移动节点MN:用于连接接入网关AGW,并注册到控制网关CGW,获得移动性服务;
接入网关AGW:用于监测移动节点MN的接入与离开,并代替MN与控制网关CGW进行移动信令的交互,同时与数据网关DGW建立隧道,负责MN的数据转发;
控制网关CGW:用于实现本地移动锚点LMA控制平面的功能,与AGW之间进行信令交互,对MN进行移动性管理
接入网络控制器ANC:用于与MN连接的接入网关建立TLS安全连接;
认证中心CA:用于验证接入网关和ANC的数字证书。
基于TLS的分离机制移动性信令保护方法,该方法包括如下步骤:
1)TLS连接建立阶段,本阶段接入网关首先对移动节点进行接入检测,然后与ANC建立TLS安全连接;
2)安全参数传输阶段,本阶段在TLS安全连接的保护下接入网关向ANC认证移动节点,并获得与控制网关之间的通信密钥;
3)移动性信令交互阶段,本阶段接入网关与控制网关已经获得交互移动信令的全部信息,将交互IPSec保护下的移动信令。
进一步,所述TLS连接建立阶段包括如下步骤:
步骤1:移动节点通过有线或者无线方式连接到接入网关,接入网关完成接入检测过程,并获得移动节点的MN身份描述符,该描述符在全局唯一地标识移动节点的身份;
步骤2:接入网关与ANC进行TLS握手过程,ANC与接入网关在互相发送两条Hello消息后,得到对方的数字证书交由认证中心CA进行认证,确定接入网关与ANC的身份合法性后,接入网关与ANC建立TLS安全连接;
进一步,所述安全参数传输阶段包括如下步骤:
步骤1:在TLS安全连接的保护下,接入网关向ANC发送注册请求消息,该请求消息的内容选项域内含有移动节点的MN身份描述符;
步骤2:ANC在接收到注册请求消息后,首先根据发送请求中的MN身份描述符域对MN进行移动性认证,以确定是否向该MN提供移动性服务,ANC对MN认证成功后,向接入网关发出注册应答消息;
步骤3:接入网关在接收到注册应答消息后,确认连接的MN可以获得移动性服务,则向ANC发出安全参数请求消息,消息内容包括了接入网关上支持的加密和认证算法,及相应的密钥长度;
步骤4:ANC在收到安全参数请求消息后,根据接入网关支持的加密和认证算法生成一对IPSec的SA,SA中包括了接入网关与控制网关之间通信使用的SPI值、密钥、加密算法、生存时间、抗重放攻击窗口大小参数,并查询策略库中MN具体对应的控制网关地址,之后ANC将生成的SA和控制网关地址通过安全参数应答数据包发送给接入网关,同时ANC也需要将同一个SA发送给本地的控制网关。
进一步,所述的移动性信令交互阶段包括如下步骤:
步骤1:接入网关和控制网关在分别获得安全关联SA后,将SA信息写入内核的安全关联数据库SAD,之后接入网关根据SA中的相关加密选项对代理绑定更新进行IPSec/ESP加密封装,发送给控制网关;
步骤2:控制网关在收到移动信令后,根据ANC发送的SA进行ESP解封装,建立MN对应的绑定缓存条目BCE,并根据SA中的加密选项,向MN回复ESP封装后的代理绑定确认。
本发明的优点在于:
本发明采用TLS协议作为分离机制移动信令安全机制的基础,同时结合IPSec技术,TLS安全连接保护下的密钥分发过程代理了IPSec中的IKE协议,本发明方法实现上相对容易却可以完成与IPSec/IKE方式相同的安全强度。原始移动性管理协议的安全机制中,移动性管理进程与IKE进程之间的交互非常复杂,在本发明描述的安全机制下接入网关与控制网关之间的通信密钥不再由两者通过IKE交互得到,而是ANC统一生成,统一管理,这种集中式的密钥管理方法,摒弃IKE过程,特别是当众多移动节点同时连接到接入网关时,可以显著减轻接入网关的负担。
附图说明
图1:分离机制移动互联网结构框图;
图2:TLS参与的MIPv6安全机制的结构框图;
图3:ANC与接入网关的交互流程图;
图4:MN绑定注册的消息流程图。
具体实施方式
本发明提出的移动性信令保护方法涉及一种新的分离机制移动互联网体系如图1所示,它将传统互联网中IP地址的双重语义解耦合,分离成为两种地址:接入地址和核心地址。接入地址是来自移动节点的数据包在接入网的路由依据,核心地址用来为移动节点的数据包进行全局寻址。该分离机制移动互联网结构将PMIPv6与分离映射机制相结合,在结构上以数据网关为边界,把网络划分为接入网和核心网两部分。其中与移动性管理有关的信令主要集中在接入网中,本专利提出的TLS参与的分离机制移动信令保护方法同样部署在接入网中。
在分离机制移动互联网的接入网中,共有三种类型的网关,接入网关,控制网关和数据网关。接入网关的功能类似于PMIPv6中的移动接入网关(Mobile Access Gateway,MAG)负责移动节点(Mobile Node,MN)的接入,并模拟移动节点的家乡链路。PMIPv6原有的本地移动锚点(LocalMobility Anchor,LMA)在功能上被分成控制网关和数据网关两部分,实现控制信令与数据转发的分离。控制网关负责对MN进行位置管理并与接入网关之间进行移动性信令的交互,数据网关负责数据转发并实现接入网与核心网的分离映射。
当MN在一个接入网内连接到某一个接入网关时,该接入网关代替MN完成移动性管理,向控制网关发送代理绑定更新消息(Proxy Binding Update,PBU),控制网关在收到代理绑定更新消息后,为接入的MN建立一条绑定缓存条目(Binding Cache Entry,BCE)并为接入网关选择一个数据网关,之后控制网关与被选定的数据网关交互隧道请求消息和隧道应答消息。数据网关的通信隧道建立完成后,控制网关会向接入网关发送代理绑定确认消息(Proxy Binding Acknowledgement,PBA)。可见该分离机制移动互联网中与移动性管理有关的信令主要集中在控制网关与接入网关之间以及控制网关与数据网关之间。本专利提出的TLS参与的分离机制移动互联网安全机制正是要保护控制网关与接入网关之间的移动性信令。
如图2所示,为本发明提出的分离机制移动信令安全机制结构框架图。其中,接入网络控制器(ANC)为本发明提出的新功能实体,本专利将ANC作为控制网关的一个功能模块直接部署在控制网关上。ANC的主要功能描述如下:
1.ANC负责与MN连接的接入网关建立TLS安全连接,在TLS连接内部ANC需要完成两项工作,首先,ANC需要验证MN的身份信息,其次,ANC需要向接入网关发放控制网关地址和安全关联参数。
2.ANC保存MN与移动性管理相关的全部信息,包括MN对应的控制网关地址以及MN的身份描述符,在接入网关发送注册请求时,ANC还负责生成接入网关与控制网关通信时使用的安全关联参数。
ANC内部需要维护一个移动节点策略库,用来管理全部MN的信息,数据库条目应如下表1所示。每个MN在数据库中的存储内容主要包括3部分,MN身份描述符唯一地标识MN身份,并符合标准网络接入标识符(NetworkAccess Identifier,NAI)的格式,MN身份描述符是MN在全局范围的认证依据;SA参数用来保护接入网关与控制网关之间的信令安全;控制网关地址指的是ANC为接入网关选择的控制网关的地址。以第一条记录为例,其中移动节点的MN身份描述符为MN1example,SA参数是不预先设置的,ANC需要等待接入网关发送所支持的加密和完整性检验算法后(这里我们并不指定具体算法),再生成相应的参数,这样的设计具有很强的实用性,ANC可以根据接入网关的处理能力生成相应的加密算法和密钥长度。
表1 ANC维护的MN数据库条目
ANC与接入网关之间的交互可分为两部分,具体的交互流程如图3所示,首先是ANC对MN进行身份认证,也就是前两个数据交互的内容,其次是ANC向接入网关分发SA参数及控制网关的地址,也就是后两个数据包交互的内容。这4个消息都需要在TLS安全连接的保护进行传输。
ANC与接入网关之间的消息格式如下表2所示。
表2
其中的类型号为3bit无符号整数,本专利对类型号分配了如下几个值:0代表注册请求消息;1代表注册应答消息;2代表安全参数请求消息;3代表安全参数应答消息。保留字段为5bit无符号整数,该字段由发送者初始化为0,接收者必须忽略该域。序列号字段为长度字段为16bit无符号整数,用于表示该消息的长度。内容选项为整数个32bit长度,ANC与接入网关根据消息类型添加相应的内容,以字符串形式写入内容选项域中。
ANC首先建立与接入网关的TLS安全连接并向接入网关分发通信密钥,和控制网关的地址,然后接入网关使用这些信息与控制网关进行信令的交互。TLS下的分离机制移动性信令安全机制与IPSec/IKE机制最大的不同就是,IPSec/IKE方式工作在网络层,需要通信双方也就是接入网关和控制网关直接使用IKE协议建立安全关联,这种安全模式需要使用到移动性协议的IP协议栈部分与IPSec/IKE的IP协议栈部分进行交互,IKE协议本身就很复杂,它与移动性协议的交互需要应用到内核的特定接口,在实际开发和应用中这种模式还没有被普遍接收。而TLS参与的分离机制移动移动性信令安全机制,引入了一个新的功能实体ANC,ANC负责MN认证,分发密钥,也就是接入网关在发出移动性管理消息之前不需要与控制网关进行交互,接入网关在TLS的保护下从ANC处得到了与控制网关之间的SA。在接入网关获得与控制网关的SA后,正常使用IPSec/ESP对信令数据包进行加密封装,实现移动性信令的安全机制。
如图4所示为MN绑定注册的消息流程图,MN从连接到接入网关开始,到接入网关与控制网关进行绑定注册的具体过程如图4所示,主要分如下三个阶段。
阶段一,TLS连接建立阶段。本阶段接入网关首先对移动节点进行接入检测,然后与接入网络控制器ANC建立TLS安全连接,分为2个步骤:
步骤1:移动节点通过有线或者无线方式连接到接入网关,接入网关完成接入检测过程,并获得移动节点的MN身份描述符,该描述符在全局唯一地标识移动节点的身份;
步骤2:接入网关与ANC进行TLS握手过程,ANC与接入网关在互相发送两条Hello消息后,得到对方的数字证书交由认证中心(CertificateAuthority,CA)进行认证,确定双方的身份合法性后,接入网关与ANC建立TLS安全连接;
阶段二,安全参数传输阶段。本阶段在TLS安全连接的保护下接入网关向ANC认证移动节点,并获得与控制网关之间的通信密钥,分为4个步骤:
步骤1:在TLS安全连接的保护下,接入网关向ANC发送注册请求消息,消息格式如表2所示,其中内容选项域内含有移动节点的MN身份描述符;
步骤2:ANC在接收到注册请求消息后,首先根据发送请求中的MN身份描述符域对MN进行移动性认证,以确定是否向该MN提供移动性服务,ANC对MN认证成功后,向接入网关发出注册应答消息;
步骤3:接入网关在接收到注册应答消息后,确认连接的MN可以获得移动性服务,则向ANC发出安全参数请求消息,消息内容包括了接入网关上支持的加密和认证算法,及相应的密钥长度;
步骤4:ANC在收到安全参数请求消息后,根据接入网关支持的加密和认证算法生成一对IPSec的SA,SA中包括了接入网关与控制网关之间通信使用的SPI值、密钥、加密算法、生存时间、抗重放攻击窗口大小等参数,并查询策略库中MN具体对应的控制网关地址。之后ANC将生成的SA和控制网关地址通过安全参数应答数据包发送给接入网关,同时ANC也需要将同一个SA发送给本地的控制网关。
阶段三,移动性信令交互阶段。本阶段接入网关与控制网关已经获得交互移动信令的全部信息,将交互IPSec保护下的移动信令,分为2个步骤。
步骤1:接入网关和控制网关在分别获得安全关联SA后,将SA信息写入内核的安全关联数据库(Security Association Database,SAD),之后接入网关根据SA中的相关加密选项对代理绑定更新进行IPSec/ESP加密封装,发送给控制网关。
步骤2:控制网关在收到移动信令后,根据ANC发送的SA进行ESP解封装,建立MN对应的绑定缓存条目(Binding Cache Entries,BCE),并根据SA中的加密选项,向MN回复ESP封装后的代理绑定确认。