包 沖 李永忠
(江蘇科技大學計算機科學與工程學院 鎮(zhèn)江 212003)
由于信息化的不斷發(fā)展,云存儲技術(shù)[1]已經(jīng)逐漸運用到人們的日常生活中,解決了海量數(shù)據(jù)的存儲、共享、效率等問題。云存儲技術(shù)就是把海量的數(shù)據(jù)資源以分布式的形式上傳至云端,通過權(quán)限設置,隨時為用戶提供存取信息等多種服務的一種技術(shù)。云存儲為用戶提供了便捷、高效的服務,但也面臨著存儲數(shù)據(jù)的安全性和隱私性問題。針對這一現(xiàn)象,本文提出了一種核心技術(shù)來解決云存儲中數(shù)據(jù)安全隱患問題,即 DES 和 CP-ABE[2]混合加密算法的訪問控制技術(shù)。
DES算法[3]流程描述:DES算法對64位的明文分組進行加密操作,首先通過一個初始置換,將64位明文分組成左半部分和右半部分,各32位,這是算法的第一階段;然后進行16輪完全相同的運算,這些運算成為輪函數(shù) f,在運算過程中,數(shù)據(jù)和密鑰結(jié)合,算法的第二階段;經(jīng)過16輪運算后,通過一個初始置換將左半部分和右半部分結(jié)合在一起,得到一個64位的密文,這是算法的第三階段。至此,我們就將大文件進行了加密,得到了密鑰。
2.2.1CP-ABE算法定義
CP-ABE算法[4]的主要原理:加密者對自己的數(shù)據(jù)進行加密,從而能控制主動權(quán),只有滿足密文策略的用戶才有權(quán)利獲取密鑰解密數(shù)據(jù)。其主要包括三個部分:
1)屬性:設 P={P1,P2,…,Pn} ,P 是屬性全集,設每個用戶的屬性集合為C(C是P的非空子集),C?{P1,P2,…,Pn},那么 N 個屬性可以鑒別2N個用戶。
2)訪問結(jié)構(gòu):訪問結(jié)構(gòu)T是P的一個非空子集,T? 2(P1,P2,…,Pn)φ ,T 是屬性的一個判斷條件。
3)訪問樹:描述訪問控制策略[5]的,屬性由每個節(jié)點表示,關系函數(shù)由每個內(nèi)部節(jié)點表示,所以n of m(m>n),OR(1 of m)或者 AND(Mof m)可代表三個不同的函數(shù)。如圖1所示。
圖1 訪問結(jié)構(gòu)樹
2.2.2CP-ABE算法的步驟
CP-ABE算法[6]包括四個部分:
Step1:輸入消息M,輸出主密鑰MK和系統(tǒng)公開參數(shù)PK。這里的輸入消息M是前面對大文件進行加密得到的密鑰而不是整個原始的大文件。
Step2:KS=KeyGen(MK,A):輸入屬性結(jié)合S和主密鑰MK,生成對應的私鑰KS。
Step3:輸入 CTT=Encrypt(PK,M,T)明文M,系統(tǒng)公開參數(shù)PK和訪問控制結(jié)構(gòu)T,輸出密文CTT。
Step4:M=Decrypt(CTT,KS):使用私鑰 KS解密密文后得到明文M,且只有屬性S滿足訪問控制結(jié)構(gòu)T時,Decrypt()才能操作成功并輸出M。
對現(xiàn)有數(shù)據(jù)的安全性進行研究,本文提出了一種新的利用DES和CP-ABE混合加密相結(jié)合的加密算法。該算法分為兩步,第一步是利用DES分塊加密,這主要考慮到其速度快的優(yōu)點,可以對大文件進行加密處理。第二步是利用基于密文策略[7]的CP-ABE對密鑰再次進行加密,這既提高了大數(shù)據(jù)文件的加密速度,同時保證了其安全性,實現(xiàn)了云環(huán)境中多用戶的安全及高效的數(shù)據(jù)訪問。
CP-ABE技術(shù)將用戶的每個權(quán)限用一個屬性來表示,用戶的身份可表示為一個屬性集,加密數(shù)據(jù)時與訪問控制結(jié)構(gòu)相關,用戶的屬性集合[8]只有滿足密文的訪問控制策略時,才能成功解密。與傳統(tǒng)的加密技術(shù)對比,CP-ABE在加密和解密文件時,是根據(jù)屬性和訪問控制結(jié)構(gòu)之間的匹配關系決定的,而無需了解信息共享者之間的規(guī)模和身份信息,具有高效性,隱私性及抗串聯(lián)合性等優(yōu)點。
CP-ABE中的密文嵌入了帶有屬性的訪問控制策略,解密的密鑰是用戶的屬性集合。當且僅當用戶解密密鑰(即屬性集合)滿足密文所關聯(lián)的訪問控制策略時才能成功解密。云存儲中基于CP-ABE的訪問控制結(jié)構(gòu)[9],如圖2所示。
圖2 CP-ABE的訪問控制結(jié)構(gòu)圖
圖中左框密文是由訪問控制結(jié)構(gòu)T組成,T中每個節(jié)點分別代表一個屬性,這些屬性集合由用戶身份ID:Lucy、學校School:Yizhong、教師職位Position:English Teacher組成,這三個屬性的函數(shù)關系由n ofm(m>n),OR(1 ofm)或者AND(Mofm)表示。圖2的訪問結(jié)構(gòu)為ID:Lucy或者既是School:Yizhong又是 Position:English Teacher的人才擁有授權(quán)集合。如果用戶的身份ID是Lucy,不管其他訪問結(jié)構(gòu)是什么,都可以獲得授權(quán)集合來解密文件。而用戶的身份ID不是Lucy,但是學校School:Yizhong并且授課 Position:English Teacher,同樣可以獲得授權(quán)集合來解密密文,除這兩個訪問結(jié)構(gòu)以外的其他結(jié)構(gòu)都不可能解密密文。
至此通過混合法,我們已經(jīng)將原始的大文件層層加密。下面將分析這三個加密算法的安全性和性能指標,并進行相應的對比說明。
在數(shù)據(jù)進行云存儲時,其安全性的地位不言而喻。DES算法的缺點在于其密鑰長度太短,安全性不夠;而CP-ABE算法相比而言,在安全性方面優(yōu)勢明顯。以下從幾個方面來分析CP-ABE算法[10]的訪問控制策略的安全性:
1)訪問權(quán)限的安全管理。加密后的數(shù)據(jù)密鑰完全是由數(shù)據(jù)上傳者進行產(chǎn)生和管理的,并對其他用戶進行訪問授權(quán)。
2)端到端的加密。用戶是在客戶端對數(shù)據(jù)進行加/解密操作,提高了數(shù)據(jù)在傳輸信道中的完整性。
3)加密密鑰的安全管理。采用混合加密算法(即用對稱加密算法提高數(shù)據(jù)加密的高效性;用非對稱加密算法對加密密鑰進行加密,提高數(shù)據(jù)的機密性)確保加密密鑰不被非法用戶獲?。?1]。而我們的混合法則繼承了CP-ABE算法安全性,即雖然采用了DES和CP-ABE相結(jié)合的方法,并沒有對安全性有太多的影響。如表1所示。
表1 三類加密算法安全性方面的比較
對本方案的混合加密算法的性能進行仿真驗證,實驗環(huán)境:仿真軟件為Matlab 7.0,CPU為:Intel(R)Core(TM)i5-2410M 2.30GHz,內(nèi)存為 2GB,Win7 32位操作系統(tǒng)。設置用戶的屬性個數(shù)為10,通過對不同大小的文件進行加/解密操作。從圖3中我們可以看出,隨著數(shù)據(jù)文件大小的不斷增大,DES加密算法的性能明顯高于CP-ABE加密算法,而我們的混合法在性能上則十分接近于DES加密算法。而在圖4中,關于解密性能的比較中,同樣的是我們的混合法和DES算法這兩者之間的性能比較接近,而CP-ABE算法的解密速度最慢,明顯落后于DES算法與混合法。如圖3和圖4所示。
圖3 加密時間對比
圖4 解密時間對比
對于云存儲[12]系統(tǒng)中數(shù)據(jù)安全算法的結(jié)構(gòu)體主要有4種,分別是訪問權(quán)限體、密鑰體、證書體和文件體。前三者的存放位置都是相同的,存于認證服務器中,唯獨文件體是存放在元數(shù)據(jù)服務器對應的節(jié)點上。
由于文件體存放的服務器位置與其它三者不一樣,所以文件體的功能與其它三者有明顯的不同之處。但由于安全算法的4種結(jié)構(gòu)都存放在服務器中,所以數(shù)據(jù)的存儲、訪問文件、修改文件數(shù)據(jù)等都可以在4種結(jié)構(gòu)之間相互協(xié)調(diào)完成。安全算法結(jié)構(gòu)之間的關系如圖5所示。
圖5 算法數(shù)據(jù)結(jié)構(gòu)
圖5的數(shù)據(jù)結(jié)構(gòu)是描述了用戶在對數(shù)據(jù)文件進行訪問時的各個功能模塊之間的關系。在云存儲的數(shù)據(jù)結(jié)構(gòu)中,用戶在訪問數(shù)據(jù)文件時需要進行身份驗證,只有通過驗證的用戶才能獲得相應的密鑰。
云存儲環(huán)境下用戶的信息量非常大,因此用戶在上傳文件時,不需要對所有數(shù)據(jù)都進行加密操作,而只需要對敏感數(shù)據(jù)進行加密后再上傳至云服務器。如圖6所示,提出了一個安全云存儲子系統(tǒng)的加/解密方案架構(gòu),該方案包括客戶端模塊,對稱加/解密模塊,屬性加/解密模塊及對稱密鑰管理模塊[13]。
圖6 安全云存儲子系統(tǒng)加解密流程
圖6中主要有五大模塊組成:分別為客戶端模塊、數(shù)據(jù)加密/解密模塊(主體模塊)、對稱密鑰管理模塊、CP-ABE密鑰加/解密模塊、云存儲模塊?,F(xiàn)對各個模塊進行說明[14]:
1)客戶端模塊是用戶在上傳數(shù)據(jù)或者訪問數(shù)據(jù)時,對系統(tǒng)發(fā)出訪問請求,只有身份驗證通過后,系統(tǒng)才為用戶分配相應的訪問權(quán)限,進行數(shù)據(jù)訪問,否則請求失敗。
2)對稱加/解密模塊(主體模塊)主要是存儲用戶的屬性信息,其采用DES算法來加密用戶上傳的數(shù)據(jù),與非對稱加密算法相比,其加密速度較快,但對數(shù)據(jù)文件的保密性能差,所以DES加密數(shù)據(jù)所產(chǎn)生的對稱密鑰需要再采用CP-ABE進行加密操作。
3)對稱密鑰管理模塊主要是存儲用戶的私鑰以及DES加密文件后所產(chǎn)生的對稱密鑰。
4)CP-ABE密鑰加/解密模塊是對DES加密文件后產(chǎn)生的對稱密鑰進行加密操作,將DES加密后的對稱密鑰存儲在主體模塊中。
5)云存儲模塊主要是存儲混合加密后的密文。
由圖可知,該安全云存儲子系統(tǒng)將DES和CP-ABE兩種算法相結(jié)合,即保證了用戶數(shù)據(jù)的安全性和完整性,又提高了系統(tǒng)的性能。
現(xiàn)以單個文件F為例,簡單描述下文件F的加密操作過程:
1)數(shù)據(jù)上傳者DO通過身份驗證后,利用對稱加密算法DES對F進行加密操作,生成了一個對稱密鑰Kf,加密后得到密文Cf。
2)DO在上傳數(shù)據(jù)時為F定義一個訪問結(jié)構(gòu)樹T,使用CP-ABE算法,對文件F的加密密鑰Kf進行加密操作,得到密文CT=Encrypt{PK,{Kf},T}。
3)DO通過安全信道將密文Cf和對稱密鑰的密文CT分別存儲到各個云服務器設備上。
通過研究云存儲的數(shù)據(jù)安全[15]問題,采用密文策略的屬性加密算法CP-ABE對云環(huán)境下的數(shù)據(jù)進行加/解密操作,解決了傳統(tǒng)訪問控制在分布式環(huán)境下的數(shù)據(jù)安全問題,很好的保護了用戶數(shù)據(jù)的隱私性和完整性,但目前研究仍存在訪問控制模型復雜、計算代價大、密鑰撤銷難等問題,針對這些問題,將進一步進行研究,使其更好地運用到云存儲系統(tǒng)環(huán)境下。
[1]Miller Michael.Cloud Computing[M].San Antonio:Pearson Education,2011.
[2]溫昱暉,陳廣勇,趙勁濤,等.基于CP-ABE在云計算中實現(xiàn)數(shù)據(jù)訪問控制的方案[J].重慶郵電大學學報,2013,05:658-664.WEN Yuhui,CHEN Guangyong,ZHAO Jingtao,et al.Scheme of data access control based on CP-ABE in cloud computing[J].Journal of Chongqing University of Posts and Telecommunications,2013,25(5):658-664.
[3]洪帆,崔國華,付小青,等.信息安全概論[M].第一版.武漢:華中科技大學出版社,2005.HONG Fan,CUIGuohua,F(xiàn)U Xiaoqing,etal.Introduction to Information Security[M].1sted.Wuhan:Huazhong University of Science and Technology,2005.
[4]洪澄,張敏,馮登國.面向云存儲的高效動態(tài)密文訪問控制方法[J].通信學報,2011,32(7):125-132.HONG Cheng,ZHANG Ming,F(xiàn)ENG Dengguo.Efficient and dynamic cipher text access controlmethod for cloud storage[J].Journal of communication,2011,32(7):125-132.
[5]孫國梓,董宇,李云.基于CP-ABE算法的云存儲數(shù)據(jù)訪問控制[J].通信學報,2011,32(7):146-152.SUN Guozi,DONG Yu,LIYun.Cloud storage data access control based on CP-ABE algorithm[J].Journal of communication communication,2011,32(7):146-152.
[6]卞一茗,楊庚.基于ABE算法的訪問控制方法研究[J].廣西通信技術(shù),2009(4):34-39.DIAN Yiming,YANG Geng.Research on Access Control Method Based on ABE Algorithm[J].Guangxi Communication Technology,2009(4):34-39.
[7]陳劍洪,陳克非,龍宇,等.密文策略的屬性基并行密鑰隔離加密[J].軟件學報,2012,23(10):83-92.CHEN Jianhong,CHEN Kefei,LONG Yu,et al.Ciphertext Policy Attributes-Based Parallel Key-Insulated Encrytion[J].Journalof Software,2012,23(10):83-92.
[8] Foster I.Globus Toolkit Version 4:Software for Service-Oriented Systems[J].Journal of Computer Science and Technology,2006,21(4):513-520.
[9]劉萍萍,閆琳英.面向云存儲的訪問控制系統(tǒng)的研究[J].西安工業(yè)大學學報,2015,35(5):355-359.LIU Pingping,YAN Linying.Research on cloud storage oriented access control system[J].Journal of Xi'an TechnologicalUniversity,2015,35(5):355-359.
[10]周彥萍,馬艷東.基于CP-ABE訪問控制系統(tǒng)的設計與實現(xiàn)[J].計算機科學與發(fā)展,2014,24(2):145-148.ZHOU Yanping,MA Yandong.Design and implementation ofaccess control system based on CP-ABE[J].Computer science and development,2014,24(2):145-148.
[11]M.Pirretti,P.Traynor,P.McDaniel,and B.Waters.Secure Attribute-Based Systems.
[12]孫旭.基于CP-ABE算法的云數(shù)據(jù)服務訪問控制系統(tǒng)的設計與實現(xiàn)[D].成都:電子科技大學,2015.SUN Xu.Design and implementation of cloud data service access control system based on CP-ABE algorithm[D].Chengdu:University of Electronic Science and technology,2015.
[13]程相然,陳性元,張斌,等.基于屬性的訪問控制策略模型[J].計算機工程,2010,36(15):131-133.CHEN Xiangran,CHEN Xingyuan,ZHANG Bin,etal.Attribute-Based Access Control Policy Model[J].Computer Engineering,2010,36(15):131-133.
[14]PSasikala.Cloud computing:presentstatusand future implications[J].International journal of cloud computing.2011,1(1):23-26.
[15]王鵬.走近云計算[M].北京:人民郵電出版社,2009.WANG Peng.Cloud Computing[M].Beijing:Post&Telecom Press,2009.