王思涵, 郭淵博, 劉 偉
(解放軍信息工程大學(xué) 電子技術(shù)學(xué)院,河南 鄭州 450004)
MESH是一種新型的無(wú)線網(wǎng)絡(luò)技術(shù),由于其自身具有多跳、自配置、自愈合、高帶寬[1]等特點(diǎn),彌補(bǔ)了傳統(tǒng)無(wú)線局域網(wǎng)(WLAN)絡(luò)在這些方面的不足,因此成為目前人們所關(guān)注的一項(xiàng)焦點(diǎn)無(wú)線技術(shù)。當(dāng)前,WLAN MESH網(wǎng)絡(luò)技術(shù)仍處于理論研究和驗(yàn)證階段,相關(guān)技術(shù)尚未完全成熟。有關(guān)WLAN MESH網(wǎng)絡(luò)的安全接入認(rèn)證問(wèn)題,一直沒(méi)有很好的定義或規(guī)范。
WLAN MESH網(wǎng)絡(luò)主要存在簡(jiǎn)單客戶端(Simple Station ,STA)和MESH節(jié)點(diǎn)(Mesh Point, MP)兩種網(wǎng)絡(luò)實(shí)體。其中WLAN MESH網(wǎng)絡(luò)的MP,是對(duì)WLAN網(wǎng)絡(luò)節(jié)點(diǎn)(AP)功能的擴(kuò)展。當(dāng)客戶端實(shí)施安全接入時(shí),不管是前期的認(rèn)證還是認(rèn)證后的數(shù)據(jù)通信,都需要經(jīng)由多跳,通過(guò)其它節(jié)點(diǎn)使用公開(kāi)的、自由傳播的無(wú)線信道來(lái)傳輸信號(hào),因此對(duì)越權(quán)存取和竊聽(tīng)的行為更不容易防備,易遭受信息竊取和拒絕服務(wù)攻擊。
IEEE802.11sMESH工作組提議利用IEEE802.11i機(jī)制下802.1x協(xié)議框架來(lái)實(shí)現(xiàn)WLAN MESH網(wǎng)絡(luò)中的安全接入控制,但對(duì)此并沒(méi)有給出詳細(xì)規(guī)范。本文提出一種基于802.1x認(rèn)證協(xié)議下的 EAP-TLS 認(rèn)證方式來(lái)實(shí)現(xiàn)WLAN MESH網(wǎng)絡(luò)的安全接入認(rèn)證。首先對(duì)EAP可擴(kuò)展協(xié)議下的TLS協(xié)議進(jìn)行分析,然后對(duì)基于WLAN MESH網(wǎng)絡(luò)中節(jié)點(diǎn)認(rèn)證角色進(jìn)行劃分,在此基礎(chǔ)之上研究了 EAP-TLS協(xié)議在 WLAN MESH網(wǎng)絡(luò)中的接入認(rèn)證過(guò)程,最后對(duì)EAP-TLS認(rèn)證協(xié)議進(jìn)行安全性分析。
EAP-TLS是在TLS協(xié)議的基礎(chǔ)上經(jīng)過(guò)EAP封裝得到的,它采用 TLS(傳輸層安全協(xié)議)的認(rèn)證方法,實(shí)現(xiàn)了兩個(gè)通信實(shí)體之間傳輸?shù)谋C苄院蛿?shù)據(jù)完整性。
TLS協(xié)議包括TLS記錄協(xié)議(TLS Record)和TLS握手協(xié)議(TLS Handshake) 兩個(gè)協(xié)議層,其中記錄協(xié)議建立在可靠的傳輸協(xié)議TCP之上,為較高層協(xié)議提供封裝、壓縮、加密等基本功能的支持;較高層握手協(xié)議建立在記錄協(xié)議之上實(shí)現(xiàn)了數(shù)據(jù)傳輸開(kāi)始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法-交換加密密鑰等功能。
記錄協(xié)議為上層的握手協(xié)議服務(wù)。在發(fā)送端,它從高層協(xié)議接收到要發(fā)送的數(shù)據(jù)后,對(duì)它們進(jìn)行數(shù)據(jù)分段、壓縮、形成 MAC、加密,最后傳輸;在接收端,處理解密、校驗(yàn)MAC、解壓縮、重組工作,最后傳遞給協(xié)議的高層客戶。
記錄協(xié)議是通過(guò)將數(shù)據(jù)流分割成一系列的片段并加以傳輸?shù)?,其中?duì)每個(gè)片段單獨(dú)進(jìn)行保護(hù)和傳輸。在接收方,對(duì)每條記錄單獨(dú)進(jìn)行解密和驗(yàn)證這種方案使得數(shù)據(jù)可以從連接的一端傳送到另一端,并在接收后即刻加以處理。
在傳輸片段之前,為了防止所遭到的攻擊可以通過(guò)計(jì)算數(shù)據(jù)的 MAC來(lái)提供完整性保護(hù)。MAC與片段一起進(jìn)行傳輸,并由接收實(shí)現(xiàn)加以驗(yàn)證將MAC付加到片段的尾部,并對(duì)數(shù)據(jù)與MAC整合在一起的內(nèi)容進(jìn)行加密,形成經(jīng)過(guò)加密的負(fù)載(Pay Load),最后給負(fù)載裝上頭信息,頭信息與經(jīng)過(guò)加密的負(fù)載的連結(jié)稱作記錄,記錄是實(shí)際傳輸?shù)膬?nèi)容。傳輸過(guò)程如圖1所示。
握手協(xié)議位于記錄協(xié)議之上,主要由3個(gè)子協(xié)議組構(gòu)成--握手(Handshake)協(xié)議、警告(Alert)協(xié)議、改變密碼規(guī)格(Change Cipher Spec)協(xié)議,允許對(duì)等雙方在記錄層的安全參數(shù)上達(dá)成一致、自我認(rèn)證、初始化協(xié)商安全參數(shù)、互相報(bào)告錯(cuò)誤條件。TLS握手協(xié)議用來(lái)使服務(wù)器與客戶在傳輸應(yīng)用層數(shù)據(jù)之前交換TLS協(xié)議版本信息、協(xié)商加密算法、進(jìn)行身份認(rèn)證并交換密鑰。
TLS握手協(xié)議主要包括下面幾個(gè)步驟:
① 交換問(wèn)候(Hello)信息以協(xié)商密碼一致性,交換隨機(jī)值并檢查會(huì)話是否可重用;
② 交換必要的加密參數(shù)供客戶端和服務(wù)器端使用,協(xié)商Premaster Secret以達(dá)成預(yù)加密一致性;
③ 交換鑒權(quán)證書與加密信息,供客戶端和服務(wù)器端互相鑒權(quán)認(rèn)證使用;
④ 按指定的密鑰交換協(xié)議產(chǎn)生 Premaster Secret,再通過(guò)密鑰導(dǎo)出函數(shù)(KDF)計(jì)算客戶端和服務(wù)器端相應(yīng)的加密密鑰、MAD密鑰和IV;
⑤ 向記錄層加密參數(shù);
⑥ 允許客戶端和服務(wù)器檢查對(duì)方是否以相同的加密參數(shù)進(jìn)行計(jì)算,以及確定認(rèn)證過(guò)程是否成功。
WLAN MESH網(wǎng)絡(luò)的多跳通信方式不可避免地面臨著很多安全威脅,而安全接入認(rèn)證是保護(hù)網(wǎng)絡(luò)不被非法節(jié)點(diǎn)侵入的第一層防護(hù)。在 WLAN MESH網(wǎng)絡(luò)中,客戶端接入WLAN MESH網(wǎng)絡(luò)可以看作是WLAN終端接入網(wǎng)絡(luò),WLAN MESH網(wǎng)絡(luò)中的Mesh路由器可以充當(dāng)WLAN的AP,來(lái)對(duì)客戶端進(jìn)行驗(yàn)證。不同之處在于客戶端接入 WLAN MESH網(wǎng)絡(luò)采用的是多跳形式,需經(jīng)多跳節(jié)點(diǎn)之間的無(wú)線信道傳輸[2],節(jié)點(diǎn)的自私或惡意行為會(huì)嚴(yán)重導(dǎo)致網(wǎng)絡(luò)性能和安全下降,要保證節(jié)點(diǎn)傳輸數(shù)據(jù)的安全和隱私不受外界攻擊是一個(gè)巨大的安全挑戰(zhàn)。
EAP-TLS協(xié)議提供通信實(shí)體之間的雙向認(rèn)證[3],又提供動(dòng)態(tài)會(huì)話密鑰分發(fā),并且在通信雙方都要求持有公鑰證書,有效防止了竊聽(tīng)的被動(dòng)攻擊和中間人、會(huì)話劫持、重放、報(bào)文篡改等主動(dòng)攻擊, 保證了通信實(shí)體間數(shù)據(jù)傳輸?shù)耐暾院桶踩浴T械腅AP-TLS認(rèn)證方式是基于WLAN的接入方法,在WLAN網(wǎng)絡(luò)中只定義了STA、AP、AS三種角色,并且通過(guò)一些機(jī)制來(lái)強(qiáng)化這些節(jié)點(diǎn)的功能:安全的 STA-AS相互認(rèn)證、安全的AP-AS信道都保證了整個(gè)認(rèn)證過(guò)程的安全性。但這并不能滿足WLAN MESH網(wǎng)絡(luò)的安全接入認(rèn)證需求,在WLAN MESH網(wǎng)絡(luò)中則定義了更多角色的節(jié)點(diǎn):MP、MAP、MPP、STA和AS。當(dāng)一個(gè)MAP接入到WLAN MESH網(wǎng)絡(luò)中時(shí),首先需要和WLAN MESH網(wǎng)絡(luò)中的一跳范圍內(nèi)的可信節(jié)點(diǎn)MP進(jìn)行第一次認(rèn)證后,該MAP就可作為可信節(jié)點(diǎn),與其它要接入的客戶進(jìn)行認(rèn)證。基于 WLAN MESH網(wǎng)絡(luò)中接入認(rèn)證所需的節(jié)點(diǎn)功能定義如下:
① Mesh Point(MP):在 Mesh網(wǎng)絡(luò)中,使用 IEEE 802.11MAC和PHY協(xié)議進(jìn)行無(wú)線通信,并且支持Mesh功能的節(jié)點(diǎn)。該節(jié)點(diǎn)支持自動(dòng)拓?fù)?、路由的自?dòng)發(fā)現(xiàn)、數(shù)據(jù)包的轉(zhuǎn)發(fā)等功能;
② Mesh AP (MAP):任何支持 AP 功能的 Mesh Point;
③ MP/MAP with Mesh Portal(MPP):連接 WLAN Mesh和其它類型的網(wǎng)絡(luò)并轉(zhuǎn)發(fā)通信的MP/MAP節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)具有 Portal功能,通過(guò)這個(gè)節(jié)點(diǎn),Mesh 內(nèi)部的節(jié)點(diǎn)可以和外部網(wǎng)絡(luò)通信;
④ 簡(jiǎn)單客戶端(Simple Station,STA):即為802.11無(wú)線局域網(wǎng)中的客戶端;
⑤ 認(rèn)證服務(wù)器(AS):通常為 RADIUS 服務(wù)器,該服務(wù)器可以存儲(chǔ)有關(guān)用戶的信息. 當(dāng)用戶通過(guò)認(rèn)證后,AS會(huì)把用戶的相關(guān)信息傳遞給認(rèn)證者,由認(rèn)證者構(gòu)建動(dòng)態(tài)的訪問(wèn)控制列表,用戶的后續(xù)數(shù)據(jù)流就將接受上述參數(shù)的監(jiān)管。
在一個(gè)WLAN MESH 網(wǎng)絡(luò)中,MP可以擔(dān)任申請(qǐng)者和認(rèn)證者兩種角色,同時(shí)AS可以被綁定在一個(gè)MP中,也可以位于遠(yuǎn)端,和認(rèn)證者M(jìn)P之間建立安全連接。
在WLAN MESH網(wǎng)絡(luò)環(huán)境中,WLAN MESH作為EAP的傳輸網(wǎng)絡(luò),采用TLS認(rèn)證方式,在客戶端與認(rèn)證者之間使用EAPOL協(xié)議[4]傳送認(rèn)證信息,認(rèn)證者與認(rèn)證服務(wù)器之間通過(guò)RASIUS協(xié)議[4]傳送認(rèn)證信息,EAPOL和RASIUS數(shù)據(jù)包中封裝了 EAP-TLS協(xié)議,在客戶端和認(rèn)證服務(wù)器直接傳遞EAP-TLS協(xié)議。基于EAP-TLS的認(rèn)證協(xié)議棧如圖2所示。
EAP-TLS認(rèn)證方案實(shí)現(xiàn)了客戶端與認(rèn)證服務(wù)器的雙向認(rèn)證并對(duì)認(rèn)證雙方采用了加密解密算法并對(duì)生成的密鑰達(dá)成了共識(shí)。EAP-TLS認(rèn)證方式要求客戶端與認(rèn)證服務(wù)器必須提供由認(rèn)證中心CA簽發(fā)的用于證明用戶和公開(kāi)密鑰之間關(guān)聯(lián)的證書,在提供證書的同時(shí),必須提供有關(guān)能夠讓客戶端與認(rèn)證服務(wù)器雙方對(duì)認(rèn)證中心的權(quán)威性達(dá)成共識(shí)的證明材料,即在交換證書的同時(shí),客戶端與認(rèn)證服務(wù)器要協(xié)商出一個(gè)會(huì)話基于會(huì)話的密鑰,一旦認(rèn)證通過(guò),服務(wù)器將會(huì)話密鑰傳給認(rèn)證者允許該客戶端訪問(wèn)網(wǎng)絡(luò)。
圖3 基于WLAN MESH 網(wǎng)絡(luò)的EAP-TLS 認(rèn)證流程
基于WLAN MESH網(wǎng)絡(luò)中EAP-TLS認(rèn)證方式的具體過(guò)程如圖3所示。
① MAP→MP :MAP向MP發(fā)送EAPOL-Start幀開(kāi)始雙向認(rèn)證;
② MP→MAP:MP接受MAP發(fā)送的幀后通過(guò)EAP請(qǐng)求要求MAP提供身份標(biāo)識(shí);
③ MAP→MP→AS:MAP向 MP發(fā)送 EAP-Response/Identity幀,提供身份標(biāo)識(shí);MP將身份標(biāo)識(shí)信息封裝成RADIUS Access Repuest幀轉(zhuǎn)發(fā)給服務(wù)器AS;
④ AS→MP→MAP:AS收到MP轉(zhuǎn)發(fā)的信息后,將核查用戶,找到匹配項(xiàng),進(jìn)行加密處理,在獲知采用 EAP-TLS為認(rèn)證協(xié)議后,向MAP發(fā)送一個(gè)啟用TLS認(rèn)證過(guò)程的EAP請(qǐng)求報(bào)文,并有MP傳送;
⑤ MAP→AS:MAP收到MP傳送的信息后,并對(duì)信息進(jìn)行加密解密處理,通過(guò)發(fā)送客戶的Hello消息開(kāi)始TLS認(rèn)證過(guò)程,由MP轉(zhuǎn)發(fā)AS;
⑥ AS→MAP:AS發(fā)送服務(wù)器Hello消息、密鑰消息、服務(wù)器證書、證書請(qǐng)求,這些消息被封裝在EAP報(bào)文中傳輸給MAP;
⑦ MAP→AS:MAP收到報(bào)文后,首先對(duì)AS提供的證書進(jìn)行鑒別,然后發(fā)送客戶證書消息、密鑰消息、證書證明、密鑰切換、結(jié)束消息;
⑧ AS→MAP:如果AS成功認(rèn)證MAP,則解密預(yù)主密鑰PMK,然后執(zhí)行一系列步驟產(chǎn)生主密鑰MK,向MAP發(fā)送密鑰切換消息和結(jié)束消息,否則會(huì)話終止;
⑨ MAP→AS:MAP對(duì)收到服務(wù)器計(jì)算的主密鑰進(jìn)行求證,如果和自己計(jì)算的相同,認(rèn)證過(guò)程正常結(jié)束,并向 AS發(fā)送EAP響應(yīng)報(bào)文,否則終止認(rèn)證;
⑩ AS→MAP:A向MP發(fā)送RADIUS允許接入報(bào)文,并在報(bào)文中給出MAP和AS確定的MK(主密鑰),隨后MP向MAP發(fā)送EAP成功報(bào)文,認(rèn)證過(guò)程完成。
從上面的認(rèn)證過(guò)程可以看出,MAP首先作為客戶端訪問(wèn)WLAN MESH網(wǎng)絡(luò)時(shí),需要與網(wǎng)絡(luò)中一跳范圍內(nèi)的鄰近節(jié)點(diǎn)MP進(jìn)行認(rèn)證,并且在認(rèn)證前作為客戶端的MAP和服務(wù)器都需要生成各自的證書,然后通過(guò)MAP訪問(wèn)網(wǎng)絡(luò)開(kāi)始它與AS的EAP-TLS雙向認(rèn)證過(guò)程。如果認(rèn)證成功,該MAP就可作為WLAN MESH網(wǎng)絡(luò)中的可信節(jié)點(diǎn)同時(shí)也可作為認(rèn)證者與STA進(jìn)行認(rèn)證。
針對(duì) WLAN MESH網(wǎng)絡(luò)中存在的安全隱患可對(duì)EAP-TLS的認(rèn)證過(guò)程做以下安全性分析:
① 客戶和服務(wù)器雙方都是基于公鑰證書前提下進(jìn)行雙向認(rèn)證[5],并且通信雙方可以使用公鑰密碼RSA算法進(jìn)行認(rèn)證,該算法使得通信雙方事先不需要通過(guò)保密信道交換密鑰;
② 通信實(shí)體雙方共享密鑰的協(xié)商是保密、可靠的,即使攻擊者能發(fā)起中間人攻擊,協(xié)商的密鑰也不可能被竊聽(tīng)者獲得,也不能隨意的篡改協(xié)商通信消息。因?yàn)?EAP-TLS協(xié)議實(shí)現(xiàn)客戶和AS服務(wù)器的雙向認(rèn)證,有效保證通信雙方身份的真實(shí)性;并且認(rèn)證服務(wù)器和客戶生成的共享會(huì)話密鑰,傳送時(shí)分別采用認(rèn)證服務(wù)器和客戶機(jī)的共享密鑰、公鑰相互加密傳送,從而保證了會(huì)話密鑰的機(jī)密性;
③ EAP-TLS雙向認(rèn)證可以防止中間人攻擊和“流氓”服務(wù)器攻擊[6]。EAP-TLS提供了客戶和服務(wù)器雙方雙向認(rèn)證使的中間人攻擊無(wú)法得逞,因?yàn)楫?dāng)客戶向認(rèn)證服務(wù)器提出認(rèn)證請(qǐng)求時(shí),攻擊者由于不知道預(yù)先共享密鑰或會(huì)話密鑰,所以無(wú)法假冒認(rèn)證服務(wù)器。
同樣的道理,“流氓”服務(wù)器攻擊也只能對(duì)單向認(rèn)證而言,即只有認(rèn)證服務(wù)器對(duì)用戶進(jìn)行認(rèn)證有效,對(duì)雙向認(rèn)證無(wú)效。
WLAN MESH網(wǎng)絡(luò)中的安全接入認(rèn)證是WLAN MESH網(wǎng)絡(luò)中需首要解決的安全問(wèn)題。本文在分析 EAP-TLS協(xié)議的基礎(chǔ)之上,提出一種基于EAP-TLS的WLAN MESH網(wǎng)絡(luò)安全接入認(rèn)證方案,針對(duì)WLAN MESH網(wǎng)絡(luò)的特點(diǎn)對(duì)原有WLAN中EAP-TLS協(xié)議進(jìn)行擴(kuò)展,并分析了EAP-TLS在WLAN MESH網(wǎng)絡(luò)中的應(yīng)用流程, EAP-TLS協(xié)議為WLAN MESH網(wǎng)絡(luò)中的兩個(gè)通信實(shí)體之間提供了數(shù)據(jù)的保密性和完整性,該協(xié)議采取了數(shù)據(jù)加密、數(shù)字簽名、報(bào)文驗(yàn)證等密碼技術(shù),較好地解決了在WLAN MESH網(wǎng)絡(luò)接入認(rèn)證過(guò)程中端到端的安全通信問(wèn)題。
[1] 徐穎.無(wú)線Mesh網(wǎng)的接入控制和密鑰管理[D].西安: 西安電子科技大學(xué),2007.
[2] 李娜.802.11mesh網(wǎng)的研究及其安全分析[J].技術(shù)分析,2008, 28(02):48-50.
[3] 柳瑞蕓,彭宇,張旭平.基于EAP的WLAN認(rèn)證技術(shù)[J].電信技術(shù),2004,3(02):56-58.
[4] 羅丹,陳常嘉. 802.1x協(xié)議及其應(yīng)用[J].網(wǎng)絡(luò)與信息安全,2007,22(01):49-52.
[5] 褚麗莉.無(wú)線局域網(wǎng)安全分析[J].通信技術(shù),2009, 42(07):34-36.
[6] 張芳,蔣秦芹.無(wú)線局域網(wǎng)安全機(jī)制增強(qiáng)技術(shù)研究[J].通信技術(shù),2008, 41(05):116-124.