?

基于區塊鏈的量子密鑰分發在云存儲的應用研究

2024-01-29 00:31孫羽黨仁周虎朱德新
軟件工程 2024年1期
關鍵詞:云存儲區塊鏈

孫羽 黨仁 周虎 朱德新

關鍵詞:區塊鏈;量子密鑰;云存儲

0 引言(Introduction)

作為一種新興的數據存儲方式,云存儲在數據存儲量、可靠性、成本等方面的優勢使其逐步取代了傳統的存儲方式,為解決海量電子數據存儲難題提供了全新的解決方案。盡管云存儲技術發展繁榮,但在云環境中存儲數據仍存在一些機密性、可用性和完整性方面的安全問題[1]。針對云存儲數據的隱私問題,研究人員提出了不同的密碼技術,確保云存儲數據的隱私安全[2-4]??紤]到傳統的加密技術存在一定的安全隱患,本文采用量子加密技術加密數據,確保數據存儲安全[5]。目前,已經得到實用化的量子密鑰分發技術是由BENNETT和BRASSARD在1984年提出的BB84協議,該協議通過傳輸光子并測量光子的偏振態實現對稱的量子密鑰,但是其依賴于光纖網絡,并且單光子的探測設備成本較高,能實現的傳輸距離極短,因此限制了其應用范圍[6]。區塊鏈技術具有分布式存儲、可信賴、透明性、防篡改、去中心化以及可追溯的特性。本文利用區塊鏈技術實現量子密鑰的擴展應用,提升量子密鑰分發的安全性和實用性。

1 相關知識(Related technologies)

1.1 區塊鏈技術

區塊鏈是一種融合多種現有技術的新型分布式計算和存儲范式,它利用分布式共識算法生成和更新數據,并利用對等網絡進行節點間的數據傳輸,結合密碼學原理和時間戳等技術的分布式賬本保證存儲數據的不可篡改性,利用自動化腳本代碼或智能合約實現上層應用邏輯[7]。與傳統的數據庫相比,區塊鏈相當于一種分布式的數據庫,采用去中心化的設計思想,使得數據的存儲和處理不依賴于中心化機構而是由全網的節點共同維護,使得數據具有更高的安全性和透明性。

1.2 可搜索加密

可搜索加密技術是近年研發的一種技術,針對云服務器上存儲的加密數據,采用可搜索加密算法在密文上進行關鍵字搜索。2004年,BONEH 等[8]提出了第一個公鑰可搜索加密方案。公鑰可搜索加密(PEKS)算法如下。

1.3 量子密鑰分發技術

量子密碼是一門新型的交叉學科,是量子理論、信息科學和計算機科學相結合的產物。量子密鑰分發(Quantum KeyDistribution, QKD)是量子通信技術中應用最廣泛的成熟技術,QKD的安全性來自量子力學的兩個特性:一是量子世界本質的真隨機性,這是產生真隨機密鑰的關鍵;二是承載有非正交信息的單量子態不可以被完美復制[9]。量子密鑰分發過程既可以通過光纖通信網絡實現,也可以在無線空間或其他介質中實現,主要取決于采用的量子密鑰分發協議。QKD協議主要有基于離散變量類協議和基于連續變量類協議。

2 系統模型(System model)

本節介紹結合量子密鑰和區塊鏈的安全云存儲模型和基于區塊鏈事件監聽機制的量子密鑰分發模型。

2.1 結合量子密鑰和區塊鏈的安全云存儲模型

本文提出了結合量子密鑰和區塊鏈的安全云存儲方案,云存儲系統模型圖如圖1所示。方案涉及多種技術的結合應用:使用量子密鑰加密數據;利用可搜索加密實現數據密文的安全檢索。采用云存儲服務器和區塊鏈結合的方式,云存儲服務器用于存儲原始數據密文,區塊鏈用來存儲數據的索引信息及量子密鑰分發的標記信息,并且利用事件監聽機制實現對稱量子密鑰的分發。云存儲服務器可以存儲各種形式的數據,本文以存儲文件數據為例,對方案模型進行介紹。

2.1.1 模型參與實體

模型中的主要參與實體包括區塊鏈、量子密鑰云服務器、云存儲服務器、后臺服務器、客戶端及用戶。

區塊鏈(BC):模型中的區塊鏈類型為聯盟鏈。區塊鏈賬本記錄文件的索引信息及量子密鑰分發的標記信息。

