孟敏
(無錫工藝職業(yè)技術(shù)學(xué)院電子信息系,江蘇無錫214206)
隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,互聯(lián)網(wǎng)在社會中的普及率逐步上升,互聯(lián)網(wǎng)用戶不斷增加。據(jù)中國互聯(lián)網(wǎng)絡(luò)信息中心統(tǒng)計,截止至2017年12月,我國互聯(lián)網(wǎng)用戶總量高達(dá)7.72億,互聯(lián)網(wǎng)普及率為55.8%。在互聯(lián)網(wǎng)快速發(fā)展的同時,也面臨著諸多威脅,包括病毒侵襲、黑客的非法闖入、數(shù)據(jù)竊聽和攔截、拒絕服務(wù)攻擊、垃圾郵件等。因此,如何保證網(wǎng)絡(luò)訪問的安全成為了網(wǎng)絡(luò)提供商們一個急需解決的問題,該問題在規(guī)模不斷增大的校園網(wǎng)絡(luò)中尤其突出[1-5]。目前校園資源數(shù)字化程度高,學(xué)生通過校園網(wǎng)獲取數(shù)字資源。此外,校園網(wǎng)信息點(diǎn)多,網(wǎng)絡(luò)規(guī)模較大,網(wǎng)絡(luò)應(yīng)用較為復(fù)雜,且安全隱患較大,容易遭受網(wǎng)絡(luò)入侵,造成網(wǎng)絡(luò)癱瘓與資源被竊取等情況[6-8]。因此,設(shè)計一套面向于校園網(wǎng)絡(luò)接入安全的認(rèn)證系統(tǒng)尤為重要。
目前,網(wǎng)絡(luò)安全策略主要采取認(rèn)證、授權(quán)、記賬形式[9]。認(rèn)證是確定訪問網(wǎng)絡(luò)的用戶是否為合法的用戶,通常用用戶標(biāo)識以及對應(yīng)的口令來識別合法用戶;授權(quán)是對不同的用戶授予不同的權(quán)限以限制用戶使用某些應(yīng)用,避免合法用戶破壞系統(tǒng);記賬即記錄用戶上網(wǎng)的所有操作記錄,包括上網(wǎng)時間、IP地址、上網(wǎng)流量等信息,實(shí)現(xiàn)上網(wǎng)監(jiān)視功能。傳統(tǒng)認(rèn)證方式在處理校園網(wǎng)用戶數(shù)據(jù)包時,容易導(dǎo)致網(wǎng)絡(luò)傳輸瓶頸。因此,需要耗費(fèi)額外的硬件資源來提高網(wǎng)絡(luò)傳輸能力,無法滿足校園網(wǎng)高效性與低成本的要求[10-11]。為此,文中采用IEEE 802.1x協(xié)議進(jìn)行校園網(wǎng)的接入認(rèn)證,其通過端口對訪問校園網(wǎng)的客戶端進(jìn)行認(rèn)證和控制,防止非法用戶對校園網(wǎng)的訪問,防范了網(wǎng)絡(luò)木馬程序、病毒對校園網(wǎng)的入侵,從而保證了校園網(wǎng)的安全問題。
802.1x協(xié)議是一種作用于網(wǎng)絡(luò)訪問設(shè)置與認(rèn)證的協(xié)議,其面向于客戶機(jī)與服務(wù)器。802.1x協(xié)議主要通過端口,來對校園網(wǎng)訪問用戶進(jìn)行認(rèn)證。當(dāng)端口通過認(rèn)證后,網(wǎng)絡(luò)數(shù)據(jù)才能通過以太網(wǎng)端口,而未通過認(rèn)證的端口則將被拒絕訪問校園網(wǎng)[12-13]。
如圖1所示,802.1x協(xié)議認(rèn)證體系主要由3部分組成,即客戶端、認(rèn)證系統(tǒng)以及認(rèn)證服務(wù)器。客戶端主要指LAN端口一端所連接的實(shí)體,即上網(wǎng)設(shè)備。其向認(rèn)證系統(tǒng)發(fā)出認(rèn)證申請,由認(rèn)證系統(tǒng)檢驗其上網(wǎng)身份的合法性。認(rèn)證系統(tǒng)位于客戶端與認(rèn)證服務(wù)器之間,用于對校園網(wǎng)用戶進(jìn)行認(rèn)證;認(rèn)證服務(wù)器指為校園網(wǎng)用戶進(jìn)行身份認(rèn)證的實(shí)體。IEEE 802.1X協(xié)議的工作機(jī)制,如圖2所示。

