周俊超
?。ㄖ信d通訊南京研發(fā)中心 無(wú)線規(guī)劃系統(tǒng)部,江蘇 南京 210012)
摘要:用戶經(jīng)WLAN網(wǎng)絡(luò)以非授信的模式附著到EPC網(wǎng)絡(luò)時(shí),,如果終端沒(méi)有或者無(wú)法獲取用戶的SIM信息,,則按照3GPP標(biāo)準(zhǔn)定義的認(rèn)證方法將無(wú)法完成用戶身份認(rèn)證,從而不能附著到EPC網(wǎng)絡(luò),。本文為了解決此問(wèn)題,,研究并應(yīng)用了一種基于證書的認(rèn)證方法EAPTLS,并給出了這種認(rèn)證方法的技術(shù)原理和流程說(shuō)明,。EAPTLS認(rèn)證方法已經(jīng)成功部署在了某運(yùn)營(yíng)商的EPC網(wǎng)絡(luò)中,,運(yùn)營(yíng)結(jié)果表明本文所研究的認(rèn)證方法作為對(duì)標(biāo)準(zhǔn)認(rèn)證方法的完善和補(bǔ)充是行之有效的。
關(guān)鍵詞:WLAN網(wǎng)絡(luò),;EPC,;非授信;EAP-TLS,;無(wú)卡終端
0引言
圖1運(yùn)營(yíng)商通過(guò)WLAN接入EPC的一種部署架構(gòu)拓?fù)鋱D在3GPP的標(biāo)準(zhǔn)規(guī)范中,,給出了非3GPP網(wǎng)絡(luò)(例如WLAN網(wǎng)絡(luò))可以以授信的模式或者非授信的模式接入4G移動(dòng)通信網(wǎng)絡(luò)的EPC(Evolved Packet Core,演進(jìn)的分組核心網(wǎng))中,,標(biāo)準(zhǔn)推薦的組網(wǎng)架構(gòu)以及接口,、參考點(diǎn)等可參考文獻(xiàn)[1]。在實(shí)際工程部署中,,運(yùn)營(yíng)商通過(guò)WLAN接入EPC的一種部署架構(gòu)如圖1所示,。
UE(User Equipment,終端)通過(guò)WLAN(Wireless LAN,無(wú)線局域網(wǎng))采用非授信方式接入EPC網(wǎng)絡(luò),,通過(guò)PDN GW(Packet Data Network GateWay,,分組數(shù)據(jù)網(wǎng)關(guān))接入IMS(IP Multimedia System,IP多媒體系統(tǒng))網(wǎng)絡(luò),,完成基于IMS的VoWiFi(Voice over WiFi,基于WiFi的電話)等業(yè)務(wù)。
但由于原生支持非授信S2b接口模式接入EPC實(shí)現(xiàn)VoWiFi電話的終端很少,,所以運(yùn)營(yíng)商選擇了通過(guò)軟件APP(Application,,應(yīng)用)方式來(lái)支持VoWiFi。
軟件APP方式可以應(yīng)用在無(wú)SIM(Subscriber Identity Module,,用戶身份標(biāo)示模塊)的終端上(比如PAD,、PC等),或者原生不支持VoWiFi業(yè)務(wù)終端上,。但這種方式由于權(quán)限(軟件APP無(wú)讀取SIM鑒權(quán)信息)和系統(tǒng)限制的原因(部分Andriod系統(tǒng)版本沒(méi)有提供讀取SIM的接口),,軟件APP無(wú)法獲取SIM鑒權(quán)信息,導(dǎo)致終端無(wú)法執(zhí)行3GPP標(biāo)準(zhǔn)規(guī)范定義的EAPAKA[23]鑒權(quán)過(guò)程,。這類終端在本文統(tǒng)一稱為無(wú)卡終端,。
對(duì)于無(wú)卡終端,無(wú)法參照標(biāo)準(zhǔn)的3GPP規(guī)范為用戶提供基于EAPAKA的身份認(rèn)證,,終端也就無(wú)法接入到EPC中實(shí)現(xiàn)VoWiFi業(yè)務(wù),。為了解決這類無(wú)卡終端的接入認(rèn)證問(wèn)題,作為對(duì)標(biāo)準(zhǔn)規(guī)范的補(bǔ)充,,本文研究并提出了一種基于證書的EAPTLS[4]認(rèn)證方法,,使無(wú)卡終端不需要依賴SIM信息就可以完成身份認(rèn)證,接入到EPC中,。
1關(guān)鍵技術(shù)介紹
1.1EAP
EAP[5](Extensible Authentication Protocol,,擴(kuò)展的鑒權(quán)協(xié)議)為可擴(kuò)展身份驗(yàn)證協(xié)議,是一系列驗(yàn)證方式的集合,,設(shè)計(jì)理念是滿足任何鏈路層的身份驗(yàn)證需求,,支持多種鏈路層認(rèn)證方式。EAP協(xié)議是IEEE 802.1x認(rèn)證機(jī)制的核心,,它將實(shí)現(xiàn)細(xì)節(jié)交由附屬的EAP認(rèn)證方法協(xié)議完成,,如何選取EAP認(rèn)證方法由認(rèn)證系統(tǒng)特征決定。常見(jiàn)的認(rèn)證方法有EAPTLS,、EAPSIM[6],、EAPAKA、EAPAKA’[7]等,。其中EAPSIM/EAPAKA/ EAPAKA’被3GPP采用,,作為移動(dòng)通信網(wǎng)絡(luò)中基于SIM的用戶身份認(rèn)證方式。
1.2TLS/EAP-TLS
TLS[8](Transport Layer Security,,安全傳輸層協(xié)議)用于在兩個(gè)通信應(yīng)用程序之間提供保密性和數(shù)據(jù)完整性,。該協(xié)議由兩層組成: TLS 記錄協(xié)議(TLS Record)和 TLS 握手協(xié)議(TLS Handshake)。
TLS記錄協(xié)議位于TLS握手協(xié)議的下面,,在可靠的傳輸協(xié)議(如TCP/IP)上面,。TLS記錄協(xié)議的一條記錄包含長(zhǎng)度字段,、描述字段和內(nèi)容字段。TLS記錄協(xié)議處理數(shù)據(jù)的加密,,即記錄協(xié)議得到要發(fā)送的消息之后,,將數(shù)據(jù)分成易于處理的數(shù)據(jù)分組,進(jìn)行數(shù)據(jù)壓縮處理(可選),,計(jì)算數(shù)據(jù)分組的消息認(rèn)證碼MAC,,加密數(shù)據(jù)然后發(fā)送;接收到的消息首先被解密,,然后校驗(yàn)MAC值,,解壓縮,重組,,最后傳遞給協(xié)議的高層客戶,。
TLS握手協(xié)議處理對(duì)等用戶的認(rèn)證,在這一層使用了公共密鑰和證書,,并協(xié)商算法和加密實(shí)際數(shù)據(jù)傳輸?shù)拿荑€,,該過(guò)程在TLS記錄協(xié)議之上進(jìn)行。TLS握手協(xié)議是TLS協(xié)議中最復(fù)雜的部分,,它定義了10種消息,,客戶端和服務(wù)器利用這10種消息相互認(rèn)證,協(xié)商哈希函數(shù)和加密算法并相互提供產(chǎn)生加密密鑰的機(jī)密數(shù)據(jù),。TLS記錄協(xié)議會(huì)在加密算法中用到這些加密密鑰,,從而提供數(shù)據(jù)保密性和一致性保護(hù)。
EAPTLS為基于EAP承載的TLS認(rèn)證協(xié)議,。EAP消息是載體,,TLS是具體的認(rèn)證方法。EAP-TLS協(xié)議是基于證書的用戶身份驗(yàn)證方法,。在使用時(shí),,需要在認(rèn)證客戶端(即終端)中部署證書鏈、用戶證書和私鑰文件,,認(rèn)證服務(wù)器端需要部署證書鏈,、認(rèn)證服務(wù)器證書和私鑰文件。
2本文研究的無(wú)卡終端認(rèn)證方法原理
在終端經(jīng)WLAN以非授信模式接入到EPC時(shí),,為了便于說(shuō)明本文所研究的接入認(rèn)證過(guò)程與3GPP標(biāo)準(zhǔn)過(guò)程的改進(jìn)和區(qū)別,,首先對(duì)標(biāo)準(zhǔn)的接入認(rèn)證過(guò)程進(jìn)行簡(jiǎn)單說(shuō)明。3GPP標(biāo)準(zhǔn)定義的EAPAKA認(rèn)證過(guò)程如圖2所示,。
在終端與ePDG基于IKEv2協(xié)議(Internet Key Exchange version 2,,Internet密鑰交換協(xié)議版本2)進(jìn)行鑒權(quán)和安全隧道建立的過(guò)程中,會(huì)經(jīng)ePDG(evolved Pacekt Data Gataway,,演進(jìn)的分組數(shù)據(jù)網(wǎng)關(guān))與EPC網(wǎng)絡(luò)中的3GPP AAA和HSS交互,,對(duì)用戶進(jìn)行身份認(rèn)證,,此時(shí)所采用的認(rèn)證方法就是標(biāo)準(zhǔn)的EAP-AKA認(rèn)證。這個(gè)認(rèn)證過(guò)程要求終端中必須有用戶的SIM信息,,然后終端和EPC中的3GPP AAA和HSS基于相同的SIM信息,,采用AKA(Authentication and Key Agreement,認(rèn)證與密鑰協(xié)商協(xié)議)算法完成認(rèn)證,。
這種認(rèn)證方法的優(yōu)點(diǎn)是安全、可靠,、用戶無(wú)感知,,并基于用戶的SIM信息,因此在移動(dòng)通信網(wǎng)絡(luò)中普遍使用,,但正如同本文引言中所描述的那樣,,對(duì)于無(wú)卡終端,由于沒(méi)有用戶的SIM信息,,因此不能進(jìn)行EAPAKA認(rèn)證,,終端無(wú)法接入EPC,限制了用戶的使用,。針對(duì)這種應(yīng)用場(chǎng)景,,本文研究并提出了一種基于證書的校驗(yàn)方式,即EAPTLS,,來(lái)完成對(duì)用戶身份的認(rèn)證,。
采用EAPTLS之后的用戶認(rèn)證過(guò)程示意圖如圖3所示。
相比圖2,,圖3中最大的改進(jìn)是用戶經(jīng)ePDG與EPC網(wǎng)絡(luò)中的3GPP AAA和HSS交互時(shí),,采用的身份認(rèn)證方法是基于證書的EAPTLS認(rèn)證,其他流程并沒(méi)有變化,。
采用EAPTLS認(rèn)證方法時(shí),,無(wú)卡終端可以接入EPC的原理:(1)EAPTLS鑒權(quán)是基于證書的,不需要終端中圖3采用EAPTLS之后的用戶認(rèn)證過(guò)程示意圖
有用戶的SIM信息,,因此可以解決終端無(wú)SIM信息的缺陷,;(2)對(duì)EPC網(wǎng)絡(luò)來(lái)說(shuō),如果用戶能夠接進(jìn)來(lái),,則用戶至少要有移動(dòng)通信網(wǎng)絡(luò)必需的IMSI(International Mobile Subscriber Identification Number,,國(guó)際移動(dòng)用戶識(shí)別碼)。因此,,為了保證無(wú)卡終端在EPC網(wǎng)絡(luò)中有可識(shí)別的IMSI,,基于證書的EAPTLS認(rèn)證過(guò)程要求用戶在認(rèn)證過(guò)程中用圖4無(wú)卡終端認(rèn)證方法流程說(shuō)明(下轉(zhuǎn)第90頁(yè))戶標(biāo)示部分必須包含有用戶的有效IMSI。例如EPC已經(jīng)為用戶分配IMSI為:234150999999999,,則無(wú)卡終端在用戶鑒權(quán)過(guò)程中,,用戶標(biāo)示部分可以為:T234150999999999@ epc.mnc015.mcc234.3gppnetwork.org,,這里前綴T標(biāo)示采用EAPTLS鑒權(quán)方法。需要注意的是,,除了前綴外,,用戶名的其他部分格式需要符合3GPP標(biāo)準(zhǔn)規(guī)范的規(guī)定,見(jiàn)參考文獻(xiàn)[9],。
3本文研究的無(wú)卡終端認(rèn)證方法流程說(shuō)明
本文研究的無(wú)卡終端認(rèn)證方法的前提:無(wú)卡終端中已經(jīng)部署證書鏈,、用戶證書和私鑰文件,且無(wú)卡終端支持在認(rèn)證過(guò)程中用戶標(biāo)示部分?jǐn)y帶有IMSI,;EPC中的3GPP AAA服務(wù)器已經(jīng)部署證書鏈,、認(rèn)證服務(wù)器證書和私鑰文件。流程如圖4所示,。
步驟1:無(wú)卡終端向ePDG發(fā)起初始附著,;
步驟2:ePDG向3GPP AAA發(fā)送DER初始接入消息,進(jìn)行鑒權(quán)和授權(quán),,3GPP AAA收到消息之后,,檢查EAPPayload字段攜帶的內(nèi)容,其中用戶標(biāo)示參數(shù)中包含有用戶的IMSI信息,,且前綴為T,,判定為EAPTLS接入;
步驟3:3GPP AAA返回DEA消息(TLSStart),,開(kāi)始進(jìn)行EAPTLS交互,;
步驟4:ePDG根據(jù)客戶端發(fā)送的EAP消息,發(fā)送DER握手消息(TLSClientHello)到3GPP AAA,;
步驟5:3GPP AAA返回DEA消息(TLSServerHello)給ePDG,,返回服務(wù)端保存的證書信息;
步驟6:ePDG把收到的服務(wù)端證書信息透?jìng)鹘o終端,,終端對(duì)服務(wù)端證書進(jìn)行認(rèn)證通過(guò)之后,,把自己的證書信息傳給ePDG,ePDG發(fā)送DER消息(TLS Certificate)給3GPP AAA,;
步驟7:3GPP AAA收到DER消息(TLS Certificate)之后,,校驗(yàn)終端證書的簽名、有效期等,,校驗(yàn)通過(guò)之后,,發(fā)送握手完成DEA消息(ChangeCipherSpec、TLS finished)給ePDG,;
步驟8:ePDG再次發(fā)送DER消息,,確認(rèn)收到DEA的握手消息,3GPP AAA收到確認(rèn)消息之后發(fā)送MAR消息(消息中攜帶有用戶的IMSI)到EPC HSS獲取鑒權(quán)數(shù)據(jù)、發(fā)送SAR消息到EPC HSS獲取用戶數(shù)據(jù),,本端授權(quán)檢查通過(guò)之后,,返回DEA成功消息,表示ePDG和3GPP AAA之間的鑒權(quán)和授權(quán)完成,,同時(shí)向EPC HSS發(fā)送SAR注冊(cè)消息,,通知EPC HSS用步驟9:ePDG發(fā)送PMIP建立流程到PDN GW,PGW發(fā)送AAR消息到3GPP AAA建立PDN連接,,3GPP AAA發(fā)送SAR的PGW更新消息到EPC HSS更新PDN GW連接使用的PGW地址,,交互完成;
步驟10:無(wú)卡終端采用EAPTLS認(rèn)證方法初始附著到EPC成功完成,。
4總結(jié)
本文所研究的認(rèn)證方法作為對(duì)標(biāo)準(zhǔn)認(rèn)證方法的完善和擴(kuò)展,,在某運(yùn)營(yíng)商的4G網(wǎng)絡(luò)中得到了部署和應(yīng)用。首先對(duì)使用無(wú)卡終端或者軟終端(APP)的用戶發(fā)布證書文件,,用戶在終端上進(jìn)行裝載,然后此類用戶通過(guò)WLAN以非授信模式附著到4G的EPC網(wǎng)絡(luò)時(shí),,就會(huì)啟用基于證書的EAPTLS方式與EPC交互進(jìn)行身份識(shí)別和認(rèn)證,,并成功附著到EPC網(wǎng)絡(luò)。當(dāng)然,,對(duì)無(wú)卡終端的認(rèn)證方式除了EAPTLS外,,還有EAPPEAP、EAPPEAK等其他認(rèn)證方法,,這些可以作為以后研究的方向,。
參考文獻(xiàn)
[1] 3GPP. TS 23.402 V8.9.0 Architecture enhancements for non-3GPP accesses(Release 8)[S]. 2010.
?。?] 3GPP. TS 29.273 V10.1.0 3GPP EPS AAA interfaces (Release 10) [S]. 2010.
?。?] 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.
?。?] ABOBA B, BLUNK L, VOLLBRECHT J,et al. RFC 3748 extensible authentication protocol (EAP) [S]. 2004.
?。?] 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.
?。?] DIERKS T, RESCORLA E. RFC 4346 the transport layer security (TLS) protocol version 1.1 [S] . 2006.
?。?] 3GPP. TS 23.003 V10.2.0 Numbering, addressing and identification (Release 10) [S]. 2011.