云存儲服務器(FCS):FCS負責存儲原始文件的密文,存儲成功后將文件密文存儲地址返回,并響應用戶的文件下載請求。

量子密鑰云服務器(QKCS):QKCS部署在云上,由高速時間相位編碼技術生成量子密鑰,并且負責提供量子密鑰,生成量子密鑰分發的標記信息,利用部署在其上的區塊鏈軟件開發工具包(Software Development Kit,SDK)調用交易以及進行區塊鏈鏈碼事件的監聽。

后臺服務器(BS):BS中部署的服務端應用程序包含RSA密鑰管理模塊、AES 加密打包模塊、用戶信息管理模塊、文件信息管理模塊、公私鑰管理模塊、量子密鑰SDK模塊、區塊鏈SDK模塊和可搜索加密模塊等。文件信息管理模塊負責產生原始文件的Hash值,使用量子密鑰對文件進行加密,并將文件密文上傳到云存儲服務器,將安全索引上傳到區塊鏈。用戶信息管理模塊的作用是管理用戶信息。公私鑰管理模塊產生BS的公鑰和私鑰,管理合法客戶端用戶的公鑰文件。量子密鑰SDK模塊用于連接量子密鑰云服務器實時獲取量子密鑰。區塊鏈SDK模塊用于連接搭建的區塊鏈網絡,操作和管理區塊鏈分布式數據庫??伤阉骷用苣K負責對文件提取出的關鍵字進行加密,從而形成安全索引,在文件檢索時為用戶產生關鍵字搜索陷門,并匹配安全索引中的關鍵字密文。

客戶端(CS):CS部署的客戶端應用程序是用戶正常訪問系統的平臺,包含文件解密模塊、公私鑰管理模塊、更改用戶密碼模塊、量子密鑰SDK模塊、區塊鏈SDK模塊等。量子密鑰SDK模塊用于連接量子密鑰云服務器,獲取量子密鑰云服務器發送的量子密鑰密文。文件解密模塊的作用是將來自后臺服務器的加密文件利用量子密鑰進行解密,然后計算解密后文件的Hash值,并將其與從區塊鏈中查詢出的文件Hash值進行比較。公私鑰管理模塊生成CS的私鑰和公鑰,管理后臺服務器端的公鑰文件。

用戶(U):U可以使用系統提供的云存儲服務。

2.1.2 方案具體流程

(1)系統初始化,后臺服務器應用程序進行全局公共參數設置,生成系統公共參數params={g,G1,G2,e,p,H1,H2,H3}。

(2)量子密鑰云服務器注冊成為聯盟鏈用戶,聯盟鏈為QKCS生成公私鑰對,即{pkq,skq },BS的公私鑰管理模塊根據params 生成BS的公鑰和私鑰對{pka,ska}。

(3)用戶U登錄客戶端注冊身份,CS的公私鑰管理模塊根據params 生成U的公鑰和私鑰對{pku,sku},U通過CS上傳文件F 并設置搜索文件的關鍵字W 。

(4)BS中量子密鑰SDK1模塊根據量子密鑰云服務器的下載服務地址請求獲取文件加密量子密鑰k,QKCS使用BS的公鑰pka 將k 加密為k^=RSApka (k),通過經典信道發送給BS中的文件信息管理模塊,同時量子密鑰云服務器將發送的量子密鑰k 在數據庫的密鑰ID和量子密鑰k 的Hash值與用戶ID構成鍵值對{用戶ID,量子密鑰ID+Hash值}上鏈存儲。

(5)BS的文件信息管理模塊對文件F 進行哈希運算后生成Hash值HF ,使用后臺服務器的私鑰ska 解密量子密鑰k,k=RSAska(k^)。利用AES 加密算法F^=AESk(F),得到加密文件F^,并上傳至云存儲服務器,同時云存儲服務器返回文件密文的存儲地址Addr。

(6)可搜索加密模塊執行可搜索加密生成算法,將文件關鍵字W 加密為關鍵字密文W^,然后將關鍵字密文W^、文件密文存儲地址Addr、用戶ID以及HF 等信息組成安全索引Index={W^,Addr,ID,HF }數據結構并存儲于BC。

(7)U需要訪問包含某關鍵字W 的文件時,利用客戶端發起文件共享請求,可搜索加密模塊為該請求產生搜索陷門TD,利用搜索陷門向區塊鏈發起查詢交易,匹配含關鍵字W的文件索引,并返回安全索引Index,在客戶端展示檢索到的文件基本信息。

