摘 要: 隨著當(dāng)今移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,WiFi設(shè)備成為人們生活當(dāng)中不可缺少的組成部分,而傳統(tǒng)的無線網(wǎng)絡(luò)在接入穩(wěn)定性和安全性方面有待進(jìn)一步提高。為了解決上述問題,設(shè)計(jì)了基于FH?AC系統(tǒng)的Portal認(rèn)證系統(tǒng)。該系統(tǒng)通過對(duì)原有Portal協(xié)議進(jìn)行改進(jìn)并且采用Socket/HTTP通信和CHAP認(rèn)證技術(shù)等一系列技術(shù)來提升系統(tǒng)性能,使整個(gè)系統(tǒng)在使用過程中能夠更快更穩(wěn)定地接入當(dāng)前無線網(wǎng)絡(luò),其系統(tǒng)安全性也得到進(jìn)一步的提升。
關(guān)鍵詞: WiFi設(shè)備; FH?AC系統(tǒng); Portal協(xié)議; Socket/HTTP通信; CHAP認(rèn)證
中圖分類號(hào): TN926?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)03?0069?03
Implementation and development of portal authentication technology
base on FH?AC system
WU Di
(Wuhan Institute of Posts and Telecommunications 430074, China)
Abstract: With the rapid development of mobile Internet, WiFi equipments have already been a necessary part of everyone’s life. However, the traditional wireless network needs to be improved in terms of stability and security access. In order to solving these problems, Portal authentication system based on FH?AC system was designed. The system performance was enhanced by improving the original Portal protocol, and using Socket/Http communications and CHAP authentication technology. The whole system is made to be accessed to the current wireless network more fast and more stably. Moreover, the system security has also been further improved.
Keywords: WiFi Equipment; FH?AC system; Portal protocol; Socket/HTTP communication; CHAP authentication
0 引 言
在傳統(tǒng)的組網(wǎng)環(huán)境中,用戶只要能接入局域網(wǎng)設(shè)備,就可以訪問網(wǎng)絡(luò)中的設(shè)備或資源,但為了加強(qiáng)網(wǎng)絡(luò)資源的安全控制和運(yùn)營管理,很多情況下需要對(duì)用戶的訪問進(jìn)行控制。例如,在一些公共場合、小區(qū)或公司的網(wǎng)絡(luò)接入點(diǎn),提供接入服務(wù)的供應(yīng)商希望只允許付費(fèi)的合法用戶接入,所以供應(yīng)商為每個(gè)用戶提供一個(gè)接入網(wǎng)絡(luò)的賬號(hào)和密碼。正是在這種需求背景下,Portal技術(shù)應(yīng)運(yùn)而生,它不僅提供了一種靈活的訪問控制方式,而且可以在不用裝客戶端的情況下在接入層保護(hù)關(guān)鍵數(shù)據(jù)處實(shí)施訪問控制[1]。
相對(duì)于傳統(tǒng)的IEEE 802.1x、PPPoE等認(rèn)證技術(shù),Portal認(rèn)證技術(shù)具有以下幾個(gè)方面的優(yōu)勢:
(1) 不需要部署客戶端,直接使用Web頁面認(rèn)證,使用方便;
(2) 可以定制“VLAN+端口+IP地址池”粒度級(jí)別的個(gè)性化認(rèn)證頁面,同時(shí)可以在Portal頁面上開展廣告業(yè)務(wù)、服務(wù)選擇和信息發(fā)布等內(nèi)容,進(jìn)行業(yè)務(wù)拓展,實(shí)現(xiàn)IP網(wǎng)絡(luò)的運(yùn)營;
(3) 關(guān)注對(duì)用戶的管理,可基于用戶名與VLAN ID/IP/MAC的捆綁識(shí)別來認(rèn)證,并采用Portal Server和Portal Client之間、BAS和Portal Client之間定期發(fā)送握手報(bào)文的方式來進(jìn)行斷網(wǎng)檢測[2]。
1 Portal協(xié)議的詳述及改進(jìn)
1.1 Portal系統(tǒng)組成部分
如圖1所示,整個(gè)Portal系統(tǒng)主要涉及到以下四個(gè)部分的內(nèi)容,即認(rèn)證客戶端(Portal Client),Portal服務(wù)器(Portal Server),BAS和AAA服務(wù)器,下面簡單地介紹各個(gè)部分的功能[3]:
(1) Portal Client:這里的Portal客戶端實(shí)際上指的就是發(fā)起認(rèn)證的客戶端系統(tǒng),即用戶瀏覽器上的PC;
(2) Portal Server:Portal Server是Portal組網(wǎng)中接受客戶端認(rèn)證請(qǐng)求的服務(wù)端系統(tǒng),提供免費(fèi)的門戶服務(wù)和Web認(rèn)證的界面,并且與BAS設(shè)備之間進(jìn)行客戶端身份認(rèn)證;
(3) BAS,即寬帶接入服務(wù)器,主要用于向Portal Server重定向HTTP認(rèn)證請(qǐng)求,并且與Portal Server,AAA服務(wù)器完成用戶認(rèn)證、授權(quán)、計(jì)費(fèi),這里即FH?AC系統(tǒng);
(4) AAA Server,即認(rèn)證、授權(quán)、計(jì)費(fèi)服務(wù)器,通過與BAS進(jìn)行交互完成認(rèn)證、授權(quán)、計(jì)費(fèi)功能。
以下是整個(gè)Portal系統(tǒng)交互工作流程[4]:
(1) 當(dāng)未認(rèn)證的用戶訪問該網(wǎng)絡(luò)環(huán)境時(shí),在瀏覽器中隨機(jī)輸入一個(gè)網(wǎng)站地址,該HTTP請(qǐng)求經(jīng)過BAS設(shè)備被強(qiáng)制重定向到Portal Server的Web認(rèn)證頁面;
(2) 用戶將所需要填寫的的認(rèn)證信息提交以后,Portal服務(wù)器將會(huì)經(jīng)用戶的認(rèn)證信息傳遞給接入設(shè)備;
(3) 接入設(shè)備獲取到認(rèn)證信息以后,再與AAA Server進(jìn)行認(rèn)證和計(jì)費(fèi)處理;
(4) 認(rèn)證通過后,接入設(shè)備會(huì)打開用戶與互聯(lián)網(wǎng)的通路,即允許用戶訪問互聯(lián)網(wǎng)。
1.2 Portal協(xié)議
整個(gè)Portal協(xié)議是由Portal接入?yún)f(xié)議和Portal認(rèn)證協(xié)議兩個(gè)部分組成,如圖2所示[5]。
1.2.1 Portal接入?yún)f(xié)議及其改進(jìn)
Portal接入?yún)f(xié)議實(shí)際上就是指Portal Client通過 HTTP 協(xié)議向Portal Server提交認(rèn)證信息,而Portal Server向Portal Client推出認(rèn)證成功或者認(rèn)證失敗頁面[6];
在Portal接入?yún)f(xié)議當(dāng)中 Portal Server是整個(gè)協(xié)議中的關(guān)鍵部分,現(xiàn)有的Portal Server包括Portal Web(認(rèn)證頁面),Portal Transfer(轉(zhuǎn)換器)和Portal Kernel(操作系統(tǒng)內(nèi)核),如圖3所示。
Portal Client和Portal Kernel之間不能相互通信,Portal Client只有通過Portal Web才能與Portal Kernel進(jìn)行交互,現(xiàn)有的這種接入方式中,訪問目的地的IP地址被接入認(rèn)證設(shè)備截獲,從而接入設(shè)備可以仿冒客戶端所請(qǐng)求的IP地址對(duì)客戶端進(jìn)行欺騙,并向客戶端發(fā)送302的錯(cuò)誤響應(yīng),將瀏覽器重定向到Portal Server的URL資源上,達(dá)到接入目的,具體流程如圖4所示。
目前這種Portal認(rèn)證過程中,Portal Server不能直接獲取到接入認(rèn)證設(shè)備的IP地址,必須預(yù)先處理好客戶端和接入認(rèn)證設(shè)備之間的映射關(guān)系,所以當(dāng)終端設(shè)備發(fā)生移動(dòng)時(shí),不能保證接入設(shè)備能夠精確捕獲終端的位置。
為了改進(jìn)上述問題,選擇將Portal Server的URL和接入設(shè)備的IP地址進(jìn)行整合,如http://x.x.x.x:8080/portal/login.jsp?ip=x.x.x.x,其中ip=x.x.x.x表示接入認(rèn)證設(shè)備的IP,而x.x.x.x代表Portal服務(wù)器的IP地址,客戶端在訪問Portal Server時(shí)在HTTP報(bào)文中攜帶新的URL,Portal Server通過解析新的URL來獲取接入認(rèn)證設(shè)備的IP地址,從而使終端確定接入過程中所對(duì)應(yīng)的接入認(rèn)證設(shè)備,然后Portal Server將該P(yáng)ortal URL的鏈接界面通過DWR技術(shù)強(qiáng)制推送給客戶端,從而達(dá)到強(qiáng)制認(rèn)證的效果[6]。
1.2.2 Portal認(rèn)證協(xié)議
Portal認(rèn)證協(xié)議主要用于規(guī)定Portal Server和接入認(rèn)證設(shè)備之間的交互動(dòng)作,整個(gè)協(xié)議采用打包方式進(jìn)行組幀,協(xié)議包采用固定長度加可變長度的屬性字段組成,整個(gè)字段采用TLV格式,報(bào)文認(rèn)證格式如圖5所示[7]。
下面簡單說明協(xié)議包各個(gè)字段的含義:
Ver字段是協(xié)議的版本號(hào),長度為1 B;
Type字段定義報(bào)文的類型,長度為1 B;
Pap/Chap字段定義此用戶的認(rèn)證方式,長度為1 B;
Rsv目前為保留字段,長度為1 B;
SerialNo字段為報(bào)文的序列號(hào),長度為2 B,由Portal Server隨機(jī)生成;
ReqID為AC發(fā)回的相應(yīng)字段,字段長度為2 B,由AC隨機(jī)生成;
UserIP為Portal客戶端的IP地址,其值由Portal Server根據(jù)其獲得的IP地址填寫(即Portal URL);
UserPort字段目前沒有用到,長度為2 B;
ErrCode字段和Type字段一起表示一定的意義,長度為1 B;
AttrNum字段表示其后邊可變長度的屬性字段屬性的個(gè)數(shù),長度為1 B。
圖5 報(bào)文認(rèn)證格式
整個(gè)協(xié)議包采用UDP通信方式進(jìn)行發(fā)送,當(dāng)Portal Server向BAS放送請(qǐng)求信息的時(shí)候,BAS使用本地端口2000對(duì)Portal Server所發(fā)的報(bào)文進(jìn)行監(jiān)聽,使用50100端口對(duì)非響應(yīng)報(bào)文進(jìn)行監(jiān)聽;相反,當(dāng)BAS向Portal Server發(fā)送響應(yīng)報(bào)文的時(shí)候,Portal Server使用本地端口50100監(jiān)聽BAS發(fā)過來的所有報(bào)文,使用本地端口2000接收所發(fā)非響應(yīng)報(bào)文,整個(gè)交互過程采用UDP SOCKET實(shí)現(xiàn)[8]。
2 FH?AC系統(tǒng)Portal認(rèn)證的實(shí)現(xiàn)
當(dāng)用戶采用DHCP+Web方式進(jìn)行接入認(rèn)證時(shí),F(xiàn)H?AC中的Portal模塊與Portal Server的認(rèn)證過程包括CHAP和PAP兩種認(rèn)證方式,由于PAP是簡單的二次握手身份驗(yàn)證協(xié)議,用戶名和密碼都是明文傳送,安全性低,所以在這里采用三次握手身份驗(yàn)證,安全性更高的CHAP認(rèn)證方式作為主要的實(shí)現(xiàn)方法。
FH?AC中Portal技術(shù)的CHAP認(rèn)證方式流程,如圖6所示。下面詳細(xì)介紹現(xiàn)Portal的CHAP認(rèn)證[9]過程:
(1)當(dāng)Portal Server將強(qiáng)制認(rèn)證界面推送給客戶端以后,客戶端被要求填寫用戶名和密碼進(jìn)行上網(wǎng)認(rèn)證。
(2)當(dāng)用戶輸入正確的用戶名和密碼,并且點(diǎn)擊提交以后,客戶端將一個(gè)HTTP Post Portal?url通過HTTP通信協(xié)議傳送給FH?AC的IP模塊,如果這個(gè)HTTP數(shù)據(jù)包中IP地址與Portal Server的IP地址吻合,則正常轉(zhuǎn)發(fā)。
(3)在正常轉(zhuǎn)發(fā)的情況下,IP模塊直接與Portal Server交互,通過HTTP組包,將客戶端發(fā)送的HTTP Post Portal?url直接發(fā)送給Portal Server。
圖6 CHAP認(rèn)證方式流程
(4) 如果Portal Server認(rèn)證Portal?url成功,Portal Server就會(huì)向Portal模塊發(fā)送一個(gè)REQ_CHALLENAGE請(qǐng)求報(bào)文;當(dāng)Portal模塊收到請(qǐng)求報(bào)文以后,隨即向Portal Server發(fā)送ACK_CHALLENGE確認(rèn)報(bào)文,確認(rèn)報(bào)文中包含IP地址,CHALLENGE報(bào)文以及ReqID[10]。
(5) 當(dāng)Portal Server收到ACK_CHALLENGE以后,發(fā)起第三次握手,當(dāng)Portal模塊收到Portal Server發(fā)送過來的REQ_AUTH消息后,會(huì)向FH?AC中的CC模塊發(fā)送此消息(即PORTAL_CC_REQ_AUTH),通知CC模塊進(jìn)行認(rèn)證(與RADIUS服務(wù)器的Access_Request交互流程)。
(6) CC模塊在認(rèn)證完成后,向Portal模塊發(fā)送CC_PORTAL_ACK_AUTH,通知認(rèn)證結(jié)果,若認(rèn)證失敗,則釋放資源,認(rèn)證成功Portal模塊向Portal Server發(fā)送ACK_AUTH,Portal Server隨即向BAS的IP模塊發(fā)送HTTP Post Portal?url。
(7) 同時(shí)在收到Portal Server的AFF_ACK_AUTH消息后,Portal模塊會(huì)向CC模塊發(fā)送PORTAL_CC_ AFF_ACK_AUTH,表示整個(gè)認(rèn)證過程已經(jīng)完成。
3 結(jié) 語
本文首先對(duì)Portal技術(shù)產(chǎn)生的背景進(jìn)行簡單的概述,然后分別從Portal系統(tǒng)組成,Portal協(xié)議,Portal的CHAP認(rèn)證方式這三個(gè)方面進(jìn)行了詳細(xì)的描述,其中重點(diǎn)介紹了基于Portal接入?yún)f(xié)議的一些改進(jìn)方式和Portal的CHAP認(rèn)證方式。與此同時(shí),隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)不斷的革新,WiFi技術(shù)的普及程度也越來越高,Portal技術(shù)的穩(wěn)定性,可靠性以及卓越的性能必將使其在眾多無線接入技術(shù)中脫穎而出,會(huì)被越來越多的人所接受和使用。
參考文獻(xiàn)
[1] 董兆殷.基于Portal 認(rèn)證的校園WLAN安全設(shè)計(jì)及應(yīng)用[J].中國新技術(shù)新產(chǎn)品,2010(11):56?58.
[2] 馬燕,范植華.Web/ Portal認(rèn)證技術(shù)研究[J].微電子學(xué)與計(jì)算機(jī),2011(8):106?108.
[3] 王剛,王欣,馮銘能.一種基于Web Portal架構(gòu)的校園網(wǎng)用戶二次認(rèn)證方案[J].廣東通信技術(shù),2014(2):70?72.
[4] 周訓(xùn)斌.Portal認(rèn)證的組網(wǎng)配置[J].武漢大學(xué)學(xué)報(bào),2008(3):147?149.
[5] 杭州華三通信技術(shù)有限公司.一種Portal認(rèn)證的方法、系統(tǒng)及設(shè)備:中國,CN101702717B[P].2013?04?17.
[6] 王彬.基于Portal的個(gè)性化網(wǎng)站定制工具的研發(fā)與應(yīng)用[D].濟(jì)南:山東大學(xué),2013.
[7] 中國移動(dòng).QB?D?026?2008 中國移動(dòng)WLAN業(yè)務(wù)Portal協(xié)議規(guī)范[S].北京:中國移動(dòng),2008.
[8] 盧暢.Portal認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2013.
[9] 雷曉勇.基于Portal協(xié)議的網(wǎng)絡(luò)訪問控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2011.
[10] 何贊.基于輕量級(jí)框架的Portal設(shè)計(jì)和實(shí)現(xiàn)[D].北京:北京交通大學(xué),2007.
[11] 劉旭.基于Portal協(xié)議的安全認(rèn)證接入的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2013.