王少輝,潘笑笑,王志偉,肖甫,王汝傳
?
對基于身份云數據完整性驗證方案的分析與改進
王少輝1,2,潘笑笑1,2,王志偉1,2,肖甫1,2,王汝傳1,2
(1. 南京郵電大學計算機學院、軟件學院、網絡空間安全學院,江蘇 南京 210003; 2. 江蘇省無線傳感網高技術研究重點實驗室,江蘇 南京 210003)
個人或企業將數據外包給遠程云服務器,在獲得運營便利的同時也失去了對數據的本地控制權,無法直接保證數據的完整性和隱私性。分析了Zhang等和Xu等提出的基于身份云數據完整性驗證方案的安全性。分析表明Zhang等所提方案易遭受密鑰恢復攻擊,云服務器利用存儲的用戶數據可恢復出用戶的私鑰,而Xu等所提方案不能滿足健壯性的安全要求。在Xu等方案的基礎上,提出了一個改進的云數據完整性驗證方案,分析表明新方案可提供健壯性和隱私性的安全需求,并且可提供與Xu等所提方案相同的通信和計算開銷。
云存儲;基于身份密碼系統;數據完整性;隱私性
云存儲具有低成本、高擴展、海量存儲、便捷存取的優點,越來越多的個人或企業選擇將數據存放在云端,這樣用戶可以節約大量的存儲、管理以及維護成本,但是隨之帶來的問題是用戶無法對數據直接控制,從而不能確保存儲在云中數據的完整性和隱私性。云環境下導致數據損壞的因素主要包括以下方面。1)云服務提供商不完全可信。出于經濟原因,云服務提供商可能會刪除用戶很少或從未訪問的數據,以便可以節省空間存儲其他用戶數據從而獲取更多收入。2)由于云服務器的故障、管理失誤或對手惡意攻擊,云服務器中存儲的數據可能會被破壞。但是,云服務提供商為了維護良好的聲譽可能會故意隱藏數據丟失的事實。在云存儲中,數據完整性和隱私性已成為用戶最關心的問題,因為即使很少一部分數據的損壞也可能會造成不可估量的損失。因此,如何解決云存儲中所面臨的數據完整性驗證問題已經成為了目前學術界和企業界研究的一個熱點,具有較高的研究價值和應用前景。
Deswarte等[1]在2003年提出了基于散列函數的云數據完整性驗證方案,它允許客戶端使用相同的元數據進行多次挑戰,但是該協議必須對存儲的整個文件進行取冪,計算成本過高。Oprea等[2]在2005年提出了一個支持塊級數據完整性驗證的方案,但是該方案仍存在過高的通信成本和計算成本。Ateniese等[3-4]在2007年最先對可證明數據持有審計方案(PDP,provable data possession)進行了形式化建模。該方案引入第三方審計者(TPA,third-party auditor)提供驗證服務,從而能夠有效減輕用戶的負擔。方案可以使TPA在不下載數據到本地的情況下驗證數據的完整性,并提出分塊思想降低生成驗證元的計算成本。同時,Juels等[5]最先對數據可恢復證明問題(POR, proof of retrievability)進行了形式化建模,提出了基于哨兵的POR驗證機制,該機制不僅能夠識別遠程數據是否損壞而且能夠對已經損壞的數據文件進行恢復。2008年,Shacham等[6-7]提出了兩種使用糾錯碼技術的高效緊縮的POR方案。這兩種POR方案都支持任意次驗證并且支持無狀態認證,即認證過程中認證者不需要保存認證狀態,最后通過引用同態驗證標簽將證明信息有效地縮小為一個較小的值。
上述方案均在公鑰基礎設施PKI(public key infrastructure)架構下設計。Shamir[8]在1984年創新性地提出了基于身份的密碼系統,用于解決傳統PKI密碼體制帶來的證書生成、驗證、存儲和注銷等問題。在基于身份密碼體制中,將標示用戶身份的唯一信息(如用戶的IP地址)作為用戶的公鑰,用戶的私鑰由可信的私鑰生成中心(PKG, public key generator)利用用戶的身份信息和自己的主密鑰計算得到。2001年,Boneh等[9]利用雙線性對構建了第一個安全實用的基于身份的加密方案,隨后基于身份的加密方案設計引起了密碼學界的廣泛關注。
目前,大部分基于身份云數據完整性驗證方案主要利用雙線性運算這一工具,如2016年,Zhang等[10]基于Waters簽名,利用雙線性運算在標準模型中提出了一個基于身份的公共驗證方案。該方案具有固定的通信開銷和計算成本。雙線性運算比RSA算法中的模冪運算需要更多的計算開銷。為了提高驗證效率,Yu等[11]利用RSA算法提出了基于身份的高效遠程數據完整性驗證方案。隨后Zhang等[12]指出Yu等的方案僅適用于單個用戶場景,而且沒有考慮密鑰泄露的問題。Zhang等通過對密鑰在固定時間間隔進行更新,提出了一個能夠抵御密鑰泄露攻擊的數據完整性驗證方案。最近Xu等[13]指出了Yu等[11]的方案沒有考慮數據的隱私性問題,它容易受到來自TPA或外部攻擊者的數據恢復攻擊。
本文對基于身份云數據完整性驗證方案進行了研究,首先對文獻[12]和文獻[13]所提方案的安全性進行了分析,通過分析指出文獻[12]方案容易遭受私鑰恢復攻擊,云服務器通過分析用戶存儲的數據可以恢復并得到用戶私鑰;而文獻[13]所提方案不滿足健壯性要求,即服務器即使沒有完整無誤地保存用戶數據,也可以成功偽造證據通過TPA的驗證。進而在文獻[13]方案的基礎上提出了一個改進的基于身份云數據完整性驗證方案,通過分析證明該方案能有效滿足隱私性和健壯性要求,而在效能方面,新方案具有與文獻[13]方案相同的通信、計算成本。
如圖1所示,基于身份云數據完整性驗證模型主要由如下4個部分組成。
1) 用戶:用戶是擁有大量數據需要存儲在云服務器的個人或組織,通常用戶帶寬、存儲和計算能力有限。
2) 云服務器:擁有大量的存儲空間和強大的計算能力以維護用戶存儲的數據,并為用戶提供數據訪問服務。一般假設云服務器并不完全可信,因為云服務器可能會為了自己的利益刪除很少被訪問的用戶數據。
3) 第三方審計者(TPA):代替用戶與云服務器完成交互,能夠檢查存儲在云服務器上用戶數據的完整性。TPA由可信部門監督和管理,提供可信、公正公平的審計結果。但是假定TPA是誠實而好奇(curious but honest)的,因此必須保證TPA無法通過審計過程獲得用戶的隱私數據。
4) 私鑰生成中心(PKG):是完全可信的機構,根據用戶的身份信息為其生成用戶私鑰。