(8)客戶端收到文件查詢請求階段反饋的索引Index 信息時,在量子密鑰云服務器中設置的區塊鏈SDK2也利用監聽器獲取索引Index 信息。根據Index 信息中的用戶ID,區塊鏈SDK2可以獲取已經存儲在區塊鏈賬本中用戶ID標識的量子密鑰ID,再根據量子密鑰ID從量子密鑰數據庫中獲取相應的量子密鑰k。

(9)U通過客戶端下載搜索到的文件時,量子密鑰云服務器使用用戶的公鑰加密得到量子密鑰,然后將密文發送到客戶端,利用U的私鑰解密量子密鑰k??蛻舳送ㄟ^索引中文件地址信息從云存儲服務器拿到文件密文并利用AES解密算法F=AESk(F^),解密得到明文F。

2.2 基于區塊鏈事件監聽機制的量子密鑰分發模型

為了實現結合量子密鑰和區塊鏈的安全云存儲方案中量子密鑰的運用,設計了基于區塊鏈事件監聽機制的量子密鑰分發模型(圖2)。

(1)Alice、Bob和量子密鑰云服務器注冊成為區塊鏈的用戶,區塊鏈為用戶生成對應的公鑰和私鑰。

(2)Alice根據量子密鑰下載服務地址,向量子密鑰云服務器發送量子密鑰下載請求。

(3)量子密鑰云服務器從區塊鏈獲取到Alice的公鑰,用Alice公鑰將一串長度為256 bit的量子密鑰加密成密文,然后通過經典信道發送給Alice,Alice用自己私鑰解密,獲得量子密鑰明文。量子密鑰云服務器將發送的量子密鑰在數據庫的密鑰ID和量子密鑰的Hash值標識為Alice上鏈存儲,此為量子密鑰分發標記信息。

(4)Bob向區塊鏈發起查詢Alice所用量子密鑰的交易。此時,區塊鏈鏈碼狀態發生變化,觸發鏈碼中定義的事件,然后調用區塊鏈事件通知機制,將事件類型和相關數據通知區塊鏈鏈碼事件監聽器,其中相關數據是指Bob所發起交易的payload內容,即Alice的量子密鑰分發標記信息。

(5)量子密鑰云服務器所設置的區塊鏈鏈碼事件監聽器監聽到Bob發起交易產生的鏈碼事件,獲取Bob交易的信息,根據Alice的量子密鑰ID,從量子密鑰數據庫中獲取相應的量子密鑰,利用Bob的公鑰加密生成量子密鑰密文,然后通過經典信道發送給Bob。

(6)Bob收到量子密鑰密文后,根據自己的私鑰解密量子密鑰明文,并計算量子密鑰Hash值,并與從區塊鏈中查詢到的標識為Alice的量子密鑰Hash值進行比對,若相同,則Bob獲取到了未被篡改且與Alice相同的對稱量子密鑰,至此量子密鑰分發完成。

3 安全性與隱私性分析(Security and privacyanalysis)

半可信的云服務器存儲的是文件密文,本文中使用量子密鑰作為AES算法的加密密鑰進行文件加密。有研究表明:對于高級加密標準(AES-256)這樣的對稱加密算法,適用于大量數據快速加密,并且使用量子密鑰這種完全隨機的高度安全密鑰作為初始密鑰,可以保證即使在量子攻擊的情況下,仍然是安全的,保證了數據的機密性[10]。文件的Hash值記錄在區塊鏈賬本中,區塊鏈自身具備的特性保證了區塊鏈賬本數據難以被篡改,同時可以驗證云服務器中存儲的文件數據是否是完整的。

量子密鑰云服務器上鏈存儲的量子密鑰標記信息僅包含量子密鑰在數據庫的存儲ID和哈希摘要值,由于ID值不包含有效信息,而且哈希函數具有單向性,因此不會從量子密鑰標記信息獲取敏感信息。保證在量子密鑰云服務器向用戶發送量子密鑰時,量子密鑰服務器使用用戶公鑰對量子密鑰進行加密,此過程的安全性由RSA算法[11]的安全性保障。綜上,本系統兼顧安全性與隱私性。

4 實驗與性能分析(Experiment and performanceanalysis)

4.1 實驗環境

對本文提出的方案進行數值模擬實驗,實驗環境如表1所示。

4.2 區塊鏈性能測試