圖1 802.1x協(xié)議認(rèn)證體系結(jié)構(gòu)

圖2 IEEE 802.1X協(xié)議的工作機(jī)制
本文所設(shè)計的基于802.1x的校園網(wǎng)認(rèn)證系統(tǒng)其網(wǎng)絡(luò)結(jié)構(gòu),如圖3所示。主要由核心交換機(jī)、匯聚層交換機(jī)、樓層接入交換機(jī)以及認(rèn)證服務(wù)器組成。核心交換機(jī)為網(wǎng)絡(luò)的主干部分,即核心層中的交換機(jī)。其主要目的在于通過高速轉(zhuǎn)發(fā)通信,提供優(yōu)化、可靠的骨干傳輸結(jié)構(gòu)。匯聚層交換機(jī)是多臺接入層交換機(jī)的匯聚點(diǎn),其必須能夠處理來自接入層設(shè)備的所有通信量,并提供到核心層的上行鏈路。因此,匯聚層交換機(jī)與接入層交換機(jī)比較,需要更高的性能、更少的接口和更快的交換速率。樓層交換機(jī)用于提供每一個樓層所有端口的上網(wǎng)接入點(diǎn)。此外,所有交換機(jī)均支持802.1x協(xié)議端口認(rèn)證協(xié)議。認(rèn)證服務(wù)器用于對校園網(wǎng)用戶進(jìn)行身份認(rèn)證,其采用ubuntu+Apache+freeRadius+Mysql的模式,對硬件依賴性低。
820.1x校園網(wǎng)認(rèn)證系統(tǒng)的認(rèn)證流程,如圖4所示。首先,校園網(wǎng)用戶通過客戶端向認(rèn)證系統(tǒng)提出認(rèn)證請求;認(rèn)證系統(tǒng)將認(rèn)證請求處理過后,再將處理結(jié)果返回給客戶端;客戶端根據(jù)結(jié)果判斷用戶是否為合法用戶,并進(jìn)而對其上網(wǎng)允許做出決定[14]。

圖3 校園網(wǎng)802.1x協(xié)議網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

圖4 認(rèn)證流程
認(rèn)證系統(tǒng)是整個校園網(wǎng)認(rèn)證的核心部件,其包括3個模塊,分別為認(rèn)證模塊、計費(fèi)模塊以及認(rèn)證管理模塊,如圖5所示。客戶端提出認(rèn)證請求后,認(rèn)證模塊對認(rèn)證請求進(jìn)行處理。若未通過認(rèn)證,則對認(rèn)證請求不予通過;若通過認(rèn)證,則向計費(fèi)模塊發(fā)起計費(fèi)申請,并將上網(wǎng)的記錄與費(fèi)用返回給認(rèn)證管理模塊。客戶端通過認(rèn)證管理系統(tǒng)查詢賬戶上網(wǎng)流量與賬戶余額。

圖5 認(rèn)證系統(tǒng)功能圖
對于認(rèn)證模塊,其詳細(xì)工作詳細(xì)流程圖如圖6所示,主要涉及上網(wǎng)記錄與費(fèi)用、接入控制表以及用戶信息3方面的內(nèi)容。首先客戶端發(fā)起認(rèn)證請求后,先檢驗數(shù)據(jù)包的合法性,確認(rèn)為有效的數(shù)據(jù)包后,提取用戶賬號和口令,判斷用戶賬號信息的合法性。若用戶賬號信息合法,則認(rèn)證模塊檢驗用戶所在客戶端IP和MAC地址的合法性;若不合法,則返回網(wǎng)絡(luò)連接非法的信號給客戶端。若IP和MAC地址合法,則進(jìn)一步判斷用戶賬號余額是否充足。若賬號余額充足,則將IP地址及認(rèn)證成功的信息返回給客戶端,并向計費(fèi)模塊發(fā)起計費(fèi)請求,具體認(rèn)證流程如圖7所示。

圖6 認(rèn)證模塊詳細(xì)功能圖

