本發(fā)明涉及預(yù)防網(wǎng)絡(luò)信息竊聽的技術(shù)領(lǐng)域,尤其是一種網(wǎng)絡(luò)管理平面地址的隨機(jī)跳變方法及裝置。
背景技術(shù):
作為一項(xiàng)可有效預(yù)防網(wǎng)絡(luò)信息竊聽的技術(shù),網(wǎng)絡(luò)安全領(lǐng)域?qū)Φ刂泛投丝谔兗夹g(shù)的研究愈發(fā)深入。地址和端口跳變是指網(wǎng)絡(luò)節(jié)點(diǎn)擁有隨機(jī)變化本身地址和端口,或者地址和端口在傳輸過程中不斷變化的能力。
在地址、端口跳變技術(shù)研究方面,目前出現(xiàn)了包括APOD,DyNAT和NASR等在內(nèi)的研究成果,APOD使用基于地址和端口隨機(jī)的“跳變隧道”偽裝目標(biāo)主機(jī),在IP地址跳變過程中需要客戶端與服務(wù)器端的協(xié)作;DyNAT提供一種在數(shù)據(jù)包進(jìn)入核心網(wǎng)或公共網(wǎng)之前進(jìn)行IP變化的機(jī)制,以避免中間人攻擊;NASR是一種LAN級(jí)別的基于DHCP更新的網(wǎng)絡(luò)地址隨機(jī)跳變策略,用以防范Hitlist worms攻擊。另外,Ehab Al-Shaer等人提出了一種具有高速變化和難以預(yù)測特性的IP地址變化技術(shù),簡稱RHM(Random Host Mutation),RHM需要通過增添中心式的實(shí)體Moving Target Controller和分布式實(shí)體Moving Target Gateway來進(jìn)行實(shí)際地址rIP和虛擬地址vIP的轉(zhuǎn)變。之后,Ehab Al-Shaer等人在RHM的基礎(chǔ)上結(jié)合新出現(xiàn)的OpenFlow技術(shù)對(duì)RHM作了進(jìn)一步地改進(jìn),得到OF-RHM(OpenFlow Random Host Mutation)模型,相對(duì)于RHM,OF-RHM由于SDN靈活的基礎(chǔ)架構(gòu)可以更為有效以及以更小的處理開銷開發(fā)和管理主機(jī)地址隨機(jī)跳變功能。
其中,APOD,DyNAT和NASR等技術(shù)均沒有提供一種無需改變終端主機(jī)配置即可防范內(nèi)外部偵聽攻擊的IP跳變機(jī)制;而RHM和OF-RHM技術(shù)通過控制器維護(hù)的實(shí)際地址到虛擬地址的映射,在通信過程中實(shí)現(xiàn)了一次性地地址跳變,并沒有在數(shù)據(jù)傳輸過程中實(shí)現(xiàn)IP地址的多次可變。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:針對(duì)現(xiàn)有技術(shù)存在的問題,提供一種網(wǎng)絡(luò)管理平面地址的隨機(jī)跳變方法及裝置。不必要對(duì)源、目的主機(jī)固有IP地址和端口進(jìn)行重新配置。相比于上述RHM模型和OF-RHM模型,本模型將地址、端口跳變的過程從主機(jī)終端遷移到數(shù)據(jù)傳輸?shù)穆窂缴希跀?shù)據(jù)流經(jīng)過每一跳交換機(jī)后,包頭的地址、端口均會(huì)發(fā)生隨機(jī)變化,而在OF-RHM模型中,地址從rIP(實(shí)際IP)與vIP(虛擬IP)之間的變化發(fā)生在第一跳OpenFlow交換機(jī)和最后一跳OpenFlow交換機(jī),相比上述兩種模型,本模型可以使得地址的跳變具有更高頻率以及地址更加難以預(yù)測的特點(diǎn),從而使得網(wǎng)絡(luò)的兩項(xiàng)屬性——網(wǎng)絡(luò)節(jié)點(diǎn)地址、端口不斷發(fā)生變化,提升了網(wǎng)絡(luò)攻擊的復(fù)雜度和花費(fèi),降低網(wǎng)絡(luò)被成功攻擊的風(fēng)險(xiǎn)。
本發(fā)明采用的技術(shù)方案如下:
一種網(wǎng)絡(luò)管理平面地址的隨機(jī)跳變方法包括:
步驟1:控制器根據(jù)某一交換機(jī)發(fā)送PacketIn消息獲取主機(jī)數(shù)據(jù)流的包頭信息;執(zhí)行步驟2;
步驟2:控制器根據(jù)該主機(jī)包頭信息的源、目的IP地址判斷通信雙方主機(jī)是否在一個(gè)OpenFlow域內(nèi);如果不在一個(gè)OpenFlow域內(nèi),則執(zhí)行泛洪操作;如果在一個(gè)域內(nèi),則執(zhí)行步驟3;
步驟3:控制器根據(jù)通信主機(jī)的源、目的IP地址從路由引擎獲取源、目的主機(jī)之間的路由;如果沒有可達(dá)路由,則執(zhí)行泛洪操作;如果獲取到可用路由,則執(zhí)行步驟4;
步驟4:控制器根據(jù)路由上的交換機(jī)數(shù)量,假設(shè)該路由上交換機(jī)數(shù)量為n,生成隨機(jī)IP地址列表,并保存實(shí)際源、目的IP地址;隨機(jī)IP地址列表共n-1項(xiàng),每項(xiàng)包括隨機(jī)生成的源、目的IP地址對(duì);
步驟5:控制器遍歷路由上所有交換機(jī),向每臺(tái)交換機(jī)下發(fā)流表;所選路由上交換機(jī)根據(jù)下發(fā)的流表進(jìn)行數(shù)據(jù)流的匹配和包頭IP地址的更改、轉(zhuǎn)發(fā)動(dòng)作,通過IP地址在傳輸路徑上的不斷跳變,完成源主機(jī)與目的主機(jī)之間的數(shù)據(jù)傳遞。
進(jìn)一步的,所述OpenFlow域是指一臺(tái)OpenFlow控制器管轄控制的范圍。
進(jìn)一步的,所述步驟5具體過程是:
步驟51:控制器遍歷路由上所有交換機(jī),向未下發(fā)流表的交換機(jī)下發(fā)流表,執(zhí)行步驟52:
步驟52:若所選路由上交換機(jī)是與源主機(jī)直接連接的交換機(jī),即首交換機(jī),則下發(fā)的流表Match匹配項(xiàng)為匹配實(shí)際源、目的IP地址,流表Actions項(xiàng)將更改數(shù)據(jù)流的源、目的IP為隨機(jī)IP地址列表的第一項(xiàng)源、目的IP地址對(duì),以及從相應(yīng)端口轉(zhuǎn)發(fā),然后執(zhí)行步驟51;
若所選路由上交換機(jī)是第i跳交換機(jī),即除過首交換機(jī)以及末交換機(jī)之外的交換機(jī),則下發(fā)流表Match匹配項(xiàng)為匹配隨機(jī)IP地址列表的第i-1項(xiàng)源、目的IP地址對(duì),流表Actions項(xiàng)將更改數(shù)據(jù)流的源和目的IP為隨機(jī)IP地址列表的第i項(xiàng)源、目的IP地址對(duì),以及從相應(yīng)端口轉(zhuǎn)發(fā),然后執(zhí)行步驟51;
若所選路由上交換機(jī)是與目的主機(jī)直接連接的交換機(jī),即末交換機(jī),則下發(fā)的流表Match匹配項(xiàng)為匹配隨機(jī)IP地址列表的第n-1項(xiàng)源、目的IP地址對(duì),流表Actions項(xiàng)將更改數(shù)據(jù)流的源和目的IP為實(shí)際源、目的IP地址,以及從相應(yīng)端口轉(zhuǎn)發(fā),執(zhí)行步驟53;
步驟53:通過IP地址在傳輸路徑上的不斷跳變,完成源主機(jī)與目的主機(jī)之間的數(shù)據(jù)傳遞。
進(jìn)一步的,所述當(dāng)n為4時(shí),源主機(jī)IP地址r1、目的主機(jī)IP地址為r2;隨機(jī)IP地址列表分別為v1到v6;v1、v2是第一交換機(jī)與第二交換機(jī)之間的第一項(xiàng)源、目的IP地址對(duì);v3、v4是第二交換機(jī)與第三交換機(jī)之間的第二項(xiàng)源、目的IP地址對(duì);v5、v6是第三交換機(jī)與第四交換機(jī)之間的第三項(xiàng)源、目的IP地址對(duì);
控制器Controller向第一交換機(jī)、第二交換機(jī)、第三交換機(jī)、第四交換機(jī)分別下發(fā)流表;各個(gè)交換機(jī)下發(fā)的流表內(nèi)容如下:
第一級(jí)交換機(jī)下發(fā)流表Match項(xiàng)為匹配源IP地址為r1、目的IP地址為r2的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為v1、目的地址為v2,并向與第二交換機(jī)連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
第二交換機(jī)下發(fā)流表Match項(xiàng)為匹配源IP地址為v1、目的IP地址為v2的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為v3、目的地址為v4,并向與第三交換機(jī)連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
第三交換機(jī)下發(fā)流表Match項(xiàng)為匹配源IP地址為v3、目的IP地址為v4的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為v5、目的地址為v6,并向與第四交換機(jī)連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
第四交換機(jī)下發(fā)流表Match項(xiàng)為匹配源IP地址為v5、目的IP地址為v6的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為r1、目的地址為r2,并向與目的主機(jī)H2連接的端口轉(zhuǎn)發(fā)的動(dòng)作。
一種網(wǎng)絡(luò)管理平面地址的隨機(jī)跳變裝置包括:
控制器,用于根據(jù)某一交換機(jī)發(fā)送PacketIn消息獲取主機(jī)數(shù)據(jù)流的包頭信息;然后根據(jù)該主機(jī)包頭信息的源、目的IP地址判斷通信雙方主機(jī)是否在一個(gè)OpenFlow域內(nèi);如果不在一個(gè)OpenFlow域內(nèi),則執(zhí)行泛洪操作;如果在一個(gè)域內(nèi),則控制器根據(jù)通信主機(jī)的源、目的IP地址從路由引擎獲取源、目的主機(jī)之間的路由;如果沒有可達(dá)路由,則執(zhí)行泛洪操作;如果獲取到可用路由,則控制器根據(jù)路由上的交換機(jī)數(shù)量,假設(shè)該路由上交換機(jī)數(shù)量為n,生成隨機(jī)IP地址列表,并保存實(shí)際源、目的IP地址;隨機(jī)IP地址列表共n-1項(xiàng),每項(xiàng)包括隨機(jī)生成的源、目的IP地址對(duì);控制器遍歷路由上所有交換機(jī),向每臺(tái)交換機(jī)下發(fā)流表;
所選路由上交換機(jī)根據(jù)下發(fā)的流表進(jìn)行數(shù)據(jù)流的匹配和包頭IP地址的更改、轉(zhuǎn)發(fā)動(dòng)作,通過IP地址在傳輸路徑上的不斷跳變,完成源主機(jī)與目的主機(jī)之間的數(shù)據(jù)傳遞。
進(jìn)一步的,所述OpenFlow域是指一臺(tái)OpenFlow控制器管轄控制的范圍。
進(jìn)一步的,所述控制器遍歷路由上所有交換機(jī),向每臺(tái)交換機(jī)下發(fā)流表;所選路由上交換機(jī)根據(jù)下發(fā)的流表進(jìn)行數(shù)據(jù)流的匹配和包頭IP地址的更改、轉(zhuǎn)發(fā)動(dòng)作,通過IP地址在隨機(jī)IP地址列表上的跳變具體過程是:
控制器遍歷路由上所有交換機(jī),向未下發(fā)流表的交換機(jī)下發(fā)流表;
然后若所選路由上交換機(jī)是與源主機(jī)直接連接的交換機(jī),即首交換機(jī),則下發(fā)的流表Match匹配項(xiàng)為匹配實(shí)際源、目的IP地址,流表Actions項(xiàng)將更改數(shù)據(jù)流的源、目的IP為隨機(jī)IP地址列表的第一項(xiàng)源、目的IP地址對(duì),以及從相應(yīng)端口轉(zhuǎn)發(fā),然后控制器遍歷路由上所有交換機(jī),向未下發(fā)流表的交換機(jī)下發(fā)流表;
若所選路由上交換機(jī)是第i跳交換機(jī),即除過首交換機(jī)以及末交換機(jī)之外的交換機(jī),則下發(fā)流表Match匹配項(xiàng)為匹配隨機(jī)IP地址列表的第i-1項(xiàng)源、目的IP地址對(duì),流表Actions項(xiàng)將更改數(shù)據(jù)流的源和目的IP為隨機(jī)IP地址列表的第i項(xiàng)源、目的IP地址對(duì),以及從相應(yīng)端口轉(zhuǎn)發(fā),然后控制器遍歷路由上所有交換機(jī),向未下發(fā)流表的交換機(jī)下發(fā)流表;
若所選路由上交換機(jī)是與目的主機(jī)直接連接的交換機(jī),即末交換機(jī),則下發(fā)的流表Match匹配項(xiàng)為匹配隨機(jī)IP地址列表的第n-1項(xiàng)源、目的IP地址對(duì),流表Actions項(xiàng)將更改數(shù)據(jù)流的源和目的IP為實(shí)際源、目的IP地址,以及從相應(yīng)端口轉(zhuǎn)發(fā),通過IP地址在隨機(jī)IP地址列表上的跳變。
進(jìn)一步的,所述當(dāng)n為4時(shí),源主機(jī)IP地址r1、目的主機(jī)IP地址為r2;隨機(jī)IP地址列表分別為v1到v6;v1、v2是第一交換機(jī)與第二交換機(jī)之間的第一項(xiàng)源、目的IP地址對(duì);v3、v4是第二交換機(jī)與第三交換機(jī)之間的第二項(xiàng)源、目的IP地址對(duì);v5、v6是第三交換機(jī)與第死交換機(jī)之間的第三項(xiàng)源、目的IP地址對(duì);
控制器Controller向第一交換機(jī)、第二交換機(jī)、第三交換機(jī)、第四交換機(jī)分別下發(fā)流表;各個(gè)交換機(jī)下發(fā)的流表內(nèi)容如下:
第一級(jí)交換機(jī)下發(fā)流表Match項(xiàng)為匹配源IP地址為r1、目的IP地址為r2的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為v1、目的地址為v2,并向與第二交換機(jī)連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
第二交換機(jī)下發(fā)流表Match項(xiàng)為匹配源IP地址為v1、目的IP地址為v2的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為v3、目的地址為v4,并向與第三交換機(jī)連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
第三交換機(jī)下發(fā)流表Match項(xiàng)為匹配源IP地址為v3、目的IP地址為v4的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為v5、目的地址為v6,并向與第四交換機(jī)連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
第四交換機(jī)下發(fā)流表Match項(xiàng)為匹配源IP地址為v5、目的IP地址為v6的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為r1、目的地址為r2,并向與目的主機(jī)H2連接的端口轉(zhuǎn)發(fā)的動(dòng)作。
綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
本發(fā)明旨在提升網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中的安全性,通過地址和端口等網(wǎng)絡(luò)參數(shù)在數(shù)據(jù)傳輸過程中不斷變化的方式隱藏?cái)?shù)據(jù)流,對(duì)于網(wǎng)路中存在的數(shù)據(jù)竊聽、嗅探、信息篡改、中間人攻擊等惡意網(wǎng)絡(luò)攻擊方式有著較強(qiáng)的抵抗能力。通過仿真實(shí)驗(yàn)驗(yàn)證,本發(fā)明可有效提升網(wǎng)絡(luò)攻擊的復(fù)雜度和花費(fèi),降低網(wǎng)絡(luò)被成功攻擊的風(fēng)險(xiǎn)。
本發(fā)明一種在SDN網(wǎng)絡(luò)架構(gòu)下,利用SDN下的一種名為OpenFlow協(xié)議實(shí)現(xiàn)了一種網(wǎng)絡(luò)地址和端口跳變的方法。本專利的目的是為了提升網(wǎng)絡(luò)通信過程中的安全性,對(duì)于網(wǎng)絡(luò)竊聽等攻擊具有較強(qiáng)的防御作用。創(chuàng)新點(diǎn)主要可認(rèn)為是以網(wǎng)絡(luò)地址、端口等屬性在傳輸過程中的跳變預(yù)防網(wǎng)絡(luò)嗅探、竊聽等攻擊的這種思路。
附圖說明
本發(fā)明將通過例子并參照附圖的方式說明,其中:
圖1是本發(fā)明地址跳變具體流程圖。
圖2是本發(fā)明地址跳變過程示意圖。
具體實(shí)施方式
本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
本說明書中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子而已。
本發(fā)明相關(guān)說明:
1、源、目的IP地址對(duì)指的是源IP地址與目的IP地址形成的一對(duì)信息值。
2、路由引擎指的是一種實(shí)現(xiàn)路由尋找的功能模塊。
PacketIn消息是交換機(jī)接收到某一主機(jī)的數(shù)據(jù)流,但是無匹配流表而向控制器上報(bào)的請(qǐng)求解析消息。
關(guān)于流表與隨機(jī)IP地址列表的說明:
隨機(jī)IP地址列表是本專利定義的控制器維護(hù)的針對(duì)一對(duì)通信主機(jī)或終端的數(shù)據(jù)結(jié)構(gòu),包含n-1項(xiàng)(n是路由上的交換機(jī)數(shù)量),每一項(xiàng)有兩個(gè)值,分別是源、目的IP地址值,第一列的數(shù)字只是表示項(xiàng)數(shù)(即該項(xiàng)是表中第幾項(xiàng))。流表是OpenFlow協(xié)議定義的由控制器發(fā)送給交換機(jī),交換機(jī)維護(hù)的一種數(shù)據(jù)結(jié)構(gòu),包括幾個(gè)部分:Match Fields(匹配項(xiàng))、Counters(計(jì)數(shù)器)、Instructions(執(zhí)行指令)、Priority(優(yōu)先級(jí))、Timeout(超時(shí))。交換機(jī)根據(jù)匹配項(xiàng)匹配數(shù)據(jù)流,比如具有相同源IP地址的數(shù)據(jù)包可看做一條數(shù)據(jù)流,具有相同目的MAC地址和VLAN ID的數(shù)據(jù)包看作另一條數(shù)據(jù)流,一條流表就對(duì)應(yīng)一條數(shù)據(jù)流(這也是為什么這個(gè)東西叫流表,這個(gè)匹配規(guī)則可根據(jù)圖中最下面一行的參數(shù)可以自己定義);計(jì)數(shù)器維護(hù)了一些計(jì)數(shù)信息;執(zhí)行指令就是Actions,包括輸出、丟棄、重設(shè)包頭信息(set-field)等動(dòng)作,本專利主要是依靠Set-Field動(dòng)作實(shí)現(xiàn)地址和端口等信息的變化;Priority是數(shù)據(jù)流的優(yōu)先級(jí)等級(jí);timeout是超時(shí)信息,指示該流表何時(shí)失效。
實(shí)施例一:
當(dāng)主機(jī)H1向主機(jī)H2發(fā)送消息時(shí),經(jīng)過如下的過程實(shí)現(xiàn)傳輸過程中的地址跳變。
1)主機(jī)H1通過某種方式預(yù)先獲知主機(jī)H2的IP地址后,組包向主機(jī)H2發(fā)送信息,該數(shù)據(jù)流首先到達(dá)與主機(jī)H1相連的交換機(jī)Switch1;
2)交換機(jī)Switch1收到該數(shù)據(jù)流的第一個(gè)數(shù)據(jù)包時(shí),查找流表,由于是第一次接收到該流,故沒有匹配的流表。交換機(jī)Switch1會(huì)將該流的信息(源、目的IP地址,端口等)提取組成PacketIn消息發(fā)往控制器Controller;
3)控制器Controller根據(jù)交換機(jī)Switch1發(fā)送的PacketIn消息獲取該數(shù)據(jù)流的包頭等信息;
4)控制器Controller根據(jù)包頭的源、目的IP地址判斷通信雙方主機(jī)在一個(gè)OpenFlow域內(nèi)(圖中可知主機(jī)所連的交換機(jī)均與控制器Controller相連);
5)控制器Controller根據(jù)主機(jī)的源、目的IP地址(即r1和r2)從路由引擎獲取源、目的主機(jī)之間的路由,本例中按最短路由策略獲取到路由為H1—Switch1—Switch2—Switch3—Switch4—H2;
6)控制器Controller根據(jù)交換機(jī)數(shù)量生成隨機(jī)IP地址列表,本例路由上共4臺(tái)交換機(jī),故列表共有3項(xiàng)內(nèi)容,圖2中隨機(jī)IP地址列表中可看出隨機(jī)IP地址分別為v1-v6;
7)控制器Controller向Switch1、Switch2、Switch3、Switch4分別下發(fā)流表。各個(gè)交換機(jī)下發(fā)的流表內(nèi)容如下:
a)交換機(jī)Switch1下發(fā)流表Match項(xiàng)為匹配源IP地址為r1、目的IP地址為r2的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為v1、目的地址為v2,并向與Switch2連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
b)交換機(jī)Switch2下發(fā)流表Match項(xiàng)為匹配源IP地址為v1、目的IP地址為v2的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為v3、目的地址為v4,并向與Switch3連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
c)交換機(jī)Switch3下發(fā)流表Match項(xiàng)為匹配源IP地址為v3、目的IP地址為v4的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為v5、目的地址為v6,并向與Switch4連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
d)交換機(jī)Switch4下發(fā)流表Match項(xiàng)為匹配源IP地址為v5、目的IP地址為v6的數(shù)據(jù)流,Actions項(xiàng)為執(zhí)行修改源地址為r1、目的地址為r2,并向與主機(jī)H2連接的端口轉(zhuǎn)發(fā)的動(dòng)作;
8)流表下發(fā)之后,路由上各個(gè)交換機(jī)根據(jù)流表對(duì)該數(shù)據(jù)流執(zhí)行相應(yīng)動(dòng)作,以致圖2中所示數(shù)據(jù)包經(jīng)過每一跳交換機(jī)之后,源、目的IP(圖中為SrcIP、DstIP)均會(huì)發(fā)生變化,達(dá)到IP地址發(fā)生跳變的功能。
本發(fā)明并不局限于前述的具體實(shí)施方式。本發(fā)明擴(kuò)展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。