一種基于sdn技術(shù)的通信數(shù)據(jù)保護(hù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,更為具體地,涉及一種面向SDN的通信數(shù)據(jù)保護(hù)方法。
【背景技術(shù)】
[0002]在傳統(tǒng)網(wǎng)絡(luò)體系架構(gòu)中,通信雙方通常采用標(biāo)準(zhǔn)公開(kāi)的協(xié)議進(jìn)行通信,但是由于協(xié)議設(shè)計(jì)的缺陷,其本身的弱點(diǎn)可被攻擊者所利用,從而對(duì)網(wǎng)絡(luò)安全產(chǎn)生威脅,目前對(duì)于協(xié)議保護(hù)主要采用數(shù)據(jù)加密的方法,這種方法需要額外增加密鑰管理環(huán)節(jié)來(lái)保障通信的安全;同時(shí),隨著網(wǎng)絡(luò)所承載內(nèi)容的不斷豐富,為了滿(mǎn)足用戶(hù)之間通信的需求,越來(lái)越多的協(xié)議被提出,這些協(xié)議的出現(xiàn)對(duì)于傳統(tǒng)網(wǎng)絡(luò)設(shè)備的兼容性提出了更高的要求,設(shè)備需要不斷更新才能夠滿(mǎn)足新出現(xiàn)協(xié)議的解析問(wèn)題。協(xié)議本身的保護(hù)和基于保護(hù)后協(xié)議的自動(dòng)識(shí)別技術(shù)能夠?yàn)樵搯?wèn)題的解決提供新的思路。
[0003]目前針對(duì)協(xié)議保護(hù)的專(zhuān)利是201280013273.9,該專(zhuān)利采用第一種協(xié)議對(duì)第二種協(xié)議進(jìn)行驗(yàn)證的方式進(jìn)行協(xié)議保護(hù),主要著眼于前一種協(xié)議對(duì)后一種協(xié)議的保護(hù)技術(shù),而不是對(duì)協(xié)議本身的保護(hù);針對(duì)協(xié)議識(shí)別的專(zhuān)利是201310101283.4,該專(zhuān)利主要面向目前深度包檢測(cè)領(lǐng)域,對(duì)構(gòu)建與應(yīng)用層之上載荷所包含的協(xié)議進(jìn)行識(shí)別,著眼點(diǎn)是對(duì)現(xiàn)有協(xié)議的高效率識(shí)別技術(shù)。這些專(zhuān)利雖然能夠提供一定的協(xié)議保護(hù)和協(xié)議識(shí)別的功能,但是仍舊不能支持協(xié)議本身的保護(hù)和基于保護(hù)后協(xié)議的識(shí)別,而SDN技術(shù)的出現(xiàn)能夠?yàn)樵摷夹g(shù)的實(shí)現(xiàn)提供支撐。其將復(fù)雜的網(wǎng)絡(luò)設(shè)備一分為二,轉(zhuǎn)發(fā)功能由單一的硬件來(lái)實(shí)現(xiàn),稱(chēng)之為數(shù)據(jù)面,而較為復(fù)雜的控制、管理、服務(wù)由軟件來(lái)實(shí)現(xiàn),稱(chēng)之為控制面,使原先完全分布式的架構(gòu)轉(zhuǎn)變成完全集中或者邏輯集中/半集中式的架構(gòu)。這種架構(gòu)顯示了一種非常先進(jìn)的思想,通過(guò)將各個(gè)平面解耦合,能夠支持網(wǎng)絡(luò)以彈性的方式提供高效、靈活、創(chuàng)新的服務(wù),同時(shí)采用通用轉(zhuǎn)發(fā)硬件降低了擴(kuò)展所帶來(lái)的成本問(wèn)題,另外由于底層轉(zhuǎn)發(fā)系統(tǒng)功能穩(wěn)定以及上層控制面數(shù)量較少能夠降低由于系統(tǒng)復(fù)雜性所帶來(lái)的系統(tǒng)潛在的脆弱性和不穩(wěn)定性。POF作為SDN的一種實(shí)現(xiàn)方式能夠支持交換機(jī)對(duì)協(xié)議字段按照偏移量和長(zhǎng)度進(jìn)行處理和轉(zhuǎn)發(fā),彌補(bǔ)了 OpenFlow環(huán)境下只能夠?qū)潭ü_(kāi)協(xié)議進(jìn)行處理的問(wèn)題。
[0004]通過(guò)以上分析,可對(duì)控制器北向接口進(jìn)行編程,以應(yīng)用的方式實(shí)現(xiàn)對(duì)于底層數(shù)據(jù)面轉(zhuǎn)發(fā)邏輯的控制,從而支持協(xié)議保護(hù)和協(xié)議自動(dòng)識(shí)別的功能。目前網(wǎng)絡(luò)主要采用加密的方式進(jìn)行通信保護(hù),這種方式需要收發(fā)端進(jìn)行密鑰協(xié)商和管理,SDN網(wǎng)絡(luò)能夠提供集中地控制機(jī)制,其可以通過(guò)流表對(duì)通信數(shù)據(jù)進(jìn)行統(tǒng)一處理,減少了密鑰協(xié)商和管理的復(fù)雜性。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種基于SDN的通信數(shù)據(jù)保護(hù)方法,本發(fā)明支持通信雙方使用自定義協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)囊蟆?br>[0006]—方面,本發(fā)明提供了一種基于SDN的協(xié)議保護(hù)、協(xié)議自動(dòng)識(shí)別方法,該方法包括:
[0007]I)所述協(xié)議保護(hù)方法為,網(wǎng)絡(luò)體系架構(gòu)中的控制器生成協(xié)議數(shù)據(jù)的保護(hù)策略,該策略以流表的方式下發(fā)到網(wǎng)絡(luò)體系架構(gòu)的交換機(jī)中,同時(shí)控制器以一定的頻率進(jìn)行保護(hù)策略更新;
[0008]a)所述保護(hù)策略包括隨機(jī)化策略和還原策略,其中每個(gè)保護(hù)策略包含隨機(jī)化標(biāo)簽和交換機(jī)標(biāo)簽信息:交換機(jī)標(biāo)簽用來(lái)進(jìn)行數(shù)據(jù)來(lái)源的判斷。
[0009]1.所述隨機(jī)化策略,將數(shù)據(jù)包中除以太網(wǎng)地址字段和網(wǎng)絡(luò)類(lèi)型字段頭之外的二層載荷按照偏移量和長(zhǎng)度進(jìn)行切分,對(duì)切分后的載荷進(jìn)行隨機(jī)化處理,該隨機(jī)化處理方法包括將切分后的載荷本身按照置亂策略進(jìn)行置亂同時(shí)包括用插入策略,即隨機(jī)位串插入的方法進(jìn)行載荷偏移量修正;偏移量指的是切分位置距離包頭的位置,長(zhǎng)度指的是切分長(zhǎng)度。
[0010]1.所述載荷本身置亂為將切分后的載荷位串進(jìn)行位置置換;
[0011]2.所述隨機(jī)位串插入為隨機(jī)生成多段位串,并將位串隨機(jī)插入分割后的載荷切片之間;
[0012]i1.所述還原策略,將隨機(jī)化策略處理后的除以太網(wǎng)地址字段和網(wǎng)絡(luò)類(lèi)型字段頭之外的二層載荷按照原有偏移量和長(zhǎng)度進(jìn)行還原;
[0013]1.載荷本身置亂的還原方法為通過(guò)交換機(jī)中的元數(shù)據(jù)字段保存載荷數(shù)據(jù),再依據(jù)控制器置亂策略將正確的分段寫(xiě)入數(shù)據(jù)包二層載荷中;
[0014]2.隨機(jī)位串的還原方法為依據(jù)插入策略按位將隨機(jī)位串從原有載荷中刪除,以達(dá)到還原數(shù)據(jù)的目的。
[0015]ii1.所述隨機(jī)化標(biāo)簽為由控制器統(tǒng)一生成的、在所有交換機(jī)中同時(shí)生效的標(biāo)識(shí)信息,在進(jìn)行隨機(jī)化策略時(shí)隨機(jī)化標(biāo)簽將被加入到數(shù)據(jù)包中,該隨機(jī)化標(biāo)簽信息能夠保證只有符合隨機(jī)化策略的數(shù)據(jù)包能夠被網(wǎng)絡(luò)傳輸,不符合隨機(jī)化策略的數(shù)據(jù)包被認(rèn)為是非法數(shù)據(jù)包而被丟棄;
[0016]iv.所述交換機(jī)標(biāo)簽為由控制器統(tǒng)一生成的,在數(shù)據(jù)包被交換機(jī)轉(zhuǎn)發(fā)時(shí)加入到數(shù)據(jù)包頭中,用來(lái)區(qū)分?jǐn)?shù)據(jù)包由主機(jī)發(fā)出還是交換機(jī)發(fā)出的一種標(biāo)識(shí),該標(biāo)識(shí)能夠幫助交換機(jī)識(shí)別數(shù)據(jù)包是否由惡意接入的主機(jī)重放產(chǎn)生。
[0017]b)所述保護(hù)策略更新為以一定頻率更新隨機(jī)化策略和還原策略,使網(wǎng)絡(luò)中對(duì)于協(xié)議的處理方式不斷變化。
[0018]1.所述更新隨機(jī)化策略和還原策略按照固定時(shí)間間隔進(jìn)行更新,更新方法為由控制器在變換空間中選取一種載荷切分或者隨機(jī)位串生成方式重新生成隨機(jī)化策略和還原策略。
[0019]2)所述協(xié)議自動(dòng)識(shí)別方法為,當(dāng)數(shù)據(jù)包經(jīng)過(guò)交換機(jī)時(shí)被觸發(fā),交換機(jī)將判斷該數(shù)據(jù)包是否攜帶隨機(jī)化標(biāo)簽以及交換機(jī)標(biāo)簽,根據(jù)標(biāo)簽對(duì)數(shù)據(jù)包執(zhí)行保護(hù)策略或者丟棄操作。
[0020]另一方面,本發(fā)明提供了一種基于SDN的協(xié)議保護(hù)和協(xié)議自動(dòng)識(shí)別系統(tǒng),該系統(tǒng)包括協(xié)議保護(hù)子系統(tǒng)、協(xié)議自動(dòng)識(shí)別子系統(tǒng)兩部分。同時(shí)由于本發(fā)明依賴(lài)于SDN機(jī)制,因此采用主流控制器軟件和交換機(jī)協(xié)議。
[0021]I)控制器獲得網(wǎng)絡(luò)拓?fù)?,包括主機(jī)與連接在交換機(jī)中的主機(jī),并接收待在網(wǎng)絡(luò)中傳輸?shù)闹鳈C(jī)信息;
[0022]2)所述協(xié)議保護(hù)子系統(tǒng)分為保護(hù)策略生成模塊與保護(hù)策略更新模塊;
[0023]a)所述保護(hù)策略生成模塊將生成數(shù)據(jù)隨機(jī)化策略和還原策略,并將該策略轉(zhuǎn)換為交換機(jī)流表,下發(fā)到交換機(jī)中;
[0024]b)所述保護(hù)策略更新模塊首先生成新的隨機(jī)化策略和還原策略,并將新的策略轉(zhuǎn)換為交換機(jī)流表,下發(fā)到交換機(jī)中,同時(shí)啟動(dòng)條件觸發(fā)裝置,在條件滿(mǎn)足之后刪除原有保護(hù)策略;
[0025]3)所述協(xié)議自動(dòng)識(shí)別子系統(tǒng)接收到數(shù)據(jù)包時(shí),交換機(jī)將判斷該數(shù)據(jù)包是否攜帶隨機(jī)化標(biāo)簽
[0026]a)如果未攜帶隨機(jī)化標(biāo)簽,則判斷該數(shù)據(jù)包的以太網(wǎng)地址是否屬于傳輸列表,如果屬于則在交換機(jī)中進(jìn)行處理之后按照路徑轉(zhuǎn)發(fā),否則直接丟棄數(shù)據(jù)包;
[0027]b)如果數(shù)據(jù)包已經(jīng)攜帶隨機(jī)化標(biāo)簽,則通過(guò)流表判斷該數(shù)據(jù)包所攜帶標(biāo)簽是否與當(dāng)前隨機(jī)化策略相匹配:
[0028]1.如果相匹配,需判斷是否帶有對(duì)應(yīng)交換機(jī)標(biāo)簽,如果不帶有對(duì)應(yīng)交換機(jī)標(biāo)簽則直接丟棄數(shù)據(jù)包;如果該條件滿(mǎn)足則判斷是否連接目的端主機(jī),如果連接目的端主機(jī)則執(zhí)行保護(hù)策略中的還原策略,并轉(zhuǎn)發(fā)數(shù)據(jù)包,如果未連接則執(zhí)行保護(hù)策略中的隨機(jī)化策略并轉(zhuǎn)發(fā);控制器能夠獲取網(wǎng)絡(luò)拓?fù)?,通過(guò)拓?fù)淇芍粨Q機(jī)的連接方式,則交換機(jī)本身是包含了可通過(guò)的交換機(jī)標(biāo)簽對(duì)應(yīng)的流表的,如果不匹配當(dāng)前交換機(jī)可連接的交換機(jī)對(duì)應(yīng)的流表,則認(rèn)為不可通過(guò)。
[0029]i1.如果不匹配則直接丟棄數(shù)據(jù)包。
[0030]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:
[0031]本發(fā)明能夠?qū)f(xié)議進(jìn)行保護(hù),支持公開(kāi)協(xié)議和用戶(hù)自定義的私有協(xié)議,不對(duì)收發(fā)雙方做任何改變,被保護(hù)協(xié)議的策略按照一定的時(shí)間間隔進(jìn)行更新,增加了攻擊者進(jìn)行協(xié)議分析的難度,該方法能夠?qū)DN網(wǎng)絡(luò)本身進(jìn)行加固,防止網(wǎng)絡(luò)竊聽(tīng)攻擊以及重放攻擊的發(fā)生,并且能夠?qū)Ψ植际骄芙^服務(wù)攻擊在策略變化后免疫。
【附圖說(shuō)明】
[0032]圖1是系統(tǒng)運(yùn)彳丁流程不意圖;
[0033]圖2是協(xié)議保護(hù)子系統(tǒng)中的保護(hù)策略生成模塊的流程圖;
[0034]圖3是協(xié)議保護(hù)子系統(tǒng)中的保護(hù)策略更新模塊的流程圖;
[0035]圖4是協(xié)議自動(dòng)識(shí)別子系統(tǒng)的流程圖。
【具體實(shí)施方式】
[0036]為使本發(fā)明的實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面進(jìn)一步結(jié)合附圖對(duì)本發(fā)明作詳細(xì)描述。
[0037]1.圖1是本發(fā)明的系統(tǒng)運(yùn)行流程圖。如圖1所示,所述方法包括:
[0038]I)協(xié)議保護(hù)子系統(tǒng)由保護(hù)策略生成模塊與保護(hù)策略更新模塊組成,在控制器端進(jìn)行協(xié)議隨機(jī)化策略與還原策略的生成與更新操作,該子系統(tǒng)的輸出為交換機(jī)流表;
[0039]2)協(xié)議自動(dòng)識(shí)別子系統(tǒng)由經(jīng)過(guò)交換機(jī)的數(shù)據(jù)包觸發(fā),交換機(jī)基于協(xié)議保護(hù)子系統(tǒng)生成的流表對(duì)數(shù)據(jù)包進(jìn)行處理,該子系統(tǒng)的輸出為處理之后的數(shù)據(jù)包。
[0040]2.圖2是本發(fā)明的協(xié)議保護(hù)子系統(tǒng)中的保護(hù)策略生成模塊的具體流程:
[0041]I)控制器生成全局唯一的隨機(jī)化標(biāo)簽;
[0042]2)控制器根據(jù)網(wǎng)絡(luò)拓?fù)錇槊總€(gè)交換機(jī)生成上一跳交換機(jī)標(biāo)簽;
[0043]3)控制器定義由偏移量和長(zhǎng)度兩部分組成的對(duì)數(shù)據(jù)包的分割元組;
[0044]a)所述分割元組格式為 tuple =