802.1x協(xié)議及其在寬帶接入中的應(yīng)用
近年來,寬帶網(wǎng)接入逐漸成為網(wǎng)絡(luò)技術(shù)的熱點(diǎn),寬帶網(wǎng)建設(shè)蓬勃發(fā)展,業(yè)務(wù)如火如荼,成為網(wǎng)絡(luò)運(yùn)營商新的經(jīng)濟(jì)增長點(diǎn)。目前,廣泛采用的寬帶接入方式有HFC、xDSL、LAN接入等,其中,交換式以太網(wǎng)接入作為園區(qū)網(wǎng)建設(shè)的主流方案,以高帶寬,技術(shù)成熟,成本低廉,易于建設(shè)和易于管理的優(yōu)點(diǎn),成為網(wǎng)絡(luò)運(yùn)營商優(yōu)先采用的接入方式。但是,傳統(tǒng)的以太網(wǎng)接入方式由于采用廣播機(jī)制,其安全性較差,限制了它在公用接入網(wǎng)絡(luò)中的應(yīng)用。為了解決這個問題,目前廣泛使用PPPoE或Web+DHCP的方案,但這兩種方案都不能有效地解決認(rèn)證安全問題。IEEE802.1委員會提出的802.1x協(xié)議,其實(shí)現(xiàn)基于以太網(wǎng)交換機(jī),可以對用戶進(jìn)行認(rèn)證、授權(quán),從而為運(yùn)營商提供了一種更實(shí)用、更安全的用戶管理方式。本文主要介紹802.1x協(xié)議的基本原理及其在寬帶接入網(wǎng)中的應(yīng)用實(shí)例。
1802.1x協(xié)議結(jié)構(gòu)和基本原理
1.1802.1x協(xié)議
90年代后期,IEEE802LAN/WAN委員會為解決無線局域網(wǎng)網(wǎng)絡(luò)安全問題,提出了802.1x協(xié)議。后來,802.1x協(xié)議作為局域網(wǎng)端口的一個普通接入控制機(jī)制用在以太網(wǎng)中,主要解決以太網(wǎng)內(nèi)認(rèn)證和安全方面的問題。802.1x協(xié)議稱為基于端口的訪問控制協(xié)議(portbasednetwork access controlprotocol),該協(xié)議的核心內(nèi)容如圖1所示。
靠近用戶一側(cè)的以太網(wǎng)交換機(jī)上放置一個EAP(extensibleauthenticationprotocol)代理,用戶PC機(jī)運(yùn)行EAPoE(EAPoverEthernet)的客戶端軟件與交換機(jī)通信。初始狀態(tài)下,交換機(jī)上的所有端口處于關(guān)閉狀態(tài),只有802.1x數(shù)據(jù)流才能通過,而另外一些類型的網(wǎng)絡(luò)數(shù)據(jù)流,如動態(tài)主機(jī)配置協(xié)議、超文本傳輸協(xié)議(HTTP)、文件傳輸協(xié)議(FTP)、簡單郵件傳輸協(xié)議(SMTP)和郵局協(xié)議(POP3)等都被禁止傳輸。
當(dāng)用戶通過EAPoE登錄交換機(jī)時,交換機(jī)將用戶同時提供的用戶名口令傳送到后臺的Radius認(rèn)證服務(wù)器上。如果用戶名及口令通過了驗(yàn)證,則相應(yīng)的以太網(wǎng)端口打開,允許用戶訪問。
1.2802.1x協(xié)議的體系結(jié)構(gòu)
802.1x協(xié)議的體系結(jié)構(gòu)包括3個重要部分:客戶端(supplicantsystem)、認(rèn)證系統(tǒng)(authenticatorsystem)、認(rèn)證服務(wù)器(authenticationserversystem)。圖2描述了三者之間的關(guān)系以及互相之間的通信??蛻粝到y(tǒng)安裝一個客戶端軟件,用戶通過啟動客戶端軟件發(fā)起802.1x協(xié)議的認(rèn)證過程。為支持基于端口的接入控制,客戶端系統(tǒng)須支持EAPoL(EAPoverLAN)協(xié)議。
認(rèn)證系統(tǒng)通常為支持802.1x協(xié)議的網(wǎng)絡(luò)設(shè)備。該設(shè)備有2個邏輯端口:受控端口和不受控端口,對應(yīng)于不同用戶的端口。不受控端口始終處于雙向連通狀態(tài),主要用來傳遞EAPoL協(xié)議幀,保證客戶端始終可以發(fā)出或接受認(rèn)證;受控端口只有在認(rèn)證通過之后才打開,用于傳遞網(wǎng)絡(luò)資源和服務(wù)。如果用戶未通過認(rèn)證,受控端口處于未認(rèn)證狀態(tài),則用戶無法訪問認(rèn)證系統(tǒng)提供的服務(wù)。受控端口可配置為雙向受控、僅輸入受控2種方式,以適應(yīng)不同的應(yīng)用環(huán)境。
認(rèn)證系統(tǒng)的端口訪問實(shí)體通過不受控端口與客戶端端口訪問實(shí)體進(jìn)行通信,二者之間運(yùn)行EAPoL協(xié)議。認(rèn)證系統(tǒng)的端口訪問實(shí)體與認(rèn)證服務(wù)器之間運(yùn)行EAP協(xié)議。EAP協(xié)議并不是認(rèn)證系統(tǒng)和認(rèn)證服務(wù)器通信的唯一方式,其他的通信通道也可以使用。例如,如果認(rèn)證系統(tǒng)和認(rèn)證服務(wù)器集成在一起,2個實(shí)體之間的通信就可以不采用EAP協(xié)議。
認(rèn)證服務(wù)器通常為RADIUS服務(wù)器,該服務(wù)器可以存儲有關(guān)用戶的信息。例如,用戶的賬號、密碼以及用戶所屬的VLAN、CAR參數(shù),優(yōu)先級,用戶的訪問控制列表等。當(dāng)用戶通過認(rèn)證后,認(rèn)證服務(wù)器會把用戶的相關(guān)信息傳遞給認(rèn)證系統(tǒng),由認(rèn)證系統(tǒng)構(gòu)建動態(tài)的訪問控制列表,用戶的后續(xù)流量將接受上述參數(shù)的監(jiān)管。認(rèn)證服務(wù)器和RADIUS服務(wù)器之間通過EAP協(xié)議進(jìn)行通信。
1.3802.1x協(xié)議的工作機(jī)制
802.1x協(xié)議工作機(jī)制如圖3所示。由圖3可見,認(rèn)證的發(fā)起可以由用戶主動發(fā)起,也可以由認(rèn)證系統(tǒng)發(fā)起。當(dāng)認(rèn)證系統(tǒng)探測到未經(jīng)過認(rèn)證的用戶使用網(wǎng)絡(luò),就會主動發(fā)起認(rèn)證;用戶端則可以通過客戶端軟件向認(rèn)證系統(tǒng)發(fā)送EAPoL-Start開始報文發(fā)起認(rèn)證。由客戶端發(fā)送EAPoL退出報文,主動下線,退出已認(rèn)證狀態(tài)的直接結(jié)果就是導(dǎo)致用戶下線,如果用戶要繼續(xù)上網(wǎng)則要再發(fā)起一個認(rèn)證過程。
為了保證用戶和認(rèn)證系統(tǒng)之間的鏈路處于激活狀態(tài),而不因?yàn)橛脩舳嗽O(shè)備發(fā)生故障造成異常死機(jī),從而影響對用戶計費(fèi)的準(zhǔn)確性,認(rèn)證系統(tǒng)可以定期發(fā)起重新認(rèn)證過程,該過程對于用戶是透明的,即用戶無需再次輸入用戶名/密碼。重新認(rèn)證由認(rèn)證系統(tǒng)發(fā)起,時間從最近一次成功認(rèn)證后算起。重新認(rèn)證時間默認(rèn)值為3600s,而且默認(rèn)重新認(rèn)證是關(guān)閉的。
對于認(rèn)證系統(tǒng)和客戶端之間通信的EAP報文,如果發(fā)生丟失,由認(rèn)證系統(tǒng)負(fù)責(zé)進(jìn)行報文的重傳。在設(shè)定重傳的時間時,考慮網(wǎng)絡(luò)的實(shí)際環(huán)境,通常會認(rèn)為認(rèn)證系統(tǒng)和客戶端之間報文丟失的概率比較低以及傳送延遲短,因此一般通過一個超時計數(shù)器來設(shè)定,默認(rèn)重傳時間為30s。
對于有些報文的丟失重傳比較特殊,如EAPoL-Start報文的丟失,由客戶端負(fù)責(zé)重傳;而對于EAP失敗和EAP成功報文,由于客戶端無法識別,認(rèn)證系統(tǒng)不會重傳。由于對用戶身份合法性的認(rèn)證最終由認(rèn)證服務(wù)器執(zhí)行,認(rèn)證系統(tǒng)和認(rèn)證服務(wù)器之間的報文丟失重傳也很重要。另外,對于用戶的認(rèn)證,在執(zhí)行802.1x認(rèn)證時,只有認(rèn)證通過后,才有DHCP發(fā)起和IP分配的過程。由于客戶終端配置了DHCP自動獲取,則可能在未啟動802.1x客戶端之前,就發(fā)起了DHCP的請求,而此時認(rèn)證系統(tǒng)處于禁止通行狀態(tài),這樣認(rèn)證系統(tǒng)會丟掉初始化的DHCP幀,同時會觸發(fā)認(rèn)證系統(tǒng)發(fā)起對用戶的認(rèn)證。
由于DHCP請求超時過程為64s,所以如果802.1x認(rèn)證過程能在這64s內(nèi)完成,則DHCP請求不會超時,能順利完成地址請求;如果終端軟件支持認(rèn)證后再執(zhí)行一次DHCP,就不用考慮64s的超時限制。
本文引用地址:http://www.ex-cimer.com/article/201706/353680.htm
1.4802.1x協(xié)議的認(rèn)證過程
802.1x協(xié)議認(rèn)證過程是用戶與服務(wù)器交互的過程,其認(rèn)證步驟如下。
(1)用戶開機(jī)后,通過802.1x客戶端軟件發(fā)起請求,查詢網(wǎng)絡(luò)上能處理EAPoL數(shù)據(jù)包的設(shè)備。如果某臺驗(yàn)證設(shè)備能處理EAPoL數(shù)據(jù)包,就會向客戶端發(fā)送響應(yīng)包,并要求用戶提供合法的身份標(biāo)識,如用戶名及其密碼。
(2)客戶端收到驗(yàn)證設(shè)備的響應(yīng)后,提供身份標(biāo)識給驗(yàn)證設(shè)備。由于此時客戶端還未經(jīng)過驗(yàn)證,因此認(rèn)證流只能從驗(yàn)證設(shè)備的未受控的邏輯端口經(jīng)過。驗(yàn)證設(shè)備通過EAP協(xié)議將認(rèn)證流轉(zhuǎn)發(fā)到AAA服務(wù)器,進(jìn)行認(rèn)證。
(3)如果認(rèn)證通過,則認(rèn)證系統(tǒng)的受控邏輯端口打開。
(4)客戶端軟件發(fā)起DHCP請求,經(jīng)認(rèn)證設(shè)備轉(zhuǎn)發(fā)到DHCPServer。
(5)DHCPServer為用戶分配IP地址。
(6)DHCPServer分配的地址信息返回給認(rèn)證系統(tǒng),認(rèn)證系統(tǒng)記錄用戶的相關(guān)信息,如MAC,IP地址等信息,并建立動態(tài)的ACL訪問列表,以限制用戶的權(quán)限。
(7)當(dāng)認(rèn)證設(shè)備檢測到用戶的上網(wǎng)流量,就會向認(rèn)證服務(wù)器發(fā)送計費(fèi)信息,開始對用戶計費(fèi)。
(8)如果用戶退出網(wǎng)絡(luò),可以通過客戶端軟件發(fā)起退出過程,認(rèn)證設(shè)備檢測到該數(shù)據(jù)包后,會通知AAA服務(wù)器停止計費(fèi),并刪除用戶的相關(guān)信息(如物理地址和IP地址),受控邏輯端口關(guān)閉;用戶進(jìn)入再認(rèn)證狀態(tài)。
(9)驗(yàn)證設(shè)備通過定期的檢測保證鏈路的激活。如果用戶異常死機(jī),則驗(yàn)證設(shè)備在發(fā)起多次檢測后,自動認(rèn)為用戶已經(jīng)下線,于是向認(rèn)證服務(wù)器發(fā)送終止計費(fèi)的信息。
2幾種認(rèn)證方式比較
目前,在接入網(wǎng)中的認(rèn)證方式除802.1x之外,還有PPPoE和Web+DHCP兩種方式,在此把這幾種認(rèn)證方式做一比較。
PPPoE的本質(zhì)就是在以太網(wǎng)上跑PPP協(xié)議。由于PPP協(xié)議認(rèn)證過程的第一階段是發(fā)現(xiàn)階段,廣播只能在二層網(wǎng)絡(luò),才能發(fā)現(xiàn)寬帶接入服務(wù)器。因此,也就決定了在用戶主機(jī)和服務(wù)器之間,不能有路由器或三層交換機(jī)。另外,由于PPPoE點(diǎn)對點(diǎn)的本質(zhì),在用戶主機(jī)和服務(wù)器之間,限制了組播協(xié)議存在。這樣,將會在一定程度上,影響視頻業(yè)務(wù)的開展。除此之外,PPP協(xié)議需要再次封裝到以太網(wǎng)中,所以效率很低。
Web+DHCP采用旁路方式網(wǎng)絡(luò)架構(gòu)時,不能對用戶進(jìn)行類似帶寬管理。另外,DHCP是動態(tài)分配IP地址,但其本身的成熟度加上設(shè)備對這種方式支持力度還較小,故在防止用戶盜用IP地址等方面,還需要額外的手段來控制。除此之外,用戶連接性差,易用性不夠好。
802.1x協(xié)議為二層協(xié)議,不需要到達(dá)三層,而且接入交換機(jī)無須支持802.1q的VLAN,對設(shè)備的整體性能要求不高,可以有效降低建網(wǎng)成本。業(yè)務(wù)報文直接承載在正常的二層報文上;用戶通過認(rèn)證后,業(yè)務(wù)流和認(rèn)證流實(shí)現(xiàn)分離,對后續(xù)的數(shù)據(jù)包處理沒有特殊要求。在認(rèn)證過程中,802.1x不用封裝幀到以太網(wǎng)中,效率相對較高。
3802.1x協(xié)議在寬帶接入中的應(yīng)用
以小區(qū)寬帶接入為例,探討802.1x協(xié)議在寬帶接入中的應(yīng)用。
小區(qū)寬帶接入中應(yīng)用802.1x協(xié)議并不復(fù)雜,接入所用交換機(jī)要支持802.1x協(xié)議,并需RadiusServer和DHCP服務(wù)器存在,以完成認(rèn)證功能。對于用戶數(shù)量較少的小區(qū),只需在整個小區(qū)出口處安裝一臺支持802.1x交換機(jī);對于用戶數(shù)量較多的小區(qū),則可以在每個樓棟放置一臺支持802.1x交換機(jī),每臺交換機(jī)都接入?yún)R聚中心即可。
圖4是一個基于802.1x協(xié)議的小區(qū)寬帶接入網(wǎng)絡(luò)拓?fù)鋱D。這種方案和普通交換機(jī)接入方案在性能上是完全等效的,但是在安全性方面有普通方案無可比擬的優(yōu)點(diǎn)。用戶在接入寬帶網(wǎng)過程中,用戶與交換機(jī)的認(rèn)證步驟與802.1x協(xié)議認(rèn)證步驟一樣。
需要指出的是,用戶發(fā)出認(rèn)證報文,是使用特定的組播MAC地址,設(shè)備發(fā)送用戶的報文使用單播MAC地址,解決了認(rèn)證報文的廣播的問題,其他用戶不能偵聽到認(rèn)證過程,從而無法知道用戶的密碼、賬號,無法知道用戶的MAC地址。
認(rèn)證通過后的MAC地址與端口進(jìn)行綁定。在通信過程中,可以保證用戶使用網(wǎng)絡(luò)的路徑是唯一的。這樣,通過認(rèn)證的用戶的數(shù)據(jù)包就不會泄露,保證了用戶數(shù)據(jù)的安全性。
4結(jié)束語
本文簡要分析了802.1x協(xié)議及其工作原理,設(shè)計了一個基于802.1x的小區(qū)寬帶接入系統(tǒng)的方案,該方案在充分發(fā)揮交換式以太網(wǎng)接入優(yōu)點(diǎn)的前提下,可以有效地解決網(wǎng)絡(luò)認(rèn)證、安全問題??紤]接入網(wǎng)絡(luò)安全性的需要,可以肯定,作為寬帶網(wǎng)接入的安全解決方案,802.1x必將是未來的發(fā)展主流。
評論