?

支持隱私保護的物聯網數據篩選方案

2023-09-07 08:47張小松汪小芬李冬芬張曉均
西安電子科技大學學報 2023年4期
關鍵詞:私鑰密鑰加密

周 讓,張小松,汪小芬,李冬芬,陳 濤,張曉均

(1.成都理工大學 計算機與網絡安全學院,四川 成都 610059;2.電子科技大學 計算機科學與工程學院,四川 成都 611731;3.鵬城實驗室 網絡空間安全研究中心,廣東 深圳 518055;4.西南石油大學 計算機科學學院,四川 成都 610500)

1 引 言

隨著工業5.0的推廣應用,海量的物聯網數據被采集以完成物聯網的應用需求。為了對這些數據進行規范化管理,研究者引入了針對物聯網數據的安全管理[1]。而在實際的物聯網系統中,大量的物聯網設備被布置到系統的各類實際應用中。這些物聯網設備主要完成數據的采集和上傳[2]。由于物聯網設備來自于不同廠商,因此這些物聯網設備會采用不同的數據格式進行采集和上傳,這就使得物聯網數據因數據來源不同而呈現出了數據異源性[3]。

這些異源數據的混合存儲不僅會降低后期數據分析的效率,還會使后期的數據訪問控制變得更加困難[4-5]。為更加高效地對這些數據進行安全管理,就需要引入物聯網數據篩選[6]。但是,現有的數據篩選方法主要是基于數據內容來完成的,這種方法僅關注采用同種數據表達格式的同源物聯網數據篩選[7-9]。這些數據篩選方法都不能直接解決異源數據混合存儲所導致的問題。為了解決這些問題,就需要對來自不同物聯網設備的數據按照來源進行篩選,實現按設備身份的數據歸類,并將這些異源數據進行篩選,分類為同源數據進行分別存儲,為后一步的數據訪問控制及數據分析提供更好的服務。

為實現數據篩選的目標,研究者在首次提出了基于BSD開源協議的包篩選方法[10]之后,又提出了基于交叉篩選的方法[11]和基于相似性檢測的聯合篩選方法[12],但是這些方法均只對明文數據進行篩選,應用場景受限且容易泄露數據內容隱私。為了增強數據安全性,防止數據內容隱私泄露,就需要對傳輸的數據進行加密[13],加密數據篩選因此成為研究者關注的重點[14]。

當前,加密數據篩選主要采用對數據包進行檢測的技術對通過網關的流量進行監控,進而實現數據的篩選[15]。研究者通過隱私信息檢索、群同態加密和加法同態算法構建了隱私數據篩選方法[16]。在此基礎上,研究者又通過在安全傳輸層協議中引入中間件的方法設計了一個對數據的盲盒方法檢測,實現了加密數據的篩選[7]。在此之后,文獻[17]改進了盲盒方法測試,使得加密數據篩選能支持多條件規則集下的令牌匹配,有效提升了盲盒方法的檢測效率。接著,研究者提出了深度數據包檢測的方法來優化握手過程以提升盲盒檢測的整體效率[8]。而文獻[9]加入了一個密文完整性檢測來阻斷不規范數據的轉發,在防止數據污染的同時,進一步提高了數據篩選效率。同時,文獻[18]通過引入基于中間件的可搜索加密完成了對過濾規則的生成,實現了對用戶數據隱私的保護。接著,研究者又提出了兩個效率改進方案[19-20]以實現對中間件的匹配策略隱藏。在此基礎上,文獻[21-22]提出了雙層無共謀服務器架構,文獻[21]在功能上實現了合法數據包的快速過濾,而文獻[22]將關鍵字聯合搜索加入到了數據篩選中。

以上的加密數據篩選方案,主要依托于關鍵字可搜索加密技術[23-24],是對于數據包內容本身的篩選,采用的具體方法是在網關設定關鍵字陷門,而終端對數據內容提取關鍵字標簽,網關通過加密關鍵字的匹配來實現數據篩選。但是,這類方法并未對數據來源身份進行隱私保護。通常情況下,這些身份標識中都包含物聯網終端設備的關鍵標識信息,這些信息如果泄露,攻擊者就能推斷出數據設備的來源或是數據設備身份編碼規則,這就使得攻擊者有機會對特定的數據終端設備發起攻擊,造成設備節點失效,并造成物聯網網絡失陷點,進而影響物聯網安全。因此,需要在加密物聯網數據篩選過程中對數據來源設備的身份隱私進行保護,以增強整個物聯網的安全性。

