摘 要: 針對云存儲服務中用戶訪問權限撤銷計算與帶寬代價過大、復雜度過高等問題,以密文策略的屬性加密體制 (CP?ABE)的密文訪問控制方案作為理論背景,設計一種基于動態重加密的云存儲權限撤銷優化機制,即DR?PRO。該機制利用[(k,n)]門限方案,將數據信息劃分成若干塊,動態地選取某一數據信息塊實現重加密,依次通過數據劃分、重構、傳輸、提取以及權限撤銷等子算法完成用戶訪問權限撤銷的實現過程。通過理論分析與模擬實驗評估表明,在保證云存儲服務用戶數據高安全性的前提下,DR?PRO機制有效地降低了用戶訪問權限撤銷的計算與帶寬代價,其性能效率得到了進一步優化與提高。
關鍵詞: 云存儲; 密文訪問控制; 權限撤銷; 動態重加密; CP?ABE; DR?PRO
中圖分類號: TN911?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2016)21?0001?06
Design of an improved privilege management mechanism for cloud storage platform
BU Zhiqiong1, 2, ZHENG Bojin3
(1. School of Computer Science, South China Normal University, Guangzhou 510631, China;
2. Guangdong Polytechnic Normal University, Guangzhou 510665, China; 3. South?Central University for Nationalities, Wuhan 430074, China)
Abstract: In order to solve the overhead computing and bandwidth, and high complexity problems existing in user access privilege revoking of cloud storage service, a dynamic re?encryption based cloud storage privilege revoking optimizing (DR?PRO) mechanism was designed, which takes the ciphertext access control scheme based on attribute encryption system of ciphertext scheme (CP?ABE) as the theoretical background. The [(k,n)] threshold scheme is adopted by DR?PRO mechanism to divide the data information into blocks, and select a certain data information block dynamically for re?encryption. The data information block is processed with the sub?algorithms of data division, reconstruction, transmission and extraction successively to accomplish the realization process of user access privilege revoking. The theoretical analysis and experimental evaluation results show that, on the premise of ensuring the high data security of cloud storage service user, the DR?PRO mechanism reduced the overhead computing and bandwidth of the user access control privilege revoking efficiently, and its performance and efficiency were optimized and improved further.
Keywords: cloud storage; ciphertext access control; privilege revoking; dynamic re?encryption; CP?ABE; DR?PRO
0 引 言
隨著云存儲技術的不斷發展,其云存儲服務逐漸受到個人和企業用戶的青睞。與此同時,云存儲中用戶數據保護與服務性能問題也得到產業界與學術界越來越多的關注。為了滿足云存儲服務中用戶數據保護的安全性需求,引入密文訪問控制機制,用于保證用戶數據存儲與共享應用安全[1]。但是,密文訪問控制機制增加了云存儲用戶的計算與帶寬代價,特別是在用戶訪問權限更改次數過多的情況下,間接降低了云存儲服務訪問的效率與處理性能,造成用戶訪問延時等。因此,在保持云存儲服務中用戶數據高安全性的條件下,如何有效解決用戶權限撤銷代價過大、復雜度過高等問題,成為云存儲數據信息安全保護的熱點研究方向。
近年來,國內外研究學者已開展了深入研究,如文獻[1]提出一種基于完全重加密的用戶訪問權限撤銷機制,在將用戶數據信息傳輸至云存儲服務器之前,此機制對云存儲用戶數據信息統一進行重加密,進行權限撤銷時,數據擁有者再次重新加密全部數據信息。盡管保證了云存儲服務中用戶數據信息的高安全性,然而完全重加密其計算與帶寬代價過大,出現很大的云存儲服務性能瓶頸;文獻[2]提出一種懶惰重加密的用戶訪問權限撤銷機制,試圖改變完全重加密代價過大的問題,但是,在云存儲服務用戶數據信息安全性上確有所降低,該機制只能應用于用戶數據訪問權限要求不夠嚴格的情況下;文獻[3]與文獻[4]分別提出一種基于雙層重加密與代理重加密的用戶訪問權限撤銷機制,此類機制均需要一個假設的可信第三方,主要用于完成用戶訪問權限撤銷過程中的數據重加密工作,處理部分數據擁有者指定的操作步驟,目的是為了降低密文訪問控制機制帶來的計算與帶寬代價,然而,此類機制可能會暴露或泄露操作的詳細用戶數據,存在一定的安全風險;基于代理重加密算法,研究學者們提出了眾多改進的代理重加密算法[5?7],此處不過多描述;文獻[8]提出一種密鑰撤銷的用戶訪問權限撤銷機制,與前面的各種重加密算法不同,該機制中的密鑰表示的是用戶特征,通過撤銷用戶特征實現對用戶訪問權限的撤銷,其優點是權限變更頻繁時,仍能保持簡潔的訪問控制模型,并有效降低了重加密算法中的計算與帶寬代價,缺點在于其密鑰撤銷技術實現難度大;在文獻[8]的基礎之上,文獻[9]設計出一種基于身份加密的用戶訪問權限撤銷機制,但不能應用于CP?ABE密文訪問控制方案;基于密鑰撤銷技術,研究學者們同樣設計出很多改進的用戶訪問權限撤銷機制[10?12],但均存在一定的局限性。
針對上述問題,本文以CP?ABE密文訪問控制作為方案背景,提出一種基于動態重加密的云存儲權限撤銷優化機制,即DR?PRO。該機制利用[(k,n)]門限方案,將數據信息劃分成若干塊,動態地選取某一數據信息塊實現重加密,依次通過數據劃分、重構、傳輸、提取以及權限撤銷等子算法完成用戶訪問權限撤銷實現過程。理論分析與實驗評估表明,在保證云存儲服務數據高安全性的前提下,DR?PRO機制有效地降低了用戶訪問權限撤銷的計算與帶寬代價,其性能效率得到了進一步優化與提高。
1 [(k,n)]門限方案
[(k,n)]門限方案可以將整個數據信息[F]劃分為[n]份不同的共享數據塊,假設某個人獲取到[n]份共享數據塊中的[k]份,那么說明可以重構[F。]與之對應,若獲取的共享數據塊少于[k]份,那么就缺少有效數據信息,不可以重構[F。][(k,n)]門限方案可以存儲數據擁有者的有效信息,存儲具有持久性、高安全性,并且無需維護相關密鑰信息。所以,[(k,n)]門限方案被廣泛應用于存儲系統中。
正是基于[(k,n)]門限方案的存儲持久性、高安全性的特點,在云存儲權限撤銷優化機制中引入了[(k,n)]門限方案中[k=n]時的特定情況,即將整個數據信息[F]劃分為[n]份不同的共享數據塊之后,只有完全獲取到[n]份共享數據塊才可以重構[F],此時也稱之為[(n,n)]門限方案。[(n,n)]門限方案的實現方式可以是兩種:第一種可以直接指定[k=n]或丟失[n-k]份共享數據塊;第二種就是直接形成一個[(n,n)]門限方案。假設[D]表示共同擁有的秘密信息,第一步隨機產生[n-1]個與[D]相同大小的信息[X1,X2,…,Xn;]第二步通過[X1⊕X2⊕…⊕Xn-1⊕D]獲取[Xn;]第三步獲取[D]的[n]份共享數據塊[X1,X2,…,Xn]。除了上述特點之外,[(n,n)]門限方案可以動態地選取某一數據信息塊實現重加密,進行用戶訪問權限撤銷處理時,其計算與帶寬代價降低至完全重加密的[1n],同時也有效降低了秘密共享代價。
與此同時,研究學者們基于[(k,n)]門限方案設計出很多存儲空間利用率更高的改進門限方案。如文獻[13]設計出一種數據分散算法,其所需存儲空間更小,其計算與帶寬代價得到提升,然而其數據安全性遜色于[(k,n)]門限方案;文獻[14]設計出一種新型的信息編碼機制,實現原理與[(n,n)]門限方案類似,因此又稱為[(n+1,n+1)]門限方案,此機制的信息編碼性能較高,復雜度較低,在數據安全應用中得到廣泛推廣。
2 DR?PRO機制
2.1 動態重加密
動態重加密是處于完全重加密與懶惰重加密之間的一種折中機制,分別汲取了各自優勢,其基本原理如下:結合某種編碼運算技術,首先將整個數據文件[F]劃分成[n]份不同的共享數據塊,然后將其傳輸至云存儲服務器;對[F]進行重加密操作時,動態地選取某一共享數據塊進行實現,用于代替重加密全部數據文件。如圖1所示,其中靜態數據表示[F]中無需重加密部分,相對應,動態數據表示[F]中需要重加密部分。
2.2 云存儲權限撤銷優化算法
以CP?ABE的密文訪問控制方案作為理論背景,動態重加密機制可通過相關數據流程子算法加以實現,主要由數據劃分、重構、傳輸、提取以及權限撤銷等子算法完成用戶訪問權限撤銷的實現過程。
2.2.1 數據劃分子算法
此處基于文獻[14]中的信息編碼機制,對文獻[13]中的數據分散算法進行改進實現。
(1) 使用文獻[14]中的信息編碼機制完成數據文件[F]的編碼運算;
(2) 使用文獻[13]中的數據分散算法將編碼運算結果劃分為[n]份不同的共享數據塊。若數據文件[F]有[t]字節大小,字節長度是[w]比特,[E]表示基于密鑰的數據加密算法,其數據劃分子算法偽代碼如下:
算法1:數據劃分子算法
輸入: 數據文件[F]:[m1,m2,…,mt;]數據劃分大小:[n]
輸出: 密鑰信息[K1,]數據塊:[s1,s2,…,sn]
1.計算[F]的完整性度量參數[mt+1=]hash[(m1,m2,…,mt)];
2.選取一個臨時密鑰信息[K], 用于[E]的加密運算;
3.編碼運算: [ci=mi⊕Ek(i)], 且[1≤i≤t+1;]
4.獲取密鑰信息[K1=K⊕h1⊕h2⊕…⊕ht+1,]且[hi=hash(ci) ;]
5.關聯編碼運算結果,將其作為[(n,n)]門限方案的輸入參數;
6.執行文獻[13]中的數據分散算法, 輸出[n]份不同的共享數據塊[s1,s2,…,sn]。
編碼運算結果[ct+1]可應用于數據信息完整性校驗操作。從本質而言,數據劃分子算法相當于[(n,n)]門限優化方案。
2.2.2 數據重構子算法
與數據劃分相對應,數據重構是其逆向操作,其數據重構子算法的偽代碼如下:
2.2.3 數據傳輸子算法
數據文件[F]被劃分之后,傳輸至云存儲服務器中需要通過數據傳輸子算法實現,其算法偽代碼如下:
2.2.4 數據提取子算法
由于原始數據文件[F]已被加密處理,當被傳輸至云存儲服務器之后,[URL]標識無需進行數據保護,全部數據用戶均可以獲取[URL]標識,但只有對應權限的數據用戶才能解密提取原始數據文件[F]。其數據提取子算法偽代碼如下:
數據文件[F]傳輸至云存儲服務器之后,用戶可能因某種原因需更新數據文件[F]相對應的訪問控制結構[T],此時需要對用戶權限進行授予操作。
2.2.5 權限撤銷子算法
基于動態重加密的權限撤銷實現細節較為復雜,用戶需先對[E′T(K1+K2)]進行提取,然后對動態數據進行重加密操作,其中動態數據是隨機選取的。其算法偽代碼如下:
3 理論分析與實驗評估
3.1 安全性分析
DR?PRO機制的安全性分析主要包括以下兩個部分。
3.1.1 密文安全性
數據文件[F]傳輸至云存儲服務器之后的密文種類主要有[E′T(K1+K2),][Ek2(si)]與[s1,s2,…,si-1,si+1,…,sn。][E′T(K1+K2)]是通過基于CP?ABE的云存儲密文算法產生而來,符合可證安全性要求。[s1,s2,…,si-1,si+1,…,sn]是由文獻[14]的信息編碼機制計算獲得,若無[si],攻擊者只可以獲取[si,]而得不到有效數據信息,所以說明[s1,s2,…,si-1,si+1,…,sn]具有計算安全性。對于[Ek2(si)]而言,整個權限撤銷實現過程進行了兩次加密操作,現依次進行分析。
[Ek2(si)]第一次加密是在信息編碼環節,數據文件[F]編碼運算時采取的密鑰信息[K1]是基于CP?ABE加密產生的。因此,攻擊者只有同時獲取[K1]與[s1,s2,…,sn]時,才有可能重構數據。即使這樣,攻擊者得到了[si],仍需破解[K1]才可以獲取[si]中的有效數據。破解[K1]的惟一方式只有枚舉法,假定[K1]是[w]比特長度,那么攻擊者破解[K1]的復雜度是[2w]。所以,[Ek2(si)]在信息編碼環節的加密操作是具有計算安全性的。
[Ek2(si)]第二次加密是在數據劃分環節,首先通過數據劃分子算法,數據文件[F]被劃分成[n]份不同的共享數據塊;其次,對[si]進行對稱加密操作。攻擊者只有得到[s1,s2,…,sn]才可以重構數據。[si]通過[(n,n)]門限優化方案編碼產生,具有計算安全性,并且對稱加密的密鑰信息[K2]是基于CP?ABE加密產生的,具有可證安全性。所以,攻擊者破解[si]與[K2],同樣需要通過枚舉法,其復雜度太大。從而說明,[Ek2(si)]在數據劃分環節的加密操作具有計算安全性。
3.1.2 動態重加密安全性
主要從以下兩種常見攻擊方式著手,分析基于動態重加密的DR?PRO機制的安全性。
(1) 不可信[CSP]攻擊。若不可信[CSP]具有長期存儲數據能力,在數據文件[F]傳輸至云存儲服務器之后,即使移除了數據信息,仍有可能實現數據恢復。在數據傳輸環節,對[CSP]而言,數據文件[F]的安全狀態轉換如圖2所示。當數據文件[F]傳輸至云存儲服務器時,[CSP]不可以得到有關[F]的有效數據,處于鎖定狀態。當權限撤銷完成實現之后,用戶重加密[sj]用于替換[ET(si)]。若[i≠j,]那么[CSP]可以得到[si]與[sj,]即獲得[s1,s2,…,sn]。然而,[CSP]無法獲取[K1,]無法重構數據。對[CSP]來說,[F]的安全狀態轉換成信息編碼鎖定。
(2) 用戶惡意非授權攻擊。若用戶具有一定的緩存能力,如可緩存密鑰信息等。一般情況下,用戶不具備完全限制數據緩存能力,對用戶而言,數據文件[F]的安全狀態轉換如圖3所示。在用戶被授權可訪問數據之前,數據文件[F]一直處于鎖定狀態。在訪問授權之后,用戶依次獲取了[E′T(K1+K2),][K1,][K2]以及[F,]安全狀態轉換成打開。在權限撤銷實現過程完成之后,用戶進行動態重加密處理,調整[K2]且重加密動態數據,[F]的安全狀態轉換成數據劃分鎖定。
通過上述分析可知,在不可信[CSP]與用戶惡意非授權攻擊方式下,基于動態重加密的DR?PRO機制具有較高的計算安全性。
3.2 性能分析
結合數學形式化思維對基于動態重加密的DR?PRO機制進行優化性能分析。設置相關常變量參數,如表1所示。
假定[Tsplit]表示數據劃分所需的時間長度,可知:
假定[Trevoke]表示權限撤銷所需時間長度,計算如下:
此處將與文獻[1]與文獻[2]提出的權限撤銷機制進行性能比較。假定100 MB的數據文件[F,]劃分塊數為10,[(n,n)]門限方案的編碼速度是50 MB/s,有[N=13 107 200,][n=10,][Eida=Dida=50,]那么基于動態重加密的DR?PRO機制與文獻[1]與文獻[2]提出的權限撤銷機制性能對比如圖4所示。
從圖4可知,基于動態重加密的DR?PRO機制是文獻[1]與文獻[2]提出的權限撤銷機制之間的折中方案。在權限撤銷環節,DR?PRO機制性能高于文獻[1]機制,盡管文獻[2]機制計算與帶寬代價較低,然而其安全性最差。在數據傳輸與提取階段,DR?PRO機制由于補充了數據劃分與重構處理,其時間代價較高,然而降低了本身計算與帶寬代價。
用戶總時間代價是數據傳輸與權限撤銷時間代價的總和:
[Tmanage=Ttransfer+Trevoke] (6)
假定[x]表示重加密次數,當達到某一閾值[xi]時,DR?PRO機制優化能力逐漸得到體現。如圖5所示。
3.3 實驗與結果分析
此處基于C++的CP?ABE的密文云存儲平臺對DR?PRO機制進行性能測試實驗,平臺運行在Linux環境下。測試實驗過程中需引用部分算法實現,如AES?192,SHA?256等;需添加CP?ABE工具庫[15],完成CP?ABE加密;需結合信息劃分算法開源示例,完成[(n,n)]門限方案的實現。
實驗原型平臺由一個服務器端運行程序與客戶端運行程序組成,用戶執行服務器端運行程序,可完成數據傳輸與權限撤銷環節;用戶執行客戶端運行程序,可完成數據提取環節。在服務器端實現CP?ABE算法,服務器端運行程序與客戶端運行程序均由單線程實現,云存儲平臺使用Hadoop的HDFS,將其安裝運行在Ubuntu系統上。實驗設備所需配置要求如表2所示。
由于密鑰相對于數據文件而言,大小可忽略不計。因此實驗中不考慮密鑰存儲代價,只關注動態重加密存儲代價。
此處仍使用文獻[1]與文獻[2]的重加密機制與本文DR?PRO機制進行實驗對比。現考慮以下兩種實驗情況,如圖6,圖7所示。
(1) 數據文件[F]大小逐漸增加,數據塊大小保持不變。從圖6中可知,盡管DR?PRO機制中數據傳輸與提取環節的計算與帶寬代價均高于文獻[1]與文獻[2]中重加密機制,但其權限撤銷環節的計算與帶寬代價遠小于文獻[1]的重加密機制,并長期保持穩定水平。
(2) 數據文件[F]大小保持不變,數據塊大小逐漸增加。從圖7中可知,當數據文件被劃分成共享數據塊的個數逐漸增加時,文獻[1]的重加密機制的權限撤銷始終保持較高代價,而DR?PRO機制的權限撤銷代價逐漸降低,其性能得到進一步優化。
4 結 語
針對云存儲服務中用戶訪問權限撤銷計算與帶寬代價過大、復雜度過高等問題,本文以CP?ABE的密文訪問控制方案作為理論背景,設計出一種基于動態重加密的DR?PRO權限撤銷優化機制。該機制利用[(k,n)]門限方案,將數據信息劃分成若干塊,動態地選取某一數據信息塊實現重加密,依次通過數據劃分、重構、傳輸、提取以及權限撤銷等子算法完成用戶訪問權限撤銷實現過程。安全性分析表明,DR?PRO機制在密文與動態重加密上均具有較高的安全性。性能分析與實驗測試表明,DR?PRO機制有效地降低了用戶訪問權限撤銷的計算與帶寬代價。與同類型的幾種重加密機制相比,其性能效率得到了進一步優化與提高。
參考文獻
[1] YU S C, WANG C, REN K, et al. Achieving secure, scalable and fine?grained data access control in cloud computing [C]// Proceedings of 2010 IEEE International Conference on Computer Communications. Piscataway: IEEE, 2010: 1?9.
[2] LIANG X, CAO Z, LIN H, et al. Attribute based proxy re?encryption with delegating capabilities [C]// Proceedings of 2009 4th International Symposium on Information, Computer, and Communications Security. New York: ACM, 2009: 276?286.
[3] 孫國梓,董宇,李云.基于Cp?abe算法的云存儲數據訪問控制[J].通信學報,2011,32(7):146?152.
[4] 王濤,曾慶凱.動態安全策略的權限撤銷研究[J].計算機應用,2009,29(7):1808?1812.
[5] TIAN X, WANG X, ZHOU A. DSP re?encryption based access control enforcement management mechanism in DaaS [J]. International journal of network security, 2013, 15(1): 28?41.
[6] 洪澄,張敏,馮登國.Ab?accs:一種云存儲密文訪問控制方法[J].計算機研究與發展,2010,47(z1):259?265.
[7] YU S, WANG C, REN K, et al. Attribute based data sharing with attribute revocation [C]// Proceedings of 2010 the 5th ACM Symposium on Information, Computer and Communications Security. New York: ACM, 2010: 261?270.
[8] JAHID S, MITTAL P, BORISOV N. EASiER: encryption?based access control in social networks with efficient revocation [C]// Proceedings of 2011 the 6th ACM Symposium on Information, Computer and Communications Security. New York: ACM, 2011: 411?415.
[9] XU Z, MARTIN K. Dynamic user revocation and key refres?hing for attribute based encryption in cloud storage [C]// Procee?dings of 2012 11th IEEE International Conference on Trust, Security and Privacy in Computing and Communications. Liverpool: IEEE, 2012: 844?849.
[10] LIBERT B, VERGNAUD D. Unidirectional chosen?ciphertext secure proxy re?encryption [J]. IEEE transactions on information theory, 2011, 57(3): 1786?1802.
[11] 程勇.云存儲中密文訪問控制機制性能優化關鍵技術研究[D].長沙:國防科學技術大學,2013.
[12] STEFANOV E, SHI E. Multi?cloud oblivious storage [C]// Proceedings of 2013 ACM SIGSAC Conference on Computer Communications Security. New York: ACM, 2013: 247?258.
[13] DE CAPITANI DI VIMERCATI S, FORESTI S, JAJODIA S, et al. Encryption?based policy enforcement for cloud storage [C]// Proceedings of 2010 IEEE 30th International Conference on Distributed Computing Systems Workshops. Piscataway: IEEE, 2010: 42?51.
[14] 張浩,趙磊,馮博,等.CACDP:適用于云存儲動態策略的密文訪問控制方法[J].計算機研究與發展,2014,51(7):1424?1435.
[15] KUMBHARE A, SIMMHAN Y, PRASANNA V. Designing a secure storage repository for sharing scientific datasets using public clouds [C]// Proceedings of 2011 Second International Workshop on Data Intensive Computing in the Clouds. New York: ACM, 2011: 31?40.