本發(fā)明涉及通信安全,具體涉及一種多鏈路移動互聯(lián)通信中的隱私保護方法。
背景技術(shù):
1、隨著無人機、高鐵、公路等移動場景的迅猛發(fā)展,單一的網(wǎng)絡(luò)接入方式已難以滿足在復(fù)雜場景下用戶及時可靠的獲取算力等資源的新需求。為提升用戶獲取算力資源的能力,人們嘗試利用多種無線或有線網(wǎng)絡(luò)實現(xiàn)并行通信。與所有通信和計算網(wǎng)絡(luò)一樣,多鏈路傳輸過程中的信息安全問題成為不可忽視的重要環(huán)節(jié)。
2、在多鏈路移動互聯(lián)通信網(wǎng)絡(luò)中,往往會采用網(wǎng)絡(luò)編碼技術(shù)來提高傳輸?shù)目煽啃?,并進一步增強了安全性。盡管我們可以采用數(shù)據(jù)加密和網(wǎng)絡(luò)編碼等方法來增強數(shù)據(jù)的保密性,但仍然存在敏感數(shù)據(jù)流的流量特征被統(tǒng)計分析的風險。這些流量特征包括數(shù)據(jù)包的大小、數(shù)據(jù)包之間的到達時間間隔以及數(shù)據(jù)包的數(shù)量和交互方式等。此外,車載設(shè)備和地面設(shè)備缺乏身份認證,容易受到身份偽裝攻擊的威脅。同時,由于車載設(shè)備在移動過程中,因此隱私保護的同時還需要支持設(shè)備的移動性。
3、為了解決復(fù)雜移動環(huán)境下的穩(wěn)定通信問題,《a?bignum?network?coding?schemeformultipath?transmission?invehicularnetworks》提出了一種在多鏈路傳輸中進行大整數(shù)網(wǎng)絡(luò)編碼的方法。該方法的原理是通過大整數(shù)編碼方式,將構(gòu)成數(shù)據(jù)包的01序列轉(zhuǎn)化成一個非常大的整數(shù),通常超過了計算機硬件所支持的標準整數(shù)范圍。多個(假設(shè)為k個)數(shù)據(jù)包在大整數(shù)空間進行矩陣運算,輸出n(不小于k)個大整數(shù)值,隨后將數(shù)據(jù)包從大整數(shù)重新映射回數(shù)據(jù)包格式。這個過程中k個數(shù)據(jù)包的內(nèi)容和數(shù)量都發(fā)生了變化,從而實現(xiàn)對數(shù)據(jù)包內(nèi)容的加密和冗余,最后發(fā)送端對加密后的數(shù)據(jù)包進行轉(zhuǎn)發(fā)。在接收端根據(jù)矩陣運算的性質(zhì),同樣使用大數(shù)編碼的方式進行矩陣求解,只要收到n個中的任意k個就可復(fù)原原始數(shù)據(jù)包,從而提升了系統(tǒng)的抗丟包能力。在對數(shù)據(jù)包進行加密的同時,利用生成的冗余數(shù)據(jù)包提高了移動傳輸過程的可靠性。
4、針對設(shè)備的接入認證問題,ikev2常用于協(xié)商和建立安全的通信通道,包括對通信雙方的身份驗證和安全通信所需密鑰的協(xié)商。ikev2要求交換四條消息以完成認證,并且通常需要使用證書。ikev2的mobike機制支持設(shè)備移動性和多宿性。
5、ikev2通信始于由發(fā)起方(通常是客戶端)發(fā)送的初始連接請求。該請求包括選擇的加密和認證算法、協(xié)商密鑰材料的方式等信息。接收方(通常是服務(wù)器或網(wǎng)關(guān))會對初始請求進行響應(yīng)。響應(yīng)中包含服務(wù)器選擇的加密和認證算法、隨機數(shù)(nonce)以及證書等。隨后,通信雙方使用自己的身份認證方法進行身份驗證,并協(xié)商出一個"共享密鑰"(sharedsecret)??梢赃x擇不同的認證方法,包括預(yù)共享密鑰、數(shù)字證書和擴展認證協(xié)議等。成功完成后,通信雙方都共享了一個對稱密鑰,用于后續(xù)的通信。這個密鑰通常稱為ike?sa(ikesecurity?association)。雙方再次交換消息,協(xié)商出用于數(shù)據(jù)傳輸?shù)募用芎凸K惴ê?,通信雙方就準備好開始安全通信。它們使用已協(xié)商的加密和哈希算法來保護數(shù)據(jù)。
6、多鏈路傳輸中進行大整數(shù)網(wǎng)絡(luò)編碼的方法中,車載端和地面端多路傳輸?shù)臄?shù)據(jù)包缺乏源身份認證,容易遭受偽裝身份攻擊,車載設(shè)備的移動性需要頻繁更換ip地址接入網(wǎng)絡(luò),很容易被ip欺騙,同時缺乏數(shù)據(jù)包的完整性認證,數(shù)據(jù)包的長度分布容易被統(tǒng)計分析,這可能暴露通信的敏感信息,單條鏈路傳輸?shù)臄?shù)據(jù)包是完整的數(shù)據(jù)包,攻擊者竊聽單條鏈路,就能截獲完整的數(shù)據(jù)包,導(dǎo)致安全性不足問題。ikev2的認證機制通常情況下第一階段需要六條消息的交換,而第二階段需要四條消息的交換,以完成身份驗證和協(xié)商,有更多的認證延遲和切換延遲。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種多鏈路移動互聯(lián)通信中的隱私保護方法,以解決上述背景技術(shù)中存在的至少一項技術(shù)問題。
2、為了實現(xiàn)上述目的,本發(fā)明采取了如下技術(shù)方案:
3、本發(fā)明提供一種多鏈路移動互聯(lián)通信中的隱私保護方法,包括:
4、移動路由器端和匯聚路由器端計算自己的私鑰;移動路由器端和匯聚路由器端分別獲取對端的身份信息;移動路由器端的鏈路檢測線程檢測是否有網(wǎng)卡ip地址改變,若有,則移動路由器端重新獲取私鑰,匯聚路由器端重新讀取移動路由器端身份信息,否則,移動路由器端和匯聚路由器端利用對端的身份信息和自己各個網(wǎng)卡的私鑰計算共享密鑰;移動路由器端或匯聚路由器端利用共享密鑰計算數(shù)據(jù)包的哈希值,添加到數(shù)據(jù)包的報頭上進行數(shù)據(jù)包源認證和完整性檢測;
5、來自客戶端網(wǎng)段的上行數(shù)據(jù)包會被送至虛擬網(wǎng)卡tun口,若監(jiān)聽到tun網(wǎng)卡若有數(shù)據(jù)包則將數(shù)據(jù)包分片;將分片后的數(shù)據(jù)包采用sm4算法加密;將分片加密后的數(shù)據(jù)包添加上分片報頭后采用調(diào)度方式發(fā)送;接收端普通網(wǎng)卡檢測到數(shù)據(jù)到來,采用sm4算法解密;讀取分片報頭信息,去掉分片報頭將數(shù)據(jù)包重組。
6、進一步的,移動路由器端和匯聚路由器端計算自己的私鑰,包括:
7、采用共享主私鑰方式計算私鑰;
8、
9、ssar=sh(ipsar||idsar)
10、移動路由器端和匯聚路由器端初始化主私鑰s;包括:讀取存儲在系統(tǒng)文件中的密鑰;初始化該密鑰為類型a配對;
11、移動路由器端計算各個網(wǎng)卡的私鑰,各個網(wǎng)卡的私鑰等于主私鑰與網(wǎng)卡的身份信息的點乘,h表示將任意長度的比特串映射到群g上;idsmr表示移動路由器端的設(shè)備標識,nicnum表示可用網(wǎng)卡的序號,表示該網(wǎng)卡的ip地址;||表示串接;其中,smr開啟網(wǎng)卡監(jiān)聽線程,每檢測到一個新的網(wǎng)卡上線,則計算該網(wǎng)卡的私鑰;
12、將網(wǎng)卡信息填入數(shù)據(jù)庫中,包含smr的標號、網(wǎng)卡的ip、網(wǎng)卡名稱、時間戳,網(wǎng)卡改變值設(shè)置為1;
13、匯聚路由器端同樣計算自己的私鑰ssar,idsar表示匯聚路由器端設(shè)備標識,ipsar表示匯聚路由器端網(wǎng)卡ip地址;
14、或者,利用移動路由器端自己產(chǎn)生的主私鑰計算私鑰;
15、
16、移動路由器端和匯聚路由器端初始化一對共享密鑰k,移動路由器端擁有自己的私鑰smrsk,匯聚路由器端擁有移動路由器端的公鑰smrpk,移動路由器端隨機生成一個主私鑰ssmr;
17、移動路由器端讀取配置文件,計算匯聚路由器端的私鑰將其進行哈希運算,得到摘要1,并用smrsk加密;將摘要1和原文信息用共享密鑰k加密后發(fā)送給匯聚路由器端;
18、匯聚路由器端接收后,用共享密鑰k進行解密,得到的對其進行哈希運算得到摘要2,并和用sarpk解密后的摘要1對比;若相等則存儲
19、移動路由器端計算每個網(wǎng)卡的私鑰包括:移動路由器端開啟網(wǎng)卡監(jiān)聽線程,每檢測到一個新的網(wǎng)卡上線,則計算該網(wǎng)卡的私鑰;將網(wǎng)卡信息填入數(shù)據(jù)庫中,包含移動路由器端的標號、網(wǎng)卡的ip、網(wǎng)卡名稱、時間戳,網(wǎng)卡改變值設(shè)置為1。
20、進一步的,移動路由器端的鏈路檢測線程檢測是否有網(wǎng)卡ip地址改變,包括:移動路由器端的網(wǎng)卡監(jiān)聽線程先檢測到有網(wǎng)卡下線,后又重新獲取到ip地址,則判定其網(wǎng)卡ip地址改變;將該網(wǎng)卡信息填入數(shù)據(jù)庫中,包含移動路由器端的標號、網(wǎng)卡的ip、網(wǎng)卡名稱、時間戳,網(wǎng)卡改變值自增1。
21、進一步的,所述移動路由器端和匯聚路由器端利用共享密鑰計算數(shù)據(jù)包的哈希值,添加到數(shù)據(jù)包的報頭上進行數(shù)據(jù)包源認證和完整性檢測,包括:移動路由器端利用共享密鑰計算數(shù)據(jù)包的hmac,添加到原始數(shù)據(jù)包的報頭發(fā)送出去;匯聚路由器端接收到數(shù)據(jù)包后,截取原始數(shù)據(jù)包并用共享密鑰計算其哈希值,與數(shù)據(jù)包報頭的哈希值對比,若相等,則數(shù)據(jù)包源認證成功且保證了數(shù)據(jù)的完整性。
22、進一步的,來自客戶端網(wǎng)段的上行數(shù)據(jù)包會被送至虛擬網(wǎng)卡tun口,若監(jiān)聽到tun網(wǎng)卡若有數(shù)據(jù)包則將數(shù)據(jù)包分片,包括:
23、分片報頭設(shè)計為:16位的同步字afae,為了在緩存中將數(shù)據(jù)包分開;16位的原始數(shù)據(jù)包的總長度;16位的分片總數(shù)量;16位的分片編號,從0開始算起;16位的當前數(shù)據(jù)包的大小;8字節(jié)的數(shù)據(jù)包序號;
24、監(jiān)聽tun口是否有數(shù)據(jù)包到來;當有數(shù)據(jù)包到來時,讀取數(shù)據(jù)包總長,計算各分片的長度;如果不是最后一片,則為固定分片長度;如果是最后一片,則該分片的長度為數(shù)據(jù)包總長和固定分片長度取余;
25、判斷數(shù)據(jù)包長度/分片固定大小是否為0,如果是則返回的總分片數(shù)等于數(shù)據(jù)包長度/分片固定大??;如果不是,則返回的總分片數(shù)等于數(shù)據(jù)包長度/分片固定大小加上1;
26、利用總分片數(shù)給數(shù)據(jù)包編分片序號,判斷是否是最后一片;如果是最后一片,循環(huán)拷貝偏移數(shù)據(jù),直到長度達到分片固定大小,轉(zhuǎn)到步驟b1-2;如果不是最后一片,定長拷貝偏移數(shù)據(jù)。
27、進一步的,將分片后的數(shù)據(jù)包采用sm4算法加密,包括:將共享密鑰初始化為16字節(jié)的字符串;密鑰擴展算法計算加密輪密鑰;定義16字節(jié)的out變量,作為每次加密的輸出;分段加密,16字節(jié)為一段;移動路由器端或匯聚路由器端再將加密段依次拷貝入發(fā)送緩存中。
28、進一步的,將分片加密后的數(shù)據(jù)包添加上分片報頭后采用調(diào)度方式發(fā)送,包括:檢測系統(tǒng)中所有可用的連接數(shù)l;計算該數(shù)據(jù)包被分為固定大小的分片數(shù)量p;用i遍歷0到p-1,發(fā)送的連接號則為i%l;數(shù)據(jù)包從對應(yīng)的網(wǎng)卡發(fā)送。
29、進一步的,接收端普通網(wǎng)卡檢測到數(shù)據(jù)到來,采用sm4算法解密,包括:將共享密鑰初始化為16字節(jié)的字符串;密鑰擴展算法計算解密輪密鑰;定義16字節(jié)的out變量,作為每次解密的輸出;分段加密,16字節(jié)為一段;移動路由器端或匯聚路由器端再將解密段依次拷貝入接收緩存中。
30、進一步的,讀取分片報頭信息,去掉分片報頭將數(shù)據(jù)包重組,包括:
31、監(jiān)聽網(wǎng)卡是否有數(shù)據(jù);當有數(shù)據(jù)時,將數(shù)據(jù)拷貝到環(huán)形緩存;讀取環(huán)形緩存,若讀取到同步字afae;
32、如果當前總的接收到的數(shù)據(jù)總長度為0,則是第一次接收到分片,存儲當前數(shù)據(jù)包的序號、總分片數(shù)、數(shù)據(jù)總長度,重置接收數(shù)據(jù)總長為0,接收分片數(shù)為0;如果當前總的接收到的數(shù)據(jù)總長度不為0,則讀取當前的序號,總分片數(shù),數(shù)據(jù)總長度;
33、若當前序號不等于存儲的序號,或者當前總分片數(shù)不等于存儲總分片總數(shù),或者當前數(shù)據(jù)總長度不等于存儲數(shù)據(jù)總長度,則存在分片丟失重新存儲總分片數(shù)、總數(shù)據(jù)長度、序號,重置接收數(shù)據(jù)總長等于0,接收分片數(shù)等于0,并重新監(jiān)聽網(wǎng)卡是否有數(shù)據(jù);否則根據(jù)分片編號和當前分片大小拷貝到接收區(qū)。
34、進一步的,若當前序號不等于存儲的序號,或者當前總分片數(shù)不等于存儲總分片總數(shù),或者當前數(shù)據(jù)總長度不等于存儲數(shù)據(jù)總長度,則根據(jù)分片編號和當前分片大小拷貝到接收區(qū);接收數(shù)據(jù)總長加上收到的數(shù)據(jù)長度,接收分片數(shù)自增一;如果是最后一片,則丟棄接收緩存中多余的數(shù)據(jù);如果接收分片總數(shù)等于存儲的分片總數(shù),以及接收分片的總長度等于存儲的分片總長度,則重組成功一幀數(shù)據(jù)。
35、第三方面,本發(fā)明提供一種非暫態(tài)計算機可讀存儲介質(zhì),所述非暫態(tài)計算機可讀存儲介質(zhì)用于存儲計算機指令,所述計算機指令被處理器執(zhí)行時,實現(xiàn)如上所述的多鏈路移動互聯(lián)通信中的隱私保護方法。
36、第四方面,本發(fā)明提供一種計算機設(shè)備,包括存儲器和處理器,所述處理器和所述存儲器相互通信,所述存儲器存儲有可被所述處理器執(zhí)行的程序指令,所述處理器調(diào)用所述程序指令執(zhí)行如上所述的多鏈路移動互聯(lián)通信中的隱私保護方法。
37、第五方面,本發(fā)明提供一種電子設(shè)備,包括:處理器、存儲器以及計算機程序;其中,處理器與存儲器連接,計算機程序被存儲在存儲器中,當電子設(shè)備運行時,所述處理器執(zhí)行所述存儲器存儲的計算機程序,以使電子設(shè)備執(zhí)行實現(xiàn)如上所述的多鏈路移動互聯(lián)通信中的隱私保護方法的指令。
38、本發(fā)明有益效果:能夠在多鏈路移動互聯(lián)環(huán)境下實現(xiàn)數(shù)據(jù)包的源認證和完整性檢測;僅進行一次數(shù)據(jù)包的交互,減少了認證時延;分片調(diào)度重組能夠在一定程度上抵抗竊聽攻擊;利用的數(shù)據(jù)包定長特性給數(shù)據(jù)包進行加密,增強了保密性。
39、本發(fā)明附加方面的優(yōu)點,將在下述的描述部分中更加明顯的給出,或通過本發(fā)明的實踐了解到。