為解決這個問題,文獻[25]提出了數據來源身份信息匹配的篩選方式,以取代關鍵字信息的篩選方式,并引入了中繼轉發篩選的方法對數據提供者的身份進行隱藏。但該方法僅僅是將前述方案中的關鍵字替換成了身份信息,其對于身份的隱私保護強度較低。為了實現更強的身份隱私保護,研究者提出了隱藏發送者身份的數據篩選方案[26-27]。文獻[26]將IP地址分成4塊來標記數據來源身份,進而實現數據篩選功能。文獻[27]則是將IP地址視為整體來標記數據來源身份,在一定程度上提高了方案的安全性。但是,這兩個方案使用了多個不同的雙線性對匹配計算來實現搜索匹配,存在效率不足的問題,同時也使得這兩個方案的數據篩選匹配操作僅能應用于計算和轉發能力較強的網關,而不能應用到計算和轉發能力受限的物聯網中繼節點設備,極大地限制了方案在物聯網環境的應用。

筆者立足于物聯網數據安全管理,提出了一個支持隱私保護的加密物聯網數據篩選方案,實現了物聯網采集數據的篩選和分流。

(1) 不僅對傳輸數據進行了加密,還在數據篩選時對設備身份隱私進行了保護,使得所傳輸數據和其對應的數據發送設備身份信息都不會泄露,從而支持數據內容隱私保護和數據發送設備身份隱私保護。此外,還通過對加密后的數據密文進行簽名來確保采集數據的完整有效。

(2) 在數據上傳階段,利用中繼網絡中的中繼節點設備組實現數據篩選,使得數據能被分類且按其類型存儲到預定位置,更加有效地支持后期的數據提取與分析。

(3) 在規則設定上,通過引入時戳機制的篩選規則陷門設置,用于增強數據篩選的實時性,以靈活應對不斷變化的物聯網實際應用需求。

(4) 仿真實驗結果評估表明,所提方案比同類型方案的執行效率更高,更加適用于實際的物聯網數據采集應用。

2 系統架構設計

2.1 相關預備知識

離散對數求解困難問題:已知(G,p,g,gx),其中p為質數,g是循環群G的一個生成元,gx是G上的一個元素,求解x是困難的。

判定性Diffie-Hellman困難問題:已知(G,p,g,gx,gy),其中p為質數,g是循環群G的一個生成元,gx、gy是G上兩個不同的元素,判斷Z是G上的一個隨機元素還是Z=gxy是困難的。

安全的對稱加密算法:能通過抵抗常規分析和攻擊來保證數據機密性的對稱加密算法。

2.2 系統架構

該系統的架構如圖1所示,存在6個參與方,分別為生成系統參數和密鑰的可信第三方T、設定數據篩選規則的用戶A、數據發送端B、利用數據篩選規則進行數據篩選的物聯網中繼節點設備組、物聯網終端設備和物聯網數據存儲服務器。其中,物聯網中繼節點設備組中的節點為半可信節點,即只會進行被動攻擊,而不會主動干擾數據篩選的相關操作。

圖1 系統架構圖

在該系統的架構中,物聯網終端設備節點與數據發送端事先溝通好數據采集的對稱加密密鑰,再用該密鑰和安全的對稱加密算法將采集到的數據加密并發送給數據發送端;數據發送端得到數據之后先對數據解密,然后計算出傳輸用的數據加密密鑰,并使用安全的對稱加密算法生成可以被目標用戶解讀的數據密文,再用數據篩選密鑰生成可以被中繼節點設備組匹配分流的篩選標簽,接著生成用于驗證數據完整性的簽名,通過無線或有線網絡將生成的數據密文、篩選標簽和完整性簽名發送到中繼節點設備,在中繼節點設備進行數據完整性驗證之后,最后進行篩選標簽和篩選陷門的匹配,匹配成功的加密物聯網數據及其對應的篩選標簽和完整性簽名被分流存儲到對應的存儲服務器。篩選標簽和完整性簽名可以用于用戶從服務器取回數據時驗證所取回加密數據的完整性。

