文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.02.025
中文引用格式: 鄧康,張勝利,代明軍,等. 基于SDN的無線網(wǎng)絡接入控制[J].電子技術應用,2016,42(2):92-94,98.
英文引用格式: Deng Kang,Zhang Shengli,Dai Mingjun,et al. SDN based wireless network access authentication[J].Application of Electronic Technique,2016,42(2):92-94,98.
0 引言
隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡用戶的數(shù)量增長迅猛,特別是移動智能終端用戶,如何管理移動終端成為管理員必須要考慮的問題。傳統(tǒng)網(wǎng)絡采用垂直分層結構,將控制邏輯和數(shù)據(jù)轉發(fā)耦合到交換機、路由器等網(wǎng)絡設備中。這些網(wǎng)絡設備都是封閉的,其中的網(wǎng)絡協(xié)議和專利為設備商所特有,因此科研人員和網(wǎng)絡管理人員很難實驗和部署新型網(wǎng)絡協(xié)議和應用。對于大規(guī)模的網(wǎng)絡管理,傳統(tǒng)網(wǎng)絡已經(jīng)顯現(xiàn)出它的不足。為了解決現(xiàn)有TCP/IP體系架構所面臨的問題,世界各國的科研工作者都在積極開展未來互聯(lián)網(wǎng)的研究,軟件定義網(wǎng)絡(Software Defined Network,SDN[1])就是在這種技術背景下產生的。
SDN這種新型網(wǎng)絡架構將傳統(tǒng)TCP/IP體系網(wǎng)絡分為數(shù)據(jù)平面和控制平面,數(shù)據(jù)平面只負責底層數(shù)據(jù)的轉發(fā),控制層面來決策數(shù)據(jù)轉發(fā)。控制器開放北向接口NBI,使得一些新型網(wǎng)絡應用能迅速部署。控制器和SDN交換機之間通過安全通道相連,并按照OpenFlow[2]協(xié)議規(guī)則來管理和配置交換機。OpenFlow協(xié)議最初是由斯坦福大學的Nick McKeown教授[2]提出,開放網(wǎng)絡基金會ONF對基于OpenFlow的無線SDN進行了詳細介紹,并發(fā)布了相關白皮書文檔[3]。本文就是基于控制層面的北向API接口,實現(xiàn)了一種基于MAC地址的訪問控制策略,并將該應用部署到實驗室網(wǎng)絡中,通過實驗驗證了可行性和實用性。
1 傳統(tǒng)網(wǎng)絡的無線接入管理
1.1 WEP 接入認證
WEP是802.11b中定義的一種加密方式,目的是為WLAN提供和有線網(wǎng)絡LAN同級別的安全性。由于WLAN是基于無線電磁波的傳輸,沒有固定封閉的傳輸媒介,無法提供端到端的安全傳輸,因此更容易被入侵,現(xiàn)在已經(jīng)基本被淘汰。
1.2 WPA接入認證
WPA有WPA和WPA2兩個標準,是為了解決WEP的弱點而產生的,現(xiàn)在已替代了WEP加密。WPA-PSK采用TKIP加密方式,密匙越長越安全。WPA2是增強型版本,新增了AES加密方式,WPA2-PSK則支持TKIP和AES兩種加密方式,是現(xiàn)有的加密方式中相對最安全的一種。
1.3 WEB認證方式
WEB認證是一種應用層接入管理方式,在這種方式中,管理員創(chuàng)建一個開放模式的無線接入點,用戶接入后訪問網(wǎng)絡時,被強制重定向到指定的認證網(wǎng)頁,要求輸入正確的賬號和密碼才能繼續(xù)訪問網(wǎng)絡。即使是同一個用戶,在每次斷開連接后,這種接入認證方式需要再次輸入賬戶名和密碼,因此不是很便捷。
1.4 MAC-ACL接入控制
MAC-ACL直接利用MAC地址認證控制接入,這種接入方式也需要接入服務器(例如Radius),用來判斷MAC地址是否合法。此種方法必須預先知道哪些MAC地址是合法的,由于每一個終端的MAC地址唯一,可以用分級權限訪問實現(xiàn)。
2 基于SDN的無線MAC地址訪問控制
上述接入認證方式各有優(yōu)劣,如WEP和WPA加密認證算法方式已被證明存在漏洞,常用于家庭個人WiFi網(wǎng)絡;WEB接入認證雖然安全,但是每次輸入密碼會影響使用的便捷;MAC-ACL雖然可以自動認證,但是首次獲得合法MAC地址的過程較為麻煩。而且,目前多數(shù)網(wǎng)絡設備的轉發(fā)功能和認證功能在一起,隨著用戶規(guī)模的增加,管理的開銷成為影響網(wǎng)絡性能的重要因素。本文主要探索高效安全的無線網(wǎng)絡接入管理方式。
2.1 采用SDN架構的無線接入網(wǎng)
SDN將網(wǎng)絡的控制邏輯和數(shù)據(jù)轉發(fā)分開,形成應用層、控制層和基礎設施層三個層次,如圖1所示。
應用層:包含各種網(wǎng)絡應用程序,實現(xiàn)交換機的數(shù)據(jù)轉發(fā)、負載均衡、流量控制和防火墻等功能。控制器開放北向接口,用戶可以開發(fā)并部署自己的應用。本文所提出的MAC地址訪問控制就是北向接口的應用。
控制層:控制邏輯,即控制器。控制器的網(wǎng)絡控制功能主要包括南向接口協(xié)議OpenFlow、鏈路發(fā)現(xiàn)、拓撲管理、策略定制和下發(fā)流表等。控制器南向接口與SDN交換設備相連,控制器通過交換設備上報的信息進行統(tǒng)一的監(jiān)控和管理。控制器根據(jù)應用層程序執(zhí)行相應策略,而策略定制和下發(fā)流表則是控制器利用南向接口的下行通道對網(wǎng)絡設備實施統(tǒng)一控制。
基礎設施層:主要由一些網(wǎng)絡設備組成,如OpenFlow交換機,無線OpenFlow接入點。這些網(wǎng)絡設備接控制器的南向接口,控制器與設備之間通過安全通道連接,采用OpenFlow協(xié)議通信。控制器通過在OpenFlow交換機中產生流表控制數(shù)據(jù)的轉發(fā)。
2.2 MAC地址接入控制算法設計
由于SDN的靈活性和開放性,很多科研人員積極將SDN架構引入到無線接入網(wǎng)中。Nick McKeown教授提出的OpenRoads[4],采用SDN架構來管理WiFi和WiMAX。SoftRAN[5]提出了軟件定義無線接入網(wǎng)架構,用控制器來管理無線資源。但這些無線SDN網(wǎng)絡架構都未提及網(wǎng)絡的安全性,本文從安全防護角度,研究實現(xiàn)了基于MAC地址的自動訪問控制策略,下面介紹具體算法。
MAC接入控制算法:白名單模式
handle_PacketIn( )
{ get dst_mac src_mac input output }
if dst_mac == mutlicast
then flood (判斷是否為廣播地址)
if dst_mac in flowtable
then {
if src_mac in white list
then actions = output.port
}
else actions = drop
控制器和OpenFlow交換機連接并運行時,首先要進行的工作是鏈路發(fā)現(xiàn)。控制器通過定時的發(fā)送包含LLDP數(shù)據(jù)包的Packet_out消息給與其相連的OpenFlow交換機,交換機收到消息后立即發(fā)往到所有端口,并根據(jù)交換機反饋回來的Packet_in消息獲取交換機信息。因而LLDP數(shù)據(jù)包是一種廣播包,不需要通過控制器下發(fā)流表來決定轉發(fā)。通過鏈路發(fā)現(xiàn)后,控制器可以學習到全局網(wǎng)絡拓撲結構,配置管理相應的下發(fā)流表,控制數(shù)據(jù)的轉發(fā)。
在MAC地址訪問控制程序中,定義了packet_in_handler( )、add_flow( )和drop_flow( ) 三個函數(shù)。packet_in_handler( )函數(shù)用來對發(fā)送進來的數(shù)據(jù)包進行處理,首先判斷目的地址dst是否在交換機中,若在,則匹配相應的流表,完成轉發(fā);若不在,則設置為OFPP_FLOOD,這是泛洪轉發(fā)邏輯端口,泛洪轉發(fā)不產生流表。判斷完目的地址后,再來看源地址src。從數(shù)據(jù)包pkt中提取src,用send(src)將源地址送往MAC認證服務器,并將其與白名單中的MAC地址列表匹配。如果src在白名單中,則可以斷定用戶是合法用戶,此時向控制器返回FLAG1,控制器收到FLAG1標識后,通過add_flow( )生成轉發(fā)流表,轉發(fā)動作actions=output。如果源地址不在白名單中,則向控制器返回FLAG2,控制器收到FLAG2后,直接產生丟棄流表,轉發(fā)動作actions=drop。這樣OpenFlow交換機中就有了用戶端口到外網(wǎng)端口的轉發(fā)規(guī)則。同理,從外網(wǎng)端口送來數(shù)據(jù)包時,src地址就是外網(wǎng)端口的MAC地址,同上述情況一樣,先查找流表,若沒有匹配成功,則送往控制器,控制器對于從外網(wǎng)端口送來的數(shù)據(jù)包,直接產生轉發(fā)流表。
因此,只有白名單用戶在訪問外網(wǎng)時,才產生從用戶端口到外網(wǎng)端口的轉發(fā)流表,其他非法用戶則產生丟棄流表,這樣就可通過白名單上的MAC地址控制用戶網(wǎng)絡接入。
2.3 MAC地址認證服務器
MAC地址認證服務器的工作流程如圖2。
MAC地址認證服務器的功能主要是接收控制器送來的src地址,并與白名單對比,判斷該src地址是否為合法用戶。然后將返回結果送給控制器,讓控制器產生相應的流表。
3 實驗驗證
通過在實驗室部署無線SDN網(wǎng)絡來測試算法應用程序的正確性,搭建的網(wǎng)絡如圖3。
實驗所用設備有:2臺電腦,無線OpenFlow交換機,筆記本和支持WiFi的智能手機。其中一臺電腦作為控制器,控制器為Ryu,安裝在Ubuntu 12.04 LTS桌面版系統(tǒng)上。另一臺作為MAC地址認證服務器,提供認證登錄和提取MAC地址功能。無線OpenFlow交換機是采用市場上的家用路由器TP-Link 841n無線路由器,在運行部分添加了OpenFlow模塊的OpenWrt系統(tǒng),創(chuàng)建一個WiFi熱點,使該WLAN端口也支持OpenFlow。
用戶連接到無線熱點后,首次連接訪問外網(wǎng)時,將該用戶重定向到MAC地址認證服務器。此時用戶端會跳轉至Web登錄界面,要求輸入用戶名和密碼。登錄成功后,用戶的MAC地址被存儲到白名單上,用戶再次請求訪問外網(wǎng)時,MAC認證服務器可以通知控制器產生相應的轉發(fā)流表,這樣通過認證的用戶就可以訪問外網(wǎng)。當用戶斷開后,下一次再連接無線網(wǎng)絡時,由于它的MAC地址已經(jīng)存儲在白名單中,MAC地址認證服務器會直接通知控制器產生相應的轉發(fā)流表。用戶再次連接上網(wǎng)時,可以不用輸入賬號和密碼而直接訪問外網(wǎng)。
為了測試該MAC地址訪問控制功能,用戶A是筆記本,用戶B是支持WiFi的手機。打開無線網(wǎng)絡,連接無線OpenFlow接入點。用戶A正確輸入了賬號和密碼,完成認證,MAC地址被加入到白名單。
在本系統(tǒng)中,由于用戶A完成登錄認證,所以MAC地址被存儲在MAC地址認證服務器的表單中(即白名單用戶),而用戶B沒有登錄認證,屬于非法用戶,所以用戶A可以正常訪問外網(wǎng),而用戶B無法直接訪問外網(wǎng)。
經(jīng)過如上測試步驟之后,OpenFlow交換機產生轉發(fā)流表。圖4為dpctl指令查看的流表,省去了部分非關鍵字段,從OpenFlow所產生的轉發(fā)流表中選擇4條具有代表性的流表規(guī)則。下面,結合圖4中的流表規(guī)則來說明本文所提算法的合理性和正確性。
用戶A的MAC地址為74:86:7a:48:2b:23,B的MAC地址為70:72:3c:d5:c4:36,外網(wǎng)的MAC地址為28:c6:8e:c6:37:c0。其中,actions為空就是丟棄數(shù)據(jù)包行為。
控制器下發(fā)了4條流表,port 1連接外網(wǎng),port 4為無線OpenFlow端口。用戶A和用戶B都連在無線端口上。用戶A—Internet,Internet—用戶A,用戶B—Internet,Internet—用戶B。用戶A完成登錄認證,其MAC地址就存儲到白名單中,控制器下發(fā)對其到Internet的正常轉發(fā)行為流表。而用戶B沒有通過認證,MAC地址不在其中,對其向外網(wǎng)轉發(fā)的數(shù)據(jù)包下發(fā)丟棄流表。這樣就可以通過流表規(guī)則控制無線用戶對網(wǎng)絡的訪問。
4 結論
基于無線SDN的MAC地址訪問控制,可以在傳統(tǒng)加密方式基礎上增加一道有力的安全防護,而這樣做的代價僅僅是控制器上的一個應用程序,無需再買其他的專用設備,節(jié)省了成本開銷。本文提出了無線網(wǎng)絡接入認證方法,白名單用戶首次認證成功后,立即產生轉發(fā)流表,而其他非法用戶則產生丟棄流表,阻止其訪問外網(wǎng),該方法切實可靠。
參考文獻
[1] SDN Architecture[OL].https://www.opennetworking.org/images/stories/downloads/sdn-resources/technical-reports/SDN-architecture-overview-1.0.pdf.
[2] MCKEOWN N,ANDERSON T,BALAKRISHNAN H,et al.OpenFlow: enabling innovation in campus networks[J].ACM SIGCOMM Computer Communication Review,2008,38(2):69-74.
[3] ONF Solution Brief.OpenFlow-Enabled Mobile and Wireless Networks.September 2013.http://www.opennetworking.org.
[4] YAP K K,KOBAYASHI M,SHERWOOD R,et al.OpenRoads:Empowering research in mobile networks[J].ACM SIGCOMM Computer Communication Review,2010,40(1):125-126.
[5] GUDIPATI A,PERRY D,LI L E,et al.SoftRAN:Software defined radio access network[C].Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking.ACM,2013:25-30.