本發(fā)明屬于網(wǎng)絡(luò)安全領(lǐng)域,涉及移動互聯(lián)網(wǎng)安全技術(shù),具體涉及一種軟件定義移動網(wǎng)絡(luò)安全技術(shù)。
背景技術(shù):
::傳統(tǒng)網(wǎng)絡(luò)的層次結(jié)構(gòu)是互聯(lián)網(wǎng)取得巨大成功的關(guān)鍵。隨著網(wǎng)絡(luò)以及數(shù)據(jù)的規(guī)模和復雜度不斷增長,封閉的網(wǎng)絡(luò)設(shè)備內(nèi)置了過多的復雜協(xié)議,這增加了運營商定制優(yōu)化網(wǎng)絡(luò)并自動管理網(wǎng)絡(luò)資源的難度。基于上述挑戰(zhàn),軟件定義網(wǎng)絡(luò)(SDN)應(yīng)運而生。SDN將數(shù)據(jù)與控制相分離。在控制層,包括具有邏輯中心化和可編程的控制器,可掌握全局網(wǎng)絡(luò)信息,方便運營商和科研人員管理配置網(wǎng)絡(luò)和部署新協(xié)議等。在數(shù)據(jù)層,包括啞的(dumb)交換機(與傳統(tǒng)的二層交換機不同,專指用于轉(zhuǎn)發(fā)數(shù)據(jù)的設(shè)備)。交換機僅提供簡單的數(shù)據(jù)轉(zhuǎn)發(fā)功能,可以快速處理匹配的數(shù)據(jù)包,適應(yīng)流量日益增長的需求.兩層之間采用開放的統(tǒng)一接口(如OpenFlow)進行交互。SDMN架構(gòu)是結(jié)合了SDN、網(wǎng)絡(luò)功能虛擬化(NFV)以及云計算的觀點來構(gòu)建的一個可編程的、靈活的以流為中心的移動網(wǎng)絡(luò)。它提供了諸如中心化管控、有效的分割、增強自動的靈活性,減少了操作以及設(shè)備上的花費。OpenFlow為網(wǎng)絡(luò)安全社區(qū)提供了新的研究機遇.例如,OF極大簡化了大型網(wǎng)絡(luò)中設(shè)計整合復雜網(wǎng)絡(luò)安全應(yīng)用的步驟。然而軟件定義移動網(wǎng)絡(luò)(SDMN)開放式接口的引入產(chǎn)生了新一輪的網(wǎng)絡(luò)攻擊形式,造成SDMN的脆弱性。首先,SDMN為數(shù)據(jù)平面細粒度地追蹤管理網(wǎng)絡(luò)應(yīng)用提供了有限的支持,這很難支持要求迅速訪問網(wǎng)絡(luò)中關(guān)鍵變化的安全應(yīng)用。其次,SDMN沒有限制任何數(shù)據(jù)流的通行,因此惡意用戶可以很容易地通過控制器向交換機發(fā)送蠕蟲病毒,通過交換機向控制器進行DDos攻擊。最后,SDMN沒有控制整個網(wǎng)絡(luò)中的流量,在惡意用戶惡意發(fā)送大量數(shù)據(jù)流的情況下,非法用戶惡意占用整個SDMN網(wǎng)絡(luò)帶寬等,都會導致SDMN全方位癱瘓。網(wǎng)絡(luò)監(jiān)測應(yīng)用通常需要收集完成數(shù)據(jù)流追蹤、統(tǒng)計網(wǎng)絡(luò)數(shù)據(jù)、判定通過交換機進行攻擊的可疑入口數(shù)據(jù)等任務(wù)的數(shù)據(jù)。當前的SDMN架構(gòu)允許應(yīng)用僅允許應(yīng)用從交換機中取出明確的信息。然而,這對于要求數(shù)據(jù)平面的數(shù)據(jù)來追蹤數(shù)據(jù)流的監(jiān)測應(yīng)用來說是不夠的。防火墻、入侵檢測系統(tǒng)等網(wǎng)絡(luò)中間設(shè)備是網(wǎng)流監(jiān)控的物理載體,而網(wǎng)流監(jiān)控是提供網(wǎng)絡(luò)高級處理服務(wù)的基礎(chǔ),同時是保障網(wǎng)絡(luò)安全的核心技術(shù)手段。因此,為了提升SDMN的安全性能,本文提出了一種基于網(wǎng)絡(luò)中間設(shè)備的軟件定義移動網(wǎng)絡(luò)安全策略。技術(shù)實現(xiàn)要素:本發(fā)明旨在解決以上現(xiàn)有技術(shù)的問題。提出了一種基于網(wǎng)絡(luò)中間設(shè)備的軟件定義移動網(wǎng)絡(luò)安全策略配置方法。本發(fā)明的技術(shù)方案如下:一種基于網(wǎng)絡(luò)中間設(shè)備的軟件定義移動網(wǎng)絡(luò)安全策略配置方法,配置一個中間設(shè)備與SDN交換機直接相連的策略,即根據(jù)每個數(shù)據(jù)流的入口地址、出口地址以及IP前綴將其分為不同類型,每種類型對應(yīng)不同的中間設(shè)備序列,以確定其先后經(jīng)過的中間設(shè)備順序;還配置一個流量控制算法,制定了整數(shù)線性規(guī)劃ILP邏輯路由減枝算法以及線性規(guī)劃LP流量控制算法,使得整個網(wǎng)絡(luò)能夠負載均衡;再配置一個增強訪問控制性能的策略,結(jié)合常用的數(shù)據(jù)流追蹤技術(shù)通過對流經(jīng)中間設(shè)備的數(shù)據(jù)包頭部添加標簽,使得訪問控制規(guī)則能正常運行。這三個策略之間首先根據(jù)入口地址以及出口地址對數(shù)據(jù)流進行分類,確定其需要經(jīng)過的中間設(shè)備序列,其次通過ILP線路選擇算法選擇合適的線路,接著通過LP流量控制算法控制每個設(shè)備負載的流量,最后增強中間設(shè)備的訪問控制性能。進一步的,所述中間設(shè)備與SDN交換機直接相連的策略具體包括:引入防火墻、入侵檢測系統(tǒng)、代理服務(wù)器在內(nèi)的網(wǎng)絡(luò)中間設(shè)備;網(wǎng)絡(luò)中間設(shè)備通過與支持SDN功能的交換機直接相連以連接互聯(lián)網(wǎng);為每個交換機添加兩個轉(zhuǎn)發(fā)列表,一個FwdTable確定每一個數(shù)據(jù)包如何傳送給具體的網(wǎng)絡(luò)中間設(shè)備,一個TunnelTable確定如何到達網(wǎng)絡(luò)中的其他交換機;未與任何網(wǎng)絡(luò)中間設(shè)備相連的交換機使用TunnelTable來將數(shù)據(jù)包送往具體的交換機,與網(wǎng)絡(luò)中間設(shè)備直接相連的交換機將數(shù)據(jù)包直接發(fā)往具體的網(wǎng)絡(luò)中間設(shè)備并且標記下數(shù)據(jù)包應(yīng)該通過的下一個交換機信道編號。進一步的,所述流量控制算法的策略中,將整個網(wǎng)絡(luò)控制分為路由選擇部分以及負載均衡部分;路由選擇部分制定了整數(shù)線性規(guī)劃ILP邏輯路由減枝算法,主要用于發(fā)現(xiàn)網(wǎng)絡(luò)拓撲結(jié)構(gòu)以及決定整個數(shù)據(jù)流的流向,數(shù)據(jù)流量不能超過每個交換機所能承載的最大容量并且每條邏輯線路上都必須有足夠多的物理設(shè)備保證其順利通行;負載均衡部分通過運行線性規(guī)劃LP流量控制算法,確保經(jīng)過每個中間設(shè)備的流量不超過其上限,從而完成流量限制功能。進一步的,所述軟件定義移動網(wǎng)絡(luò)包括MobileFlow轉(zhuǎn)發(fā)引擎MFFE以及MobileFlow控制器,所述MobileFlow控制器主要有三個功能模塊:移動網(wǎng)絡(luò)功能模塊、移動網(wǎng)絡(luò)抽象功能模塊、以及三個接口模塊,MFC的南向接口控制轉(zhuǎn)發(fā)引擎,橫向接口用于與其他的MFC通信并且可以構(gòu)建內(nèi)部可信的域間合作;MobileFlow控制器對應(yīng)三個接口的功能模塊包括網(wǎng)絡(luò)拓撲自動發(fā)現(xiàn),拓撲資源視圖、網(wǎng)絡(luò)資源管理以及網(wǎng)絡(luò)功能虛擬化。本發(fā)明的優(yōu)點及有益效果如下:本發(fā)明提出了一種基于網(wǎng)絡(luò)中間設(shè)備的軟件定義移動網(wǎng)絡(luò)安全策略。首先,為了把相應(yīng)中間設(shè)備放在網(wǎng)絡(luò)中最合適的位置,結(jié)合dataflow抽象技術(shù),針對外部網(wǎng)絡(luò)以及內(nèi)部網(wǎng)絡(luò)文件系統(tǒng)(NFS),本文制定了不同的策略及其對應(yīng)的中間設(shè)備序列,從而更加靈活地處理網(wǎng)絡(luò)路由;其次,為了避免某一中間設(shè)備成為網(wǎng)絡(luò)熱點造成單點失效,本文基于中間設(shè)備和SDN交換機容量限制,制定了整數(shù)線性規(guī)劃(ILP)邏輯路由減枝算法以及線性規(guī)劃(LP)流量控制算法,使得整個網(wǎng)絡(luò)能夠負載均衡;最后,為了避免中間設(shè)備的緩存阻礙訪問控制策略的實施,結(jié)合常用的數(shù)據(jù)流跟蹤技術(shù),本文對流經(jīng)中間設(shè)備的數(shù)據(jù)包頭部添加標簽,使得訪問控制規(guī)則能正常運行。附圖說明圖1是本發(fā)明提供優(yōu)選實施例涉及的SDMN架構(gòu)圖;圖2是本發(fā)明涉及的SDMN數(shù)據(jù)流圖;圖3是本發(fā)明涉及的SDMN的MFC的結(jié)構(gòu)圖;圖4是本發(fā)明提出的一種基于網(wǎng)絡(luò)中間設(shè)備的軟件定義移動網(wǎng)絡(luò)安全策略的架構(gòu)圖;圖5是本發(fā)明的網(wǎng)絡(luò)中間設(shè)備路由選擇策略圖;圖6是本發(fā)明的網(wǎng)絡(luò)中間設(shè)備訪問控制策略圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、詳細地描述。所描述的實施例僅僅是本發(fā)明的一部分實施例。本發(fā)明解決上述技術(shù)問題的技術(shù)方案是,如圖1所示為SDMN架構(gòu)圖,SDMN的要求就是為未來網(wǎng)絡(luò)架構(gòu)提供最大化的靈活性、開放性以及可編程性而不需要對用戶設(shè)備做任何改進。SDMN架構(gòu)中最重要的結(jié)構(gòu)部分是MobileFlow轉(zhuǎn)發(fā)引擎(MFFE)以及MobileFlow控制器(MFC),SDMN將移動網(wǎng)絡(luò)控制功能從用戶平面組件中抽取出來。這樣用戶平面及MobileFlow轉(zhuǎn)發(fā)引擎(MFFE)變得簡單、穩(wěn)定并且高效同時控制平面即(MFC以及移動網(wǎng)絡(luò)應(yīng)用)可以以一種邏輯上集中控制地方式被部署。MFFE中的數(shù)據(jù)轉(zhuǎn)發(fā)可以完全被軟件定義,同時控制軟件可以靈活地將用戶通信數(shù)據(jù)發(fā)送給不同的服務(wù)支持者。每一個MFFE包括標準的移動網(wǎng)絡(luò)信道處理能力(例如GTP-U以及GRE封裝/解封裝功能),因此在MFC的支持下MFFE可以與分組核心演進(EPC)設(shè)備融合在一起。MFFE也包括移動接入點的核心功能例如一個無線接口來管理無線承載。如圖2所示SDMN并未要求UE做任何改動,無線接入MFFE可以通過現(xiàn)有的eNodeBs以及在核心網(wǎng)絡(luò)中對MFFEs增加的SGW/PGW的功能。每一個MFFE通過在MobileFlow控制接口中實現(xiàn)了的lightweight協(xié)議與MFC通信,按照從MFC接收到的規(guī)則對用戶數(shù)據(jù)包進行封裝/解封裝并將數(shù)據(jù)包發(fā)送到通信網(wǎng)絡(luò)中。如圖3所示為MFC的結(jié)構(gòu)圖。MFC主要有三個功能模塊:移動網(wǎng)絡(luò)功能、移動網(wǎng)絡(luò)抽象功能、以及對應(yīng)三個接口的功能。MFC的南向接口控制MFFE,橫向接口用于與其他的MFC通信并且可以構(gòu)建內(nèi)部可信的域間合作。MFC依賴于網(wǎng)絡(luò)層次抽象,對應(yīng)三個接口的功能模塊包括網(wǎng)絡(luò)拓撲自動發(fā)現(xiàn),拓撲資源視圖、網(wǎng)絡(luò)資源管理以及網(wǎng)絡(luò)功能虛擬化。網(wǎng)絡(luò)功能模塊包括信道處理、路由、移動錨等。這些抽象響應(yīng)了高層次的描述并且對于特定的MFFE實施是不可知的。因此一個操作者可以很輕松地適用不同生產(chǎn)廠商生產(chǎn)的MFFE來部署新的不依賴于信道的移動網(wǎng)絡(luò)架構(gòu)。下面詳細闡述本發(fā)明中網(wǎng)絡(luò)中間設(shè)備的路由選擇步驟(如圖5所示):1、為每個交換機添加兩個轉(zhuǎn)發(fā)列表,一個FwdTable確定每一個數(shù)據(jù)包如何傳送給具體的網(wǎng)絡(luò)中間設(shè)備,一個TunnelTable確定如何到達網(wǎng)絡(luò)中的其他交換機。2、未與任何網(wǎng)絡(luò)中間設(shè)備相連的交換機使用TunnelTable來將數(shù)據(jù)包送往具體的交換機,與網(wǎng)絡(luò)中間設(shè)備直接相連的交換機將數(shù)據(jù)包直接發(fā)往具體的網(wǎng)絡(luò)中間設(shè)備并且標記下數(shù)據(jù)包應(yīng)該通過的下一個交換機信道編號。下面詳細闡述本發(fā)明中訪問控制步驟(如圖6所示):3、為每個網(wǎng)絡(luò)中間設(shè)備添加一個actiontable以及一個flowtable4、當C2第一次訪問proxy時proxy添加tag=4,并將該請求發(fā)送到ACRL當ACRL接收到該請求時便向actiontable查詢查詢到阻塞,便不允許該請求通過。從而成功地完成了訪問控制。下面詳細闡述本發(fā)明中拓撲發(fā)現(xiàn)算法:5、拓撲發(fā)現(xiàn)部分,主要用于發(fā)現(xiàn)網(wǎng)絡(luò)拓撲結(jié)構(gòu)以及減枝選擇過程,即決定整個數(shù)據(jù)流的流向,不能超過每個交換機所能承載的最大容量并且每條邏輯線路上都必須有足夠多的物理設(shè)備保證其順利通行運行算法如下:運行基于整數(shù)線性規(guī)劃(ILP)的減枝算法完成路線選擇。minMaxMboxOccurss.tdc,q∈{0,1}MaxMboxOccurs=max(MboxUsedj)具體步驟如下:當一個物理序列被選中時,其對應(yīng)的dc,q=1,否則dc,q=0.為了保證每條邏輯序列都被很好地劃分到具體的物理序列,給定一個覆蓋值Cov并計算交換機所承載的容量令其小于交換機總的容量上限TCAM.為了確保沒有安全設(shè)備成為網(wǎng)絡(luò)中的熱點設(shè)備,承載過多流量最后造成單點失效。通過線性規(guī)劃算法,首先計算所選物理序列中使用安全設(shè)備的個數(shù),再找出其中的最大值MaxMboxOccurs=max(MboxUsedj)最后將該最大值最小化MaxMboxOccurs>=MboxUsedj從而選擇最佳路由。6、負載均衡部分運行基于線性規(guī)劃(LP)的負載限制算法從而完成流量限制功能。運行如下算法:minMaxMboxLoadMaxMboxLoad=max(Loadj)具體步驟如下:首先要確保所有邏輯策略的網(wǎng)絡(luò)均被分配到具體的物理序列中,其次,計算每一個安全設(shè)備所負載的流量并找出安全設(shè)備負載流量的最大值并將其最小化MaxMboxLoad>=Loadj最后,按照拓撲發(fā)現(xiàn)中得到的fc,q將網(wǎng)絡(luò)通信分為小的序列。假設(shè)所有的數(shù)據(jù)包都是按照其子前綴來劃分的,如果網(wǎng)絡(luò)負載有所偏斜將通過交換機的規(guī)則匹配來重新使網(wǎng)絡(luò)負載均衡。根據(jù)網(wǎng)絡(luò)規(guī)模選擇SwitchTunnel。對每一個物理序列PhysSeqc,q為數(shù)據(jù)包頭部添加ProcState標簽。根據(jù)標簽的判別如何對數(shù)據(jù)包進行下一步操作。以上這些實施例應(yīng)理解為僅用于說明本發(fā)明而不用于限制本發(fā)明的保護范圍。在閱讀了本發(fā)明的記載的內(nèi)容之后,技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等效變化和修飾同樣落入本發(fā)明權(quán)利要求所限定的范圍。當前第1頁1 2 3 當前第1頁1 2 3