亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種sdn網(wǎng)絡(luò)控制器與交換機(jī)之間的流表消息敏感數(shù)據(jù)加密方法

文檔序號(hào):10473759閱讀:545來(lái)源:國(guó)知局
一種sdn網(wǎng)絡(luò)控制器與交換機(jī)之間的流表消息敏感數(shù)據(jù)加密方法
【專利摘要】一種SDN網(wǎng)絡(luò)控制器與交換機(jī)之間的流表消息敏感數(shù)據(jù)加密方法,包括單流回復(fù)消息Flow?stats、流表修改消息Flow?mod,流表刪除消息Flow?removed。針對(duì)在SDN網(wǎng)絡(luò)中,控制器和交換機(jī)在通信時(shí)發(fā)送與流表相關(guān)消息指令的過(guò)程中,攻擊者進(jìn)行網(wǎng)絡(luò)嗅探從而破壞或者欺騙攔截?cái)?shù)據(jù)流表信息,進(jìn)而獲取數(shù)據(jù)流表消息中的敏感數(shù)據(jù),給整個(gè)SDN網(wǎng)絡(luò)造成威脅。本發(fā)明為保留格式的加密方法,確保密文與明文具有相同的格式,達(dá)到加密的目的。加密所依賴的密鑰分為固定密鑰和調(diào)整因子兩部分,調(diào)整因子是指令中的cookie字段,使用調(diào)整因子通過(guò)密鑰分散算法產(chǎn)生用于加解密的密鑰key,該特點(diǎn)大大降低了密鑰管理的復(fù)雜度。
【專利說(shuō)明】
-種SDN網(wǎng)絡(luò)控制器與交換機(jī)么間的流表消息敏感數(shù)據(jù)加密 方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于數(shù)據(jù)加密領(lǐng)域,具體設(shè)及一種保留網(wǎng)絡(luò)協(xié)議格式不變的流表消息指令 傳輸敏感數(shù)據(jù)加密方法,針對(duì)流表相關(guān)消息包括流表修改消息Flow-mod、刪除消息Flow-removedW及單流回復(fù)消息Flow-s1:ats。
【背景技術(shù)】
[0002] 軟件定義網(wǎng)絡(luò)(SOftware-defined networking,簡(jiǎn)稱SDN)技術(shù)分離了網(wǎng)絡(luò)控制平 面和數(shù)據(jù)平面,為研發(fā)網(wǎng)絡(luò)新應(yīng)用和未來(lái)互聯(lián)網(wǎng)技術(shù)提供了一種新的解決方案。
[0003] SDN的安全性屬于開放的狀態(tài),雖然交換機(jī)和控制器可W建立安全通道,但是針對(duì) 性的攻擊方法也很多,攻擊者可W通過(guò)在網(wǎng)絡(luò)中嗅探得知哪些數(shù)據(jù)流正在流動(dòng),哪些數(shù)據(jù) 流被允許在網(wǎng)絡(luò)中傳輸。攻擊者可W對(duì)化enFlow交換機(jī)與控制器之間的南向接口通信進(jìn)行 嗅探,嗅探所獲得的信息可用于再次發(fā)起攻擊或進(jìn)行簡(jiǎn)單的網(wǎng)絡(luò)掃描探測(cè),獲取數(shù)據(jù)流中 的敏感信息,從而對(duì)整個(gè)SDN網(wǎng)絡(luò)安全造成巨大威脅。所W對(duì)數(shù)據(jù)流表中的敏感信息進(jìn)行加 密是很有必要的,但是,傳統(tǒng)的加密算法,比如AES、3DES等,將會(huì)破壞數(shù)據(jù)的格式,使得加密 后的數(shù)據(jù)無(wú)法在網(wǎng)絡(luò)中存儲(chǔ)和使用,而且會(huì)破壞已有的SDN網(wǎng)絡(luò)中的業(yè)務(wù)邏輯,比如控制器 下發(fā)流表后,IP字段在交換機(jī)中與流表項(xiàng)匹配時(shí)無(wú)法識(shí)別的問(wèn)題,如何對(duì)運(yùn)些信息加密卻 不破壞其固有的格式,是一個(gè)必須要解決的問(wèn)題。
[0004] 可見,在控制器下發(fā)指令修改流表數(shù)據(jù)時(shí),有必要對(duì)核屯、的數(shù)據(jù)流表項(xiàng)進(jìn)行加密。 而保留格式的加密技術(shù)不會(huì)影響已有協(xié)議,可W在原有協(xié)議的基礎(chǔ)上實(shí)現(xiàn)敏感信息的保 護(hù),因此,研究如何保留SDN控制器與交換機(jī)之間協(xié)議不變的加密算法是必要的。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明目的是解決SDN網(wǎng)絡(luò)中控制器與化enFlow交換設(shè)備數(shù)據(jù)指令傳輸安全的問(wèn) 題,對(duì)控制器與交換設(shè)備之間的消息指令的IP地址字段進(jìn)行加密,避免網(wǎng)絡(luò)嗅探對(duì)IP地址 竊取而產(chǎn)生的欺騙通信,并且提供一種保留格式的數(shù)據(jù)加密方法。
[0006] 本發(fā)明提供了一種保留格式的對(duì)于控制器與數(shù)據(jù)平面網(wǎng)元的數(shù)據(jù)指令傳輸?shù)募?密方法,使用控制器與交換機(jī)之間流表消息中的cookie字段作為密鑰分散種子進(jìn)行密鑰分 散產(chǎn)生加密密鑰key,從而對(duì)源和目的IP地址進(jìn)行加密,并使用密鑰k巧對(duì)密文進(jìn)行解密得 到明文,該方法具體包括如下步驟:
[0007] 第1、控制器和交換機(jī)在部署時(shí)預(yù)裝指定的安全密鑰K,將密鑰種子寫在控制器和 交換機(jī)的相關(guān)配置文件中。
[000引第2、在消息發(fā)送前,首先利用安全密鑰K和消息包結(jié)構(gòu)中的可變項(xiàng)cookie, cookie 是一個(gè)64位字段的參數(shù),用來(lái)過(guò)濾流的統(tǒng)計(jì)信息,使用cookie作為密鑰分散種子進(jìn)行密鑰 分散,產(chǎn)生用于加密消息的的分散密鑰key;再利用密鑰k巧進(jìn)行明文的加密和密文解密。
[0009]第3、控制器或交換機(jī)到接收到對(duì)方發(fā)來(lái)的消息后,利用收到消息,再解密;
[0010] 第3.1、使用第2步產(chǎn)生的分散密鑰key對(duì)消息指令中的IP源地址字段nw_src和目 標(biāo)地址nw_dst字段進(jìn)行加密;
[0011] 第3.2、使用第2步產(chǎn)生的分散密鑰key對(duì)IP源地址的密文和目標(biāo)地址的密文進(jìn)行 解密。
[0012] 其中,第2步所述的密鑰分散算法的具體步驟為:
[0013] 第2.1、采用AES算法作為基礎(chǔ)密碼;
[0014] 第2.2、使用消息指令的cookie字段,在64位的消息中的cookie字段基礎(chǔ)上,添加8 字節(jié)數(shù)據(jù)0x8000000000000000,得到分散因子;
[0015] 第2.3、使用基礎(chǔ)密碼AES對(duì)分散因子進(jìn)行加密,將密文作為分散密鑰key,使用分 散密鑰k巧對(duì)明文進(jìn)行加密。
[0016] 第3.1步所使用的加密算法步驟為:
[0017] 第3.1.1、使用上述第2步產(chǎn)生的分散密鑰key作為加密密鑰;
[0018] 第3.1.2、對(duì)于消息指令中里的源和目的IP地址字段,將十六進(jìn)制的字段分割為左 右兩部分即L和R,用Xj表示第j輪的輸入,旨化= XlI I…I |x(n/2),R=X(n/2+l)|h,| |xn;
[0019] 第3.1.3、按W下步驟執(zhí)行R輪迭代運(yùn)算,R通常取12,每輪執(zhí)行過(guò)程如下:
[0020] 第3.1.3.1、令L'作為下一輪的左半部分,R'作為下一輪的右半部分,則L'=R,R'= L? FSK(R);其中L'的值等于輸入的右半部分R,R'的值等于輸入的左半部分L與對(duì)右半部 分R執(zhí)行FSK運(yùn)算后進(jìn)行模加巧的結(jié)果;
[0021] 第3.1.3.2、第1輪的輸出為沿+1 = 1/|護(hù),該輸出將作為第1+1輪的輸入,執(zhí)行第1+ 1輪的迭代運(yùn)算。
[0022] 第3.2步所使用的解密算法步驟為:
[0023] 第3.1.1.1、使用上述第2步產(chǎn)生的分散密鑰key作為解密密鑰;
[0024] 第3.1.1.2、對(duì)于解密運(yùn)算而言,運(yùn)算過(guò)程與加密算法相同,只是將模加運(yùn)算替換 為模減0運(yùn)算;
[0025] 所述的模加運(yùn)算是:
[00%]第3.1.3.1.1、用Yj表示第j輪輸入^的每個(gè)分段元素所屬值域的元素個(gè)數(shù),且Yj = yi I I... I |yn,其中:yi= I Ii I,...,yn= I Inl ;
[0027] 第3.1.3.1.2、對(duì)于模加運(yùn)算X?N,假設(shè)N = mMn2M…||nz,z<n,具體運(yùn)算過(guò)程 為:X? N = ( X + N)抑Od Y = ( Xi + n!) mod y, Il IK X/ + M mod y/,即,該模加運(yùn)算是按 元素為單元的運(yùn)算,每個(gè)單元運(yùn)算的模數(shù)等于左操作數(shù)所屬的值域的元素個(gè)數(shù)。
[00%]所述的模減運(yùn)算的方法如下:
[0029] 1)、用Yj表示第j輪輸入、的每個(gè)分段元素所屬值域的元素個(gè)數(shù),且Yj = yi||…I yn,其中:yi = I Il I,...,yn= I Inl ;
[0030] 2)、對(duì)于模減運(yùn)算X0N,其中N=IuMmM…||nz,z<n,具體運(yùn)算過(guò)程為:X0N=(X-N)mod Y=(x廣ni)mod yi| |(Xz-nz)mod yz,即,該模減運(yùn)算是按元素為單元的運(yùn)算,每 個(gè)單元運(yùn)算的模數(shù)等于左操作數(shù)所屬的值域的元素個(gè)數(shù)。
[0031] -、本發(fā)明設(shè)及的與傳輸數(shù)據(jù)加密有關(guān)的一些基本概念:
[0032] (I)SDN:軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN),是Emulex網(wǎng)絡(luò)一種新 型網(wǎng)絡(luò)創(chuàng)新架構(gòu),是網(wǎng)絡(luò)虛擬化的一種實(shí)現(xiàn)方式,其核屯、技術(shù)化enFlow通過(guò)將網(wǎng)絡(luò)設(shè)備控 制面與數(shù)據(jù)面分離開來(lái),從而實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,使網(wǎng)絡(luò)作為管道變得更加智能。
[0033] (2)0penFlow:0penFlow最早由斯坦福大學(xué)的Nick McKeown教授等研究人員在 2008年4月提出,其最初的出發(fā)點(diǎn)是考慮到網(wǎng)絡(luò)的創(chuàng)新思想需要在實(shí)際網(wǎng)絡(luò)上才能被更好 地驗(yàn)證,而研究人員又無(wú)法修改現(xiàn)網(wǎng)中的網(wǎng)絡(luò)設(shè)備,故而提出了名為化enFlow的控制和轉(zhuǎn) 發(fā)分離的架構(gòu)。OpenFlow標(biāo)準(zhǔn)的名稱是OpenFlow Switch Specif ication,因此它本身是一 份設(shè)備規(guī)范,其中規(guī)定了作為SDN基礎(chǔ)設(shè)施層轉(zhuǎn)發(fā)設(shè)備的化enFlow交換機(jī)的基本組件和功 能要求,W及用于由遠(yuǎn)程控制器對(duì)交換機(jī)進(jìn)行控制的化enFlow協(xié)議。
[0034] (3)安全通道:OpenFlow安全通道承載著化enFlow協(xié)議的消息,不管是流表的下發(fā) 還是其他的控制消息都要經(jīng)過(guò)運(yùn)條通道。運(yùn)部分流量屬于化enFlow網(wǎng)絡(luò)的控制信令,有別 于數(shù)據(jù)平面的網(wǎng)絡(luò)"流",不需要經(jīng)過(guò)交換機(jī)流表的檢查。為了保證"本地流量"安全可靠的 傳輸,OpenFlowvl .0中規(guī)定通道建立在TCP連接上,采用I'LSO'ransport Layer Security, 安全傳輸層協(xié)議)進(jìn)行加密。
[00:35] (4 ) Contro 11 er-Swi tch消息:運(yùn)類消息是由控制器發(fā)起,包括Features、 Conf iguration、Modirestate、Read-State、Send-化cket、Barrier等幾類消息,用于對(duì) 化enFlow交換機(jī)的管理??刂破魍ㄟ^(guò)其中請(qǐng)求(3日911日31:)消息來(lái)查詢化日姑1〇¥交換機(jī)的狀 態(tài),OpenFlow交換機(jī)收到后需回復(fù)響應(yīng)(Itep Iy)消息。
[0036] (5)流表:所謂流表,其實(shí)可被視作是化enFlow對(duì)網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)功能的一種 抽象。在傳統(tǒng)網(wǎng)絡(luò)設(shè)備中,交換機(jī)和路由器的數(shù)據(jù)轉(zhuǎn)發(fā)需要依賴設(shè)備中保存的二層MAC地址 轉(zhuǎn)發(fā)表或者S層IP地址路由表,而化enFlow交換機(jī)中使用的流表也是如此,不過(guò)在它的表 項(xiàng)中整合了網(wǎng)絡(luò)中各個(gè)層次的網(wǎng)絡(luò)配置信息,從而在進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)可W使用更豐富的規(guī) 則。
[0037] (6)AES:密碼學(xué)中的高級(jí)加密標(biāo)準(zhǔn)(Advanced Encirption Sl:andard,AES),是美 國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。運(yùn)個(gè)標(biāo)準(zhǔn)用來(lái)替代原先的DES,已經(jīng)被多方分析且廣 為全世界所使用。經(jīng)過(guò)五年的甄選流程,高級(jí)加密標(biāo)準(zhǔn)由美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院 (NIST)于2001年11月26日發(fā)布于FIPS PUB 197,并在2002年5月26日成為有效的標(biāo)準(zhǔn)。2006 年,高級(jí)加密標(biāo)準(zhǔn)已然成為對(duì)稱密鑰加密中最流行的算法之一。
[0038] (7)分組密碼:分組密碼是將明文消息編碼表示后的數(shù)字(簡(jiǎn)稱明文數(shù)字)序列,劃 分成長(zhǎng)度為n的分組(可看成長(zhǎng)度為n的矢量),每個(gè)分組分別在密鑰的控制下變換成等長(zhǎng)的 輸出數(shù)字(簡(jiǎn)稱密文數(shù)字)序列。
[0039] 本發(fā)明的優(yōu)點(diǎn)和積極效果:
[0040] 本發(fā)明是一種流表消息指令中敏感數(shù)據(jù)保留格式的加密方法,該方法既要滿足網(wǎng) 絡(luò)格式協(xié)議不變的要求,又要解決密鑰管理的問(wèn)題。本發(fā)明可W在SDN網(wǎng)絡(luò)的交換機(jī)與控制 器之間流表消息敏感數(shù)據(jù)加密中應(yīng)用:所提出的敏感數(shù)據(jù)保留格式加密算法能夠確保密文 與明文具有相同的格式,適用于SDN網(wǎng)絡(luò)中化enFlow協(xié)議包的IP地址、日期等等數(shù)據(jù)類型的 加解密;加密所依賴的密鑰分為固定密鑰和調(diào)整因子兩部分,調(diào)整因子是消息報(bào)文中的 cookie,使用調(diào)整因子通過(guò)密鑰分散算法產(chǎn)生用于加解密的密鑰key,該特點(diǎn)大大降低了密 鑰管理的復(fù)雜度。
【附圖說(shuō)明】
[0041 ]圖I是加解密方法流程圖。
[0042] 圖2是openFlow協(xié)議拓?fù)鋱D。
[0043] 圖3是wireshark報(bào)文抓取圖。
[0044] 圖4是交換機(jī)端對(duì)稱密鑰K。
[0045] 圖5是控制器端對(duì)稱密鑰K。
[0046] 圖6是Flow-mod消息報(bào)文解析。
[0047] 圖7是加密后的F10 w-mo d消息報(bào)文。
【具體實(shí)施方式】
[0048] 本發(fā)明WIP地址為例,參考了一種保留格式的加密方法,并對(duì)加密算法過(guò)程進(jìn)行 詳細(xì)說(shuō)明。
[0049] 如圖1所示,本發(fā)明提供的SDN網(wǎng)絡(luò)控制器與交換機(jī)之間的消息指令加密方法的具 體步驟包括:
[0050] 第1、控制器和交換機(jī)在部署時(shí)預(yù)裝指定的安全密鑰K,將密鑰種子寫在控制器和 交換機(jī)的相關(guān)配置文件中;
[0051 ]第2、當(dāng)控制器修改流表時(shí),需要通過(guò)0FPT_FL0W_M0D消息,交換機(jī)端接收到控制器 發(fā)送的control ler-to-switch類型的消息指令0FPT_FL0W_M0D,該指令用來(lái)對(duì)流表進(jìn)行修 改操作,cookie是0FPT_FL0W_M0D定義的一個(gè)64位字段的參數(shù),用于控制器過(guò)濾流的統(tǒng)計(jì)信 息,使用cookie作為密鑰分散種子進(jìn)行密鑰分散,產(chǎn)生用于加密的分散密鑰key;
[0化2] 第3、在"修改狀態(tài)"的Controller-to-Switch消息中,控制器對(duì)流表項(xiàng)結(jié)構(gòu)中的IP 地址字段進(jìn)行加密,交換機(jī)對(duì)加密后的密文進(jìn)行解密:
[0053] 第3.1、使用第2步產(chǎn)生的分散密鑰k巧對(duì)流表項(xiàng)結(jié)構(gòu)里的IP源地址nw_src字段和 目標(biāo)地址nw_dst字段進(jìn)行加密;
[0054] 第3.2、使用第2步產(chǎn)生的分散密鑰k巧對(duì)IP源地址的密文和目標(biāo)地址的密文進(jìn)行 解密。
[0055] 應(yīng)用實(shí)例
[0056] 本應(yīng)用實(shí)例是在SDN仿真環(huán)境中實(shí)施。具體實(shí)例中采用openf low協(xié)議,使用 Ubuntul2.04+Floodli曲t+Mininet來(lái)搭建SDN仿真環(huán)境,使用vi;rtua化OX作為虛擬機(jī)軟件, Vbtua化OX中運(yùn)行帶有Mininet的虛擬機(jī),用來(lái)模擬出化enFlow交換機(jī)、host W及自定義的 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。PC機(jī)器上安裝Floodlight,作為化enFlow環(huán)境的控制器。
[0057] 構(gòu)建如圖2所示拓?fù)鋱D,Wireshark報(bào)文抓取如圖3所示。
[005引當(dāng)控制器啟動(dòng)后,會(huì)使用默認(rèn)6633監(jiān)聽端口,然后進(jìn)行S次握手,建立socket連 接。
[0059] 創(chuàng)建socket后,交換機(jī)與控制器會(huì)彼此發(fā)送hello數(shù)據(jù)包,發(fā)送0FPT_ECH0消息查 詢連接狀態(tài),確保通信通楊,完成連接后,控制器會(huì)向交換機(jī)發(fā)送〇FPT_FEATYRES_REQ肥ST 數(shù)據(jù)包,請(qǐng)求交換機(jī)信息,并且會(huì)得到交換機(jī)回復(fù)的〇FPT_FEATURES_REPLY消息。
[0060] 當(dāng)一個(gè)packet從主機(jī)hl-etho到達(dá)openf low交換機(jī)sl-etho端,會(huì)進(jìn)行流表的匹 配,如果沒有找到相應(yīng)的流表項(xiàng),就會(huì)通過(guò)sl-eth2端口發(fā)送一個(gè)packet_in消息到控制器, 在SDN的環(huán)境下,控制器具有全局拓?fù)湫畔?,每?dāng)有鏈路狀態(tài)改變時(shí)就會(huì)跟新拓?fù)?,而路?的計(jì)算是需要下發(fā)轉(zhuǎn)發(fā)規(guī)則的時(shí)候進(jìn)行??刂破鞲鶕?jù)一定的路由算法決策后,會(huì)向該路徑 上的所有交換機(jī)下發(fā)流表,發(fā)送化〇W_MOD消息,里面有對(duì)應(yīng)的action^及敏感信息源地址 和目的地址,需要對(duì)敏感信息進(jìn)行加密。
[0061] 首先使用控制器CO與交換機(jī)Sl的對(duì)稱密鑰種子K進(jìn)行密鑰分散產(chǎn)生密鑰key,分散 密鑰key在控制器和交換機(jī)中均存儲(chǔ)用于下一輪的加密和解密。
[0062] 1、密鑰分散算法
[0063] 輸入:控制器(見圖5)與交換機(jī)端(見圖4)都存儲(chǔ)統(tǒng)一的對(duì)稱密鑰K。
[0064] K = 0x01010202030304040505060607070808,64 位 cookie 值為 0x0020000000000000 ;Flow-mod消息報(bào)文解析如圖6所示。
[0065] 第一、定義AES表示采用的基礎(chǔ)密碼;定義符號(hào)K表示控制器與交換設(shè)備中預(yù)裝的 對(duì)稱密鑰 K = 0x01010202030304040505060607070808;定義 AES.Enc(K,plain)表示使用密 鑰K對(duì)明文plain進(jìn)行加密;
[0066] 第二、產(chǎn)生分散因子:取m)W-M0D消息的64位cookie字段,將其填充到128位,首先 補(bǔ)充一個(gè)字節(jié)的0x80,其后補(bǔ)充7個(gè)字節(jié)的0x00,得到一個(gè)128位的新cookie值,定義FS = cookie I 0x80 I OxOO I OxOO I OxOO I OxOO I OxOO I OxOO I 0x00,填充后的cookie得到的新的FS值為 FS = 0x00200000000000008000000000000000;
[0067] 第=、利用密鑰分散算法得分散密鑰key;
[006引 其中 k 巧=AES.&1C 化,cookie)=0x0BE3F6F57AlE631B25298631C48EE6A9;
[0069] 輸出:分散密鑰 k 巧=0x0BE3F6F57A 化 631B25298631C48EE6A9。
[0070] 得到分散密鑰k巧后,在控制器端使用setmatch方法對(duì)敏感信息進(jìn)行加密并進(jìn)行 包的封裝。
[0071] 2、加密算法
[0072] W下是一輪加密運(yùn)算的過(guò)程,在實(shí)際加密的過(guò)程中,通常進(jìn)行R輪運(yùn)算,R通常大于 或等于12。
[0073] 示例:預(yù)裝對(duì)稱密鑰K 為 OxO 1010202030304040505060607070808 ,cookie 為 0x0020000000000000,使用W上的密鑰分散算法得到密鑰key。
[0074] 分散算法:k 巧=AES.&ic(K,cookie)=0x0BE3F6F57AW631B25298631C48EE6A9。
[0075] 第一輪的加密實(shí)現(xiàn)示例如下:
[0076] 定義一個(gè)IP地址nw_src為"10.0.0 . r,并定義一個(gè)0到10的16進(jìn)制字符集W = '2','3','4','5','6','7','8','9',MP 地址里的每一個(gè)數(shù)字可W 對(duì)應(yīng)到字符 集里的每一個(gè)十六進(jìn)制元素,并保留IP地址的第一位不進(jìn)行加密。
[0077] 輸入:1口地址字段1^_3'(3為"10.0.0.1",加密密鑰1?57。
[007引 其中 k 巧=0X0BE3F6F57A1E631B25298631C48EE6A9。
[00巧]第一步、IP地址映射為0x00000001,作為下一輪的輸入。
[0080]第二步、將映射后的IP地址分割為左右兩部分,分別記為左半部分L和右半部分R, L = OxOOOO,R = OxOOOl;
[0081 ] 第S步、本輪輸出的L'=R = 0x0001,而本輪輸出后得到的R'為AES.ENC(FSK,R) + L.具體模加運(yùn)算為0xB4E5貨0:礎(chǔ)000 - 0x0009;
[0082] 將L'和R'相連,得到最終密文:0x00010009。
[0083] 輸出:加密后的IP地址"10.1.0.滬,見圖7。
[0084] 將得到的密文隨數(shù)據(jù)包發(fā)送到交換機(jī)端,使用getmatch方法進(jìn)行拆包,并使用分 散密鑰k巧進(jìn)行解密。
[00化]3、解密算法
[00化]輸入:即上述的密文0x00010009,解密密鑰key。
[0087] 其中 k 巧=0x0BE3F6F57AlE631B25298631C48EE6A9。
[0088] 第一步、對(duì)一輪加密運(yùn)算的密文進(jìn)行解密,本輪輸出的R = L'=0x0001,而本輪輸 出得到的L為R' =AES.DEC(FSK,R);
[0089] 具體模減運(yùn)算為0x0009-0xB4E5 = 0x0000,即得到開始的L左半部分。
[0090] 第二步、將左右兩半部分連接一起得到明文0x00000001;
[0091] 輸出:明文IP地址10.0.0.1。
【主權(quán)項(xiàng)】
1. 一種SDN網(wǎng)絡(luò)控制器與交換機(jī)之間的流表消息敏感數(shù)據(jù)加密方法,主要適應(yīng)于控制 器與交換機(jī)之間發(fā)送流表消息包括流表修改消息Flow-mod、刪除消息FI ow-removed以及單 流回復(fù)消息FI ow-s tat s時(shí),其特征在于該方法包括如下步驟: 第1、控制器和交換機(jī)在部署時(shí)預(yù)裝指定的安全密鑰K,將密鑰種子寫在控制器和交換 機(jī)的相關(guān)配置文件中; 第2、在消息發(fā)送前,首先利用安全密鑰K和消息包結(jié)構(gòu)中的可變項(xiàng)cookie,cookie是一 個(gè)64位字段的參數(shù),用來(lái)過(guò)濾流的統(tǒng)計(jì)信息,使用cookie作為密鑰分散種子進(jìn)行密鑰分散, 產(chǎn)生用于加密消息的的分散密鑰key;再利用密鑰key進(jìn)行明文的加密和密文解密。 第3、控制器或交換機(jī)到接收到對(duì)方發(fā)來(lái)的消息后,利用收到消息,再解密; 第3.1、使用第2步產(chǎn)生的分散密鑰key對(duì)消息指令中的IP源地址字段nw_src和目標(biāo)地 址nw_dst字段進(jìn)行加密; 第3.2、使用第2步產(chǎn)生的分散密鑰key對(duì)IP源地址的密文和目標(biāo)地址的密文進(jìn)行解密。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于第2步所述的密鑰分散算法如下: 第2.1、采用AES算法作為基礎(chǔ)密碼; 第2.2、使用消息指令的cookie字段,在64位的消息中的cookie字段基礎(chǔ)上,添加8字節(jié) 數(shù)據(jù)0x8000000000000000,得到分散因子; 第2.3、使用基礎(chǔ)密碼AES對(duì)分散因子進(jìn)行加密,將密文作為分散密鑰key,使用分散密 鑰key對(duì)明文進(jìn)行加密。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于第3.1步所述的加密算法如下: 第3.1.1、使用第2步產(chǎn)生的分散密鑰key作為加密密鑰; 第3.1.2、對(duì)于消息指令中的源和目的IP地址字段,將十六進(jìn)制的字段分割為左右兩部 分即 L和R,用 Xj 表示第 j 輪的輸入,SPL = Xl| | …| |x(n/2),R=X(n/2+l)| | …| |xn; 第3.1.3、按以下步驟執(zhí)行R輪迭代運(yùn)算,每輪執(zhí)行過(guò)程如下: 第3. 1 .3. 1、L'作為下一輪的左半部分,R'作為下一輪的右半部分,L'=R,R'= L?FSK(Rk其中L'的值等于輸入的右半部分R,R'的值等于輸入的左半部分 L與對(duì)右半部 分R執(zhí)行FSK運(yùn)算后進(jìn)行模加?的結(jié)果; 第3.1.3.2、第1輪的輸出為乂^1 = 1/||1?',該輸出將作為第1+1輪的輸入,執(zhí)行第1+1輪 的迭代運(yùn)算。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于第3.2步所述的解密算法如下: 第3.1.1.1、使用第2步產(chǎn)生的分散密鑰key作為解密密鑰; 第3.1.1.2、對(duì)于解密運(yùn)算而言,運(yùn)算過(guò)程與加密算法相同,只是將模加運(yùn)算替換為模 減Θ運(yùn)算。5. 根據(jù)權(quán)利要求3所述的方法,其特征在于第3.1.3.1步所述的模加運(yùn)算方法如下: 第3.1.3.1.1、用乃表示第j輪輸入X」的每個(gè)分段元素所屬值域的元素個(gè)數(shù),且乃=yi 卜·· I |yn,其中:yi= I Ιι I,···,yn= I In| ; 第3.1.3.1.2、對(duì)于模加運(yùn)算又#況,假設(shè)~ = 111||112||"_||112,2〈11,具體運(yùn)算過(guò)程為 : X十N = ( X + N ) mod Y = ( χι + ηι) mod yi丨丨.…丨丨(x,+ n"> mod y,,即,該模加運(yùn)算是按元 素為單元的運(yùn)算,每個(gè)單元運(yùn)算的模數(shù)等于左操作數(shù)所屬的值域的元素個(gè)數(shù)。6.根據(jù)權(quán)利要求4所述的方法,其特征在于第3.1.1.2步所述的模減運(yùn)算方法如下: 1) 、用乃表示第j輪輸入X」的每個(gè)分段元素所屬值域的元素個(gè)數(shù),且乃= yi| l···! |yn,其 中:yi= I Ιι I,···,yn= I In| ; 2) 對(duì)于模減運(yùn)算其中Ν = ηι I I n21 I…I I nz,z〈n,具體運(yùn)算過(guò)程為:ΧΘ N = (X-N) modY=(xi-ni)mod yi| I…I |(xz_nz)mod yz,即,該模減運(yùn)算是按元素為單元的運(yùn)算,每個(gè)單 元運(yùn)算的模數(shù)等于左操作數(shù)所屬的值域的元素個(gè)數(shù)。
【文檔編號(hào)】H04L9/08GK105827665SQ201610398932
【公開日】2016年8月3日
【申請(qǐng)日】2016年6月6日
【發(fā)明人】劉哲理, 程子敬
【申請(qǐng)人】南開大學(xué), 航天恒星科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1