劉洋
摘? 要: 為了提高用戶接入互聯(lián)網(wǎng)的安全性,文中設(shè)計(jì)一款基于SAVI技術(shù)的IPv6接入認(rèn)證系統(tǒng)。該系統(tǒng)基于充分的用戶調(diào)研和技術(shù)分析,在Web認(rèn)證方法的基礎(chǔ)上,引入SAVI源地址驗(yàn)證技術(shù)。經(jīng)實(shí)驗(yàn)測(cè)試表明,該系統(tǒng)可以抵抗分布式拒絕服務(wù)攻擊,屏蔽無(wú)合法權(quán)限和偽造源地址的非法用戶訪問,進(jìn)一步提高了新一代移動(dòng)互聯(lián)網(wǎng)的安全性防護(hù)水平。
關(guān)鍵詞: 接入認(rèn)證系統(tǒng); IPv6接入; 非法用戶屏蔽; 抵抗攻擊; 網(wǎng)絡(luò)路由器; 網(wǎng)絡(luò)安全
中圖分類號(hào): TN918.912?34; TP311.52? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2019)16?0075?04
0? 引? 言
隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,IPv4的局限性不斷地顯現(xiàn)出來(lái),嚴(yán)重破壞了互聯(lián)網(wǎng)的環(huán)境安全。在誕生之初,傳統(tǒng)的IPv4技術(shù)并沒有考慮網(wǎng)絡(luò)源地址的真實(shí)性問題,所以在使用IPv4技術(shù)時(shí),網(wǎng)絡(luò)中的路由只能使用數(shù)據(jù)報(bào)文的目的地址轉(zhuǎn)發(fā)數(shù)據(jù)。而對(duì)這些地址的真實(shí)性沒有任何驗(yàn)證,這直接導(dǎo)致攻擊者可以隨意偽造IP地址,開展IP欺騙等一系列分布式拒絕服務(wù)攻擊(DDoS)[1?2]。根據(jù)2016年DDoS攻擊的統(tǒng)計(jì)報(bào)告顯示,這一類攻擊具有多種手段和海量流量的特點(diǎn),其峰值攻擊流量已經(jīng)接近400 GB。而持續(xù)時(shí)間超越了45天,向互聯(lián)網(wǎng)的安全環(huán)境提出了嚴(yán)峻的挑戰(zhàn)。如何驗(yàn)證網(wǎng)絡(luò)數(shù)據(jù)源地址的真實(shí)性,成為了網(wǎng)絡(luò)安全技術(shù)中亟待解決的一個(gè)重要課題[3?4]。為了避免受到DDoS攻擊,新一代的IPv6技術(shù)在設(shè)計(jì)階段就考慮了源地址真實(shí)性的驗(yàn)證問題[5]。該種技術(shù)也被稱為接入認(rèn)證技術(shù),其主要原理是使用唯一的標(biāo)識(shí)確定每一位用戶的操作權(quán)限,從而控制用戶在網(wǎng)絡(luò)中的各種行為[6?7]。隨著IPv6技術(shù)的持續(xù)部署,如何提高網(wǎng)絡(luò)的安全性和可管理性,逐漸成為IPv6技術(shù)廣泛應(yīng)用所面臨的下一個(gè)主要問題[8?9]。為了實(shí)現(xiàn)IPv6網(wǎng)絡(luò)技術(shù)的移動(dòng)終端用戶源地址真實(shí)性的驗(yàn)證,本文在充分調(diào)研不同驗(yàn)證技術(shù)的基礎(chǔ)上,選取了SAVI技術(shù)實(shí)現(xiàn)IPv6協(xié)議的源地址驗(yàn)證。同時(shí),完成了用戶接入認(rèn)證系統(tǒng)的整體設(shè)計(jì)。
1? SAVI技術(shù)
2009年4月,清華大學(xué)提出一種源地址合法性檢驗(yàn)的RFC草案,即SAVI(Source Address Validating)技術(shù)。這一草案提出一種適用于IPv4和IPv6協(xié)議的Control Packet Snooping(CPS)原理,即通過(guò)綁定終端處理設(shè)備與網(wǎng)絡(luò)路由之間的源地址,從而有效判斷接入設(shè)備報(bào)文源地址的真實(shí)性。從提出開始,SAVI技術(shù)始終處于不斷的發(fā)展過(guò)程中,逐漸形成了一種包含監(jiān)聽、綁定和驗(yàn)證的框架模型,如圖1所示。
如圖1所示,SAVI技術(shù)對(duì)于源地址真實(shí)性的驗(yàn)證過(guò)程可以分為3步:
1) 當(dāng)用戶終端設(shè)備接入網(wǎng)絡(luò)之后,該技術(shù)需要監(jiān)聽接入用戶的數(shù)據(jù)請(qǐng)求包,從而獲取網(wǎng)絡(luò)分配用戶的真實(shí)IP地址;
2) 綁定用戶的真實(shí)IP地址及難以偽造的網(wǎng)絡(luò)屬性數(shù)據(jù),提高用戶源地址的防偽性;
3) 在綁定之后,當(dāng)用戶通過(guò)網(wǎng)絡(luò)交換數(shù)據(jù)時(shí),SAVI技術(shù)根據(jù)綁定的結(jié)果可以判斷接收數(shù)據(jù)的真實(shí)來(lái)源。若數(shù)據(jù)包不是來(lái)自于用戶的真實(shí)數(shù)據(jù),則拒絕轉(zhuǎn)發(fā)該數(shù)據(jù)包。
2? 總體架構(gòu)設(shè)計(jì)方案
接入認(rèn)證系統(tǒng)是一種能夠?qū)W(wǎng)絡(luò)用戶身份進(jìn)行管理的技術(shù),有效地維護(hù)了互聯(lián)網(wǎng)的安全運(yùn)營(yíng)。本文基于SAVI技術(shù),設(shè)計(jì)了一種兼容IPv4網(wǎng)絡(luò)環(huán)境的接入認(rèn)證系統(tǒng),避免未被授權(quán)用戶通過(guò)偽造源地址接入互聯(lián)網(wǎng)。該系統(tǒng)的總體架構(gòu)如圖2所示。
圖中:移動(dòng)終端是指用戶接入網(wǎng)絡(luò)的多種移動(dòng)設(shè)備,包括手機(jī)、筆記本電腦等智能終端;接入交換機(jī)是系統(tǒng)的核心設(shè)備,主要負(fù)責(zé)移動(dòng)終端的訪問控制;認(rèn)證服務(wù)器由Web認(rèn)證服務(wù)器和本地?cái)?shù)據(jù)庫(kù)組成,其主要功能是存儲(chǔ)用戶的身份和個(gè)人指紋等相關(guān)信息;DHCP服務(wù)器主要承擔(dān)網(wǎng)絡(luò)地址的配置服務(wù),即利用DHCP配置協(xié)議為用戶提供相關(guān)的網(wǎng)絡(luò)配置信息。
3? 模塊設(shè)計(jì)與測(cè)試
根據(jù)系統(tǒng)的架構(gòu),本文系統(tǒng)主要由移動(dòng)終端、接入交換機(jī)、DHCP和認(rèn)證服務(wù)器等組成。接入交換機(jī)和認(rèn)證服務(wù)器,是系統(tǒng)實(shí)現(xiàn)接入認(rèn)證功能的關(guān)鍵設(shè)備。其中,接入交換機(jī)可分為SAVI模塊、通信模塊、HTTP重定向模塊和SNMP代理模塊等。而認(rèn)證服務(wù)器可分為Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器,其具體設(shè)計(jì)與測(cè)試分析如下所述。
3.1? SAVI模塊
SAVI模塊是利用訪問控制列表實(shí)現(xiàn)用戶訪問控制的設(shè)備模塊。具體而言,該模塊使用訪問控制列表對(duì)接入的網(wǎng)絡(luò)用戶進(jìn)行分組和過(guò)濾。同時(shí)通過(guò)分析數(shù)據(jù)包的IP和物理地址等端口信息,制定相應(yīng)的轉(zhuǎn)發(fā)控制策略。SAVI模塊的框架如圖3所示。
在SAVI模塊中,所有的程序主要可分為監(jiān)聽抓包、報(bào)文分析、綁定管理和過(guò)濾執(zhí)行等部分。
1) 監(jiān)聽抓包。用戶的移動(dòng)終端利用DHCP服務(wù)器得到相關(guān)網(wǎng)絡(luò)配置信息,在進(jìn)行HTTP請(qǐng)求的同時(shí),將運(yùn)行相應(yīng)的監(jiān)聽抓包程序,分析其數(shù)據(jù)報(bào)文。通常,監(jiān)聽抓包程序的執(zhí)行需要使用libpcap函數(shù)庫(kù),其程序結(jié)構(gòu)如圖4所示。其中,libpcap函數(shù)庫(kù)主要用于捕獲報(bào)文,適用于Unix和Linux等類Unix操作系統(tǒng),而且提供可供用戶調(diào)用的編程接口,利用Socket套接字和函數(shù)接口將數(shù)據(jù)復(fù)制到過(guò)濾器中,且使用BSD Packet Filter過(guò)濾算法獲取特定的報(bào)文。
2) 報(bào)文分析。從監(jiān)聽抓包的過(guò)程中,系統(tǒng)利用報(bào)文關(guān)鍵字即可區(qū)分不同類型的報(bào)文,隨后對(duì)這些報(bào)文進(jìn)行不同的處理。一般而言,用戶的IP源地址信息是系統(tǒng)的一個(gè)重要指標(biāo)。在轉(zhuǎn)發(fā)某地址的數(shù)據(jù)時(shí),接入交換機(jī)將加入一個(gè)特殊的TAG信息,形成攜帶管理信息的數(shù)據(jù)包,其格式如圖5所示。
在系統(tǒng)數(shù)據(jù)包中,各個(gè)部分的長(zhǎng)度如表1所示。
3) 綁定管理。在系統(tǒng)的接入認(rèn)證中,管理綁定表是指存儲(chǔ)和管理維護(hù)報(bào)文分析之后的數(shù)據(jù),即修改、插入或調(diào)用相應(yīng)的數(shù)據(jù)。其中,在綁定表中存儲(chǔ)信息應(yīng)包括用戶的IP地址等多元組信息,具體數(shù)據(jù)結(jié)構(gòu)如圖6所示。
圖6中,Key(4 B)是系統(tǒng)網(wǎng)絡(luò)協(xié)議的類型字段,承擔(dān)區(qū)分IPv4和IPv6的作用;IP(16 B)存儲(chǔ)用戶的真實(shí)IP地址;MAC(6 B)存儲(chǔ)硬件的地址;Port(4 B)存儲(chǔ)網(wǎng)絡(luò)設(shè)備的端口信息;Vlan(4 B)存儲(chǔ)交換機(jī)中的局域網(wǎng)信息;Value(4 B)存儲(chǔ)系統(tǒng)的認(rèn)證結(jié)果,即訪問控制列表的數(shù)值。在實(shí)際運(yùn)行中,其執(zhí)行流程如圖7所示。
4) 過(guò)濾執(zhí)行。接入認(rèn)證系統(tǒng)需要使用ACL表格對(duì)所有接入用戶的訪問進(jìn)行過(guò)濾,從而維持合法用戶的訪問。在實(shí)際運(yùn)行過(guò)程中,系統(tǒng)的過(guò)濾主要由交換機(jī)中的芯片承擔(dān)。同時(shí)需要使用高層接口進(jìn)行過(guò)濾、封裝和處理,其執(zhí)行接口的層次如圖8所示。
3.2? 通信模塊
在接入認(rèn)證系統(tǒng)中,通信模塊的主要作用是保障不同模塊之間的數(shù)據(jù)通信。在通信模塊中,其框架是一個(gè)使用IPC機(jī)制的C/S模型。通信模塊的架構(gòu)圖如圖9所示。
在通信模塊的工作過(guò)程中,服務(wù)器端使用函數(shù)listen()隨時(shí)檢測(cè)客戶端的請(qǐng)求信息。當(dāng)客戶端發(fā)送連接的請(qǐng)求之后,則通信模塊需要執(zhí)行一系列的工作流程,如圖10所示。
3.3? HTTP重定向模塊
當(dāng)SAVI模塊將用戶的多種信息添加至綁定表之后,用戶還需要和認(rèn)證服務(wù)器進(jìn)行交互,從而確認(rèn)用戶的合法身份。而HTTP重定向模塊主要負(fù)責(zé)將用戶的HTTP請(qǐng)求重定向到認(rèn)證服務(wù)器,認(rèn)證服務(wù)器負(fù)責(zé)對(duì)用戶的具體信息做真實(shí)性驗(yàn)證,實(shí)現(xiàn)用戶的訪問控制。該模塊的功能結(jié)構(gòu)如圖11所示。
根據(jù)模塊的內(nèi)部功能,HTTP重定向模塊主要可分為地址轉(zhuǎn)換模塊和HTTP服務(wù)模塊。其中,地址轉(zhuǎn)換模塊是將用戶請(qǐng)求的目的地址轉(zhuǎn)換為服務(wù)器的地址,修改請(qǐng)求報(bào)文,偽裝實(shí)現(xiàn)主機(jī)響應(yīng);HTTP服務(wù)模塊需要和用戶的終端實(shí)現(xiàn)TCP連接,同時(shí)將重定向的報(bào)文發(fā)送到用戶的終端,令該終端順利地重定向到認(rèn)證服務(wù)器中,完成最后的身份認(rèn)證過(guò)程。
4? 結(jié)? 語(yǔ)
基于SAVI技術(shù),本文設(shè)計(jì)了一個(gè)兼容IPv4協(xié)議的高效IPv6接入認(rèn)證系統(tǒng)。該系統(tǒng)的安全性主要依賴于SAVI技術(shù),但此技術(shù)依舊處于不斷地發(fā)展過(guò)程中。這也意味著該技術(shù)還存在一些優(yōu)化的空間,所以本文設(shè)計(jì)的系統(tǒng)也依然存在一些優(yōu)化和改進(jìn)的潛力,未來(lái)將致力于這一方向的研究。
參考文獻(xiàn)
[1] GOMEZ C, PARADELLS J, BORMANN C, et al. From 6LoWPAN to 6Lo: expanding the universe of IPv6?supported technologies for the internet of things [J]. IEEE communications magazine, 2017, 55(12): 148?155.
[2] ZHU Y H, QIU S W, CHI K K, et al. Latency aware IPv6 packet delivery scheme over IEEE 802.15.4 based battery?free wireless sensor networks [J]. IEEE transactions on mobile computing, 2017, 16(6): 1691?1704.
[3] MURALIDHARAN S, SAHU B J R, SAXENA N, et al. PPT: a push pull traffic algorithm to improve QoS provisioning in IoT?NDN environment [J]. IEEE communications letters, 2017, 21(6): 1417?1420.
[4] MAKAYA C, PIERRE S. An analytical framework for performance evaluation of IPv6?Based mobility management protocols [J]. IEEE transactions on wireless communications, 2008, 7(3): 972?983.
[5] WEBER S, CHENG L. A survey of anycast in IPv6 networks [J]. IEEE communications magazine, 2004, 42(1): 127?132.
[6] STALLINGS W. IPv6: the new internet protocol [J]. IEEE communications magazine, 1996, 34(7): 96?108.
[7] LEE J H, BONNIN J M, YOU I, et al. Comparative handover performance analysis of IPv6 mobility management protocols [J]. IEEE transactions on industrial electronics, 2013, 60(3): 1077?1088.
[8] KONG K S, LEE W J, HAN Y H, et al. Mobility management for all?IP mobile networks: mobile IPv6 vs. proxy mobile IPv6 [J]. IEEE wireless communications, 2008, 15(2): 36?45.
[9] SORNLERTLAMVANICH P, KAMOLPHIWONG S. Host?based and network?based distributed mobility management for NEMO [J]. IEICE transactions on communications, 2017, 100(1): 67?74.
[10] 黃曉華.物聯(lián)網(wǎng)環(huán)境下IPv6與IPv4共存與過(guò)渡分析[J].通訊世界,2018(10):63?64.
HUANG Xiaohua. Coexistence and transition analysis of IPv6 and IPv4 in the Internet of things environment [J]. Telecom world, 2018(10): 63?64.