?

一種基于可信第三方的CP-ABE云存儲訪問控制方案*

2017-02-09 09:52錢沖沖
計算機與數字工程 2017年1期
關鍵詞:分塊訪問控制密鑰

錢沖沖 解 福

(山東師范大學信息科學與工程學院 濟南 250000)

?

一種基于可信第三方的CP-ABE云存儲訪問控制方案*

錢沖沖 解 福

(山東師范大學信息科學與工程學院 濟南 250000)

針對云環境下數據存儲和訪問控制的安全性問題,提出了一種基于可信第三方的CP-ABE(密文策略的屬性加密機制)訪問控制方案。該方案在基于數據分塊的基礎上,通過引入可信第三方,有效解決了數據安全性及用戶端密鑰的管理與分發、負載過大等問題;并采用CP-ABE機制保證了安全的訪問控制。分析結果表明該方案能有效地實現云環境下的安全和細粒度地訪問控制,并有效地降低了用戶端的負載量。

云存儲; 數據分塊; CP-ABE算法; 訪問控制; 密鑰

Class Number TP309.2

1 引言

云計算[1]是指以大規模計算、數據、存儲等分布式資源鏈接在一起,形成以虛擬化為核心的共享資源池。隨著云計算技術的高速發展,云存儲已是云環境中或不可缺的一部分[2]。云存儲[3]通過各種軟件將地理位置不同、具有獨立功能的存儲設備連接起來,實現數據存儲、訪問控制以及共享資源的功能。云存儲作為[4]云計算中一項重要的服務形式,它允許數據擁有者將數據存儲在云端服務器,由云端服務器向數據訪問者提供數據訪問服務。當把數據存儲云端服務器后,數據的管理權與所有權與數據擁有者相分離,而云端服務商及特權用戶可能會非法獲取用戶的隱私數據,因此,如何保護云端數據的安全性,提供安全合法的訪問控制是我們必須關注的重要問題。

大多數基于傳統的數據加密方法和訪問控制方案仍然被用于保護云端服務器中數據的安全,然而這些方法在實際的操作過程中增大了開銷。針對這種情況,文獻[5]提出了一種基于數據分割與分級的云存儲數據訪問控制方案。即把需要上傳到云端服務器的數據進行分割,雖然這種分割策略加強了安全性,但卻增大了時間性能,并不能應用于云計算的高速發展。在2005年,研究者Sahai與Waters等提出[6]基于屬性的加密算法(Attribute-based Encryption,ABE);在2006年Goyal等提出[7]基于密鑰策略的屬性加密機制(Key-Policy Attribute Based Encryption,KP-ABE),在2007年Bethencount等提出[8]基于密文策略的屬性加密機制(Ciphertext-Policy Attribute Based Encryption,CP-ABE)。其中,CP-ABE機制結合加密算法和訪問控制技術的優點,是一種[8~9]有效地訪問控制機制。在2015年,施榮華等提出了[10]云環境下一種基于數據分割的CP-ABE隱私保護方案,能夠有效解決云數據共享訪問時的安全與隱私問題。此方案雖然把系統開銷降低了,安全性也增強了。但存在以下兩個方面的不足: 1) CP-ABE算法必須要清楚所有訪問數據塊的用戶屬性,而用戶的屬性集隨著時間和版本的變化而需動態地改變,數據擁有者需動態實時地了解所有訪問數據用戶的屬性集,從安全和用戶隱私的角度來說不能實現。 2) 云端需親自向有訪問數據權限的用戶分發密鑰,這不僅加大了數據擁有者的工作量,而且通信通道的安全性也不能保證。本文結合數據分割和CP-ABE算法,提出了一種基于可信第三方的云安全存儲方案,有效地解決了以上問題。

2 相關知識

2.1 數據分塊

文獻[11]在2007年提出了線性數據分割的方法LPCA(Linear Partition Combination Algorithm),利用線性方法對存儲的數據進行分割,雖然此方法適用于大數據的分布存儲,但是安全性不高。隨后有研究者提出了另一種新的數據分割方法[5],即將數據上傳到云端服務前;將數據分割為兩部分,分別是大數據塊、小數據塊,在本地存儲小數據塊;根據用戶所需的不同級別的加密策略加密大數據塊,并在云端服務器存儲大數據塊。

