本發(fā)明屬于網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種基于同態(tài)線性子空間簽名的抗萬能攻擊安全網(wǎng)絡(luò)編碼方法。
背景技術(shù):
近年來,網(wǎng)絡(luò)安全編碼的研究受到較多關(guān)注,其目的是設(shè)計滿足各種安全條件,且能夠進行高效的數(shù)據(jù)傳輸?shù)木€性網(wǎng)絡(luò)安全編碼。從網(wǎng)絡(luò)傳輸?shù)慕嵌瓤矗F(xiàn)存的安全網(wǎng)絡(luò)編碼問題主要可以分為兩類:第一類問題是傳輸?shù)男畔⒈粩橙烁`聽(被動攻擊),造成一些重要信息的泄露;第二類問題是網(wǎng)絡(luò)中傳輸?shù)男畔⒈粩橙藧阂庑薷幕蛘邆卧?主動攻擊),導(dǎo)致信息的原定接收者不能接收到原始信息。并且竊聽攻擊與污染攻擊還有可能出現(xiàn)在同一網(wǎng)絡(luò)中,具有此種能力的攻擊者被稱為萬能攻擊者,它對于網(wǎng)絡(luò)系統(tǒng)擁有很強的攻擊和破壞能力。趙慧等人在k.jain研究的基礎(chǔ)上,提出一種安全性定理,并證明了在編碼節(jié)點處使用偽隨機函數(shù)更能確保信源消息不被惡意攻擊者獲取,然而,該算法不具有抗污染攻擊的能力,并且需要知道整個網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),不適宜用于大規(guī)模網(wǎng)絡(luò)或無線網(wǎng)絡(luò)。jaggi等提出分布式解決方法,該方法可在多項式時間內(nèi)完成設(shè)計。然而,該方法不具有抗竊聽能力,并且對于存儲空間的需求較大。周亞軍等基于子空間,給出了一種安全的糾錯網(wǎng)絡(luò)編碼,然而,其在傳輸過程中需要一條秘密信道,針對萬能攻擊者,該算法安全性較差。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于同態(tài)線性子空間簽名的抗萬能攻擊安全網(wǎng)絡(luò)編碼方法,其可同時兼具抗竊聽和污染攻擊的能力,且編碼可在多項式時間內(nèi)完成。
本發(fā)明的目的通過以下技術(shù)方案實現(xiàn):
基于同態(tài)線性子空間簽名的抗萬能攻擊安全網(wǎng)絡(luò)編碼方法,具體包含如下步驟;
步驟1,信源節(jié)點對待傳輸?shù)脑枷⑾蛄窟M行組合編碼,進而得到一個新的待傳輸?shù)南⑾蛄浚?/p>
步驟2,信源節(jié)點對新得到的待傳輸?shù)南⑾蛄窟M行加密,將加密后的待傳輸?shù)南⑾蛄窟M行網(wǎng)絡(luò)編碼,并將編碼后的消息向量組成數(shù)據(jù)包,進而發(fā)送至中繼節(jié)點;
步驟3,中繼節(jié)點將收到的同屬一個代的數(shù)據(jù)包進行譯碼和驗證,若通過驗證,則判定該原始消息向量在傳輸過程中既沒有被竊聽也沒有被污染;反之,該數(shù)據(jù)包將會被丟棄,同時中繼節(jié)點會要求信源節(jié)點重新發(fā)送數(shù)據(jù)包。
作為本發(fā)明基于同態(tài)線性子空間簽名的抗萬能攻擊安全網(wǎng)絡(luò)編碼方法的進一步優(yōu)選方案,所述步驟1具體包含如下步驟:
步驟1.1,設(shè)定參數(shù)m,n,r,q,id,在秘鑰分配中心上生成一個(n-r)×n的秘密矩陣s,其中,m,n,r,q分別為素數(shù),且r<n,id為代標(biāo)識符,并在秘鑰分配中心上利用秘鑰分配協(xié)議通過安全信道為每個驗證節(jié)點發(fā)送一個秘鑰ks;
步驟1.2,利用步驟1.1中生成的私密矩陣s構(gòu)造出一個私密線性方程組:s(x1,x2,...,xr,xr+1,...,xn)t=0,令x1,x2,...,xr=vi1,vi2,...,vir將其代入該私密線性方程組中,得到(ti,r+1,ti,r+2,...,ti,n)=(xr+1,xr+2,...,xn);其中(ti,r+1,ti,r+2,...,ti,n)表示當(dāng)前代中第i個消息向量vi的n-r個消息認(rèn)證標(biāo)簽;其中,i和γ為正整數(shù);
步驟1.3,根據(jù)步驟1.2依次獲取該代中其余待傳輸?shù)脑枷⑾蛄康南⒄J(rèn)證標(biāo)簽。
作為本發(fā)明基于同態(tài)線性子空間簽名的抗萬能攻擊安全網(wǎng)絡(luò)編碼方法的進一步優(yōu)選方案,所述步驟2具體包含如下步驟:
步驟2.1,通過步驟1.2獲取當(dāng)前代第i個待傳輸?shù)南⑾蛄?imgfile="bda0001330454870000021.gif"wi="78"he="62"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>其中,
步驟2.2,信源節(jié)點在有限域fq上生成一個非零元的且維數(shù)為m×m的可逆矩陣a,進而得到加密后的待傳輸消息向量c;其中,c=a·w;
步驟2.3,將步驟2.2中生成的可逆矩陣a利用流密碼加密算法進行加密后與已加密后的待傳輸消息向量c一起進行打包傳輸,即
當(dāng)i=1,2,...,r時,ci*=(e(id,ai1),e(id,ai2),...,e(id,ai,r+1),ci);
當(dāng)i=r+1,r+2,...,m時,
其中,e(id,ai,r+1)為公共的流密碼加密算法,
信源節(jié)點將每個
作為本發(fā)明基于同態(tài)線性子空間簽名的抗萬能攻擊安全網(wǎng)絡(luò)編碼方法的進一步優(yōu)選方案,所述步驟3具體包含如下步驟:
步驟3.1,當(dāng)中繼節(jié)點接收到m個合法的屬于同一個代id線性獨立的數(shù)據(jù)包wi時,其中,i=1,2,...,m;利用高斯消元法譯出ci*,對
步驟3.2,根據(jù)消息矩陣w解密得到v1*,
作為本發(fā)明基于同態(tài)線性子空間簽名的抗萬能攻擊安全網(wǎng)絡(luò)編碼方法的進一步優(yōu)選方案,在步驟2.3中,信源節(jié)點利用標(biāo)準(zhǔn)隨機網(wǎng)絡(luò)編碼協(xié)議將每個
本發(fā)明采用上述信源編碼方案以及接收節(jié)點能否正確通過安全驗證,提出了一種能夠抗萬能攻擊的安全網(wǎng)絡(luò)編碼方案。相比大多數(shù)現(xiàn)有的網(wǎng)絡(luò)編碼防御方案只能夠針對一類惡意攻擊,本發(fā)明能夠同時防御多類惡意攻擊,并且與已有的同類解決方法相比,該方法的優(yōu)勢是需要很少的源秘鑰,并且一個中間結(jié)點僅需要分配一個秘鑰。
附圖說明
圖1為本發(fā)明方法所適用的網(wǎng)絡(luò)拓?fù)鋱D;
圖2為使用本發(fā)明信源節(jié)點與中繼節(jié)點工作流程圖;
具體實施方式
為使本發(fā)明的目的,技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明作進一步的詳細(xì)描述。但本發(fā)明的保護范圍不限于下述的實例示例。
本發(fā)明所述的基于同態(tài)線性子空間簽名的抗萬能安全網(wǎng)絡(luò)編碼方法關(guān)注的是單源多播無環(huán)網(wǎng)絡(luò),如圖1所示,用有限域fq來表示編碼域,其中q為一個素數(shù)或素數(shù)的冪,表示編碼域的大小。并且本發(fā)明中的原始消息消息將用一個m×n的矩陣
信宿或中繼結(jié)點譯碼為一個階段,信宿或中繼結(jié)點進行抗萬能安全網(wǎng)絡(luò)編碼的驗證,若通過驗證,則代表在傳輸過程中消息向量既沒有被污染也沒有被竊聽。否則,該消息向量將被丟棄,信宿或者中繼節(jié)點會要求信源節(jié)點重新傳輸該消息向量。
其中信源編碼第一階段包括如下步驟:
步驟1.1、給定系統(tǒng)參數(shù)m,n,q,并在系統(tǒng)原先就存在的秘鑰分配中心kdc上生成一個(n-r)×n(r<n)的秘密矩陣s=(s1t,s2t......srt)t=(sij)t其中sij∈fq,這里的si可以通過公共的偽隨機函數(shù)生成器g:{0,1}*→fq利用一個取自有限域fq的隨機種子sdi生成。然后kdc將用于生成私密矩陣的r個秘鑰種子sdi通過認(rèn)證過的加密信道發(fā)送給信源。最后kdc通過安全信道為每個非信源驗證節(jié)點計算并發(fā)送一個單獨的秘鑰
步驟1.2、利用步驟a中生成的私密矩陣s構(gòu)造出一個私密線性方程組:s(x1,x2,...,xr,xr+1,...,xn)t=0,令(x1,x2,...,xr)=(vi1,vi2,...,vir)將其代入該線性方程組中,可以得到(ti,r+1,ti,r+2,...,ti,n)=(xr+1,xr+2,...,xn),其中(ti,r+1,ti,r+2,...,ti,n)表示當(dāng)前代中第i個消息向量的mac認(rèn)證標(biāo)簽。并且按照該步驟,可以求出代中其余消息向量的mac認(rèn)證標(biāo)簽。
步驟1.3,依次按照步驟1.2獲取該代中其余待傳輸?shù)脑枷⑾蛄康南⒄J(rèn)證標(biāo)簽;
其中信源編碼第二階段包括如下步驟:
步驟2.1、經(jīng)過步驟b的簽名算法后,可以編碼組合得到一個新的當(dāng)前代的第i個待傳輸?shù)南⑾蛄?imgfile="bda0001330454870000043.gif"wi="387"he="66"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>(該消息向量有2n-r個元素),并將該代中前r(r<m)個消息向量利用一種公共的流密碼加密算法e(分組密碼)進行隨機化加密。對于每一個i∈{1,2,...,r},都有
即
其中hij和hi,j都是由流加密算法e生成的在有限域fq內(nèi)隨機符號。并得到一個新的消息矩陣w,其中w矩陣的前r個向量是根據(jù)流密碼加密后的消息向量。
步驟2.2、信源在有限域fq上生成一個用來作為全局編碼向量的非零元的維數(shù)為m×m的可逆隨機矩陣a(m,r)=(a1,a2),其中a1=(aij)(i=1,2,...,m,j=1,2,...,r,aij∈fq),a2是一個如下形式的維數(shù)為m×(m-r)的矩陣
其中a2這個矩陣?yán)锩娴娜魏卧豠i,r+1,ajj(i=1,2,...,r,j=r+1,r+2,...,m)均隨機取自fq,其余元素均為0。信源按照下式進行計算
步驟2.3、為了達(dá)到防竊聽攻擊,則步驟2.2中生成的可逆矩陣a要利用流密碼加密算法進行加密后與步驟2.2中生成的已加密編碼后的消息向量c一起進行打包傳輸。當(dāng)i=1,2,...,r時,ci*=(e(id,ai1),e(id,ai2),...,e(id,ai,r+1),ci);
當(dāng)i=r+1,r+2,...,m時,
其中信宿或中繼節(jié)點譯碼包括如下步驟:
步驟3.1、當(dāng)信宿節(jié)點或者中繼節(jié)點接收到m個合法的屬于同一個代id線性獨立的數(shù)據(jù)包wi(i=1,2,...,m)時,可利用高斯消元法譯出ci*(i=1,2,...,m),然后對
步驟3.2最后對