李瀅,劉昆,王建中,朱玉瑾,王文鳳
(安徽皖電招標有限公司,安徽合肥 230061)
在公開密鑰加密技術發(fā)展迅速的如今,模糊身份加密技術已經(jīng)成為研究熱點。若身份ID 與密文ID 接近,就會通過密文ID 的私有密鑰來解密。正是模糊身份加密這種容錯性質(zhì),使其能夠在多種網(wǎng)絡中得到大規(guī)模應用。但由于用戶登錄身份的模糊性,電力用戶在使用過程中會出現(xiàn)信息丟失、信息被篡改等問題,這給模糊身份應用與電網(wǎng)安全帶來了全新的挑戰(zhàn)。因此,相關研究者已經(jīng)提出了一系列的模糊身份加密方案。文獻[1]提出了基于橢圓曲線的加密算法,利用橢圓曲線加密技術對模糊身份進行真實性驗證,通過對偽造虛假身份的解析,保證不同用戶之間通信安全。文獻[2]提出了抗密鑰泄露的加密算法,通過使用隨機提取器來隱藏密鑰和密文之間的關系,結合在線加密算法對模糊身份進行加密處理。雖然這些方法可以有效地確保身份信息的完整性,但是均是在穩(wěn)定環(huán)境中進行身份驗證的,而無法保證數(shù)據(jù)動態(tài)變化下的身份安全,導致無法安全訪問全部字節(jié)。為此,提出基于同態(tài)哈希認證的模糊身份多方加密算法。
身份信息的獨特性使其具有較高的安全性。一旦用戶的身份信息被泄露,將會嚴重影響到用戶體驗[3-4]。結合同態(tài)哈希認證技術的模糊身份安全保護步驟如圖1 所示。
圖1 安全保護模糊身份步驟
在加密域中,將所檢測到的模糊特征模板與所保存的特征模板進行匹配,且不會泄露用戶的明文,能有效保證第三方機構所儲存的特征模板安全性,同時也解決了使用者在遠程保存身份資料時的隱私安全問題[5-7]。
用戶登錄電力計算平臺的注冊頁面,提交注冊賬號,然后在系統(tǒng)中輸入個人資料,使用私人密鑰進行簽名,之后將其傳送到服務器端。提供方服務器利用使用者的公共密鑰驗證所傳送的簽署[8]。在判定該用戶所發(fā)送的信息是否正確時,將該信息反饋給該用戶進行模糊身份認證[9]。提供方服務器對加密密鑰進行加密處理,將其與模糊身份特征的“同或/異或”進行加密,將所得結果作為一種密碼的模糊性身份標識模板,儲存于電力計算服務器中[10]。
用戶根據(jù)提供方服務器與自己時間戳差值,判定服務器身份真實性,而電力計算服務器根據(jù)用戶和提供方服務器之間、提供方服務器和電力計算服務器之間的多方認證[11]。在提供方服務器端計算時間戳差,公式為:
式中,ta表示電力計算服務器時間戳;tb表示服務器登錄時間戳。如果該計算結果小于設定的閾值,說明提供方服務器和電力計算服務器之間的認證成功,否則認證失敗[12]。
在用戶端計算時間戳差,公式為:
式中,tc表示提供方服務器接收到消息的時間戳;td表示用戶時間戳。如果該計算結果小于設定的閾值,說明用戶和提供方服務器之間認證成功,否則認證失敗[13]。
在確認了用戶、提供方服務器、電力計算服務器之間的多方認證關系后,用戶需要向服務器提供身份ID,并對其進行模糊身份認證。提供方服務器生成n個隨機數(shù),將這些隨機數(shù)構成一個集合,并對集合進行打包處理[14]。用公鑰進行加密處理后,將處理結果Enc(μ(f))發(fā)送給用戶端。用戶端現(xiàn)場采集用戶的認證模糊身份信息,提取打包處理結果,對其進行加密,將加密結果Enc(μ(g))反饋給電力計算服務器[15]。電力計算服務器去除接收到的用戶端發(fā)送的認證模糊身份隨機信息Enc(μ(e)),公式可表示為:
計算用戶端發(fā)送的待認證模糊身份信息與存儲模板之間距離,公式為:
式中,x[i]、y[i]均表示待認證模糊身份信息對應存儲模板上的碼元;i表示編碼;⊕表示異或運算。漢明距離越小,碼組抗干擾能力越強[16-18]。當電力計算服務器使用私鑰進行解密時,將漢明距離d(x,y)與預先設置的閾值τ進行對比,如果d>τ,說明模糊身份安全無法得到有效保護;如果d<τ,說明模糊身份安全得到了有效保護?;谕瑧B(tài)哈希認證技術的強安全性,保證了全部字節(jié)都能被安全訪問,避免了外界干擾,為模糊身份多方加密提供重要保障。
為了實現(xiàn)模糊身份多方加密,可以將所收到的數(shù)據(jù)塊散列值與原來散列值相比較,從而檢驗所收到數(shù)據(jù)塊的準確性。傳統(tǒng)加密算法無法處理源節(jié)點的隨機編碼數(shù)據(jù)包,而且也有產(chǎn)生錯誤數(shù)據(jù)包的概率。因此為了保證用戶身份的安全性,在進行模糊身份安全保護后,采用同態(tài)加密方案進行模糊身份多方加密。
假設同態(tài)哈希函數(shù)hi(·) 存在一組哈希參數(shù),rand(·) 是一個偽隨機函數(shù)。對于一個塊ci,哈希值計算公式為:
式中,ai表示哈希元素;modb表示求余函數(shù);i、j分別表示偽隨機數(shù)生成次數(shù)和數(shù)據(jù)塊選擇次數(shù),由此構建的同態(tài)哈希函數(shù)如下所示:
式中,gi表示編碼塊;kj,i表示哈希變量。依據(jù)式(6)能夠驗證編碼塊的完整性,并對偽隨機數(shù)使用同態(tài)加密算法進行加密,由此得到的加密密文可表示為:
式中,χi表示明文分組結果;δ1表示固定安全系數(shù);δ2表示隨機安全系數(shù)。由于使用同態(tài)加密算法使得加密密文具有同態(tài)性,所以對密文加密處理與對明文操作處理過程一致,具體加密過程如下所示:
首先通過分段Logistic 混沌系統(tǒng)生成長度為m×n的實數(shù)序列p1,然后將用戶原始身份特征模板數(shù)據(jù)整合到同一集合之中,并將其轉(zhuǎn)換為長度為m×n的向量。之后將轉(zhuǎn)換后的特征向量移動到密鑰序列所對應的數(shù)值大小位置上。如果多個數(shù)值重復映射到同一位置上,那么以第一次映射為基礎補空位,形成一個新的位置置亂模糊身份多方特征模板?(i)。模糊身份多方位置置亂過程如圖2 所示。
圖2 模糊身份多方位置置亂過程
當實數(shù)序列p1為偶數(shù)序列且p2為0 時,執(zhí)行如下變換操作:
式中,?表示同或運算符號;p3(i)表示整數(shù)序列。
當實數(shù)序列p1為奇數(shù)序列且p2為0 時,執(zhí)行如下變換操作:
經(jīng)過模糊身份多方位置置亂和變換操作,完成模糊身份多方加密處理,完成模糊身份多方加密算法設計。
使用的一個具有代表性的實驗模型由三個實體組成:用戶、電力服務器、第三方測評機構,如圖3所示。
圖3 實驗模型
用戶需要在電力服務器中存儲大量的數(shù)據(jù),供電部門對用戶數(shù)據(jù)的管理;電力服務器負責管理用戶的數(shù)據(jù)文件,并將儲存與運算資源分配給用戶;第三方測評機構通過向電力服務器發(fā)出挑戰(zhàn)要求,幫助用戶確認認證的安全性。
由于每一行的IP 地址和端口都是根據(jù)電力網(wǎng)絡隨機分配的,所以選取的模糊身份信息如下:
明文信息:我是**電力公司的一個**;
對于這個明文信息進行密鑰處理,得到的密 鑰:S0x01,S0x02,Q0x03,Q1x11,Q1x21,Q1x31,E2x41,E2x42,E2x43,F(xiàn)3x30,F(xiàn)3x40,F(xiàn)3x50,G5x10;
理想情況下加密密鑰:02 13 15 20 21 22 24 25 30 31 35 39 40;
密文信息:是覅昂期U+望該!毖你去?
經(jīng)過解密處理后,得到的模糊身份:我是橋南電力公司的一個技工。
在對加密算法進行測試時,電力服務器不會被信任,而供電公司則有可能因某些原因?qū)τ脩魯?shù)據(jù)篡改。另外,惡意用戶也可以通過各個電源服務器通信,將用戶的數(shù)據(jù)外包出去,從而暴露用戶身份。因此,設置了以下三種攻擊模式:
1)惡意攻擊:電力服務器為了通過挑戰(zhàn)階段的確認,試圖篡改用戶數(shù)據(jù)。
2)丟失攻擊:為了通過考驗階段的確認,電力服務器試圖丟失用戶部分數(shù)據(jù)。
3)好奇心攻擊:在挑戰(zhàn)階段,可能會試圖分析已公布的資料,以還原使用者的資料,從而導致用戶的隱私泄露。
分別使用基于橢圓曲線的加密算法、抗密鑰泄露的加密機制和基于同態(tài)哈希認證的加密算法,對比分析三種攻擊模式下不同算法的明文訪問完整性,如表1 所示。
表1 三種攻擊模式下明文訪問完整性
由表1 可知,使用基于橢圓曲線的加密算法、抗密鑰泄露的加密機制,無法安全訪問全部字節(jié),而使用基于同態(tài)哈希認證的加密算法能夠安全訪問全部字節(jié)。
通過上述分析,對比三種情況下的加密效果,如圖4 所示。
由圖4 可知,使用基于橢圓曲線的加密算法、抗密鑰泄露的加密機制獲取的解密模糊身份與理想解密結果不一致;使用基于同態(tài)哈希認證的加密算法獲取的解密模糊身份與理想解密結果一致,說明該算法的使用效果好。
針對當前模糊身份認證技術所面臨的安全性問題,設計了一種基于同態(tài)哈希認證的模糊身份多方加密算法。該算法利用同態(tài)加密技術的可計算性和較強的保護功能,提高了模糊身份多方加密的安全性。與常規(guī)加密方法相比,其安全性得到了改善。下一步研究將對該方案密文膨脹和身份認證的實時性方面進行改進,以此最大程度提升該算法的綜合性能。