數據分塊的原理:將需存儲的數據分解成m個分塊,當擁有s個分塊且滿足s≤m,才能恢復原始數據。這種分塊方法的特點是當n=m-s個分塊被毀壞或丟失的時候仍能恢復原數據;且小于s個分塊被丟失或破壞時,原數據不能被恢復,從而增強了安全性。

數據分塊的具體方案:對于小數據塊采用抽取大小固定的方法分割小數據塊,即將小數據塊的具體大小固定為1K(也就是選取1024個字節)。具體步驟如下:

1) 產生0~M(M為文件大小)之間的隨機數序列Rs(Random Sequence)。

2) 將Rs按增序進行排序,按序從原文件位置抽取字節。

3) 將按增序排列Rs與抽取的字節共同存儲作為小數據塊;剩余數據作為大塊數據。

該方案的特點是:小數據塊的大小相對固定,易于管理,不會產生讀或寫的壓力。但有可能產生不均勻的隨機數,會造成大片連續數據的存在,破解后極有可能會從中解析出一些重要的信息,另一方面分割時間0(M),對于M的合理選擇難度非常大。

2.2 基于屬性的加密機制(ABE)

基于屬性的加密機制(ABE)是在基于[12~13]身份加密機制的基礎上提出來,通過用屬性集表示用戶身份。ABE的優勢是依據訪問策略制定訪問結構,如果用戶想獲得明文數據,則用戶提交的屬性集必須符合密文或密鑰的訪問策略,才能解密。這樣一方面減輕了密鑰管理的負擔,限制用戶的解密能力,另一方面也保護了密文。

2.3 CP-ABE算法

CP-ABE的核心思想:用戶私鑰與屬性集關聯,密文與訪問結構關聯。即只有用戶提交的屬性集符合訪問結構時,才能獲取明文?;贑P-ABE算法的最大優點: 1) 在加密前不需要了解具體的接受方的身份和數量,只要滿足解密條件或者符合解密策略的接收者都可以解密加密后的消息。 2) CP-ABE具有靈活性滿足加密者的需求,并適合應用動態的解密且分布式環境。

CP-ABE算法的相關定義:

1) 屬性:設E={E1,E2,E3,…,En}為所有屬性的集合,D∈{E1,E2,E3,…,En},則D代表每個用戶的屬性,那么n個屬性可以鑒別2n個用戶。

2) 訪問結構[14]:訪問結構ES是屬性集E={E1,E2,…,En}的一個非空子集,ES∈{E1,E2,…,En}。

3) 訪問樹:葉子節點表示屬性;非葉子節點表示門限關系,可以是或門限(Or)、與門限(And)等。

CP-ABE算法主要由四部分組成:

1) 系統初始化:數據提供者利用Setup函數生成公鑰Pk(Public Key)和主密鑰Mk(Main Key)。

2) 加密:CT=Encrypt(Pk,G,T)對明文G使用(Encrypt)加密函數,訪問樹T進行加密后,得到密文CT。

3) 生成私鑰:Sk=keyGen(Mk,D)。采用Mk和D生成私鑰SK。

4) 明文數據:W=Decrypt(CT,Sk)。使用私鑰SK對密文進行解密,得到明文數據W。

2.4 基于數據分割的CP-ABE訪問控制方案

本文已經介紹了CP-ABE算法和數據分割方法,基于數據分割的CP-ABE加密方案具體步驟如下:

數據擁有者需要將上傳到云端服務器的數據進行分割,分為大數據塊和小數據塊;并用CP-ABE算法對小數據塊進行加密;用中、低強度算法對大數據塊進行加密。

用戶訪問云端數據,首先判斷用戶提交的相關信息是否屬于小數據塊的屬性結合;如果屬于則用CP-ABE算法對小數據塊進行解密。最后將大數據塊和小數據塊進行組裝,恢復原始數據信息。