圖1 系統模型

首先給出可忽略概率的概念。
云數據完整性驗證方案需要滿足隱私性和健壯性的安全需求,下面本文給出兩個安全需求的形式化定義。
定義2(隱私性) 本文通過挑戰者和敵手之間的如下游戲來定義隱私性,游戲過程如下所示。
2) 質詢:敵手自適應地向挑戰者進行如下質詢,包括Extract質詢、TagGen質詢和Audit質詢。
③ Audit質詢:通過此質詢,敵手和服務器將執行交互,執行數據的完整性驗證算法。


是可以忽略的。本文稱基于身份云數據完整性驗證方案滿足隱私性,
定義3(健壯性) 通過挑戰者和敵手之間的如下游戲來定義健壯性,其中初始化和質詢操作同隱私性的定義,這里不再贅述。

如果概率為

是可以忽略的,則稱基于身份云數據完整性驗證方案滿足健壯性。
本節對文獻[12]和文獻[13]中所提方案進行詳盡地安全分析,分析指出文獻[12]方案存在私鑰恢復攻擊,服務器能利用存儲的數據和標簽信息得到用戶在時刻的私鑰。而文獻[13]則不滿足健壯性的要求,即使服務器沒有存儲數據,也能生成合法的證明信息通過TPA的驗證。
文獻[12]的方案主要針對用戶私鑰的泄露問題,這里只簡單介紹與安全性分析相關的Setup、Extract和TagGen等算法,其他算法具體可以參考文獻[12]。
3) TagGen。在時間段,身份為的用戶執行以下步驟將數據文件外包到云端。
安全分析:下面指出上述方案易遭受私鑰恢復攻擊,攻擊方法如下所示。


然后式(1)除以式(2)得


文獻[13]提出的基于身份云數據完整性認證方案由以下算法構成。


6) Verify。TPA驗證下面的等式是否成立。