本文提出的方案是基于區塊鏈技術實現的,而區塊鏈交易的更新和查詢時間開銷是系統性能的關鍵因素。在整個方案中,文件的安全索引和量子密鑰分發的標記信息均存儲到區塊鏈上,并在必要時進行查詢追溯。由于安全索引在區塊鏈交易中是屬于數據量最大的,因此本文開展的實驗以安全索引的交易為代表,通過測試聯盟鏈網絡交易的更新和查詢操作的吞吐量以及平均時延評估本方案的性能。

通過Caliper工具分別發送從1 000次到10 000次的查詢和更新文件安全索引交易至Fabric聯盟鏈網絡,每次實驗測試10次,計算交易吞吐量和時延的平均值,結果如圖3和圖4所示。

從圖3和圖4可以看出,區塊鏈添加安全索引時,隨著交易數量的變化,成功的交易基本維持在每秒135~150次,并且時間延遲也基本保持在0.15~0.23 s。區塊鏈查詢安全索引時,隨著交易次數的增加,區塊鏈交易始終維持著較高的吞吐量和較低的時間延遲;即使有很高的交易數量,例如10 000次交易,也能達到約0.018 s的低時間延遲和每秒315次成功交易的高吞吐量。因此得出,本系統構造的區塊鏈并不適合過高并發交易,但是在較低并發的交易情況下,區塊鏈能夠發揮不錯的效果。

4.3 系統效率測試

為驗證本文方案的可行性和效率,通過實際部署的區塊鏈和量子密鑰云服務器以及量子密鑰分發網絡進行實驗分析。量子密鑰云服務器QKCS采用DELL Power Egde R740,CPU型號為Intel(R) Xeon(R) Silver 4110 CPU @2.10 GHz,內存為32 GB,硬盤大小為4 TB。量子密鑰分發設備基于誘騙態BB84量子密鑰分發協議,采用時間相位編碼技術,集成千兆級工作頻率的量子信號發射模塊。

在云存儲的應用場景下評估系統的性能。用戶上傳文件,后臺服務器從QKCS獲取量子密鑰,將量子密鑰加密文件儲存在云存儲服務器中。用戶下載文件,經過量子密鑰分發,獲取文件密文解密量子密鑰,解密出文件明文。通過測試文件上傳獲取加密量子密鑰花費的時間和下載文件獲取解密量子密鑰的時間,分析方案的效率。

對于后臺服務器獲取加密文件量子密鑰的消耗時間和客戶端接收對稱解密量子密鑰的消耗時間,本文進行了10~100次的測試,將得到的數據進行歸納整理,得到結果如圖5所示。

本文不考慮量子密鑰的生成過程,僅對存儲于云存儲服務器的量子密鑰做擴展運用,以測試本文設計的量子密鑰分發方案的實際表現,評估系統性能。從圖5可以看出,在網絡環境穩定的情況下,客戶端獲取解密量子密鑰花費的時間會比后臺服務端獲取加密量子密鑰花費的時間稍長,這是進行區塊鏈交易需要消耗一些時間導致的。從圖5展示的實驗數據可以看出,后臺服務端每次獲取加密量子密鑰的平均時間約為242 ms,客戶端每次獲取解密量子密鑰的平均時間約為360 ms,因此對稱量子密鑰分發實現了較高的分發效率,滿足實際的使用場景。

5 結論(Conclusion)

本文提出了一種基于區塊鏈的量子密鑰分發方案,并將此方案實際運用于云存儲環境中。首先,考慮到經典的量子密碼體系雖然具有絕對的安全性,但是其建設成本極高且通常只適用于兩端通信,因此利用區塊鏈技術設計了實用性較高的對稱量子密鑰分發方法。其次,本文充分利用量子密鑰的特征和優勢,將其與經典加密方式融合應用到云存儲中的數據加密上,實現了量子密鑰的擴展運用。最后,對本文提出的整體方案進行了安全性分析,并對方案進行模擬實驗,測試區塊鏈性能和對稱量子密鑰分發效率,分析方案的綜合性能,確認了本方案具有良好的安全性和實用性。

猜你喜歡
云存儲區塊鏈
保險企業的區塊鏈技術應用方向選擇研究
基于云存儲的氣象數字化圖像檔案存儲研究
試論云存儲與數字版權的沖突、法制與協同
云存儲出版服務的版權侵權責任風險分析
區塊鏈技術在金融領域的應用與前景研究
區塊鏈技術的應用價值分析
云存儲技術的起源與發展
“區塊鏈”的茍且、詩和遠方
基于云存儲的數據庫密文檢索研究
基于區塊鏈技術的數字貨幣與傳統貨幣辨析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合