李瀅,劉昆,王建中,朱玉瑾,王文鳳
(安徽皖電招標有限公司,安徽合肥 230061)
在公開密鑰加密技術發展迅速的如今,模糊身份加密技術已經成為研究熱點。若身份ID 與密文ID 接近,就會通過密文ID 的私有密鑰來解密。正是模糊身份加密這種容錯性質,使其能夠在多種網絡中得到大規模應用。但由于用戶登錄身份的模糊性,電力用戶在使用過程中會出現信息丟失、信息被篡改等問題,這給模糊身份應用與電網安全帶來了全新的挑戰。因此,相關研究者已經提出了一系列的模糊身份加密方案。文獻[1]提出了基于橢圓曲線的加密算法,利用橢圓曲線加密技術對模糊身份進行真實性驗證,通過對偽造虛假身份的解析,保證不同用戶之間通信安全。文獻[2]提出了抗密鑰泄露的加密算法,通過使用隨機提取器來隱藏密鑰和密文之間的關系,結合在線加密算法對模糊身份進行加密處理。雖然這些方法可以有效地確保身份信息的完整性,但是均是在穩定環境中進行身份驗證的,而無法保證數據動態變化下的身份安全,導致無法安全訪問全部字節。為此,提出基于同態哈希認證的模糊身份多方加密算法。
身份信息的獨特性使其具有較高的安全性。一旦用戶的身份信息被泄露,將會嚴重影響到用戶體驗[3-4]。結合同態哈希認證技術的模糊身份安全保護步驟如圖1 所示。

圖1 安全保護模糊身份步驟
在加密域中,將所檢測到的模糊特征模板與所保存的特征模板進行匹配,且不會泄露用戶的明文,能有效保證第三方機構所儲存的特征模板安全性,同時也解決了使用者在遠程保存身份資料時的隱私安全問題[5-7]。
用戶登錄電力計算平臺的注冊頁面,提交注冊賬號,然后在系統中輸入個人資料,使用私人密鑰進行簽名,之后將其傳送到服務器端。提供方服務器利用使用者的公共密鑰驗證所傳送的簽署[8]。在判定該用戶所發送的信息是否正確時,將該信息反饋給該用戶進行模糊身份認證[9]。提供方服務器對加密密鑰進行加密處理,將其與模糊身份特征的“同或/異或”進行加密,將所得結果作為一種密碼的模糊性身份標識模板,儲存于電力計算服務器中[10]。
用戶根據提供方服務器與自己時間戳差值,判定服務器身份真實性,而電力計算服務器根據用戶和提供方服務器之間、提供方服務器和電力計算服務器之間的多方認證[11]。在提供方服務器端計算時間戳差,公式為:
式中,ta表示電力計算服務器時間戳;tb表示服務器登錄時間戳。如果該計算結果小于設定的閾值,說明提供方服務器和電力計算服務器之間的認證成功,否則認證失敗[12]。
在用戶端計算時間戳差,公式為:
式中,tc表示提供方服務器接收到消息的時間戳;td表示用戶時間戳。如果該計算結果小于設定的閾值,說明用戶和提供方服務器之間認證成功,否則認證失敗[13]。
在確認了用戶、提供方服務器、電力計算服務器之間的多方認證關系后,用戶需要向服務器提供身份ID,并對其進行模糊身份認證。提供方服務器生成n個隨機數,將這些隨機數構成一個集合,并對集合進行打包處理[14]。用公鑰進行加密處理后,將處理結果Enc(μ(f))發送給用戶端。用戶端現場采集用戶的認證模糊身份信息,提取打包處理結果,對其進行加密,將加密結果Enc(μ(g))反饋給電力計算服務器[15]。電力計算服務器去除接收到的用戶端發送的認證模糊身份隨機信息Enc(μ(e)),公式可表示為:
計算用戶端發送的待認證模糊身份信息與存儲模板之間距離,公式為:
式中,x[i]、y[i]均表示待認證模糊身份信息對應存儲模板上的碼元;i表示編碼;⊕表示異或運算。漢明距離越小,碼組抗干擾能力越強[16-18]。當電力計算服務器使用私鑰進行解密時,將漢明距離d(x,y)與預先設置的閾值τ進行對比,如果d>τ,說明模糊身份安全無法得到有效保護;如果d<τ,說明模糊身份安全得到了有效保護。基于同態哈希認證技術的強安全性,保證了全部字節都能被安全訪問,避免了外界干擾,為模糊身份多方加密提供重要保障。
為了實現模糊身份多方加密,可以將所收到的數據塊散列值與原來散列值相比較,從而檢驗所收到數據塊的準確性。傳統加密算法無法處理源節點的隨機編碼數據包,而且也有產生錯誤數據包的概率。因此為了保證用戶身份的安全性,在進行模糊身份安全保護后,采用同態加密方案進行模糊身份多方加密。
假設同態哈希函數hi(·) 存在一組哈希參數,rand(·) 是一個偽隨機函數。對于一個塊ci,哈希值計算公式為:
式中,ai表示哈希元素;modb表示求余函數;i、j分別表示偽隨機數生成次數和數據塊選擇次數,由此構建的同態哈希函數如下所示:
式中,gi表示編碼塊;kj,i表示哈希變量。依據式(6)能夠驗證編碼塊的完整性,并對偽隨機數使用同態加密算法進行加密,由此得到的加密密文可表示為:
式中,χi表示明文分組結果;δ1表示固定安全系數;δ2表示隨機安全系數。由于使用同態加密算法使得加密密文具有同態性,所以對密文加密處理與對明文操作處理過程一致,具體加密過程如下所示:
首先通過分段Logistic 混沌系統生成長度為m×n的實數序列p1,然后將用戶原始身份特征模板數據整合到同一集合之中,并將其轉換為長度為m×n的向量。之后將轉換后的特征向量移動到密鑰序列所對應的數值大小位置上。如果多個數值重復映射到同一位置上,那么以第一次映射為基礎補空位,形成一個新的位置置亂模糊身份多方特征模板?(i)。模糊身份多方位置置亂過程如圖2 所示。