圖7 認(rèn)證流程圖
由于802.1x協(xié)議是非對稱協(xié)議,其只對認(rèn)證請求用戶進(jìn)行賬號合法性檢驗,卻并未對認(rèn)證者所提交認(rèn)證申請的認(rèn)證點(diǎn)進(jìn)行驗證。因而攻擊者可通過偽裝認(rèn)證點(diǎn)而截取用戶賬號信息,造成用戶信息被竊取。并通過竊取的用戶賬號信息通過真正的認(rèn)證點(diǎn)進(jìn)行身份驗證,接收認(rèn)證點(diǎn)發(fā)送的報文,搶占網(wǎng)絡(luò)資源[15-16]。在該種情況下,用戶信息容易泄露,攻擊者甚至通過用戶賬號進(jìn)行非法工作,造成用戶遭遇巨大損失。因此,需要在用戶發(fā)起認(rèn)證請求之前,對用戶認(rèn)證點(diǎn)進(jìn)行認(rèn)證,確保沒有遭受網(wǎng)絡(luò)攻擊。此外,可通過在用戶和認(rèn)證點(diǎn)之間采取預(yù)共享密鑰的方式來對認(rèn)證點(diǎn)進(jìn)行驗證,具體方法如圖8所示。在認(rèn)證點(diǎn)通過認(rèn)證申請者的認(rèn)證請求后,其將通過預(yù)共享密鑰并結(jié)合自身形象,包括IP地址、MAC地址等產(chǎn)生認(rèn)證密鑰Auth-Kc。并將認(rèn)證密鑰Auth-Kc連同EAP-Success信息一同發(fā)送給認(rèn)證申請者,申請者也計算得到一個認(rèn)證密鑰Auth-Kc,并與認(rèn)證點(diǎn)發(fā)送的認(rèn)證密鑰進(jìn)行比對。若兩者的認(rèn)證密鑰相同,則認(rèn)證成功,申請者將接入網(wǎng)絡(luò);若兩者的密鑰不相同,則認(rèn)為認(rèn)證不成功,申請者將不會接入網(wǎng)絡(luò)。從而確保用戶信息不會被偽裝的認(rèn)證點(diǎn)竊取,保證網(wǎng)絡(luò)接入認(rèn)證的安全性。

圖8 申請者與認(rèn)證點(diǎn)的認(rèn)證原理
文中對基于802.1x協(xié)議的校園網(wǎng)安全認(rèn)證系統(tǒng)進(jìn)行測試,采用100 Mbps的局域網(wǎng),硬件測試環(huán)境與軟件測試環(huán)境如表1所示。

表1 測試環(huán)境
首先對校園網(wǎng)用戶認(rèn)證功能進(jìn)行測試,打開客戶端輸入賬號密碼后點(diǎn)擊登錄。若認(rèn)證成功,則能夠連接網(wǎng)絡(luò),頁面如圖9(a)所示。文中模擬偽造認(rèn)證點(diǎn)用相同的賬號信息進(jìn)行身份驗證,結(jié)果無法通過認(rèn)證,如圖9(b)所示。因此,證明本系統(tǒng)能夠防止攻擊者通過偽造認(rèn)證點(diǎn)竊取用戶信息。認(rèn)證系統(tǒng)認(rèn)證成功即可連接網(wǎng)絡(luò),系統(tǒng)抓包結(jié)果如圖10所示,由紅色方框內(nèi)信息可得網(wǎng)絡(luò)連接已被接受。

圖9 客戶端登錄

圖10 系統(tǒng)抓包結(jié)果
隨著互聯(lián)網(wǎng)技術(shù)以及數(shù)字媒體技術(shù)的發(fā)展,高校資源逐漸實(shí)現(xiàn)數(shù)字化,并建設(shè)形成校園網(wǎng)絡(luò)以供學(xué)生下載分享資源。隨著網(wǎng)絡(luò)規(guī)模的不斷壯大,其呈現(xiàn)出來的網(wǎng)絡(luò)安全也日益嚴(yán)重。因此,確保校園網(wǎng)的網(wǎng)絡(luò)安全成為一個重要的問題。校園網(wǎng)主要通過身份驗證的方式來確保網(wǎng)絡(luò)用戶的合法性,從而避免非法用戶對校園網(wǎng)的訪問,防范了網(wǎng)絡(luò)木馬程序、病毒對校園網(wǎng)的入侵。然而,傳統(tǒng)認(rèn)證方式容易造成網(wǎng)絡(luò)傳輸瓶頸。為此,本文通過IEEE 802.1x協(xié)議設(shè)計了校園網(wǎng)安全認(rèn)證系統(tǒng)。其通過端口對上網(wǎng)用戶進(jìn)行身份驗證,有效防止了非法用戶訪問校園網(wǎng)。實(shí)驗測試結(jié)果表明,該系統(tǒng)能夠滿足設(shè)計要求,從而實(shí)現(xiàn)用戶身份驗證功能。