基于數據分割的CP-ABE加密方案如圖1所示。

圖1 數據分割的CP-ABE加密機制方案

3 基于可信第三方的CP-ABE訪問控制方案

通過圖1可以看出,此方案雖然加強了安全性;但是CP-ABE算法需要知道所有訪問小數據塊用戶的屬性,親自向有訪問權限的用戶親自分發密鑰。從系統安全和用戶隱私方面來說在實際應用中不現實,而且極大地增加了數據擁有者的工作量。因此,針對這種情況,本文提出一種基于可信第三方數據分塊的CP-ABE設計方案,如圖2所示。本方案具體過程如下:

1) 將數據存儲在云端服務器的過程包括以下幾個步驟:

(1)數據準備:數據擁有者將需存儲在云端的數據進行分塊,分割成大數據塊、小數據塊。

(2)加密數據:在將小數據上傳到云端服務器前,首先選取合適的對稱加密(3DES)算法加密小數據塊。

(3)密鑰密文生成:首先對CP-ABE算法初始化,生成Mk和Pk。數據擁有者制定訪問策略,其次,使用CP-ABE加密密文小數據塊,得到解密密鑰。最后,將密文和解密密鑰分別傳輸到云端服務器和可信第三方。

(4)生成私鑰:用戶屬性與SK關聯,將私鑰傳到可信第三方。用戶提交的屬性集合必須滿足小數據塊的T,才可以獲得解密密鑰對小數據塊進行解密。

(5)對大數據塊采用TEA算法進行加密。在可信第三方上存儲密鑰,將加密的密文存儲在云端服務器。

(6)將與小數據塊、大數據塊的有關信息上傳到云端服務器。

2) 用戶訪問云端數據的過程包括以下幾個步驟:

(1)驗證:云端服務器首先檢查用戶的信息,查看與用戶相關的信息判斷用戶是否屬于小數據塊。

(2)數據塊解密:在可信第三方中存在三種密鑰,分別是小數據塊的解密密鑰和私鑰,大數據塊的解密密鑰。如果用戶要訪問云端的數據必須全部擁有三把密鑰才能獲取訪問權限。

(3)將大數據塊和小數據塊進行合并,用戶就可以獲得明文。

(4)用戶權限的撤銷:數據擁有者在進行對小數據塊訪問權限的更改時,每次都需要將訪問結構重新定義才能使已經失去權限的用戶不能獲得解密密鑰。為了減少將訪問結構重新定義產生的復雜計算問題,可以將訪問樹中根節點的子節點用用戶屬性集中的標識屬性來表示。這樣的好處是不用修改整棵訪問樹,每次對用戶訪問小數據塊的權限撤銷時,只需將此用戶相對應的訪問樹中的標識屬性直接刪除就可以。

在實際應用中,一方面由于CP-ABE算法效率不高,假如用CP-ABE算法加密全部的數據,那將會導致系統的開銷非常大。另一方面隨著云的飛速發展,會有大量的數據存儲在云端,那么用戶的屬性集也會越來越多。因此,在圖2中本方案采用DES算法對小數據塊進行加密,有效地降低了系統開銷;然后把生成的訪問結構,密鑰發送給可信第三方,可信第三方依據訪問結構并使用CP-ABE算法得到私鑰,最后把密文上傳到云端服務器。不能將密文和密鑰同時存儲在云端,這樣的優勢是防止云端服務商有特權的用戶會窺探數據內容。當有數據更新時,只需將密文重新生成并上傳到云端服務商。若需更改用戶訪問權限時,只要把訪問結構重新更新后上傳到可信第三方即可;而將剩余的工作交給可信第三方,減少了數據擁有者將密鑰重新生成、分發的時間量。而且由于大數據塊在分塊的基礎上采用了簡單、速度快、效率高、系統開銷低的TEA算法,因此使得本方案的安全性比較好,并且有效降低了系統開銷。

圖2 基于可信第三方的CP-ABE云存儲架構

4 方案分析

4.1 安全性分析

云存儲系統安全的關鍵:數據安全性、數據機密性、訪問權限的控制。

