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