周俊超
(中兴通讯南京研发中心 无线规划系统部,江苏 南京 210012)
摘要:用户经WLAN网络以非授信的模式附着到EPC网络时,如果终端没有或者无法获取用户的SIM信息,则按照3GPP标准定义的认证方法将无法完成用户身份认证,从而不能附着到EPC网络。本文为了解决此问题,研究并应用了一种基于证书的认证方法EAPTLS,并给出了这种认证方法的技术原理和流程说明。EAPTLS认证方法已经成功部署在了某运营商的EPC网络中,运营结果表明本文所研究的认证方法作为对标准认证方法的完善和补充是行之有效的。
关键词:WLAN网络;EPC;非授信;EAP-TLS;无卡终端
0引言
图1运营商通过WLAN接入EPC的一种部署架构拓扑图在3GPP的标准规范中,给出了非3GPP网络(例如WLAN网络)可以以授信的模式或者非授信的模式接入4G移动通信网络的EPC(Evolved Packet Core,演进的分组核心网)中,标准推荐的组网架构以及接口、参考点等可参考文献[1]。在实际工程部署中,运营商通过WLAN接入EPC的一种部署架构如图1所示。
UE(User Equipment,终端)通过WLAN(Wireless LAN,无线局域网)采用非授信方式接入EPC网络,通过PDN GW(Packet Data Network GateWay,分组数据网关)接入IMS(IP Multimedia System,IP多媒体系统)网络,完成基于IMS的VoWiFi(Voice over WiFi,基于WiFi的电话)等业务。
但由于原生支持非授信S2b接口模式接入EPC实现VoWiFi电话的终端很少,所以运营商选择了通过软件APP(Application,应用)方式来支持VoWiFi。
软件APP方式可以应用在无SIM(Subscriber Identity Module,用户身份标示模块)的终端上(比如PAD、PC等),或者原生不支持VoWiFi业务终端上。但这种方式由于权限(软件APP无读取SIM鉴权信息)和系统限制的原因(部分Andriod系统版本没有提供读取SIM的接口),软件APP无法获取SIM鉴权信息,导致终端无法执行3GPP标准规范定义的EAPAKA[23]鉴权过程。这类终端在本文统一称为无卡终端。
对于无卡终端,无法参照标准的3GPP规范为用户提供基于EAPAKA的身份认证,终端也就无法接入到EPC中实现VoWiFi业务。为了解决这类无卡终端的接入认证问题,作为对标准规范的补充,本文研究并提出了一种基于证书的EAPTLS[4]认证方法,使无卡终端不需要依赖SIM信息就可以完成身份认证,接入到EPC中。
1关键技术介绍
1.1EAP
EAP[5](Extensible Authentication Protocol,扩展的鉴权协议)为可扩展身份验证协议,是一系列验证方式的集合,设计理念是满足任何链路层的身份验证需求,支持多种链路层认证方式。EAP协议是IEEE 802.1x认证机制的核心,它将实现细节交由附属的EAP认证方法协议完成,如何选取EAP认证方法由认证系统特征决定。常见的认证方法有EAPTLS、EAPSIM[6]、EAPAKA、EAPAKA’[7]等。其中EAPSIM/EAPAKA/ EAPAKA’被3GPP采用,作为移动通信网络中基于SIM的用户身份认证方式。
1.2TLS/EAP-TLS
TLS[8](Transport Layer Security,安全传输层协议)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。
TLS记录协议位于TLS握手协议的下面,在可靠的传输协议(如TCP/IP)上面。TLS记录协议的一条记录包含长度字段、描述字段和内容字段。TLS记录协议处理数据的加密,即记录协议得到要发送的消息之后,将数据分成易于处理的数据分组,进行数据压缩处理(可选),计算数据分组的消息认证码MAC,加密数据然后发送;接收到的消息首先被解密,然后校验MAC值,解压缩,重组,最后传递给协议的高层客户。
TLS握手协议处理对等用户的认证,在这一层使用了公共密钥和证书,并协商算法和加密实际数据传输的密钥,该过程在TLS记录协议之上进行。TLS握手协议是TLS协议中最复杂的部分,它定义了10种消息,客户端和服务器利用这10种消息相互认证,协商哈希函数和加密算法并相互提供产生加密密钥的机密数据。TLS记录协议会在加密算法中用到这些加密密钥,从而提供数据保密性和一致性保护。
EAPTLS为基于EAP承载的TLS认证协议。EAP消息是载体,TLS是具体的认证方法。EAP-TLS协议是基于证书的用户身份验证方法。在使用时,需要在认证客户端(即终端)中部署证书链、用户证书和私钥文件,认证服务器端需要部署证书链、认证服务器证书和私钥文件。
2本文研究的无卡终端认证方法原理
在终端经WLAN以非授信模式接入到EPC时,为了便于说明本文所研究的接入认证过程与3GPP标准过程的改进和区别,首先对标准的接入认证过程进行简单说明。3GPP标准定义的EAPAKA认证过程如图2所示。
在终端与ePDG基于IKEv2协议(Internet Key Exchange version 2,Internet密钥交换协议版本2)进行鉴权和安全隧道建立的过程中,会经ePDG(evolved Pacekt Data Gataway,演进的分组数据网关)与EPC网络中的3GPP AAA和HSS交互,对用户进行身份认证,此时所采用的认证方法就是标准的EAP-AKA认证。这个认证过程要求终端中必须有用户的SIM信息,然后终端和EPC中的3GPP AAA和HSS基于相同的SIM信息,采用AKA(Authentication and Key Agreement,认证与密钥协商协议)算法完成认证。
这种认证方法的优点是安全、可靠、用户无感知,并基于用户的SIM信息,因此在移动通信网络中普遍使用,但正如同本文引言中所描述的那样,对于无卡终端,由于没有用户的SIM信息,因此不能进行EAPAKA认证,终端无法接入EPC,限制了用户的使用。针对这种应用场景,本文研究并提出了一种基于证书的校验方式,即EAPTLS,来完成对用户身份的认证。
采用EAPTLS之后的用户认证过程示意图如图3所示。
相比图2,图3中最大的改进是用户经ePDG与EPC网络中的3GPP AAA和HSS交互时,采用的身份认证方法是基于证书的EAPTLS认证,其他流程并没有变化。
采用EAPTLS认证方法时,无卡终端可以接入EPC的原理:(1)EAPTLS鉴权是基于证书的,不需要终端中图3采用EAPTLS之后的用户认证过程示意图
有用户的SIM信息,因此可以解决终端无SIM信息的缺陷;(2)对EPC网络来说,如果用户能够接进来,则用户至少要有移动通信网络必需的IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码)。因此,为了保证无卡终端在EPC网络中有可识别的IMSI,基于证书的EAPTLS认证过程要求用户在认证过程中用图4无卡终端认证方法流程说明(下转第90页)户标示部分必须包含有用户的有效IMSI。例如EPC已经为用户分配IMSI为:234150999999999,则无卡终端在用户鉴权过程中,用户标示部分可以为:T234150999999999@ epc.mnc015.mcc234.3gppnetwork.org,这里前缀T标示采用EAPTLS鉴权方法。需要注意的是,除了前缀外,用户名的其他部分格式需要符合3GPP标准规范的规定,见参考文献[9]。
3本文研究的无卡终端认证方法流程说明
本文研究的无卡终端认证方法的前提:无卡终端中已经部署证书链、用户证书和私钥文件,且无卡终端支持在认证过程中用户标示部分携带有IMSI;EPC中的3GPP AAA服务器已经部署证书链、认证服务器证书和私钥文件。流程如图4所示。
步骤1:无卡终端向ePDG发起初始附着;
步骤2:ePDG向3GPP AAA发送DER初始接入消息,进行鉴权和授权,3GPP AAA收到消息之后,检查EAPPayload字段携带的内容,其中用户标示参数中包含有用户的IMSI信息,且前缀为T,判定为EAPTLS接入;
步骤3:3GPP AAA返回DEA消息(TLSStart),开始进行EAPTLS交互;
步骤4:ePDG根据客户端发送的EAP消息,发送DER握手消息(TLSClientHello)到3GPP AAA;
步骤5:3GPP AAA返回DEA消息(TLSServerHello)给ePDG,返回服务端保存的证书信息;
步骤6:ePDG把收到的服务端证书信息透传给终端,终端对服务端证书进行认证通过之后,把自己的证书信息传给ePDG,ePDG发送DER消息(TLS Certificate)给3GPP AAA;
步骤7:3GPP AAA收到DER消息(TLS Certificate)之后,校验终端证书的签名、有效期等,校验通过之后,发送握手完成DEA消息(ChangeCipherSpec、TLS finished)给ePDG;
步骤8:ePDG再次发送DER消息,确认收到DEA的握手消息,3GPP AAA收到确认消息之后发送MAR消息(消息中携带有用户的IMSI)到EPC HSS获取鉴权数据、发送SAR消息到EPC HSS获取用户数据,本端授权检查通过之后,返回DEA成功消息,表示ePDG和3GPP AAA之间的鉴权和授权完成,同时向EPC HSS发送SAR注册消息,通知EPC HSS用步骤9:ePDG发送PMIP建立流程到PDN GW,PGW发送AAR消息到3GPP AAA建立PDN连接,3GPP AAA发送SAR的PGW更新消息到EPC HSS更新PDN GW连接使用的PGW地址,交互完成;
步骤10:无卡终端采用EAPTLS认证方法初始附着到EPC成功完成。
4总结
本文所研究的认证方法作为对标准认证方法的完善和扩展,在某运营商的4G网络中得到了部署和应用。首先对使用无卡终端或者软终端(APP)的用户发布证书文件,用户在终端上进行装载,然后此类用户通过WLAN以非授信模式附着到4G的EPC网络时,就会启用基于证书的EAPTLS方式与EPC交互进行身份识别和认证,并成功附着到EPC网络。当然,对无卡终端的认证方式除了EAPTLS外,还有EAPPEAP、EAPPEAK等其他认证方法,这些可以作为以后研究的方向。
参考文献
[1] 3GPP. TS 23.402 V8.9.0 Architecture enhancements for non-3GPP accesses(Release 8)[S]. 2010.
[2] 3GPP. TS 29.273 V10.1.0 3GPP EPS AAA interfaces (Release 10) [S]. 2010.
[3] ARKKO J, HAVERINEN H.RFC4187 extensible authentication protocol method for 3rd generation authentication and key agreement (EAPAKA) [S]. 2006.
[4] SIMON D, ABOBA B, HURST R. RFC 5216 the EAPTLS authentication protocol[S]. 2008.
[5] ABOBA B, BLUNK L, VOLLBRECHT J,et al. RFC 3748 extensible authentication protocol (EAP) [S]. 2004.
[6] HAVERINEN H, SALOWEY J. RFC 4186 extensible authentication protocol method for global system for mobile communications (GSM) subscriber identity modules (EAPSIM)[S]. 2006.
[7] ARKKO J, LEHTOVIRTA V, ERONEN P. RFC 5448
improved extensible authentication protocol method for 3rd generation authentication and key agreement (EAPAKA') [S]. 2009.
[8] DIERKS T, RESCORLA E. RFC 4346 the transport layer security (TLS) protocol version 1.1 [S] . 2006.
[9] 3GPP. TS 23.003 V10.2.0 Numbering, addressing and identification (Release 10) [S]. 2011.