2.3 系統方案設計

文中所提的系統方案包含以下8個部分:

(1) 系統設置(Setup):算法輸入安全參數μ,生成系統參數P。

(2) 密鑰生成:

① KeygenT:算法輸入系統參數P,生成系統主密鑰(msk,mpk);

② KeygenA:算法輸入系統參數P,用戶A的身份IDA,生成用戶A密鑰(skA,pkA);

③ KeygenB:算法輸入系統參數P,設備B的身份IDB,生成設備B密鑰(skB,pkB)。

(3) 密鑰驗證(Check):算法輸入系統參數P,系統主公鑰mpk、驗證者自己的密鑰(sk,pk),進行密鑰驗證。若sk是有效密鑰,則算法輸出“1”;否則,sk不是有效密鑰,輸出“0”。

(4) 篩選陷門生成(Trapdoor):算法輸入系統參數P,用戶A的私鑰skA設備B的公鑰pkB和時戳t,生成t時刻的篩選規則陷門Tr。

(5) 數據密文和篩選標簽生成(Index):算法輸入系統參數P,設備B的私鑰skB和用戶A的公鑰pkA,時戳t和物聯網數據data,生成加密物聯網數據m和用于匹配篩選的標簽I。

(6) 完整性簽名生成(Sign):算法輸入系統參數P,設備B的私鑰skB與加密物聯網數據m和篩選標簽I,生成用于保證數據完整性的簽名σ。

(7) 完整性簽名驗證(Verify):算法輸入系統參數P,設備B的公鑰pkB與加密物聯網數據m和保證數據完整性的簽名σ。若σ是有效簽名,則算法輸出“1”;否則,σ不是有效簽名,輸出“0”。

(8) 數據篩選匹配(Match):算法輸入篩選規則陷門Tr和用于篩選的標簽I。若匹配成功,算法輸出“1”;否則,輸出“0”。

2.4 安全需求

針對支持隱私保護的物聯網數據篩選方案,其安全需求主要包括支持物聯網數據發送設備身份隱私保護、保證密文完整有效和支持數據內容隱私保護。

支持物聯網數據發送設備身份隱私保護就需要抵御針對設備身份的攻擊,而這種攻擊可以分為選擇身份攻擊和身份猜測攻擊。選擇身份攻擊是針對篩選陷門中的身份信息進行攻擊,攻擊者挑戰兩個不同身份的數據發送端,在不能獲得對應密鑰和陷門的情況下判斷篩選標簽具體是這兩個數據發送設備中的哪一個生成的;身份猜測攻擊是針對篩選標簽中的身份信息進行攻擊,攻擊者挑戰兩個不同身份的數據發送端,在不能獲得對應密鑰和標簽的情況下判斷篩選陷門具體是匹配這兩個數據發送設備中的哪一個。

保證密文完整有效就需要保證密文簽名的不可偽造,必須將篩選標簽和加密物聯網數據進行綁定來生成簽名,通過簽名驗證來確認加密物聯網數據的真實有效,其安全模型類似于抵抗一次性簽名偽造攻擊。

支持數據內容隱私保護就需要保證數據的機密性,必須對數據進行加密,以防止數據內容明文發送而導致數據內容泄露。

3 系統方案

3.1 方案構建

文中提出的方案包含以下8個部分:

(2) 密鑰生成:

(3) 密鑰驗證(Check):用戶A和設備B在收到自己的私鑰后,均可完成私鑰認證,方法相同。以設備B為例,判斷gpkB2=pkB0pkB1mpkH0(IDB‖skB‖pkB1)是否成立。若成立,skB是有效密鑰,算法輸出“1”;否則skB不是有效密鑰,輸出“0”。

3.2 正確性推導

密鑰驗證正確性推導過程如下所示:

pkB0pkB1mpkH0(IDB‖skB‖pkB1)=grBgtBgαH0(IDB‖skB‖pkB1)=grB+tB+αH0(IDB‖skB‖pkB1)=gpkB2。

(1)

完整性簽名驗證正確性推導過程如下所示:

(2)

數據篩選匹配正確性推導過程如下所示:

(3)

4 方案評估分析

4.1 執行效率評估分析

為了更接近真實的物聯網,實驗環境使用了PC端和可用于模擬工控終端的Raspberry Pi。具體實驗環境如下:PC端使用了Intel Core i7-7700處理器,其CPU為4核3.60 GHz主頻,內存為4 GB,操作系統為Ubuntu 14.04.3;Raspberry Pi使用ARMv7處理器,同時CPU的主頻和內存分別被限制為600 MHz和128 MB,操作系統為Ubuntu MATE 16.04。為了更接近物聯網應用實際情況,其中PC端用于模擬系統可信第三方和用戶,而Raspberry Pi用于模擬物聯網中繼節點設備和數據發送設備。實驗使用了PBC庫來實現相關橢圓曲線計算,并且選用了A型橢圓曲線:y2=x3+x,其中有|Zp|=160比特,|G1|=512比特,|G2|=1 024比特。效率執行分析主要分為計算開銷和通信開銷。

4.1.1 計算開銷

為更實際的評估開銷,將以系統架構中的參與者為主體進行計算開銷分析。所計算開銷主要從私鑰生成、密鑰驗證、篩選陷門生成、篩選標簽和完整性簽名生成、完整性簽名驗證和數據篩選匹配5個方面進行分析。其中,密鑰會分別分配給用戶和數據發送端,從用戶主體(PC模擬)和數據發送端主體(Raspberry Pi模擬)兩個方面來分別進行密鑰驗證的計算開銷分析。此外,篩選標簽生成中的物聯網數據加密可以與文獻[27]中的物聯網數據加密選取相同的安全加密算法,使得其計算效率相同,因此這里忽略這一部分的效率對比。同理,這里也忽略數據解密的計算效率對比。

圖2為計算開銷分析的實驗效率圖。從圖2可以得知,文中所提的方案在私鑰生成、密鑰驗證、陷門生成、數據密文與篩選標簽生成和簽名生成、簽名驗證和數據篩選匹配5個方面所需的計算開銷都要更低,因此,所提出的方案更適用于物聯網應用。此外,由于用戶主體的密鑰驗證使用PC模擬執行,而數據發送端的密鑰驗證使用Raspberry Pi來模擬實現,這兩種設備在計算資源上存在差異,PC端的計算資源強于Raspberry Pi,因此驗證實驗數據也反映了相同的密鑰驗證,在PC的運行速度快于Raspberry Pi,即用戶的密鑰驗證速度快于數據發送端。對私鑰生成及密鑰的理論預估和實際實驗驗證開銷結果進行進一步分析,造成對比方案[27]私鑰生成和密鑰驗證計算開銷更大的原因是將哈希函數計算結果映射到G1所需的計算量比在G1上進行指數計算的開銷更大。

表1 同類型方案通信和存儲開銷對比

(a) 私鑰生成計算開銷

4.1.2 通信開銷

通信和存儲開銷分析如表1所示。從表中可以看到,文中所采用的方案在終端私鑰長度上具有優勢,而在陷門與標簽長度上則略顯不足。下面將結合實際物聯網情況來對方案的通信和存儲開銷進行分析。

在私鑰方面,考慮到在實際物聯網數據發送設備中需要可信存儲空間來存儲設備私鑰,所提方案所布置的物聯網數據發送設備對可信存儲空間的需求較小,其設備制造成本更低,更具有存儲優勢,同時也更符合物聯網應用。

在標簽方面,盡管所提方案的通信開銷有所增加,|Zp|=160比特,但在實際的物聯網布置中,通常以每個中繼節點設備只管理一個小范圍區域的數據發送設備的方式進行設備管理,而每個數據發送設備和中繼節點設備之間的數據傳輸多采用無線或有線網絡連接,由于這種傳輸方式速度較快,故其增加的數據傳輸消耗很低,可以忽略,并不影響物聯網的實際運行。因此,這些增加的通信開銷是可以容忍的。

在陷門方面,盡管所提方案的存儲開銷會增加|Zp|=160比特,但在實際的物聯網布置中,通常以每個中繼節點設備只管理一個小范圍區域的數據發送設備的方式進行設備管理,每個中繼節點設備所存的篩選陷門數量較少,且這些陷門不需要秘密存儲,故其增加的存儲消耗也較少,可以忽略。因此,這些存儲開銷是可以容忍的。