1) 訪問權限控制。本方案采用CP-ABE機制作為訪問權限控制,密鑰密文表示兩種不同的控制權限,當用戶可以解密密鑰或密文時,說明擁有讀或者讀寫的權限,并通過在訪問結構中引入用戶標識屬性,解決了由用戶屬性的撤銷而引起的權限撤銷等問題。

2) 數據的機密性。在本方案中,在數據分塊的基礎上分別采用DES算法和TEA算法分別加密大、小數據塊;使用CP-ABE算法控制用戶的訪問權限。當用戶訪問云端服務器的數據時,從可信第三方獲得訪問結構、密鑰返回給訪問小數據塊的用戶。整個系統在實現中,云端服務商不會獲得任何關于訪問樹和解密密鑰的信息,保證了數據在云端服務器的機密性。

3) 數據的安全性。在本方案中采用數據分塊和將密鑰存儲在可信第三方。分塊使得攻擊者不能完全恢復數據;可信第三方存儲密鑰,不會造成密鑰的泄露,從而保證了數據的安全性。

4.2 模擬實驗與性能分析

模擬實驗的環境是在Matlab上進行數據仿真,實驗環境如下:操作系統win8 64位,CPU為Intel Core i3-3110M 2.40GHZ,內存為4GB,仿真軟件Matlab 7.x。將小數據塊分割成12塊,文件大小為1.5MB。通過仿真實驗來比較采用CP-ABE方案加密所有的數據塊時和本方案加密小數據塊的加密時間的變化。

圖3 用CP-ABE分別加密小數據塊和 采用CP-ABE加密所有數據的, 在文件大小為1.5MB時,加密時間的比較

圖4 用CP-ABE分別加密小數據塊和 采用CP-ABE加密所有數據的, 在文件大小為12MB時,加密時間的比較

從圖3和圖4所示,本方案在屬性數量較少的時候加密時間比較高,但隨著屬性數量的增加本方案的加密時間會變得相對小一些,在云存儲中,用戶屬性的個數隨著數據的增多而增加,所以基于可信第三方的CP-ABE方案非常適合應用在云存儲中。

表1 基于小數據塊的兩種方案的時間復雜度比較

將本文提出的方案與文獻[7]提出的方案進行復雜度分析比較,兩種方案的時間復雜度比較如表1所示,其中TCA表示CP-ABE算法加密的次數,ES表示DES加密的次數。

5 結語

本文提出了基于可信第三方的CP-ABE云存儲安全訪問控制方案,利用CP-ABE機制控制管理用戶的訪問權限,實現了云存儲中安全的訪問控制。將密鑰和CP-ABE加密操作轉移到可信第三方完成,從而保證了安全性并減少了用戶端的工作量,在確保云存儲中的數據安全的同時,利用可信第三方進一步降低用戶端的負擔量,將是后續研究工作的任務。

[1] 康瑛石,王海寧,虞江鋒.基于云計算的虛擬化系統研究[J].電信科學,2011,04(5):61-67. KANG Yingshi, WANG Haining, YU Jiangfeng. The virtualization system research based on cloud computing[J]. Journal of Telecom Science,2011,04(4):61-67.

[2] 潘華,尹芝.云存儲在高效數字資源建設中的應用[J].中國新通信,2013,23(3):93-94. PAN Hua, YIN Zhi. The application of the cloud storage in high efficiency digital resources construction[J]. China New Communication,2013,23(3):93-94.

[3] 高健,曾康,金恒展,等.基于CP-ABE的云存儲數訪問控制方案[J].東北大學學報,2015,10(36):16-21. GAO Jian, CENG Kang, JIN Hengzhan, et al. Cloud storage data access control scheme based on CP-ABE[J]. Journal of Northeastern University,2015,10(36):16-21.

[4] 邊根慶,高松,邵必林.面向分散式存儲的云存儲安全架構[J].西安交通大學學報,2011,45(4):41-45. BIAN Genqing, GAO Song, SHAO Bilin. Cloud storage security architecture for distributed storage[J]. Journal of Xi’an Jiaotong University,2011,45(4):41-45.

