当用户经WLAN网络以非授信的模式附着到EPC网络时,如果终端没有或者无法获取用户的SIM信息,则按照3GPP标准定义的认证方法将无法完成用户身份认证,从而不能附着到EPC网络。 本文为了解决此问题,研究并应用了一种基于证书的认证方法EAPTLS,并给出了这种认证方法的技术原理和流程说明。

您好,EAP-TLS(传输层安全)是一种基于证书的认证方法,它依赖于客户端和服务器端证书来执行身份验证,并可用于动态生成基于用户和基于会话的 WEP 密钥,以确保 WLAN 客户端和接入点之间的后续通信。EAP-TLS 的一个缺点是证书必须在客户端和服务器端管理 。

EAP-TLS是一种基于EAP承载的TLS认证协议。EAP消息是载体,TLS是具体的认证方法。EAP-TLS协议是基于证书的用户身份验证方法。在使用时,需要在认证客户端(即终端)中部署证书链、用户证书和私钥文件,认证服务器端需要部署证书链、认证服务器证书和私钥文件。本文研究的无卡终端认证方法原理是在终端经WLAN以非授信模式接入到EPC时,为了便于说明本文所研究的接入认证过程与3GPP标准过程的改进和区别,首先对标准的接入认证过程进行了简单说明。

3GPP标准定义的EAP-AKA认证过程如图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信息,因此不能进行EAP-AKA认证,终端无法接入EPC。针对这种应用场景,本文研究并提出了一种基于证书的校验方式——EAP-TLS来完成对用户身份的认证。

采用EAP-TLS之后的用户认证过程示意图如图3所示。相比图2中最大的改进是用户经ePDG与EPC网络中的3GPP AAA和HSS交互时采用的身份认证方法是基于证书的EAP-TLS认证,其他流程并没有变化。采用EAP-TLS认证方法时无卡终端可以接入EPC的原理:(1)EAP-TLS鉴权是基于证书的;(2)不需要终端中有SIM信息。

为了解决无卡终端在EPC网络中缺乏SIM信息的缺陷,本文研究了一种基于证书的EAP-TLS认证方法。该方法要求用户在认证过程中使用包含IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码)的用户标识部分。这样可以保证无卡终端在EPC网络中有可识别的IMSI。

首先,用户需要将IMSI与前缀T一起携带在用户标识部分,例如:T234150999999999@epc.mnc015.mcc234.3gppnetwork.org。需要注意的是,除了前缀外,用户名的其他部分格式需要符合3GPP标准规范的规定。

本文研究的无卡终端认证方法流程如下:

1. 无卡终端向ePDG发起初始附着;

2. ePDG向3GPP AAA发送DER初始接入消息,进行鉴权和授权。3GPP AAA收到消息后,检查EAP-Payload字段携带的内容,其中用户标识参数中包含有用户的IMSI信息,且前缀为T。根据此判定为EAP-TLS接入;

3. 3GPP AAA返回DEA消息(TLS-Start),开始进行EAP-TLS交互;

4. ePDG根据客户端发送的EAP消息,发送DER握手消息(TLS-ClientHello)到3GPP AAA;

5. 3GPP AAA返回DEA消息(TLS-ServerHello)给ePDG,返回服务端保存的证书信息;

6. ePDG把收到的服务端证书信息透传给终端。终端对服务端证书进行认证通过后,把自己的证书信息传给ePDG。ePDG发送DER消息(TLS Certificate)给3GPP AAA。

总之,本文提出的基于证书的EAP-TLS认证方法可以解决无卡终端在EPC网络中缺乏SIM信息的问题,并确保用户至少具有移动通信网络必需的IMSI。

步骤7:3GPP AAA收到DER消息(TLS Certificate)之后,对其进行签名验证、有效期检查等,确保证书有效。校验通过后,发送握手完成消息DEA(ChangeCipherSpec、TLS finished)给ePDG。

步骤8:ePDG再次发送DER消息,确认收到了DEA的握手消息。3GPP AAA在收到确认后,将包含用户IMSI的消息MAR(Message Authentication Report)发送至EPC HSS以获取鉴权数据,并发送SAR(Subscriber Identity Response)消息至EPC HSS以获取用户数据。本端授权检查通过后,返回DEA成功消息。这表示ePDG和3GPP AAA之间的鉴权与授权已完成,并向EPC HSS发送SAR注册消息,通知其使用相关参数。

步骤9:接着,ePDG向PDN GW发送PMIP建立流程请求。PGW回复AAR(Access Acceptance Reply)消息至3GPP AAA建立PDN连接。3GPP AAA随后发出SAR的PGW更新消息至EPC HSS,以便更新PDN GW连接使用的PGW地址。至此,交互过程完成。

步骤10:针对使用无卡终端或软终端(APP)的用户,首先发布证书文件供其在终端上装载。当这类用户以非授信模式通过WLAN附着到4G EPC网络时,将启用基于证书的EAPTLS方式与EPC进行身份识别和认证,并成功附着到EPC网络。当然,除了EAPTLS外,还有其他认证方法如EAPPEAP、EAPPEAK等可供后续研究。

总结起来,本文所研究的认证方法是对标准认证方法的完善和扩展,已在某运营商的4G网络中成功部署和应用。对于使用无卡终端或软终端的用户来说,该方法可以实现通过WLAN进行身份识别和认证并附着到EPC网络。未来可进一步探索其他适用于无卡终端的认证方法作为研究方向。

参考文献:

[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 (EAPAKA) [S]. 2006.

本文主要介绍了RFC 5216、RFC 3748、RFC 4186、RFC 5448、RFC 4346和3GPP的TS 23.003 V10.2.0等关于EAP-TLS认证协议的相关规范。

[4] SIMON D, ABOBA B, HURST R. RFC 5216 the Extensible Authentication Protocol (EAP) over Transport Layer Security (TLS)[S]. 2008.

[5] ABOBA B, BLUNK L, VOLLBRECHT J,et al. RFC 3748 Extensible Authentication Protocol [S]. 2004.

[6] HAVERINEN H, SALOWEY J. RFC 4186 Extensible Authentication Protocol Method for Global System for Mobile Communications (GSM) Subscriber Identity Modules (EAP-SIM)[S]. 2006.

[7] ARKKO J, LEHTOVIRTA V, ERONEN P. RFC 5448 Improved Extensible Authentication Protocol Method for Third Generation Authentication and Key Agreement (EAP-AKA'') [S]. 2009.

[8] DIERKS T, RESCORLA E. RFC 4346 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.