郭旭東, 劉建偉
(北京航空航天大學 電子信息工程學院,北京100191)
當前使用的基于口令的認證協(xié)議大部分基于這樣的機制[1]:認證服務(wù)器隨機生成一個挑戰(zhàn)值發(fā)送給客戶端,客戶端將口令與挑戰(zhàn)值進行 HASH運算,并將運算結(jié)果作為響應(yīng)值回發(fā)給認證服務(wù)器,認證服務(wù)器從數(shù)據(jù)庫中取出該用戶的口令,隨后進行相同的 HASH運算,將運算結(jié)果與客戶端回傳的響應(yīng)值進行比對,來驗證客戶端身份的真實性。以上這一流程基本描述了 CHAP, MS-CHAP, MS-CHAP-V2, EAP/MD5-Challenge和EAP/One-Time Password等認證協(xié)議的工作機制。挑戰(zhàn)應(yīng)答機制的缺點是:如果竊聽者竊取到挑戰(zhàn)-響應(yīng)值,就可以發(fā)起字典攻擊。竊聽者將口令字典中的口令與獲得的挑戰(zhàn)值進行 HASH來猜測用戶口令。由于用戶口令一般較短且具有一定特征,例如:生日,電話號碼,車牌號等。所以字典攻擊對于挑戰(zhàn)應(yīng)答機制是一種非常有效的攻擊手段。在有線網(wǎng)絡(luò)通信中,攻擊者成功竊取挑戰(zhàn)-響應(yīng)值實際上是一件比較困難的事情。但是在無線網(wǎng)絡(luò)中,由于其通信鏈路的天然開放性,并且無線網(wǎng)絡(luò)通常作為接入網(wǎng),處于邊緣網(wǎng)絡(luò),所以非常容易遭受竊聽攻擊,中間人攻擊等。EAP-TTLS協(xié)議可以將傳統(tǒng)的基于挑戰(zhàn)應(yīng)答機制的認證方法應(yīng)用于無線網(wǎng)絡(luò),并有效保護無線鏈路,防止竊聽攻擊。
圖1描述了EAP-TTLS通用的網(wǎng)絡(luò)拓撲圖。在網(wǎng)絡(luò)邏輯結(jié)構(gòu)中,一般包含4個實體,各個實體間的安全關(guān)系為:①客戶端與接入點AP/NAS之間在通信前不存在任何安全關(guān)聯(lián);② 網(wǎng)絡(luò)接入點,TTLS服務(wù)器,AAA服務(wù)器在通信前與相連接的實體已存在安全關(guān)聯(lián)。例如,無線接入點與 TTLS服務(wù)器之間,TTLS服務(wù)器與AAA服務(wù)器之間,事先存在一個共享的密鑰。EAP-TTLS是 EAP-TLS認證方法的擴展。EAP-TTLS通信過程如圖1所示,可以劃分為兩個階段:第一階段,TLS握手過程。該階段實現(xiàn)客戶端對服務(wù)器的單向認證(服務(wù)器同時也可以認證客戶端,但一般放在第二階段),同時在客戶端與 TTLS服務(wù)器之間進行密碼組件協(xié)商協(xié)商與密鑰材料交換,建立一個安全隧道;第二階段,隧道階段。在安全隧道的保護下,服務(wù)器對客戶端進行認證,認證成功后,進一步協(xié)商客戶端與 AP之間進行安全的數(shù)據(jù)通信所使用的密碼組件與密鑰材料。最終實現(xiàn)在客戶端與無線接入點 AP之間進行安全通信。
筆者在研究EAP-TTLS協(xié)議時,查閱了國內(nèi)相關(guān)的研究文獻,發(fā)現(xiàn)有一個共同問題:即關(guān)于 EAP-TTLS的兩次密碼組件協(xié)商,密鑰材料交換以及各級密鑰的產(chǎn)生過程分析不明確,所以筆者在此主要對上述幾個問題作了詳細論述,關(guān)于EAP-TTLS認證流程的其他問題可參閱文獻[2-4]或國內(nèi)相關(guān)文獻。圖2是基于EAP-TTLS的CHAP的認證流程圖。
①在客戶端與訪問節(jié)點AP之間使用鏈路層協(xié)議,如PPP,EAPOL等協(xié)議來承載EAP協(xié)議。在訪問節(jié)點AP與TTLS服務(wù)器之間使用Radius協(xié)議或Diameter協(xié)議來封裝EAP協(xié)議;
②存在兩次密碼組件協(xié)商與密鑰材料交換。如圖2中虛線方框所示,在第一階段和第二階段都存在密碼組件協(xié)商與密鑰材料交換過程,但兩者目的不同。第一階段的密碼組件協(xié)商與密鑰材料交換是為了在客戶端與 EAP-TTLS服務(wù)器之間建立安全隧道。第二階段的密碼組件協(xié)商與密鑰材料交換是為了在客戶端與無線節(jié)點之間建立安全的通信鏈路。值得注意的是客戶端與無線節(jié)點 AP之間所需的密碼組件和密鑰材料是由客戶端與TTLS服務(wù)器之間進行協(xié)商,最后由TTLS服務(wù)器將協(xié)商結(jié)果轉(zhuǎn)發(fā)給無線節(jié)點AP。目的是為了防止假冒節(jié)點攻擊;
③相對于無線節(jié)點AP,TTLS優(yōu)先考慮客戶端的密碼組件。TTLS隧道階段結(jié)束后,將在客戶端與無線節(jié)點AP之間建立起一個安全的通信鏈路。該通信鏈路所需的密碼組件是由TTLS服務(wù)器在優(yōu)先考慮客戶端支持的密碼組件的情況下,對客戶端與無線節(jié)點提供的密碼組件進行折中的一個結(jié)果。如圖 2所示,無線節(jié)點通過虛線橢圓框所標注的 RADIUS Access-Request消息,將自己所支持的密碼組件發(fā)送給TTLS服務(wù)器??蛻舳嗽谒淼离A段,將密碼組件與認證消息一同發(fā)送給TTLS服務(wù)器。EAP-TTLS協(xié)議要求,通信雙方必須支持的密碼組件為:TLS_RSA_WITH_3DES_EDE_CBC_SHA,可選擇支持的有[5-6]:TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_RC4_128_MD5,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DH_DSS_WITH_DES_CBC_SHA,TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA等。每一組密碼組件包括四個部分:密鑰交換算法,加密算法,密鑰長度,MAC算法;
④TTLS密鑰體系。一個完整的TTLS會話會建立兩套密鑰材料:一套用于隧道通信;另一套用于客戶端與無線節(jié)點AP之間安全的數(shù)據(jù)通信。兩套密鑰材料都是基于同一個 Master Secret。如圖3所示,Master_Secret的產(chǎn)生過程如下:
Master_Secret=TLS-PRF-48(pre_master_secret,"master secret", client.random || server.random)TLS- PRF-X是TLS協(xié)議用于產(chǎn)生X bit的偽隨機函數(shù)。client. random,server.random是分別在Client Hello消息和Server Hello消息中的 28 Bytes的隨機數(shù)。Pre_master_ secret是 TTLS的預主密鑰,在TLS握手階段中產(chǎn)生。根據(jù)密碼組件中指定的密鑰交換算法不同,預主密鑰的產(chǎn)生機制也不完全相同。當密鑰交換算法為RSA時,則由客戶端產(chǎn)生一個48Bytes的偽隨機數(shù)作為Pre_master_secret,使用服務(wù)器證書中的RSA公鑰加密,通過Client_Key_Exchange消息傳遞給TTLS服務(wù)器;當密鑰交換算法為DH_DSS時,則客戶端將自己的DH公鑰傳遞給TTLS服務(wù)器,雙方根據(jù)DH算法產(chǎn)生Pre_master_secret。
(1) 隧道通信所需要的密鑰材料
MSK,EMSK,IV由Master_Secret導出,具體導出過程如下[3]:
(2)客戶端與無線節(jié)點之間所需的密鑰材料
MSK,EMSK也由Master_Secret導出,具體導出過程如下[2]:
MSK與EMSK在客戶端與TTLS服務(wù)器端單獨生成,當客戶端認證通過后,由TTLS將MSK,EMSK等密鑰材料傳遞給無線節(jié)點AP。
EAP是一個普遍使用的認證框架,而不是一個特殊的認證機制,經(jīng)常被用于點到點的連接中。EAP提供一些公共的功能,并且允許協(xié)商所希望的認證機制。這些機制被叫做EAP方法。EAP作為一種認證框架,本身并不提供安全保證。例如EAP-CHAP,EAP-MD5等以明文的方式傳遞信任狀等認證信息。對認證消息的保護完全依賴于EAP方法,例如EAP-TLS則提供了對認證消息的保護。
EAP-TTLS與EAP的功能非常相似,只是對認證消息作了更加完善的保護。EAP_TTLS的設(shè)計初衷就是將傳統(tǒng)的認證方法應(yīng)用于容易遭受竊聽攻擊的無線網(wǎng)絡(luò)。EAP-TTLS協(xié)議分為兩個階段:①客戶端認證 TTLS服務(wù)器,并在兩者間建立一條安全隧道;②隧道認證,雙方協(xié)商認證機制,如CHAP,MD5等,實現(xiàn)服務(wù)器對客戶端的認證,在此基礎(chǔ)上,進一步協(xié)商隨后數(shù)據(jù)通信所需的密碼組件和密鑰材料。
WiMAX是繼WCDMA、CDMA2000和TD-SCDMA之后被國際電信聯(lián)盟承認的第四個3 G標準。它通過安全子層對身份認證、密鑰管理,數(shù)據(jù)安全傳輸進行管理。安全子層的具體實現(xiàn)協(xié)議為密鑰管理協(xié)議(PKM)。PKMv1是密鑰管理協(xié)議的第一個版本。該版本規(guī)定基站BS采用數(shù)字證書的形式對移動結(jié)點MS進行認證,其缺點在于僅支持單向認證,無法防止假冒基站攻擊。關(guān)于WiMAX網(wǎng)絡(luò)存在的安全漏洞,文獻[9]作了較詳細的討論,在此不再贅述。PKMv2[7]針對PKMv1的單向認證漏洞作了修訂,該版本要求移動節(jié)點與基站采用雙向認證。具體有兩種實現(xiàn)方案:①基于RSA的數(shù)字證書;②采用EAP協(xié)議。文獻[8]中也闡述了PKMv2引入EAP協(xié)議的思想,但并未對EAP所采用的方法做規(guī)定,只是要求經(jīng)過EAP認證后,在BS與MS之間建立一個64Bytes共享主密鑰MSK。由MSK結(jié)合密鑰導出算法逐級導出PMK/EIK、AK、KEK,CMAC/HMAC等密鑰。由此可見,MSK的保密性是整個PKMv2協(xié)議安全的關(guān)鍵。
①由2.1節(jié)分析可知,EAP所支持的大多數(shù)方法EAP- TTLS都支持。例如,EAP-PAP,EAP-CHAP等。并且在客戶端與服務(wù)器之間建立了安全的隧道,可以保證EAP認證在客戶端與服務(wù)器之間產(chǎn)生的MSK的保密性。所以,在正真意義上體現(xiàn)了EAP可擴展性的優(yōu)點,使傳統(tǒng)的認證方法應(yīng)用于無線網(wǎng)絡(luò)認證;
②EAP-TTLS支持雙向認證,滿足WiMAX對安全性的要求。同時與PKMv2建議的基于RSA的數(shù)字證書的雙向認證相比具有更大的靈活性,不僅減少了對 MS同時存儲大量客戶數(shù)字證書的要求,而且也增加了BS對MS認證方法的靈活性;
③由圖1可知EAP-TTLS網(wǎng)絡(luò)架構(gòu)與WiMAX網(wǎng)絡(luò)架構(gòu)非常相似。AP相對于MS,TTLS與AAA服務(wù)器結(jié)合相對于WiMAX的后臺服務(wù)器,不僅可以完成認證,授權(quán),計費功能,而且可以實現(xiàn)漫游功能。
從網(wǎng)絡(luò)架構(gòu),認證流程等方面對EAP-TTLS協(xié)議進行了分析,特別是針對國內(nèi)相關(guān)方面文獻沒有明確指出EAP-TTLS協(xié)議兩次密碼組件協(xié)商與密鑰材料交換;或雖然指出TTLS兩次密碼組件協(xié)商、密鑰材料交換,但是僅分析了其中用于建立隧道的密碼組件協(xié)商、密鑰材料交換的過程等情況,明確指出了TTLS兩次密碼組件協(xié)商、密鑰材料交換過程,并從目的性及具體實現(xiàn)流程作了詳細的論述。WiMAX網(wǎng)絡(luò)的PKMv2協(xié)議提出了在其認證過程采用EAP方法的建議。通過對EAP與EAP-TTLS的比較,發(fā)現(xiàn)EAP-TTLS協(xié)議更加適用于WiMAX網(wǎng)絡(luò)的認證過程,而且在真正意義上符合了EAP協(xié)議可擴展性的設(shè)計初衷,將傳統(tǒng)的基于挑戰(zhàn)應(yīng)答機制的認證方法應(yīng)用于無線網(wǎng)絡(luò)認證。
[1] MADJID Nakhjiri, MASHA Nakhjiri. AAA and Network Security for Mobile Access[M].UK: John Wiley & Sons Ltd, 2005.
[2] FUNK P, BLALE W S. Extensible Authentication Protocol Tunneled Transport Layer Security Authenticated Protocol Version 0(EAP-TTLSv0)[S].[s.l.]:RFC,2008.
[3] Simon D, Aboba B, Hurst R. The EAP-TLS Authentication Protocol[S].[s.l.]:RFC,2008.
[4] IEEE Std. 802.16-2004. IEEE Standard for Local and Metropolitan Area Networks, part 16: Air Interface for Fixed Broadband Wireless Access Systems[S].USA:IEEE Press,2004.
[5] DIERKS T,RESCORLA E. The Transport Layer Security (TLS)Protocol Version 1.1[S].[s.l.]:RFC,2006.
[6] ABOBA B, BLUNK L, VOLLBRECHT J, et al. Extensible Authentication Protocol (EAP)[S].[s.l.]: RFC,2004.
[7] IEEE Std. 802.16e/D12. IEEE Standard for Local and Metropolitan Area Networks, part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems[S].USA:IEEE Press,2005.
[8] 胡濤,薛質(zhì),李建華.WiMAX安全機制分析與研究[J].信息安全與通信保密,2008(06):75-77.
[9] 謝蕾.移動 WiMAX的安全性分析與改進[J].通信技術(shù),2009,42(02):264-269.