靜網PWA視頻評論

基於PKI技術的可搜索雲加密存儲系統

2023年10月29日

- txt下載

劉書勇+付義倫
摘 要:為了保證雲服務端存儲數據的保密性和用戶訪問數據的便捷性,應由用戶對自己的數據文件進行加密保護,並支持雲服務提供商對密文數據文件的檢索。設計了基於PKI技術的可搜索雲加密存儲系統,採用Curtmola可搜索對稱加密方案實現對密文數據的檢索,使用數字證書和公鑰密碼技術實現雲服務端與用戶之間的身份鑑別、密鑰協商和通信安全等機制,雲服務提供商對用戶的數據和索引文件進行加密存儲,防止黑客從伺服器上非法獲取文件內容。經過安全性分析,此系統能夠實現身份鑑別、通信加密、存儲安全和密文檢索安全,防止竊聽攻擊、偽造攻擊、重放攻擊等攻擊手段,適用於政府、企業等單位建立安全可靠的雲存儲系統。
關鍵詞:信息安全;雲存儲;密碼技術;可搜索加密;PKI技術
DOIDOI:10.11907/rjdk.173025
中圖分類號:TP309.7
文獻標識碼:A 文章編號:1672-7800(2018)002-0182-04
0 引言
隨著雲計算技術的飛速發展,越來越多的政府、企業以及個人用戶都開始採用雲計算或雲存儲系統,實現信息系統、Web網站、數據存儲、大數據分析等應用向雲端的遷移。 特別是隨著大數據時代的來臨,數據形式已經從原來的結構化數據為主(例如關係型資料庫等),逐漸轉變為以半結構化、非結構化數據作為重要的數據格式,例如視頻、音頻、文檔等文件形式。一些著名的存儲服務系統,包括Amazon S3、iCloud、DropBox、百度雲等,其中某些系統提供了服務端加密或客戶端加密等方式,但是都不支持對密文的搜索功能。
為了保障雲端存儲數據的保密性,用戶應先把要存儲的數據文件進行加密(加密密鑰由用戶產生並安全保存),然後將密文格式文件傳遞到遠程雲端伺服器進行保存,這樣可以保證黑客或雲服務提供商即使讀取了伺服器上的文件,也無法解密獲取文件的真實內容。一個實際的問題是,如果用戶在雲端存儲了大量文件,當某一天用戶想獲取雲端的某些文件時(例如包含某個關鍵詞「信息安全」),如果雲端不能對密文文件進行關鍵詞搜索,就不能查找並返回用戶這些特定的文件。一個直接的方法是,雲端把所有的文件發送給用戶,用戶收到後再進行全部解密、檢索,這樣的效率非常低。
D. Song等[1]最早提出了可搜索加密的概念,可以實現對密文數據的關鍵詞搜索,其缺點是需要對整個密文文件進行遍歷搜索,效率比較低。E.-J. Goh等[2]提出了安全索引文件的方案,實現對密文索引文件的檢索,提高了搜索效率。R. Curtmola等[3]給出了可搜索加密的安全定義,並分別提出了非適應性安全和適應性安全的可搜索加密方案。後來的一些可搜索加密方案,實現了多關鍵詞、詞組的密文搜索方案[4-7]。這些可搜索加密方案是基本的密碼協議,在實際的雲存儲系統中,必須要考慮雲服務端和用戶之間的身份鑑別、通信安全以及密文索引文件安全等問題。
本文採用PKI技術解決雲存儲系統的身份鑑別、密鑰協商、通信安全等問題,設計了一種實際的可搜索雲加密存儲系統,採用R. Curtmola的可搜索加密方案實現密文檢索,通過CA數字證書和數字簽名實現用戶與雲服務端之間的雙向身份鑑別、密鑰協商和加密通信,可以抵抗竊聽攻擊、身份假冒、中間人攻擊、消息偽造等攻擊方式,保證了雲存儲系統的安全性。
1 可搜索加密方案
R. Curtmola等[3]提出的可搜索加密的安全定義,包括非適應性不可區分安全性和適應性不可區分安全性,已經被多數研究者作為可搜索加密安全定義的標準。R. Curtmola等提出了兩種可搜索加密方案,筆者採用適應性安全的可搜索加密方案作為雲加密存儲系統的密文搜索協議。
1.1 符號與定義
令D表示文檔集合,w表示關鍵詞,D(w)表示包含關鍵詞w的文檔集合,δ(D)表示所有文檔D中關鍵詞的集合。令s=n*max,其中n是集合D中的文檔數量,max表示單個文檔中包含的最多不同關鍵詞的數量。
令Enc_k()表示用密鑰k進行對稱加密運算,Dec_k()表示用密鑰k進行對稱解密運算。Per_k()表示用密鑰k進行偽隨機置換,可以使用語義安全的對稱密碼算法實現此功能。
1.2 可搜索加密方案
R. Curtmola等提出的適應性安全可搜索加密方案,基本過程描述如下:
2 基於PKI技術的可搜索雲加密存儲系統
在雲存儲系統中,必須要解決雲服務端與用戶之間的身份鑑別、密鑰協商、通信安全等問題,防止身份假冒、竊聽攻擊、消息重放、數據偽造等安全風險。這些安全問題應使用PKI和數字認證等公鑰密碼技術實現,公鑰密碼技術適合於實現身份鑑別、密鑰協商、數字簽名等功能,對稱密碼技術更適合於高速數據加解密運算,二者結合才能實現較好的安全性。
本文設計的可搜索雲加密存儲系統,採用我國密碼算法標準——高安全強度的SM2橢圓曲線公鑰密碼算法[8-9]、SM3密碼雜湊算法[10-11]和SM4分組對稱密碼算法[12-13]以及雙數字證書機制,分別實現公鑰加解密、數字簽名、消息完整性、對稱加解密等功能。採用CA數字認證和PKI技術解決雲存儲系統的身份鑑別、密鑰協商、通信安全等問題,採用R. Curtmola的可搜索加密方案實現對密文數據的檢索。因此,筆者提出的可搜索雲加密存儲系統充分利用了公鑰密碼技術和對稱密碼技術的各自優點,達到良好的安全性與效率的統一。
2.1 符號與角色定義
為了便於描述,令A表示雲服務端,B表示用戶,Cert_A和Cert_B分別表示雲服務端和用戶數字證書。採用雙數字證書機制,即簽名證書用於數字簽名和身份鑑別,加密證書用於密鑰協商和對稱密鑰的加密封裝。
Pub_Enc_A()表示用A的加密證書的公鑰進行加密運算,Pub_Dec_A()表示用A的加密證書的私鑰進行解密運算。Sig_A()表示用A的簽名證書的私鑰進行數字簽名,Verify_A()表示用A的簽名證書的公鑰進行驗證簽名。Enc_k()表示用密鑰k進行對稱加密運算,Dec_k()表示用密鑰k進行對稱解密運算。
基於PKI技術的可搜索雲加密存儲系統,由CA認證中心、雲存儲服務提供商、雲存儲用戶等角色組成。每一種角色的功能包括:
(1)CA認證中心。實現數字證書的生成、頒發、維護、更新、撤銷等全生命周期管理,為雲存儲服務提供商、雲存儲用戶頒發代表身份的數字證書。本系統採用標準的數字證書格式,可以連接國內外CA認證中心,或使用企業內部建立的CA認證中心。
(2)雲存儲服務提供商A。為用戶提供可靠穩定的雲存儲服務,並根據用戶的檢索需求,提供密文文件的檢索、查找服務,將查找後的密文文件返還給用戶。
(3)用戶B。具有密鑰生成、文件加密、索引文件生成、查找陷門生成等功能,將密文數據和密文索引發給雲服務端進行存儲;並能夠產生密文檢索的陷門和需求,發給雲服務端進行密文檢索。
2.2 系統設計與流程
基於PKI技術的可搜索雲加密存儲系統流程,主要包括系統建立、文件加密存儲和密文檢索三個階段,分別詳細描述如下:
2.2.1 系統建立階段
由CA認證中心進行數字證書的頒發以及雲服務端和用戶的準備工作。
(1)雲服務端A向CA認證中心申請數字證書,CA認證中心審核信息通過後,向雲服務端A頒發數字證書Cert_A,包括簽名證書和加密證書。
(2)用戶B向CA認證中心申請數字證書,CA認證中心審核信息通過後,向用戶B頒發數字證書Cert_B,包括簽名證書和加密證書。
(3)雲服務端A進行系統設置、用戶存儲空間的劃分等準備工作;用戶B進行密碼系統的安裝等準備工作。
2.2.2 文件加密存儲階段
用戶B進行所有文檔和索引文件的加密,並發送給雲服務端A進行存儲。
(1)用戶B隨機生成一個隨機數x,計算橢圓曲線的點乘PointX=x·G,其中G是SM2橢圓曲線密碼算法參數中的基點,將PointX作為密鑰協商的參數。
(2)用戶B計算Pub_Enc_A(Cert_B, PointX, T_B, Sig_B),並發送給雲服務端A,其中T_B表示對此消息產生的時間戳,Sig_B是對此消息的簽名。該步驟是將用戶B的數字證書Cert_B、密鑰協商參數PointX以及時間戳、簽名信息經過加密後,發給雲服務端A。
(3)雲服務端A解密消息Pub_Enc_A(Cert_B, PointX, T_B, Sig_B)後,驗證簽名和時間戳的正確性。如果簽名和時間戳都正確,則隨機生成一個隨機數y,計算橢圓曲線的點乘PointY=y·G。然後計算Pub_Enc_B(Cert_A, Cert_B, PointX, PointY, T_A, Sig_A),並發送給用戶B,其中T_A表示對此消息產生的時間戳,Sig_A是對此消息的簽名。
(4)用戶B解密後,驗證簽名和時間戳的正確性。如果簽名和時間戳都正確,則計算出協商的對稱密鑰k=SM3(x·PointY)= SM3(xy·G),即用SM3算法對橢圓曲線點xy·G的比特串進行雜湊運算,取前128比特作為對稱密鑰。用戶B發送Pub_Enc_A(k, Sig_B)給雲服務端A,雲服務端A計算k=SM3(y·X)= SM3(xy·G)。雙方擁有相同的對稱密鑰k,完成密鑰協商過程。
(5)用戶B按照可搜索加密方案,建立密文索引和密文文檔(I,c)後,計算Enc_k(I,c)並發送給雲服務端A。
(6)雲服務端A計算解密,(I,c)=Dec_k(Enc_k(I,c)),並將(I,c)進行存儲。
2.2.3 密文檢索階段
用戶B生成查找陷門t,並發送給雲服務端A進行密文檢索。
3 安全性分析
從身份鑑別、密鑰安全、通信安全、存儲安全、密文檢索安全,以及抵抗身份假冒、竊聽攻擊、消息重放、數據偽造等方面,分析雲加密存儲系統的安全性。
3.1 身份鑑別機制與安全性
雲加密存儲系統採用數字證書和數字簽名機制,實現雲服務端與用戶之間的雙向身份鑑別。
在文件加密存儲階段,用戶B計算Pub_Enc_A(Cert_B, PointX, T_B, Sig_B),其中Cert_B作為用戶B的數字證書,代表了用戶身份。雲服務端A通過驗證Sig_B,可以驗證用戶B的身份,因為只有用戶能夠進行此簽名操作。時間戳T_B保證了此消息的鮮活性,防止消息重放攻擊。
雲服務端A發送Pub_Enc_B(Cert_A, Cert_B, PointX, PointY, T_A, Sig_A),用戶A解密後,通過驗證簽名Sig_A的正確性,驗證雲服務端A的身份。時間戳T_A保證了此消息的鮮活性,防止消息重放攻擊。
類似地,密文檢索階段的開始步驟也是先進行身份鑑別和密鑰協商,因此能夠實現雲服務端A與用戶B之間的雙向身份鑑別,並抵抗身份假冒、消息重放攻擊。
3.2 密鑰協商的安全性
雲加密存儲系統採用了橢圓曲線點群上的Diffie-Hellman密鑰交換協議(ECDH),並使用數字簽名和時間戳防止中間人攻擊、消息偽造和消息重放攻擊。
由於xy·G= x·(y·G)= x·PointY=y·(x·G)=y·PointX,因此雲服務端A和用戶B能夠協商得到相同的對稱密鑰k= SM3(xy·G)。在密鑰協商過程中,Pub_Enc_A(Cert_B, PointX, T_B, Sig_B)和Pub_Enc_B(Cert_A, Cert_B, PointX, PointY, T_A, Sig_A)中的簽名Sig_B、Sig_A,保證了密鑰參數PointX、PointY不能被篡改、偽造,公鑰加密保證了兩個消息的保密性。因此,這些安全機制保證了密鑰k是由雲服務端A與用戶B之間協商的密鑰,防止了竊聽攻擊和中間人攻擊。
3.3 通信安全
雲服務端A與用戶B之間的通信包括兩個過程,一個是身份鑑別和密鑰協商過程,另一個是密文文檔傳輸和檢索過程。
在身份鑑別和密鑰協商過程中,雙方之間的通信都是用對方的公鑰進行加密,只有私鑰擁有者才能夠解密,因此保證了身份鑑別和密鑰協商過程的通信安全性。
在完成密鑰協商後,雙方之間的通信用協商的對稱密鑰k進行加密,因為密鑰k的協商過程是安全的,因此用密鑰k加密保護的通信過程是安全的,能夠抵抗竊聽攻擊、消息偽造攻擊。
3.4 存儲安全和密文檢索安全
所有的文檔D和索引文件,都是由用戶B自己生成的密鑰進行加密保護,因此除了用戶B之外,其他人(包括雲服務端A)都不能解密文檔和索引文件。因此,密文文檔和索引文件保存在雲端是安全的。
雲加密存儲系統採用了R Curtmola的可搜索加密方案,在對密文索引文件進行檢索時,不泄露文檔和索引文件的信息,能夠達到適應性不可區分安全性。
4 結語
雲計算和雲存儲已經在各個領域逐漸成為信息系統的主流計算和存儲模式,而且大數據的發展使得非結構化文件的安全存儲變得日益重要。本文提出的基於PKI技術的可搜索雲加密存儲系統,在可搜索對稱加密方案的基礎上,通過CA數字證書等公鑰密碼技術,實現了雲服務端與用戶之間的雙向身份鑑別、密鑰協商、通信安全等機制,適用於建立雲存儲時代的數據外包存儲服務系統。
參考文獻:
[1] SONG D, WAGNER D, PERRIG A. Practical techniques for searches on encrypted data [C].In Proceedings of 2000 IEEE Symposium on Security and Privacy, IEEE Computer Society, 2000: 44-55.
[2] GOH E-J. Secure indexes [R]. Technical Report 2003/216, IACR ePrint Cryptography Archive, 2003.
[3] CURTMOLA R, GARAY J, KAMARA S, et al. Searchable symmetric encryption: improved definitions and efficient constructions [J]. Journal of Computer Security, 2011, 19 (5): 895-934.
[4] CAO N, WANG C, LI M, et al. Privacy-preserving multi-keyword ranked search over encrypted cloud data [J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(1): 222-233.
[5] TANG Y, GU D, DING N, et al. Phrase search over encrypted data with symmetric encryption scheme [C]. In 32nd International Conference on Distributed Computing Systems Workshops, IEEE Computer Society, 2012: 471-480.
[6] 徐鵬,金海.可搜索加密的研究進展[J].網絡與信息安全學報,2016,2 (10): 8-16.
[7] 馮朝勝,秦志光,袁丁.雲數據安全存儲技術[J].計算機學報,2015,38(1): 150-163.
[8] 全國信息安全標準化技術委員會.信息安全技術 SM2橢圓曲線公鑰密碼算法[P].中國,GB/T 32918-2016,2016-08-29.
[9] 汪朝暉,張振峰. SM2橢圓曲線公鑰密碼算法綜述[J].信息安全研究,2016,2(11): 972-982.
[10] 全國信息安全標準化技術委員會.信息安全技術 SM3密碼雜湊算法[P].中國,GB/T 32905-2016,2016-08-29.
[11] 王小雲,於紅波. SM3密碼雜湊算法[J].信息安全研究, 2016, 2(11): 983-994.
[12] 全國信息安全標準化技術委員會.信息安全技術 SM4分組密碼算法[P].中國,GB/T 32907-2016,2016-08-29.
[13] 呂述望,蘇波展,王鵬,等.SM4分組密碼算法綜述[J].信息安全研究,2016,2(11):995-1007.

收藏

相關推薦

清純唯美圖片大全

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.