圖2 模糊身份多方位置置亂過程
當實數序列p1為偶數序列且p2為0 時,執行如下變換操作:
式中,?表示同或運算符號;p3(i)表示整數序列。
當實數序列p1為奇數序列且p2為0 時,執行如下變換操作:
經過模糊身份多方位置置亂和變換操作,完成模糊身份多方加密處理,完成模糊身份多方加密算法設計。
使用的一個具有代表性的實驗模型由三個實體組成:用戶、電力服務器、第三方測評機構,如圖3所示。

圖3 實驗模型
用戶需要在電力服務器中存儲大量的數據,供電部門對用戶數據的管理;電力服務器負責管理用戶的數據文件,并將儲存與運算資源分配給用戶;第三方測評機構通過向電力服務器發出挑戰要求,幫助用戶確認認證的安全性。
由于每一行的IP 地址和端口都是根據電力網絡隨機分配的,所以選取的模糊身份信息如下:
明文信息:我是**電力公司的一個**;
對于這個明文信息進行密鑰處理,得到的密 鑰:S0x01,S0x02,Q0x03,Q1x11,Q1x21,Q1x31,E2x41,E2x42,E2x43,F3x30,F3x40,F3x50,G5x10;
理想情況下加密密鑰:02 13 15 20 21 22 24 25 30 31 35 39 40;
密文信息:是覅昂期U+望該!毖你去?
經過解密處理后,得到的模糊身份:我是橋南電力公司的一個技工。
在對加密算法進行測試時,電力服務器不會被信任,而供電公司則有可能因某些原因對用戶數據篡改。另外,惡意用戶也可以通過各個電源服務器通信,將用戶的數據外包出去,從而暴露用戶身份。因此,設置了以下三種攻擊模式:
1)惡意攻擊:電力服務器為了通過挑戰階段的確認,試圖篡改用戶數據。
2)丟失攻擊:為了通過考驗階段的確認,電力服務器試圖丟失用戶部分數據。
3)好奇心攻擊:在挑戰階段,可能會試圖分析已公布的資料,以還原使用者的資料,從而導致用戶的隱私泄露。
分別使用基于橢圓曲線的加密算法、抗密鑰泄露的加密機制和基于同態哈希認證的加密算法,對比分析三種攻擊模式下不同算法的明文訪問完整性,如表1 所示。

表1 三種攻擊模式下明文訪問完整性
由表1 可知,使用基于橢圓曲線的加密算法、抗密鑰泄露的加密機制,無法安全訪問全部字節,而使用基于同態哈希認證的加密算法能夠安全訪問全部字節。
通過上述分析,對比三種情況下的加密效果,如圖4 所示。
由圖4 可知,使用基于橢圓曲線的加密算法、抗密鑰泄露的加密機制獲取的解密模糊身份與理想解密結果不一致;使用基于同態哈希認證的加密算法獲取的解密模糊身份與理想解密結果一致,說明該算法的使用效果好。
針對當前模糊身份認證技術所面臨的安全性問題,設計了一種基于同態哈希認證的模糊身份多方加密算法。該算法利用同態加密技術的可計算性和較強的保護功能,提高了模糊身份多方加密的安全性。與常規加密方法相比,其安全性得到了改善。下一步研究將對該方案密文膨脹和身份認證的實時性方面進行改進,以此最大程度提升該算法的綜合性能。