如果成立則返回1,表明驗證通過。否則表明數據沒有被服務器保存完整,返回0。
安全分析:下面給出對上述方案的攻擊,可以看出方案[13]不能滿足健壯性的安全需求,云服務器可以在任意修改甚至刪除用戶數據后仍能生成合法的證明消息通過TPA的驗證,令TPA相信服務器正確存儲了用戶數據。

在Verify算法中,TPA誠實的執行驗證過程,此時

在本節中,基于文獻[13]的方案,本文提出了一個改進的基于身份云數據完整性驗證方案,并給出了改進方案的安全性分析和效能比較。
改進的基于身份云數據完整性認證方案由6個算法組成,其中,算法Setup、Extract、TagGen和Challenge與文獻[13]的方案一致,這里不再贅述,ProofGen和Verify算法改進如下所示。
2) Verify。TPA驗證下面等式是否成立

如果成立則返回1,表明驗證通過。否則返回0表明數據沒有被服務器保存完整。
本節中,本文分別對方案的正確性、健壯性和隱私性進行說明。
正確性。由方案可知,此時
從而如果云服務器正確保存用戶數據,生成的驗證信息能夠通過TPA的驗證。
健壯性。新方案的健壯性基于如下的RSA假設。
定理1 如果RSA假設成立,則改進的基于身份云數據完整性驗證方案滿足健壯性安全需求。




即


隱私性。最后我們簡要證明新方案滿足隱私性的安全需求。
分別從通信成本和計算成本這兩個方面將新方案與文獻[13]中的方案進行了比較。假設在兩種方案中,存儲相同的數據文件,而TPA產生的挑戰信息一樣。從通信開銷來看,新方案在各階段和文獻[13]的方案一致,故兩種方案具有相同的通信開銷。


可以看出在ProofGen算法和Verify算法中,本文的新方案與文獻[13]方案具有相同的計算復雜度。
本文的方案與文獻[13]方案在TagGen和Challenge階段的計算時間相同,下面給出兩種方案在ProofGen和Verify兩種算法中的性能實驗比較。本文使用Java語言對兩種方案的ProofGen算法和Verify算法進行實現。模擬在Win7系統中實現,處理器為Intel 3230 M,主頻為2.6 GHz,內存為8 GB,選擇的文件大小為1 MB,分塊大小為4 KB,指定TPA每次分別隨機選擇不同數量的數據塊檢查外包數據的完整性。為了減少誤差,每個階段記錄100次執行時間,最終取平均值。表2給出了TPA每次隨機選擇200個數據塊檢查外包數據完整性的實驗結果對比情況,可以看出兩種方案在ProofGen算法和Verify算法中具有幾乎相同的運行時間。

表1 計算成本比較

表2 TPA選擇200個挑戰塊計算時間
當TPA選擇不同的挑戰塊數目時,圖2給出了在ProofGen算法中新方案和文獻[13]方案的計算時間比較,可以看出新方案和文獻[13]方案的計算成本幾乎相同。

圖2 ProofGen階段的計算時間對比
同樣地,當TPA選擇不同的挑戰塊數量塊時,兩種方案中Verify算法的計算時間比對如圖3所示。從圖3中可以看出新方案額外計算開銷與選取數據塊的數量線性相關。在一次完整性驗證過程中選取的挑戰塊數量有限,新方案在可以提供更高的安全需求的同時,具有和Xu等方案基本一致的計算開銷。