此外,對比文獻[27]和文中所提方案,可以發現文中方案不涉及任何雙線性對運算,而文獻[27]在計算數據對稱加解密密鑰和進行篩選匹配時均使用了雙線性對運算。因此所提方案計算過程中所需的內存基本長度為|G1|=512比特,而文獻[27]中參與對稱加解密密鑰計算和篩選匹配所需的內存基本長度為|G2|=1 024比特。對于數據發送設備,對稱密鑰長度變短會使其內存需求降低,從而降低其設備制造成本;對于中繼節點設備,進行每一次篩選匹配所需的內存需求會降低,這使得中繼節點設備能夠高效地并行處理數據篩選分流。因此,所提方案更符合物聯網實際應用。

綜上所述,所提方案相比于已有的方案[27],在計算開銷上有明顯優勢,而在通信和存儲開銷上是可以容忍的;并且所提方案因不涉及任何的雙線性對運算,更適合計算能力和內存受限的設備。所以,可以得知所提方案的執行效率更高,也更適用于物聯網環境。

4.2 安全性分析

根據安全需求可以發現,所提方案需對物聯網設備的身份信息實現隱私保護,即需能抵抗選擇身份攻擊和身份猜測攻擊;本方案需保證密文完整有效,即需能抵抗密文簽名偽造攻擊;本方案還需提供對數據內容隱私保護,即需要通過數據的加密來保證數據內容的機密性。

在抵抗身份猜測攻擊方面,攻擊者選定用戶的身份為A,兩個數據發送設備的身份B1、B2。構建安全游戲如下:限定敵手不能詢問A、B1、B2的私鑰,同時可以發起除了從B1到A和B2到A的任何篩選陷門生成及篩選標簽生成詢問,最后挑戰者從身份B1和B2中選擇一個Bw,并計算相應的陷門。敵手需要根據所收到的陷門Tr1=xH1(KBωA‖t)+rA,Tr2=pkxBω0,Tr3=gx,判斷出ω∈{0,1} 的值。首先,由于敵手不能詢問A、B1、B2的私鑰和從B1到A與B2到A的任何篩選陷門生成及篩選標簽,敵手不能從前置的詢問中獲得更多的有效信息。然后可以分兩種情況討論:① 由求解目標中KBωA=grBωrA與A、B1、B2的公鑰grA、grB1、grB2可以得知,敵手需要解決判定性Diffie-Hellman困難問題才能猜測成功;② 由求解目標中pkxBω0與B1、B2的公鑰grB1、grB2和gx可以得知,敵手需要解決判定性Diffie-Hellman困難問題才能猜測成功。

保證數據的機密性方面,采用了對稱加密的方法,若敵手能攻破所提方案等同于敵手具備攻破所選安全對稱加密算法的能力。

綜上所述,由于攻擊者需具備解決離散對數困難問題、判定性Diffie-Hellman問題、選定安全對稱加密算法中至少一項的能力,才能攻破所提出的方案,因此文中所提方案能夠滿足設備身份隱私保護、密文完整有效和數據內容隱私保護等性質。

5 結束語

筆者提出了一個保護設備身份隱私的物聯網數據篩選方案。該方案通過在物聯網中繼設備節點放置篩選陷門來設定數據篩選規則,在支持設備身份隱私保護、密文完整有效和數據內容隱私保護的基礎上,實現了對物聯網數據按設備身份進行數據篩選和分流的功能。實驗結果顯示,該方案的執行效率更高,適合于物聯網數據安全管理的應用。

猜你喜歡
私鑰密鑰加密
探索企業創新密鑰
清掃機器人避障系統區塊鏈私鑰分片存儲方法
比特幣的安全性到底有多高
基于改進ECC 算法的網絡信息私鑰變換優化方法
密碼系統中密鑰的狀態與保護*
一種基于熵的混沌加密小波變換水印算法
一種基于虛擬私鑰的OpenSSL與CSP交互方案
一種對稱密鑰的密鑰管理方法及系統
基于ECC的智能家居密鑰管理機制的實現
認證加密的研究進展
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合