[5] 徐小龍,周靜嵐,楊庚.一種基于數據分割與分級的云存儲數據隱私保護機制[J].計算科學,2013,40(2):98-102. XU Xiaolong, ZHOU Jinglan, YANG Geng. Cloud storage data privacy protection mechanism based on data segmentation and classification[J]. Computing Science,2013,40(2):98-102.

[6] Sahai A, Waters B. Fuzzy identity — based encryption[C]//Proe of the 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques. Berlin: Spinger-Verlag,2005:457-4733.

[7] Goyal V, PANDEY O, SAHAI A, et al. Attribute based encryption for fine-grained access control of encrypted data[C]//Proc of ACM Conference on Computer and Communications Security. New York: ACM Press,2006:89-98.

[8] Bethencount J, Sahai A, Waters B. Ciphertext-policy attribute-based encryption[C]//Proc of IEEE Symosium on Security and Privacy. [S.l.]: IEEE Press,2007:321-334.

[9] 孫國梓,董宇,李云.基于CP-ABE算法的云存儲數據訪問控制[J].通信學報,2011,32(7):146-152. SUN Guozi, DONG Yu, LI Yun. Cloud storage data access control based on CP-ABE algorithm[J]. Journal of Communication,2011,32(7):146-152.

[10] 施榮華,劉鑫,董健,等.云環境下一種基于數據分割的CP-ABE隱私保護方案[J].計算機應用研究,2015,32(2):522-527. SHI Ronghua, LIU Xin, DONG Jian, et al. A CP-ABE privacy protection scheme based on data partitioning in cloud environment[J]. Application Research of Computers,2015,32(2):522-527.

[11] 張薇,馬建峰.LPCA-分布式存儲中的數據分離算法[J].系統工程與電子技術,2007,290(3):453-458. ZHANG Wei, MA Jianfeng. LPCA-data separation algorithm in distributed storage[J]. System Engineering and Electronic Technology,2007,290(3):453-458.

[12] Shamir A. Identity-based cryptosystems and signature schemes[C]//Advances in Cryptology, Lncs 196. Berlin: Springer,1985:47-53.

[13] Boneh D, Matt F. Identity-based encryption from the Weil pairing[C]//Advances in Cryptology-Crypto 2001, Lncs 2139. Berlin: Springer,2001:213-229.

[14] Yu S, Wang C, Ren K, et al. Achieving secure, scalable, and fine-grained data access control in cloud computing[J]. In INFOCOM, 2010 Proceedings IEEE,2010:1-9.

Cloud Storage Access Control Scheme Using CP-ABE Based on Trusted Third Party

QIAN Chongchong XIE Fu

(School of Information Science & Engineering, Shandong Normal University, Jinan 250000)

According to the security problems of data storage and access control under cloud environment, this paper proposes a CP-ABE(cipher text policy-attribute based encryption scheme) based on trusted third party. Based on the data clock, by introducing trusted third party, this scheme effectively solves the problems of data security, the distributiono and management of users key and too large load, and the CP-ABE mechanism is used to ensure the security of access control. The analysis results show that the scheme can effectively achieve the cloud environment safety and fine-grained access control, and effectively reduces the load of the user.

cloud storage, data partition, CP-ABE algorithms, access control, key

2016年7月5日,

2016年8月17日

錢沖沖,女,碩士研究生,研究方向:信息管理大數據、云安全等。解福,男,博士,副教授,研究方向:云安全。

TP309.2

10.3969/j.issn.1672-9722.2017.01.026

猜你喜歡
分塊訪問控制密鑰
一種跨策略域的林業資源訪問控制模型設計
面向量化分塊壓縮感知的區域層次化預測編碼
鋼結構工程分塊滑移安裝施工方法探討
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
密碼系統中密鑰的狀態與保護*
一種面向不等尺寸分塊海量數據集的并行體繪制算法
分塊矩陣初等變換的妙用
內外網隔離中ACL技術的運用
TPM 2.0密鑰遷移協議研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合