圖3 Verify階段的計算時間對比
在云存儲應用環境下,用戶無法確保存儲在遠端云服務器中的數據是完整的,如何驗證遠程數據的完整性是云安全領域研究的一個熱點問題。本文分析了兩種基于身份的云存儲數據完整性驗證方案的安全性,分析結果指出文獻[12]的方案易遭受密鑰恢復攻擊,云服務器可以利用存儲的數據信息計算得到用戶的私鑰;而文獻[13]不能提供健壯性的安全需求,云服務器即使在丟失數據的情況下依然可以偽造證據通過TPA的驗證。基于文獻[13]的設計方法,本文提出一個新的改進方案,分析表明新方案在提供與文獻[13]相同通信和計算開銷的條件下,能提供更高的安全需求。針對基于身份密碼系統下,云存儲數據完整性驗證方案存在的密鑰泄露問題,外包數據的動態更新等問題將是我們下一步的研究重點。
[1] DESWARTE Y, QUISQUATER J, SAIDANE A. Remote integrity checking[M]//Integrity and Internal Control in Information Systems VI. 2004: 1-11.
[2] OPREA A, REITER M K, YANG K. Space-efficient block storage integrity[C]// Internet Society, Network and Distributed System Security Symposium. 2005: 1-12.
[3] ATENIESE G, BURNS R, CURTMOLA R, et al. Provable data possession at untrusted stores[C]//ACM Conference on Computer and Communications Security. 2007: 598-609.
[4] ATENIESE G, BURNS R, CURTMOLA R, et al. Remote data checking using Provable data possession[J]. ACM Transactions on Information & System Security(TISSEC), 2011, 14(1): 1-34.
[5] JUELS A. Pors: proofs of retrievability for large files[C]// ACM Conference on Computer and Communications Security. 2007: 584-597.
[6] SHACHAM H, WATERS B. Compact proofs of retrievability[C]// Asiacrypt LNCS 5350. 2008: 90-107.
[7] SHACHAM H, WATERS B. Compact proofs of retrievability[J]. Journal of Cryptology, 2013, 26(3): 442-483.
[8] SHAMIR A. Identity-based cryptosystems and signature schemes[C]// Crypto. 1984: 47-53.
[9] BONEH D, FRANKLIN M K. Identity based encryption from the weil pairing[J]. Siam Journal on Computing, 2001, 32(3): 213-229.
[10] ZHANG J, DONG Q. Efficient ID-based public auditing for the outsourced data in cloud storage[J]. Information Sciences, 2016, 343-344(C):1-14.
[11] YU Y, XUE L, MAN H A, et al. Cloud data integrity checking with an identity-based auditing mechanism from RSA[J]. Future Generation Computer Systems, 2016, 62(C):85-91.
[12] ZHANG J, LI P, SUN Z, et al. ID-based data integrity auditing scheme from RSA with resisting key exposure[C]// International Conference on Provable Security. 2016: 83-100.
[13] XU Z, WU L, KHAN M K, et al. A secure and efficient public auditing scheme using RSA algorithm for cloud storage[J]. Journal of Supercomputing, 2017(4):1-25.
Analysis and improvement on identity-based cloud data integrity verification scheme
WANG Shaohui1,2, PAN Xiaoxiao1,2, WANG Zhiwei1,2, XIAO Fu1,2, WANG Ruchuan1,2
1. College of Computer, Nanjing University of Posts and Telecommunications, Nanjing 210003, China 2. Key Laboratory of Jiangsu High Technology Research for Wireless Sensor Network, Nanjing 210003, China
Many individuals or businesses outsource their data to remote cloud. Cloud storage provides users the advantages of economic convenience, but data owners no longer physically control over the stored data, which introduces new security challenges, such as no security guarantees of integrity and privacy. The security of two identity-based cloud data integrity verification schemes by Zhang et al and Xu et al respectively are analysed. It shows that Zhang et al.’s scheme is subjected to secret key recovery attack for the cloud servers can recover user’s private key only utilizing stored data. And Xu et al.’s scheme cannot satisfy security requirements of soundness. Based on Xu et al.'s scheme, a modified identity-based cloud data integrity verification scheme is proposed. A comprehensive analysis shows the new scheme can provide the security requirements of soundness and privacy, and has the same communication overhead and computational cost as Xu et al.’s scheme.
cloud storage, identity-based cryptosystem, data integrity, privacy
TP393
A
10.11959/j.issn.1000-436x.2018229
王少輝(1977?),男,山東濰坊人,博士,南京郵電大學副教授,主要研究方向為密碼學、信息安全。

潘笑笑(1993?),男,安徽宿州人,南京郵電大學碩士生,主要研究方向為云安全。
王志偉(1976?),男,江蘇揚州人,博士,南京郵電大學教授,主要研究方向為信息安全、密碼學。

肖甫(1980?),男,湖南邵陽人,博士,南京郵電大學副教授,主要研究方向為無線傳感器網絡、信息安全等。
王汝傳(1943?),男,安徽合肥人,博士,南京郵電大學教授,主要研究方向為信息安全、無線傳感器網絡等。
2017?12?22;
2018?10?11
國家自然科學基金資助項目(No.61373006, No.61373139, No.61672016, No.61872192);江蘇省科技支撐計劃基金資助項目(No.61003236)
The National Natural Science Foundation of China (No.61373006, No.61373139, No.61672016, No.61872192), The Scientific of Technolgical Suppovt Project of Jiangsu Province (No.61003236)