1.引言
2007年,作為斯坦福大學CLEAN State的項目成員,Casado M等人提出了SANE網(wǎng)絡架構和Ethane網(wǎng)絡架構,用于提供企業(yè)網(wǎng)絡中的安全管理。由于技術本身的優(yōu)勢和相應的技術推廣,這種網(wǎng)絡架構被重新命名為軟件定義網(wǎng)絡(software defined networking,SDN ),并被認為是替代傳統(tǒng)層次網(wǎng)絡架構、解決當前和未來網(wǎng)絡爆炸性需求的一種革新技術y。有意思的是,目前的SDN版本,例如基于OpenFlow的SDN對網(wǎng)絡安全卻很少提及。
鑒于互聯(lián)網(wǎng)技術的發(fā)展歷程經(jīng)驗,人們廣泛意識到,網(wǎng)絡設計的初期就應該考慮到其中的安全問題。于是近年來,也有不少對SDN的安全需求分析、安全解決方案提出,但是這一切都剛剛開始,本文對近年來的SDN安全進展做一個初步總結,對其中的解決方案做一個初步分析。
2.SDN安全性簡介
2.1 SANE架構
SANE Casado M等人提出的一個理想的網(wǎng)絡架構,原型實現(xiàn)后,在7個主機構成的Ethernet上運行了一個月。SANE的網(wǎng)絡架構主要包含一個集中控制器(DC),其中的交換機、主機均要做相應改造,以支持這種架構,如圖1所示。
圖1 SANE的架構和流程
集中控制器的功能主要包括:認證所有網(wǎng)元、名稱解析、全網(wǎng)拓撲學習、權能生成。其中權能(capability)是SANE引人的一個數(shù)據(jù)類型,即加密的路徑信息。集中控制器和每個網(wǎng)元之間共享一個唯一密鑰,為任意兩個網(wǎng)元之間的通信計算路徑,并根據(jù)路徑上的網(wǎng)元和網(wǎng)元的密鑰生成一個權能,每個數(shù)據(jù)報文都攜帶一個權能,途徑上的每個交換機通過檢查權能決定是否允許通行。
如圖1所示,第1步,服務器B和客戶機A都進行集中控制器認證,獲得共享的密鑰;第2步,服務器B發(fā)布服務,設置訪問控制列表,其中客戶機A被允許訪問;第3步,客戶機A向集中控制器請求訪問服務器B,集中控制器從服務器B的訪問控制列表中查到A的權限,計算A到B的路徑,生成路徑上的權能,發(fā)給客戶機A;第4步,客戶機A訪問服務器B,每個Ethernet報文中都包含權能,權能有效期(設計為幾分鐘)后,客戶機A如果要繼續(xù)訪問服務器B,就需要再次申請權能。
如上所述,SANE架構的效率比較低,不適合在實際中使用,因此Casado M等人又提出了Ethane架構。
2.2 Ethane架構
Ethane是個比較實用的提供集中網(wǎng)絡安全管理的網(wǎng)絡架構,它把SANE架構中橫向傳輸?shù)募用艿目刂茍笪念^,變?yōu)榭v向傳輸?shù)募用芸刂菩畔?mdash;集中控制器和交換機之間通過安全信道傳輸控制信息。
集中控制器的功能包括認證網(wǎng)元和用戶、許可檢查、路由計算、交換機管理。Ethane并沒有規(guī)定具體的認證方法,Casado M等人的原型實現(xiàn)中使用證書和SSL協(xié)議認證交換機和集中控制器,并用SSL加密集中控制器和交換機之間的通信。交換機不僅不需要檢查權能,甚至不需要目前Ethernet交換機和3層交換機的一些功能。
2.3 SDN架構
SDN架構如圖2所示,SDN具有如下優(yōu)點:高可擴展性/高靈活性的網(wǎng)絡部署、精細高效的數(shù)據(jù)流控制等。SDN提供對網(wǎng)絡設備的集中式、自動化管理、統(tǒng)一的策略執(zhí)行,和目前的網(wǎng)絡架構相比提高了可靠性、安全性。而傳統(tǒng)的網(wǎng)絡安全應用,如訪問控制、防火墻、人侵檢測、人侵防御等也可利用SDN控制器的開放API實現(xiàn)或者方便地集成到SDN中。
圖2 SDN架構
如上所述,SDN架構提供了一個平臺,可以為它提供安全保障,并提供安全服務。大多數(shù)研究者認為,目前積累的網(wǎng)絡安全技術完全能夠勝任SDN的安全需求,如王淑玲等人提出的SDN安全技術架構和傳統(tǒng)網(wǎng)絡安全技術架構基本無差異。但是具體提供哪些安全機制,如何設計、實現(xiàn)。還在研究中。
3.SDN的安全需求
Hartman S和Wasserman M等人認為SDN的安全需求主要發(fā)生在應用層和控制層之間,包括應用的授權、認證、隔離以及策略沖突的消解。
控制層(或控制平面)和基礎設施層(或轉發(fā)平面)之間,在一個交換機被一個控制器控制的情況下,安全威脅模型比較簡單,現(xiàn)有的OpenFlow中的相關規(guī)范經(jīng)過細化后可以滿足安全需求,而一個交換機被多個控制器控制的情況下,安全威脅模型比較復雜,需要考慮控制器之間的授權、增加控制器對交換機資源的細粒度的訪問控制,這正是現(xiàn)有OpenFlow規(guī)范所缺乏的。
對于如何在SDN架構上實現(xiàn)傳統(tǒng)的網(wǎng)絡安全應用,如訪問控制、防火墻、人侵檢測、人侵防御等,或者如何定義SDN控制器的相關API以實現(xiàn)上述功能,也是一個值得研究的課題。
選擇哪些網(wǎng)絡安全應用在SDN架構上實現(xiàn),也是要考慮的問題,一方面由于SDN API的局限,如基于DPI(深度報文檢測)的安全應用不能作為SDN的一個應用實現(xiàn);另一方面,放棄現(xiàn)有的軟件實現(xiàn)而在SDN上重新實現(xiàn),所花費的代價是否值得也是一個問題。SDN架構的優(yōu)勢在于低成本地、靈活地實現(xiàn)一些傳統(tǒng)應用,甚至或許能夠引出一些創(chuàng)新的網(wǎng)絡安全應用服務。
4.SDN安全解決方案
4.1 應用的授權、認證、隔離
應用的隔離事關安全,但也是安全網(wǎng)絡操作系統(tǒng)會遇到的問題,尤其是虛擬化技術經(jīng)常遇到的問題,在此不探求解決方案。下面主要關注應用的授權、認證。
Hartman S和Wasserman M等人探討了3種授權、認證機制應用在SDN上的可能性,尤其是在跨域的情況下。第1種,通過代理認證;第2種,直接分發(fā)跨域的認證憑據(jù)(如對稱密鑰、證書的私鑰等);第3種,通過聯(lián)合認證方式(如OAuth01,ABFAB1)。其中最后一種方式,即聯(lián)合認證方式,具有靈活的特點,便于在多種場合使用。但是參考文獻并沒有給出OAuth , ABFAB在SDN上的具體應用方式。
OAuth本質上是一種授權協(xié)議,用于用戶或一個應用授權給另一個用戶或應用訪問其擁有的資源,而不泄露第一個用戶或應用的認證憑據(jù)(如密鑰等)。OAuth架構的實體包括被授權方(client)、授權方(resource owner )、授權服務器(authorization server)、資源服務器(resource server)。
OAuth的工作流程包括授權碼(authorization code)方式、隱式授權(implicit grant)方式、資源主口令(resourceowner password credential)方式、客戶密鑰(clientcredential)方式。其中,資源主口令方式是OAuth為了兼容引人的授權方式,客戶密鑰方式和上述第2種直接分發(fā)跨域密鑰類似,而隱式授權方式是簡化的授權碼方式,為了方便JavaScript實現(xiàn)的被授權方。
OAuth還有一種基于斷言(assertion)的框架,是為了兼容其他的身份認證管理系統(tǒng)。OAuth的斷言框架中,有一種是客戶端代表用戶的場景,和授權代碼方式類似,被授權方利用第三方token service發(fā)來的斷言向授權服務器請求訪問令牌。斷言框架的優(yōu)點是能夠兼容很多斷言形式,如資源主的授權簽名。
綜上所述,認為適于SDN架構的OAuth是授權碼方式,是可以在斷言框架下實現(xiàn)的授權碼方式。兩個不同控制器上的應用分別作為被授權方和資源主,資源主所在的控制器上的一個模塊或者一個獨立于兩個控制器的服務器可以作為授權服務器。
具體地,如圖3所示,App2為被授權方,App3為資源主,App2要訪問App3的資源,就要從AS獲得訪問令牌。一種方式是App2直接從App3獲得斷言,使用斷言從AS獲得訪問令牌;另一種方式是App3把App2的資源請求轉向到AS,AS對App3認證后,通過App3給App2發(fā)放授權碼,App2使用授權碼從AS獲得訪問令牌。App3也可以是控制器2的一個模塊,這時App2直接向控制器2申請訪問資源。
圖3 OAuth在SDN上的一個應用
ABFAB架構主要提供統(tǒng)一或聯(lián)合認證,其中的實體包括用戶(client )、認證依賴方(relying party,RP)、認證提供方(identity provider,IdP )。其中被授權方和IdP之間有長期關系,例如被授權方是IdP的注冊用戶,雙方共享密鑰;RP和IdP有聯(lián)盟關系,RP依賴IdP提供的認證結果;RP根據(jù)IdP提供的認證結果為被授權方提供相對應的服務。
利用ABFAB架構為SDN提供跨域認證,可以將兩個控制器上的模塊、應用或獨立的認證服務器作為RP,互相作為對方的IdP。
具體的例子如圖4所示,App2想訪問控制器2控制的資源,控制器上的RP模塊請求App2所屬的IdP認證,從IdP獲得認證結果,決定是否授權給App2相應的資源。
圖4 ABFAB在SDN上的一個應用
OAuth和ABFAB也可結合使用,例如,App3利用ABFAB獲得對App2的認證結果后,給App2發(fā)放斷言,App2使用該斷言從AS獲得訪問令牌,如圖5所示。
圖5 OAuth和ABFAB同時在SDN上的一個應用
4.2 策略沖突的消解
Porrasy P等人提出一種加固的控制平面操作系統(tǒng)FortNOX。FortNOX通過擴展開源的NOX操作系統(tǒng)的Send_Openflow_Command模塊,增加了策略沖突消解功能。來自不同應用的策略被設定不同的安全等級,如來自安全應用,即可信的應用,如防火墻、入侵檢測、入侵防御等提供安全服務的應用的策略具有最高優(yōu)先級,控制層操作系統(tǒng)的本地應用產(chǎn)生的策略具有中等優(yōu)先級,其他提供業(yè)務的應用被分配最低優(yōu)先級。
擴展后的FT_Send_Openflow Command匯集所有應用產(chǎn)生的策略,驗證接收到的來自應用的策略攜帶的數(shù)字簽名,對策略進行源認證;檢查策略沖突是否存在,并根據(jù)應用的優(yōu)先級決定策略沖突發(fā)生時的動作。
4.3網(wǎng)絡安全應用的實現(xiàn)
Shin S等人提出了一個在SDN架構上開發(fā)網(wǎng)絡安全應用的開發(fā)環(huán)境FRESCO, FRESCO本身作為SDN應用層的一個應用,運行在上面所述的安全加固的控制層操作系統(tǒng)(增強的NOX)上。
FRESCO包含實現(xiàn)若干基本安全模塊,如掃描探測,復雜的安全應用模塊通過對基本模塊的組合實現(xiàn),如把掃描導引到蜜罐。
5.結束語
本文對SDN和網(wǎng)絡安全相關的架構進行了調研,分析了SDN的安全需求和安全應用的現(xiàn)狀,探討了SDN應用的認證、授權解決方案。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:淺析SDN安全需求和安全實現(xiàn)
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121811717.html