1 引言
隨著智能移動(dòng)設(shè)備終端的快速普及,移動(dòng)互聯(lián)網(wǎng)的需求越來越大,WiFi熱點(diǎn)的數(shù)量也越來越多??蛻舳顺绦蜻B接不同的網(wǎng)絡(luò)接入點(diǎn)的時(shí)候,需要根據(jù)不同的網(wǎng)絡(luò)接入點(diǎn)提供不同的參數(shù)進(jìn)行驗(yàn)證。在這種情況下,可能因?yàn)椴煌腤iFi熱點(diǎn)認(rèn)證所需要的協(xié)議不同,而存在不斷修改或者升級(jí)所述客戶端程序的風(fēng)險(xiǎn)。
本文提供一個(gè)種無須修改或者升級(jí)客戶度應(yīng)用程序,即可實(shí)現(xiàn)所述客戶端程序在不同的WiFi熱點(diǎn)的登錄。為了適應(yīng)不同的驗(yàn)證服務(wù)器,增加一個(gè)協(xié)議適配處理服務(wù)器來統(tǒng)一兼容各種認(rèn)證協(xié)議,從而保證了客戶端的穩(wěn)定性。
WiFi全稱WirelessFidelity,實(shí)質(zhì)上是一種商業(yè)認(rèn)證,具有WiFi認(rèn)證的產(chǎn)品符合IEEE 802.11a /b /g /n 無線網(wǎng)絡(luò)規(guī)范,它是當(dāng)前應(yīng)用最為廣泛的WLAN 標(biāo)準(zhǔn),一般工作在2.4Ghz 頻段。WiFi是一種可以將個(gè)人電腦、手持設(shè)備(如PAD、手機(jī))等終端以無線方式互相連接的技術(shù),事實(shí)上它是一個(gè)高頻無線電信號(hào)。 無線保真是一個(gè)無線網(wǎng)絡(luò)通信技術(shù)的品牌,由WiFi聯(lián)盟所持有。目的是改善基于IEEE 802.11標(biāo)準(zhǔn)的無線網(wǎng)路產(chǎn)品之間的互通性。有人把使用IEEE 802.11系列協(xié)議的局域網(wǎng)就稱為無線保真。甚至把無線保真等同于無線網(wǎng)際網(wǎng)路(WiFi是WLAN的重要組成部分)。
2 WiFi 認(rèn)證系統(tǒng)的基本原理
WiFi 認(rèn)證系統(tǒng)的基本流程:(1)用戶連接到AP(無線熱點(diǎn));(2)用戶打開瀏覽器輸入任意網(wǎng)址,頁面重定向到Portal頁面;(3)用戶輸入賬號(hào)和密碼;(4)用戶認(rèn)證(Radius認(rèn)證);(5)返回認(rèn)證結(jié)果給Portal Server;(6)認(rèn)證通過的賬號(hào)用戶可以正常上網(wǎng)了。如圖1所示。
AP是(Wireless) Access Point的縮寫,即(無線)訪問接入點(diǎn)。如果無線網(wǎng)卡可比作有線網(wǎng)絡(luò)中的以太網(wǎng)卡,那么AP就是傳統(tǒng)有線網(wǎng)絡(luò)中的HUB,也是目前組建小型無線局域網(wǎng)時(shí)最常用的設(shè)備。AP相當(dāng)于一個(gè)連接有線網(wǎng)和無線網(wǎng)的橋梁,其主要作用是將各個(gè)無線網(wǎng)絡(luò)客戶端連接到一起,然后將無線網(wǎng)絡(luò)接入以太網(wǎng)(這正是Access Point名稱的本義)。
RADIUS(Remote Authentication Dial In User Service)是一種客戶端、服務(wù)器結(jié)構(gòu)的協(xié)議,RADIUS協(xié)議支持PAP(密碼認(rèn)證協(xié)議)、CHAP(詢問握手認(rèn)證協(xié)議)等多種認(rèn)證方式,其認(rèn)證機(jī)制非常靈活,每個(gè)廠商都可以擴(kuò)充自己的專有屬性。RADIUS協(xié)議是在IETF的RFC2865和2866中定義的。RADIUS是基于UDP 的一種客戶機(jī)/服務(wù)器協(xié)議。RADIUS客戶機(jī)是網(wǎng)絡(luò)訪問服務(wù)器,它通常是一個(gè)路由器、交換機(jī)或無線訪問點(diǎn)。RADIUS服務(wù)器通常是在UNIX或Windows 2000服務(wù)器上運(yùn)行的一個(gè)監(jiān)護(hù)程序。RADIUS 協(xié)議的認(rèn)證端口是1812 ,計(jì)費(fèi)端口是1813。
3 支持認(rèn)證多種WiFi熱點(diǎn)系統(tǒng)的認(rèn)證流程
如圖2所示,支持多種WiFi熱點(diǎn)系統(tǒng)的認(rèn)證流程:(1)用戶連接到AP(無線熱點(diǎn));(2)客戶端程序訪問任意的http請(qǐng)求,頁面重定向到Portal頁面;(3)客戶端程序?qū)⑾鄳?yīng)的參數(shù)信息發(fā)送給多協(xié)議適配服務(wù)器;(4)多協(xié)議適配服務(wù)器根據(jù)客戶端程序傳過來的參數(shù),計(jì)算出認(rèn)證所需的相關(guān)信息,返回給客戶端程序;(5)客戶端程序根據(jù)多協(xié)議適配服務(wù)器返回的認(rèn)證所需的相關(guān)信息發(fā)起認(rèn)證請(qǐng)求;(6)用戶認(rèn)證(Radius 認(rèn)證);(7)返回結(jié)果給Portal Server;(8)認(rèn)證通過的賬號(hào)用戶可以正常上網(wǎng)了;(9)根據(jù)上述業(yè)務(wù)需求,可以提出適配實(shí)現(xiàn)過程。如圖2所示。
4 系統(tǒng)架構(gòu)
系統(tǒng)架構(gòu)包括三層:終端、接入層以及賬號(hào)管理層,如圖3所示。
終端主要包括無線上網(wǎng)終端。主要包括瀏覽器和客戶端應(yīng)用程序等。
接入層包括Portal服務(wù)器和多協(xié)議適配服務(wù)器。Portal服務(wù)器是提供Portal 認(rèn)證的服務(wù)器,用戶通過可以通過Portal服務(wù)器發(fā)起認(rèn)證請(qǐng)求。Portal服務(wù)器可以是不同的WiFi服務(wù)供應(yīng)商的服務(wù)器,比如中國移動(dòng)、中國聯(lián)通和中國電信等WiFi運(yùn)營商提供的Portal服務(wù)器。多協(xié)議適配服務(wù)器根據(jù)用戶應(yīng)用程序發(fā)過來的相關(guān)信息,比如用戶Mac、手機(jī)號(hào)等相關(guān)的用戶信息,從多協(xié)議適配數(shù)據(jù)庫讀取相關(guān)的協(xié)議信息,計(jì)算出認(rèn)證所需要的相關(guān)信息,將認(rèn)證相關(guān)的信息返回給相應(yīng)的應(yīng)用程序,多協(xié)議適配是自建的一個(gè)服務(wù)器集群,用以保證服務(wù)的穩(wěn)定性。
賬號(hào)管理層主要包括Radius賬號(hào)服務(wù)器。Radius賬號(hào)服務(wù)器提供賬號(hào)的管理功能,包括賬號(hào)的生成、認(rèn)證、查詢和刪除等。Radius服務(wù)器和Portal 服務(wù)器一一對(duì)應(yīng),一個(gè)廠商Radius服務(wù)器對(duì)應(yīng)一個(gè)相應(yīng)的Portal服務(wù)器,也就是說Radius服務(wù)器可以是不同的WiFi服務(wù)供應(yīng)商的服務(wù)器,比如中國移動(dòng)、中國聯(lián)通和中國電信等WiFi運(yùn)營商提供的Radius服務(wù)器。
多協(xié)議適配服務(wù)器分作兩個(gè)階段進(jìn)行工作:業(yè)務(wù)模型定義和業(yè)務(wù)模型的執(zhí)行。
4.1 業(yè)務(wù)模型定義
按照既定的定義方式對(duì)獲得認(rèn)證的業(yè)務(wù)關(guān)系進(jìn)行定義,得到業(yè)務(wù)認(rèn)證模型。
4.2 業(yè)務(wù)模型的執(zhí)行
滿足業(yè)務(wù)模型觸發(fā)條件時(shí),對(duì)制定的業(yè)務(wù)模型進(jìn)行實(shí)例化(即確定相關(guān)聯(lián)的業(yè)務(wù)實(shí)例),并且將業(yè)務(wù)模型實(shí)例交由業(yè)務(wù)執(zhí)行器執(zhí)行。執(zhí)行的過程如圖4所示。在上述方案中,業(yè)務(wù)需求直接表達(dá)在適配模型之中。
5 適配模型
5.1 對(duì)適配過程的表達(dá)
模型能夠?qū)崿F(xiàn)過程描述。
(1)順序過程:模型中元素的排列順序隱含著所要求的順序過程。
(2)分支過程:使用“switch”開關(guān)語句實(shí)現(xiàn)條件、二選一、多選一和多選多的分支過程。在switch語句中,使用“condition”描述判別條件,使用“state”描述判別條件結(jié)果狀態(tài)的指定(可以制定多個(gè)state)。則當(dāng)條件計(jì)算的結(jié)果滿足state確定的狀態(tài)時(shí),將執(zhí)行state 語句所包含的操作。這些操作可以是表達(dá)式,或者是子過程,從而實(shí)現(xiàn)過程的嵌套。
(3)循環(huán)過程:使用“while”語句實(shí)現(xiàn)循環(huán)過程。當(dāng)“condition”所表達(dá)的判斷結(jié)果滿足“state”所指定的狀態(tài)時(shí),則執(zhí)行將執(zhí)行state語句所包含的操作。這些操作可以是表達(dá)式,或者是子過程,從而實(shí)現(xiàn)過程的嵌套。然后再進(jìn)行新的一次condition計(jì)算與判斷,直到?jīng)]有任何state狀態(tài)被滿足為止。
5.2 對(duì)適配操作的表達(dá)
對(duì)數(shù)據(jù)適配操作采用適配表達(dá)式來描述。適配表達(dá)式由數(shù)據(jù)源、數(shù)據(jù)操作和數(shù)據(jù)目的地所構(gòu)成。
(1) 數(shù)據(jù)源。業(yè)務(wù)對(duì)象的屬性、內(nèi)存變量(對(duì)中間計(jì)算結(jié)果的引用)或者其他(如對(duì)XML文檔數(shù)據(jù)的引用等),數(shù)據(jù)源可以是來自于不同業(yè)務(wù)對(duì)象、中間變量等的集合。
(2)數(shù)據(jù)操作。包括三種情況,即空操作(NULL)——直接將源數(shù)據(jù)放入目的地(直接引用);簡單操作(simpleOpe)——由SQL語句構(gòu)成的數(shù)據(jù)操作集,可以實(shí)現(xiàn)通常的數(shù)據(jù)檢索、統(tǒng)計(jì)操作;復(fù)雜操作(complexOpe)——必須調(diào)用操作構(gòu)件才能實(shí)現(xiàn)的操作。這種操作構(gòu)件可能是即定的內(nèi)部函數(shù),或者是定制開發(fā)的專用構(gòu)件。
(3)數(shù)據(jù)目的地。適配操作結(jié)果的存儲(chǔ)(對(duì)象屬性等)。
6 結(jié)束語
綜上所述,當(dāng)從所述客戶端應(yīng)用程序發(fā)起認(rèn)證請(qǐng)求的時(shí)候,多協(xié)議適配服務(wù)器根據(jù)所述接入請(qǐng)求中的參數(shù)及登錄所述應(yīng)用程序的終端的信息,生成認(rèn)證所需的參數(shù)信息。其中所述客戶端應(yīng)用程序的參數(shù)包括驗(yàn)證服務(wù)器相應(yīng)的認(rèn)證協(xié)議信息,所述生成認(rèn)證所需要的份參數(shù)符合所述驗(yàn)證服務(wù)器相應(yīng)的認(rèn)證協(xié)議,使得所述驗(yàn)證服務(wù)器修改客戶端應(yīng)用程序登錄權(quán)限以允許所述客戶端應(yīng)用程序 登錄所述網(wǎng)絡(luò)接入點(diǎn);向所述客戶端應(yīng)用程序發(fā)送應(yīng)答消息,所述應(yīng)答消息中包含所述認(rèn)證所需參數(shù),使得所述客戶端應(yīng)用程序 向所述網(wǎng)絡(luò)接入點(diǎn)發(fā)送登錄請(qǐng)求以登錄網(wǎng)絡(luò)。
因此,所述應(yīng)用的客戶程序在整個(gè)登錄網(wǎng)絡(luò)接入點(diǎn)的過程中,只需要做一個(gè)媒介的角色,而無須根據(jù)所述客戶端穿過來的參數(shù)生成所述可被驗(yàn)證服務(wù)器識(shí)別,符合所述驗(yàn)證服務(wù)器相應(yīng)的認(rèn)證協(xié)議的認(rèn)證參數(shù),而是由所述多協(xié)議處理服務(wù)器生成符合不同驗(yàn)證服務(wù)器的相應(yīng)協(xié)議的驗(yàn)證信息,因而可以在不同的驗(yàn)證協(xié)議時(shí),無須修改或者升級(jí)所述客戶端應(yīng)用程序,即可實(shí)現(xiàn)所述客戶端應(yīng)用程序 在不同的驗(yàn)證協(xié)議下登錄所述網(wǎng)絡(luò)接入點(diǎn)。
參考文獻(xiàn)
[1] 李曉陽.WiFi技術(shù)及其應(yīng)用與發(fā)展[J].信息技術(shù),2012年第2期,196-198
[2] 百度百科
http://baike.baidu.com/link?url=k9_acwH7vdnUZt8N7pxq8j4aOHz8e0qk_45F0jMvhln__ZSJ5ze9kCS5rYtA2lnQI1iRGT1guF6Z2R6VJ5ZsrK.
[3] 百度百科
http://baike.baidu.com/link?url=5QOx38wR1meZFDHXosx8rlAbt5aFXD0JHQrqJTcUOTLO_QD1EK0JJWraWLqO18bR8TH1Mujqkcv_udksPVQmBOXF-xXn_yP1goEIfdZY9SyMRkzQX_HqOP7RK6Fsa RQPt_74gTymQZ6eV4g9nJs7_K.
[4] 吳攀,胡凱,馮揚(yáng),熊桂蘭.WLAN中RADIUS客戶端超時(shí)處理優(yōu)化方案[J].光通信研究,2013年第4期,68-70.
[5] 百度百科
http://baike.baidu.com/link?url=vdpob2qsWze8qi-hjA9f_CJ-YQQojaN_8EM612QXxQqGXxIIZZCajHB1r1gmMhWbtIIQ2B3O-tkeTv7Vomxj2q.
作者簡介:
李原野(1980-),女,漢族,吉林吉林人,中科院軟件所,碩士,國家知識(shí)產(chǎn)權(quán)局專利局,審查員。