本發(fā)明屬于數(shù)據(jù)安全技術(shù)領(lǐng)域,特別涉及車聯(lián)網(wǎng)中的信息傳輸,將車聯(lián)網(wǎng)調(diào)度中心作為源節(jié)點,其他移動中的車輛作為中間節(jié)點,接收信息的車輛作為目的節(jié)點,將密碼學(xué)工具和車聯(lián)網(wǎng)相結(jié)合,提出一種防污染攻擊的車聯(lián)網(wǎng)信息傳輸與分發(fā)方法及系統(tǒng)。
背景技術(shù):
在因特網(wǎng)大范圍普及的時代,電腦、手機、汽車等終端設(shè)備都是互聯(lián)網(wǎng)的一部分。車聯(lián)網(wǎng)是將汽車變成互聯(lián)網(wǎng)的一個終端,通過車輛數(shù)據(jù)收集、汽車網(wǎng)絡(luò)互聯(lián)、車聯(lián)網(wǎng)控制調(diào)度者發(fā)送信息三個步驟,從而實現(xiàn)客戶、汽車廠方、第三方公司、交通部門等多方面的利益共贏,使汽車出行更加安全、高效與智能。車聯(lián)網(wǎng)調(diào)度控制中心傳輸?shù)男畔ㄜ囕v位置信息、時間、實時路況等。但是,惡意車輛可能會篡改或者重放消息,由于錯誤的信息被分發(fā)從而引起錯誤的控制指令甚至引起重大交通事故的發(fā)生。因此,提出一種安全的車聯(lián)網(wǎng)信息分發(fā)與傳輸方案是非常有意義的。
簽名體制能夠保護(hù)消息的完整性和消息的不可偽造性,是保證信息在網(wǎng)絡(luò)傳輸過程中的完整性的重要手段之一。同態(tài)簽名能夠讓簽名數(shù)據(jù)在傳輸過程中組合,而污染攻擊會發(fā)送的錯誤信息,導(dǎo)致組合后的簽名數(shù)據(jù)是錯誤的。由于車聯(lián)網(wǎng)采用的是公開的無線信道傳輸,車輛的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)隨著車輛位置的移動而改變,所以車聯(lián)網(wǎng)更容易遭受到污染攻擊,惡意車輛可以有意竄改或者偽造消息,其他車輛收到被污染的消息后,如果不知道這些消息被污染而用來與其他未被污染的消息一起傳輸,那么被污染的消息很快擴散到其他車輛甚至整個車聯(lián)網(wǎng)網(wǎng)絡(luò),因此在傳輸過程中必須嚴(yán)格控制并過濾被污染的消息以保證車輛收到準(zhǔn)確有效的信息。
目前用于抵御污染攻擊的主要有兩種基本的方法:基于同態(tài)哈希函數(shù)的方案和基于公鑰簽名的方案。同態(tài)哈希函數(shù)方案可以使得中間節(jié)點能夠在用代數(shù)方法混合數(shù)據(jù)分組之前就驗證數(shù)據(jù)的正確性;基于公鑰的簽名方案,產(chǎn)生的簽名需要多次在中間節(jié)點中進(jìn)行驗證和轉(zhuǎn)發(fā),產(chǎn)生了較大的數(shù)據(jù)并降低傳輸效率。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于車聯(lián)網(wǎng)中間車輛和目的車輛可以驗證收到數(shù)據(jù)包的正確性從而有效地抵御污染攻擊,車聯(lián)網(wǎng)移動中的車輛和接收信息的車輛都可以檢查并過濾被污染的消息,從而保證了車聯(lián)網(wǎng)系統(tǒng)的安全性。
本發(fā)明的方法所采用的技術(shù)方案是:一種防污染攻擊的車聯(lián)網(wǎng)信息傳輸與分發(fā)方法,其特征在于,包括以下步驟:
步驟1:消息初始化;
步驟2:消息驗證轉(zhuǎn)發(fā);
步驟3:消息驗證恢復(fù)。
本發(fā)明的系統(tǒng)所采用的技術(shù)方案是:一種防污染攻擊的車聯(lián)網(wǎng)信息傳輸與分發(fā)系統(tǒng),其特征在于:包括消息初始化模塊、消息驗證轉(zhuǎn)發(fā)模塊、消息驗證恢復(fù)模塊;
所述消息初始化模塊包括消息處理單元、消息簽名單元、消息發(fā)送單元;
所述消息驗證轉(zhuǎn)發(fā)模塊包括第一消息接收單元、第一消息驗證單元、消息轉(zhuǎn)發(fā)單元;
所述消息驗證恢復(fù)模塊包括第二消息接收單元、第二消息驗證單元、消息恢復(fù)單元;
消息處理單元用于負(fù)責(zé)確認(rèn)安全參數(shù)并生成公共參數(shù),產(chǎn)生消息轉(zhuǎn)發(fā)以及消息驗證所需的公鑰和消息簽名生成所需的私鑰,將消息以向量的形式分成許多份并擴展;消息簽名單元負(fù)責(zé)使用消息處理單元產(chǎn)生的公共參數(shù)和私鑰來對擴展向量進(jìn)行簽名;消息發(fā)送單元負(fù)責(zé)將向量和相對應(yīng)的簽名合成數(shù)據(jù)包發(fā)送給車聯(lián)網(wǎng)中的車輛;第一消息接收單元負(fù)責(zé)接收傳輸過程中的數(shù)據(jù)包;第一消息驗證單元負(fù)責(zé)使用消息處理單元產(chǎn)生的公鑰判斷數(shù)據(jù)包是否正確;消息轉(zhuǎn)發(fā)單元負(fù)責(zé)對正確的數(shù)據(jù)包進(jìn)行線性組合產(chǎn)生新的數(shù)據(jù)包并轉(zhuǎn)發(fā);第二消息接收單元負(fù)責(zé)接收移動中車輛發(fā)送的數(shù)據(jù)包;第二消息驗證單元負(fù)責(zé)判斷接收到的數(shù)據(jù)包是否正確;消息恢復(fù)單元負(fù)責(zé)對接收到的最小恢復(fù)的數(shù)據(jù)包進(jìn)行解碼恢復(fù)。
本發(fā)明與現(xiàn)有的簽名方案相比具有如下優(yōu)點和有益效果:
(1)傳統(tǒng)的簽名認(rèn)證方式不能抵御污染攻擊,經(jīng)過網(wǎng)絡(luò)編碼后,原有的源簽名如果參與編碼則被破壞,若車聯(lián)網(wǎng)調(diào)度控制中心不對消息進(jìn)行編碼,則簽名需要一一鏈接在編碼消息后而導(dǎo)致在車聯(lián)網(wǎng)網(wǎng)絡(luò)中傳輸?shù)南⑦^長,既增加時間開銷也增加空間開銷。
(2)當(dāng)前抵御污染攻擊的方案中,比如同態(tài)哈希方案實現(xiàn)了中間節(jié)點對消息完整性的驗證,但卻需要額外的安全信道傳輸原始消息的哈希值。本發(fā)明在此基礎(chǔ)上設(shè)計了同態(tài)簽名方案,不需要額外的安全信道。
(3)本發(fā)明利用密碼學(xué)工具,實現(xiàn)了消息的安全性高、效率高、易恢復(fù)等特點,可用于車聯(lián)網(wǎng)中有效防止污染攻擊。
附圖說明
圖1是本發(fā)明系統(tǒng)框架圖。
具體實施方式
為了便于本領(lǐng)域普通技術(shù)人員理解和實施本發(fā)明,下面結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步的詳細(xì)描述,應(yīng)當(dāng)理解,此處所描述的實施示例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
為了彌補現(xiàn)有方案的不足,本發(fā)明采用簽名向量的方式。當(dāng)惡意車輛在網(wǎng)絡(luò)中偽造或修改任意的數(shù)據(jù)包,本發(fā)明可以抵御污染攻擊,確保接收信息的車輛和移動中的車輛過濾掉任何污染的數(shù)據(jù)包,從而恢復(fù)原消息。
本發(fā)明提供的一種防污染攻擊的車聯(lián)網(wǎng)信息傳輸與分發(fā)方法,包括以下步驟:
步驟1:消息初始化;具體實現(xiàn)包括以下子步驟:
步驟1.1:消息處理;
負(fù)責(zé)確認(rèn)安全參數(shù)并生成公共參數(shù),產(chǎn)生消息轉(zhuǎn)發(fā)以及消息驗證所需的公鑰和消息簽名生成所需的私鑰,將消息以向量的形式分成許多份并擴展;
本實例中,假設(shè)安全參數(shù)為,N=n+m為正整數(shù),公共參數(shù)為將一個消息以m個向量表示,消息(是消息空間),擴展向量(1處于第i個位置),q>2k,隨機選取h←G2\{1},g1,…,gN←G1\{1},隨機選取s=hx,公鑰為PK=ψ,H,h,s,g1,…,gN,私鑰為SK=x,H是一個HASH函數(shù):H:{0,1}*×{0,1}*→G1,群同態(tài)
步驟1.2:消息簽名;
使用公共參數(shù)和私鑰來對擴展向量進(jìn)行簽名;
本實例中,根據(jù)步驟1.1獲得私鑰,消息名稱id∈{0,1}k,任意一個擴展向量那么與之相對應(yīng)的簽名
步驟1.3:消息發(fā)送單元;
將擴展向量和相對應(yīng)的簽名合成數(shù)據(jù)包發(fā)送給車聯(lián)網(wǎng)中的車輛。
本實例中,每個向量都有相對應(yīng)的簽名,并將其合成數(shù)據(jù)包發(fā)給車聯(lián)網(wǎng)中的車輛。
步驟2:消息驗證轉(zhuǎn)發(fā);具體實現(xiàn)包括以下子步驟:
步驟2.1:消息接收;
負(fù)責(zé)接收傳輸過程中的數(shù)據(jù)包;
本實例中,接收車聯(lián)網(wǎng)云調(diào)度中心或者其他車輛發(fā)送的數(shù)據(jù)包。如果是,接收;否則,不接收。
步驟2.2:消息驗證;
負(fù)責(zé)實用公鑰判斷數(shù)據(jù)包是否正確;
本實例中,根據(jù)步驟1.1中產(chǎn)生的公鑰,消息名字id∈{0,1}k,假設(shè)數(shù)據(jù)包
中的向量為驗證過程如下:如果輸出1,則驗證通過;輸出0,則丟棄。
步驟2.3:消息轉(zhuǎn)發(fā);
負(fù)責(zé)對正確的數(shù)據(jù)包進(jìn)行線性組合產(chǎn)生新的數(shù)據(jù)包并轉(zhuǎn)發(fā);
本實例中,中間車輛接收到消息驗證單元輸出的數(shù)據(jù)包,利用消息處理單元產(chǎn)生的公鑰以及id∈{0,1}k對數(shù)據(jù)包進(jìn)行組合,組合過程如下:(αi是由車輛自帶的裝置隨機產(chǎn)生),然后將新的數(shù)據(jù)包轉(zhuǎn)發(fā)給其他車輛。
步驟3:消息驗證恢復(fù)。具體實現(xiàn)包括以下子步驟:
步驟3.1:消息接收;
負(fù)責(zé)接收傳輸過程中的數(shù)據(jù)包;
本實例中,接收其他車輛發(fā)送的數(shù)據(jù)包。如果是,接收;否則,不接收。
步驟3.2:消息驗證;
負(fù)責(zé)使用公鑰判斷數(shù)據(jù)包是否正確;
本實例中,根據(jù)步驟1.1中產(chǎn)生的公鑰,消息名字id∈{0,1}k,假設(shè)數(shù)據(jù)包為驗證過程如下:如果輸出1,則驗證通過;反之則丟棄。
步驟3.3:消息恢復(fù);
負(fù)責(zé)對接收到的最小恢復(fù)的數(shù)據(jù)包進(jìn)行解碼恢復(fù)。
本實例中,根據(jù)步驟1.1中產(chǎn)生的公鑰,消息名字id∈{0,1}k,假設(shè)數(shù)據(jù)包為驗證過程如下:如果輸出1,則驗證通過;反之則丟棄。
請見圖1,本發(fā)明提供的一種防污染攻擊的車聯(lián)網(wǎng)信息傳輸與分發(fā)系統(tǒng),包括消息初始化模塊、消息驗證轉(zhuǎn)發(fā)模塊、消息驗證恢復(fù)模塊;
消息初始化模塊包括消息處理單元、消息簽名單元、消息發(fā)送單元;
消息驗證轉(zhuǎn)發(fā)模塊包括第一消息接收單元、第一消息驗證單元、消息轉(zhuǎn)發(fā)單元;
消息驗證恢復(fù)模塊包括第二消息接收單元、第二消息驗證單元、消息恢復(fù)單元;
消息處理單元用于負(fù)責(zé)確認(rèn)安全參數(shù)并生成公共參數(shù),產(chǎn)生消息轉(zhuǎn)發(fā)以及消息驗證所需的公鑰和消息簽名生成所需的私鑰,將消息以向量的形式分成許多份并擴展;消息簽名單元負(fù)責(zé)使用消息處理單元產(chǎn)生的公共參數(shù)和私鑰來對擴展向量進(jìn)行簽名;消息發(fā)送單元負(fù)責(zé)將向量和相對應(yīng)的簽名合成數(shù)據(jù)包發(fā)送給車聯(lián)網(wǎng)中的車輛;第一消息接收單元負(fù)責(zé)接收傳輸過程中的數(shù)據(jù)包;第一消息驗證單元負(fù)責(zé)使用消息處理單元產(chǎn)生的公鑰判斷數(shù)據(jù)包是否正確;消息轉(zhuǎn)發(fā)單元負(fù)責(zé)對正確的數(shù)據(jù)包進(jìn)行線性組合產(chǎn)生新的數(shù)據(jù)包并轉(zhuǎn)發(fā);第二消息接收單元負(fù)責(zé)接收移動中車輛發(fā)送的數(shù)據(jù)包;第二消息驗證單元負(fù)責(zé)判斷接收到的數(shù)據(jù)包是否正確;消息恢復(fù)單元負(fù)責(zé)對接收到的最小恢復(fù)的數(shù)據(jù)包進(jìn)行解碼恢復(fù)。
本發(fā)明具有實現(xiàn)安全性高、易恢復(fù)、復(fù)雜度低等特點,適用于網(wǎng)絡(luò)傳輸過程中的消息分發(fā)。它解決了現(xiàn)有網(wǎng)絡(luò)簽名方案的局限性,而且公鑰和每個分組的開銷是常量級的。
本發(fā)明的主要特點有:
(1)減少網(wǎng)絡(luò)開銷,具有極高的傳輸效率;
(2)精確地過濾掉被污染的數(shù)據(jù)包;
(3)高效的恢復(fù)策略。
應(yīng)當(dāng)理解的是,本說明書未詳細(xì)闡述的部分均屬于現(xiàn)有技術(shù)。
應(yīng)當(dāng)理解的是,上述針對較佳實施例的描述較為詳細(xì),并不能因此而認(rèn)為是對本發(fā)明專利保護(hù)范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán)利要求所保護(hù)的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護(hù)范圍之內(nèi),本發(fā)明的請求保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。