曾德生 駱金維 高靜 劉倍雄 陳孟祥
摘 要:隨著云計算的發(fā)展,越來越多的用戶將數(shù)據(jù)存儲在云端,而采用傳統(tǒng)的明文存儲數(shù)據(jù)的方式不適合于開放的云存儲環(huán)境,基于對稱加密的方案也不適合于云端數(shù)據(jù)的分享及協(xié)同工作。針對用戶對云存儲中數(shù)據(jù)安全共享的需求,提出了采用層次化的身份加密技術(shù)(HIBE),規(guī)范身份標識管理,提高私鑰的生成效率及密鑰管理的安全性。引入私鑰版本號的方法,改進CP-ABE算法,提高屬性撤銷的效率。通過相應(yīng)分析,共享模型具有較好的安全性,最后采用Samkumar的HIBE和John Bethencourt的cpabe工具集進行測試,結(jié)果表明該方案有較好的性能表現(xiàn)。
關(guān)鍵詞:云存儲;安全共享模型;HIBE;屬性撤銷
文章編號:2095-2163(2019)04-0240-08 中圖分類號:TP309.2 文獻標志碼:A
0 引 言
云存儲是云計算中的熱門應(yīng)用,通過集群技術(shù)、分布式計算等技術(shù)將異構(gòu)存儲設(shè)備通過網(wǎng)絡(luò)和應(yīng)用軟件等結(jié)合起來協(xié)同工作,構(gòu)建一個大型的存儲資源池,為企業(yè)及個人用戶提供數(shù)據(jù)存儲、備份、同步及共享等服務(wù)。云存儲可以有效地解決各類用戶對存儲資源需求擴展的問題,已成為一種成熟的服務(wù)模式,在企業(yè)及個人市場的應(yīng)用越來越廣泛[1-2]。云存儲中的數(shù)據(jù)安全性依賴于云存儲服務(wù)供應(yīng)商的管控,但由于云存儲架構(gòu)的開放性、共享性等特征,相較于傳統(tǒng)的存儲方式,云存儲中的安全需求不僅要求保證數(shù)據(jù)的安全性,還需要包含相應(yīng)的密鑰的分發(fā)及更新管理,以及如何實現(xiàn)在密文上進行高效操作等。在多項調(diào)查報告中顯示,云存儲的安全性已經(jīng)成為用戶最關(guān)注的問題之一[2-3]。
本文提出一種方案,結(jié)合層次化身份標識加密技術(shù)(Hierarchical Identity-based Encryption,HIBE)和密文策略屬性基加密技術(shù)(Ciphertext Policy Attribute-based Encryption,CP-ABE)的特點,設(shè)計云存儲環(huán)境下的數(shù)據(jù)安全共享模型:CP-AHI(BE)2方案。
在CP-AHI(BE)2方案中,利用HIBE技術(shù)構(gòu)建層次化的身份標識管理模塊,規(guī)范身份認證及標識管理,提高屬性密鑰的生成效率;采用CP-ABE算法對云存儲服務(wù)器中的數(shù)據(jù)進行加密以保證數(shù)據(jù)的機密性,實現(xiàn)細粒度的訪問控制機制,降低合謀攻擊的風(fēng)險,同時改進CP-ABE方案,采用增加密鑰版本號的方法[4-5],提高了密鑰撤銷的效率[6-7]。通過相應(yīng)驗證,CP-AHI(BE)2方案可以提高數(shù)據(jù)共享的安全性,并提高云存儲系統(tǒng)密鑰管理性能。
1 相關(guān)工作
1.1 云存儲安全現(xiàn)狀
隨著計算機技術(shù)的發(fā)展,智能手機等設(shè)備的飛速增長以及互聯(lián)網(wǎng)應(yīng)用模式的變革,用戶對數(shù)據(jù)存儲的容量及性能方面的要求越來越高,運維成本也隨之快速增加。由于云計算具有成本低、效率高的優(yōu)勢,結(jié)合虛擬化、分布式計算等技術(shù),將大量計算資源、異構(gòu)存儲資源、網(wǎng)絡(luò)及軟件等資源進行整合,形成一個有機整體,對外提供大規(guī)模的數(shù)據(jù)存儲服務(wù),實現(xiàn)按需服務(wù)等應(yīng)用模式。為用戶提供數(shù)據(jù)備份、多終端數(shù)據(jù)同步、用戶間數(shù)據(jù)共享和協(xié)同工作等服務(wù),為企業(yè)和個人用戶的工作和生活帶來了極大的便利。
從應(yīng)用的角度看,云存儲對用戶是透明的。云存儲同樣具備云計算的5種特征[8]:按需自助、廣泛網(wǎng)絡(luò)接入、資源池化、快速彈性伸縮、可計量服務(wù)。因此云存儲系統(tǒng)架構(gòu)通??梢苑譃?個層次:數(shù)據(jù)存儲層、數(shù)據(jù)管理層、數(shù)據(jù)接口層和用戶訪問層,系統(tǒng)架構(gòu)如圖1所示。
(1)存儲層:可采用虛擬化及集群技術(shù),將網(wǎng)絡(luò)中的NAS、SAN等存儲設(shè)備進行集中式管理,形成存儲資源池。
(2)數(shù)據(jù)管理層:利用集群系統(tǒng)、分布式文件系統(tǒng)等文件管理系統(tǒng)對底層的資源池進行管理,并提供相應(yīng)的數(shù)據(jù)壓縮、去重和數(shù)據(jù)備份、加密等功能。
(3)應(yīng)用接口層:根據(jù)用戶的需求,提供數(shù)據(jù)接入的接口,為高層的用戶訪問層提供用戶認證、權(quán)限管理等功能。
(4)用戶訪問層:通過應(yīng)用接口層提供的標準接口,提供數(shù)據(jù)訪問服務(wù)。
在云存儲環(huán)境下,云存儲服務(wù)供應(yīng)商(Cloud Storage Service Providers,CSSP)利用虛擬化等技術(shù)手段,實現(xiàn)各類存儲設(shè)備資源的邏輯共享,將用戶的數(shù)據(jù)存儲在動態(tài)共享的存儲資源池中。用戶間的數(shù)據(jù)可能存放在相同的物理存儲設(shè)備中,同時用戶數(shù)據(jù)的完全依賴于CSSP的保護,因此也帶來了第三方依賴性問題[9]。云存儲的安全風(fēng)險分析,見表1。
1.2 云計算安全模型研究現(xiàn)狀
隨著云計算應(yīng)用的不斷深入,國內(nèi)外的研究人員都致力于云計算安全體系架構(gòu)的研究。2011年,馮登國總結(jié)了云存儲環(huán)境下的數(shù)據(jù)安全問題,并提出了如圖2所示的安全參考框架[10]。
2015年,工業(yè)和信息化部辦公廳關(guān)于印發(fā)《云計算綜合標準化體系建設(shè)指南》的通知中,也明確提出了云計算綜合標準化體系框架。其中安全標準,用于指導(dǎo)實現(xiàn)云計算環(huán)境下的網(wǎng)絡(luò)安全、系統(tǒng)安全、服務(wù)安全和信息安全,主要包括云計算環(huán)境下的安全管理、服務(wù)安全、安全技術(shù)和產(chǎn)品、安全基礎(chǔ)等方面的標準[8],如圖3所示。
1.3 HIBE及CP-ABE算法研究
1.3.1 HIBE
基于身份標識的加密技術(shù)(Identity-based Encryption,IBE)是一種基于雙線性配對和橢圓曲線的公鑰密碼技術(shù)。通過可信的密鑰管理中心,將用戶標識融入到密鑰中,可以提供加密及身份認證等功能。與以往的公鑰加密相比,IBE方案可以減少對公鑰的查詢,提高密鑰生成中心的效率[11]。
傳統(tǒng)的IBE管理中心只有獨立的私鑰生成中心(Private Key Generator,PKG),隨著用戶數(shù)量增加,容易導(dǎo)致PKG的負載過高,產(chǎn)生系統(tǒng)瓶頸。為解決這一問題,在基于IBE的基礎(chǔ)上構(gòu)建多個PKG,并將其層次化,將多個PKG分層構(gòu)建成一棵倒置的樹,如圖4所示。
HIBE方案相對于IBE具有更高的安全性,可以適當縮短密文長度,減少密鑰的存儲空間,各層PKG分擔(dān)密鑰管理任務(wù)[12],可以減少加密解密所需的時間,提高系統(tǒng)運行的效率[13-16]。與傳統(tǒng)的PKI方案比較,HIBE方案在密鑰管理方面具有以下優(yōu)勢,見表2。
1.3.2 CP-ABE
基于屬性的加密技術(shù)(Attribute-based Encryption,ABE),可以提供細粒度的非交互式訪問控制機制,從而解決傳統(tǒng)對稱加密機制中一對一的加解密模式,擴展為云存儲環(huán)境中一對多的多用戶分享模式。在ABE中,引入了訪問結(jié)構(gòu)的概念,密文和密鑰根據(jù)屬性集合生成,可以提供2種關(guān)聯(lián)方案[17]:密鑰策略的屬性加密(Key-policy ABE,KP-ABE)和密文策略的屬性加密(Ciphertext-policy ABE,CP-ABE)。
在KP-ABE方案中,密鑰對應(yīng)于一個訪問控制而密文對應(yīng)于一個屬性集合,解密當且僅當屬性集合中的屬性能夠滿足此訪問結(jié)構(gòu)。這種設(shè)計比較接近靜態(tài)場景,此時密文用與其相關(guān)的屬性加密存放在服務(wù)器上,當允許用戶得到某些消息時,就分配一個特定的訪問結(jié)構(gòu)給用戶。因此,KP-ABE算法更適用于查詢類的應(yīng)用。
在CP-ABE方案中,密文對應(yīng)于一個訪問結(jié)構(gòu)而密鑰對應(yīng)于屬性集合,解密當且僅當屬性集合中的屬性能夠滿足此訪問結(jié)構(gòu)。這種設(shè)計比較接近于現(xiàn)實中的應(yīng)用場景,每個用戶可以根據(jù)自身條件或者屬性從屬性機構(gòu)得到密鑰,然后加密者來制定對消息的訪問控制。因此,CP-ABE算法更適用于云存儲環(huán)境下的密文訪問控制。方便用戶在分享云存儲中的數(shù)據(jù),無需為每一目標用戶分發(fā)屬性密鑰,只需要通過訪問結(jié)構(gòu)進行權(quán)限管理,大幅度地降低了權(quán)限管理的復(fù)雜度[7],提供了更加靈活的訪問控制。從功能上實現(xiàn)了“一對多”的加密文件訪問控制,解決了云存儲中多用戶環(huán)境應(yīng)用的瓶頸問題[17- 18]。
2 安全共享需求
對于用戶而言,數(shù)據(jù)安全是最重要的需求之一。通常,數(shù)據(jù)安全包含機密性、完整性、可用性3個方面。在云存儲環(huán)境下,數(shù)據(jù)的安全包含數(shù)據(jù)存儲的安全性和數(shù)據(jù)傳輸?shù)陌踩?個部分。
(1)機密性。在云存儲中,數(shù)據(jù)的機密性體現(xiàn)在用戶對數(shù)據(jù)存儲和傳輸過程中要求任何個人或CSSP在未授權(quán)的情況下都無法查看到明文數(shù)據(jù),理論上不會出現(xiàn)數(shù)據(jù)泄露的情形。
(2)完整性。在云存儲中,數(shù)據(jù)的完整性主要體現(xiàn)在數(shù)據(jù)的存儲、傳輸和使用等情形。當用戶進行數(shù)據(jù)上傳或下載等操作時,要求CSSP能夠根據(jù)用戶的指令,提供完整的數(shù)據(jù)讀寫操作,并提供相應(yīng)的檢測機制,確保用戶數(shù)據(jù)的完整,避免云端數(shù)據(jù)被偽造或篡改。
(3)可用性。用戶的數(shù)據(jù)存儲在CSSP中,對用戶而言,云端的存儲硬件、網(wǎng)絡(luò)接入都屬于不可控的環(huán)境。因此,CSSP如何為用戶提高數(shù)據(jù)的可用性是實現(xiàn)安全共享的重要需求之一。
在云計算中,為了保護用戶的數(shù)據(jù)安全和隱私,大多數(shù)方案都是采用非對稱(公鑰)加密(Public-key cryptography,PKE)技術(shù)來保證數(shù)據(jù)的安全性。PKE技術(shù)經(jīng)過多年的發(fā)展后,演化產(chǎn)生了基于身份標識的加密技術(shù)和基于屬性的加密技術(shù)。
在云計算環(huán)境下,供應(yīng)商采用透明化的方案,用戶不需要關(guān)注云存儲的軟硬件系統(tǒng)的部署。相當于用戶采用外包的方式將數(shù)據(jù)存放在CSSP的存儲服務(wù)器中。云存儲系統(tǒng)多處于海量用戶的應(yīng)用場景,須滿足“M對N”的多對多訪問模式,供應(yīng)商的服務(wù)器中需要使用合理的方式保護數(shù)據(jù)加密所使用的大量密鑰,用于保障數(shù)據(jù)擁有者對數(shù)據(jù)的可控性。因此,完成云存儲環(huán)境下數(shù)據(jù)安全共享模型的設(shè)計,需要解決以下問題:
(1)如何解決云端存儲數(shù)據(jù)的安全性和可用性,云存儲服務(wù)供應(yīng)商(CSSP)在獲得用戶信任的同時該如何保證服務(wù)的可用性。
(2)云存儲中數(shù)據(jù)的機密性與算法復(fù)雜度之間存在不可調(diào)和的矛盾,CSSP該采用哪種合適的算法,既提高用戶的使用體驗又降低服務(wù)器的投入。
(3)在用戶“M對N”的訪問模式下,CSSP該如何解決密鑰管理問題,每個數(shù)據(jù)擁有者都有可能面對多個不同的用戶,CSSP如何實現(xiàn)細粒度訪問控制。
(4)當出現(xiàn)用戶的注冊、注銷等,分享的增加、刪除、修改等操作,密鑰的分配管理都將發(fā)生變化,CSSP該如何解決動態(tài)安全性問題。
3 算法與模型設(shè)計
3.1 共享模型設(shè)計
3.1.1 系統(tǒng)角色
典型云存儲環(huán)境下的數(shù)據(jù)安全共享模型中,通常有4類實體參與云存儲服務(wù)供應(yīng)商(CSSP)、密鑰管理中心(Key Management Center,KMC)、數(shù)據(jù)屬主(Data Owner,DO)、數(shù)據(jù)用戶(Data Requester,Dreq)。
(1)CSSP。云存儲服務(wù)供應(yīng)商,管理大量的云存儲服務(wù)器,為用戶提供7*24小時不間斷的數(shù)據(jù)存儲及訪問服務(wù)。
(2)KMC。密鑰管理中心,在本文的方案中,KMC分為層次化身份認證中心和屬性密鑰加密中心2個部分。前者用于身份認證及屬性的規(guī)范化管理,后者處理相應(yīng)的屬性加密。屬性密鑰加密中心,通常由一個密鑰產(chǎn)生中心(Key Generation Center,KGC)和若干個密鑰授權(quán)中心(Key Authorization Center,KAC)組成,主要完成密鑰的生成、分發(fā)、更新及撤銷等操作。
(3)DO。數(shù)據(jù)擁有者,通常為各類企業(yè)及個人用戶,其將自己的數(shù)據(jù)存儲在云端,并且依靠CSSP維護數(shù)據(jù)。
(4)Dreq。數(shù)據(jù)用戶是CSSP的服務(wù)對象,可以理解為云存儲服務(wù)的消費者,訪問DO在云端共享的數(shù)據(jù),并通過相應(yīng)的密鑰解密云端的密文數(shù)據(jù)。
3.1.2 模型圖
在安全共享模型中,結(jié)合HIBE和CP-ABE加密技術(shù),由CSSP和KMC完成密鑰的管理;DO制定相應(yīng)的訪問控制策略,與CSSP協(xié)商,生成對稱參數(shù)密鑰對,并利用相應(yīng)的密鑰加密數(shù)據(jù)后,將密文數(shù)據(jù)存放在云端。當Dreq訪問云端的共享數(shù)據(jù)時,首先使用自己的賬號及密碼通過HIBE進行身份驗證,然后利用自己的私鑰及相應(yīng)授權(quán)的屬性密鑰,通過CSSP驗證后,解密相應(yīng)的密文數(shù)據(jù),安全共享系統(tǒng)的模型設(shè)計如圖5所示。
3.2 CP-AHI(BE)2算法設(shè)計
在算法設(shè)計過程中,首先利用HIBE算法的優(yōu)勢,實現(xiàn)統(tǒng)一規(guī)范的身份標識管理,其次根據(jù)規(guī)范化處理后的細粒度屬性,采用改進的CP-ABE方案,應(yīng)用于云存儲環(huán)境中。
3.2.1 HIBE
在共享模型中,HIBE模塊用于實現(xiàn)身份的認證及相應(yīng)屬性私鑰的管理。進行相應(yīng)的形式化定義后,HIBE算法加密的流程可以分解為5個步驟:
(1)根密鑰中心初始化(initSetup)。根密鑰中心選取安全參數(shù)k,產(chǎn)生主密鑰s和系統(tǒng)參數(shù)params。其中,系統(tǒng)參數(shù)params是公開使用的參數(shù),包含明文空間描述M和密文空間描述C,初始根結(jié)點的私鑰s(即主密鑰)是秘密信息,M=0,1n,C=Gt1×0,1n,在公開params的情況下s可以實現(xiàn)保密。
(2)分層密鑰中心初始化(levelSetup)。每個用戶設(shè)置自己的低層密鑰,為下一層用戶的私鑰生成做準備。
(3)生成密鑰(keyGen)。根據(jù)用戶的ID首先為用戶產(chǎn)生公鑰Q,然后根據(jù)公鑰等信息計算出私鑰St。如果用戶是在根密鑰中心的下一層,則直接由根密鑰中心為用戶產(chǎn)生私鑰genKey(ID1);如果用戶在其它層,則由用戶的上一層密鑰生成中心為用戶產(chǎn)生。如genKey(ID1,ID2)由ID1所在的密鑰生成中心產(chǎn)生。
(4)加密(Encryption)。輸入系統(tǒng)參數(shù)params、接收方(Receiver)用戶的身份信息ID,明文m、輸出相應(yīng)的密文c。當發(fā)送方(Sender)經(jīng)秘密安全通道從根密鑰中心接收params,使用接收方的公鑰QRec 和params對明文數(shù)據(jù)m加密,并把密文c發(fā)送給接收方,加密公式為c=EncData(params,QRec,m)。
(5)解密(Decryption)。輸入系統(tǒng)參數(shù)params、接收方(Receiver)用戶的私鑰sRec、密文c,輸出相應(yīng)的明文m。接收方依據(jù)(3)的方法從本層PKG 處得到私鑰SRec 并從根密鑰中心得到params,使用算法對密文c解密得到明文m,m=DecData(params,SRec,C)。
在共享模型中,通過HIBE的規(guī)范管理規(guī)則包含標識管理、命名和訪問3個方面進行身份認證及屬性粒度管理:
(1)規(guī)范標識管理規(guī)則。規(guī)范用戶注冊、登錄、信息維護及注銷4種規(guī)則。
(2)規(guī)范標識命名規(guī)則。將用戶的用戶名(ID)、電子郵箱等各種屬性按照身份標識命名規(guī)則進行標識。
(3)規(guī)范標識訪問規(guī)則。建立標識管理模塊,制定相應(yīng)訪問規(guī)則及限制策略。當系統(tǒng)接收到用戶登錄請求時,首先驗證接入端是否符合相應(yīng)規(guī)則,然后驗證用戶登錄標識是否合法,最后驗證用戶的身份。通過用戶身份驗證后,采用會話模式(Session)將用戶的相應(yīng)密鑰分發(fā)至其它功能模塊。此后標識管理模塊采用周期性的檢測機制,檢查用戶標識當前是否有效,如果無效,則強制退出。
3.2.2 改進的CP-ABE算法
用戶在CSSP中進行注冊時,在IBE體系中,完成身份標識管理,根據(jù)規(guī)則生成細粒度的屬性集合,進行相應(yīng)用戶屬性私鑰(Attribute Private Key,APK)分發(fā),DO可以根據(jù)屬性集合設(shè)定合適的訪問控制策略。User通過CSSP進行身份驗證登錄后,KMC驗證用戶屬性,KGC根據(jù)用戶屬性集,計算生成用戶的私鑰(Private Key,Prik),User合并Prik和DO分享的APk后解密共享的密文數(shù)據(jù)。
(1)初始化算法。初始化算法由CSSP和KMC完成。KMC為數(shù)據(jù)共享模型中的屬性密鑰生成公開參數(shù)Prik和主密鑰mk,CSSP為共享模型生成對稱參數(shù)csk和系統(tǒng)屬性集合A,為模型中的每個屬性設(shè)置一個唯一標識ak,并且向KMC發(fā)送系統(tǒng)屬性集合A。
(2)屬性密鑰分發(fā)算法。屬性密鑰生成算法主要完成注冊用戶屬性私鑰的生成與分發(fā)。在執(zhí)行過程中,首先由CSSP為注冊用戶分配屬性集合,然后KCA根據(jù)用戶所持有的屬性集生成屬性參數(shù),最后用戶使用屬性參數(shù)計算得到最終的屬性私鑰。屬性密鑰的生成算法主要包括如下幾個步驟。
①由CSSP為注冊用戶分配用戶標識ID=i,用戶屬性組Ai∈A并為其分發(fā)對稱參數(shù)CSK。
②在KMC中,可以設(shè)置m個KAC,管理中心根據(jù)細化后的屬性粒度情況,向其中j個KAC發(fā)起請求,并生成j個私鑰參數(shù),其中1≤j≤m。用戶向KAC發(fā)送密鑰授權(quán)請求,在請求信息中包含用戶從CSSP中獲取的用戶標識和用戶自身的屬性集合{i,Ai}。
③KAC執(zhí)行相應(yīng)的生成算法產(chǎn)生屬性私鑰參數(shù)并將其返回給請求用戶。
④注冊用戶Useri接收到j(luò)個KGC的屬性私鑰參數(shù)集合后,執(zhí)行KeyGen3算法,生成自己的屬性私鑰。
經(jīng)過上述4個步驟后,注冊用戶取得了數(shù)據(jù)安全共享模型中的私鑰屬性SK以及對應(yīng)的CSK。
(3)加密算法。在共享模型中,加密通常由數(shù)據(jù)屬主(DO)完成。加密過程分2個步驟,首先執(zhí)行Enc.Arch算法,生成由屬性和邏輯運算符組成的訪問控制結(jié)構(gòu)τ,然后使用公共屬性密鑰Prik和對稱參數(shù)CSK執(zhí)行Enc.Crypt算法對明文M執(zhí)行加密運算,生成密文CT。
(4)解密算法。在共享模型中,需要訪問加密數(shù)據(jù)的用戶,在合法獲取云存儲環(huán)境中的加密數(shù)據(jù)CT,結(jié)合用戶的私有屬性密鑰SKi和CSK,執(zhí)行Decrypt解密算法,完成數(shù)據(jù)還原操作,得到明文m。
(5)改進的密鑰更新算法。在共享模型中,當某個用戶注銷或者撤銷分享操作時,直接作廢該用戶的所有權(quán)限;撤銷分享操作時,應(yīng)保證該用戶失去該屬性相對應(yīng)的權(quán)限,而具有該屬性的其它用戶仍保留此相應(yīng)的權(quán)限。
屬性撤銷即撤銷用戶屬性集合中的部分或者全部屬性,被撤銷某些屬性的用戶失去該屬性對應(yīng)的權(quán)限,不影響其它屬性的權(quán)限,同時不影響其它仍然具備該屬性的用戶的訪問權(quán)限。如果DO需要撤銷某個uuid的部分或全部屬性時,不僅僅需要對CSSP中使用該屬性的密文進行更新,而且還要對擁有該屬性且未撤銷的用戶私鑰進行更新。屬性撤銷的過程包含以下4個步驟:
(1)更新授權(quán)用戶列表(Authorized user list,AUL)。由DO發(fā)起請求,向用戶中心提出更新請求,將需要取消權(quán)限的用戶uuid從授權(quán)列表AUL中刪除,即:uuidAUL。
(2)更新密鑰版本號。由DO發(fā)起更新請求,當CA收到更新操作指令時,向?qū)傩悦荑€授權(quán)中心發(fā)送更新密鑰版本的請求,請求信息中包含更新屬性的唯一標識ak和相應(yīng)的版本信息ver。屬性密鑰授權(quán)中心根據(jù)請求生成新版本的主密鑰mkver+1與公開參數(shù)prikver+1。
(3)更新密鑰。利用更新的主密鑰mkver+1與公開參數(shù)prikver+1,DO將被撤銷用戶時一并撤銷的屬性(ak)ver進行更新,CA重新生成新的(ak)ver+1。未被撤銷并擁有該屬性的用戶,可以通過廣播的方式接收新的密鑰,或者采用懶惰更新算法,有需要時訪問AUL,經(jīng)過AUL后,更新。
(4)重加密。CSSP中,根據(jù)原屬性ak和新生成的屬性(ak)ver+1將撤銷前的密文執(zhí)行解密后重新加密,生成新的密文CTver+1。
3.3 安全性分析
安全性分析側(cè)重于2.1節(jié)中所定義的系統(tǒng)安全需求。在CP-AHI(BE)2模型中,使用HIBE提高系統(tǒng)中用戶的安全性驗證,降低了系統(tǒng)中惡意用戶通過分享密鑰訪問為授權(quán)的數(shù)據(jù)時帶來的風(fēng)險,提高系統(tǒng)的抗合謀攻擊,改進的CP-ABE算法,實現(xiàn)了用戶的細粒度訪問控制,同時也解決了屬性撤銷等動態(tài)分享帶來的風(fēng)險,提高系統(tǒng)的前后向安全性。
(1)機密性。云存儲環(huán)境下數(shù)據(jù)安全共享面臨的數(shù)據(jù)機密性問題。主要包括以下3種情形:
①密鑰的產(chǎn)生。通過CSSP與用戶協(xié)商對稱參數(shù),因此CSSP可以通過還原用戶的屬性私鑰解密數(shù)據(jù)。
②用戶的屬性私鑰由KMC管理,因此KMC可以輕松獲取用戶的屬性私鑰,可以嘗試還原用戶與CSSP協(xié)商的對稱參數(shù),進而解密數(shù)據(jù)。
③由于云存儲的分享特性,可以提供多重接入的方式,惡意用戶可以通過偽裝攻擊等多種獲取加密后的數(shù)據(jù),然后實施暴力破解等方式進行解密。
數(shù)據(jù)安全共享模型中,使用了對稱和非對稱2種方式對數(shù)據(jù)進行加密,假設(shè)密鑰的長度為len,訪問控制結(jié)構(gòu)中所用的屬性數(shù)量為n,對稱加密算法的數(shù)量為m。則上述3種情形被暴力破解的次數(shù)如下:
①CSSP持有對稱參數(shù),則CSSP需要破解的屬性密鑰的空間大小為:
因此,當len、n和m都達到一定長度時,CSSP、KMC及惡意用戶都無法通過暴力破解的方式還原共享數(shù)據(jù)。
(2)抗合謀攻擊。在模型中,密鑰生成算法中屬性私鑰由多個密鑰授權(quán)中心共同生成,用戶的ID與用戶的屬性捆綁在一起。在加密算法中數(shù)據(jù)屬主(DO)生成的訪問控制結(jié)構(gòu)由多個屬性組合成邏輯運算結(jié)構(gòu),因此方案可以避免來自用戶合謀及KAC合謀2類攻擊。
(3)前向安全性。當DO的某個屬性在某個時間點從某個用戶Dreq中撤銷后,相應(yīng)的屬性(ak)ver會被更新為(ak)ver+1。新的屬性只有具備相應(yīng)權(quán)限的用戶才能訪問,同時密文也被重新加密后更新,因此新生成的密文不會被舊的屬性密鑰解密,從而保證了前向安全性。
(4)后向安全性。當一個用戶獲得新的(ak)ver+1后,相關(guān)的密文已經(jīng)被更新,只能對新的密文CTver+1進行解密,而無法對舊的密文解密,從而保證了數(shù)據(jù)共享的后向安全性。
4 共享模型測試
4.1 測試環(huán)境
為驗證上述的算法和共享模型,基于3.1.2節(jié)的模型圖,采用samkumar的HIBE和John Bethencourt的cpabe工具集在CentOS7.5中實現(xiàn)一個驗證模型,使用1臺DELL PowerEdge R720xd服務(wù)器,安裝VMware ESXi6.0U3軟件構(gòu)建虛擬化平臺。實驗環(huán)境及參數(shù)見表3和表4。
使用虛擬機模板,創(chuàng)建多個虛擬機后,使用其中5個虛擬機搭建5層深度的層次化身份認證中心,使用10個虛擬機構(gòu)建屬性密鑰管理中心,每臺虛擬機獨立處理單個屬性。測試環(huán)境所使用的虛擬機,部署在一臺物理服務(wù)器中,處于同一內(nèi)網(wǎng),測試中所使用的文件size較小,由SSD組成的磁盤陣列,可以提供較高的讀寫性能,可以忽略網(wǎng)絡(luò)傳輸速率及I/O讀寫對模型的影響。
4.2 密鑰生成
通過模擬不同數(shù)量的用戶,在深度為5層的HIBE模塊中進行處理,生成屬性私鑰。相應(yīng)私鑰信息通過SSH通道,導(dǎo)入到cpabe工具集中進行后續(xù)處理。執(zhí)行過程中,編寫相應(yīng)腳本,使用“date +%s.%N”獲取相應(yīng)時間記錄,累積密鑰處理過程的時間,如圖6所示。
4.3 加密與解密
生成屬性密鑰后,根據(jù)相應(yīng)的參數(shù)和密鑰執(zhí)行加解密過程。由于在屬性分解的數(shù)量及文件大小不同,所消耗的時間也不相同,詳情如圖7所示。
4.4 密鑰更新
在共享模型中,使用改進的密鑰更新算法,當發(fā)生權(quán)限撤銷或用戶注銷等操作時,系統(tǒng)所消耗的時間與云存儲共享所關(guān)聯(lián)的用戶數(shù)量及屬性數(shù)量相關(guān),測試時用戶數(shù)量與屬性數(shù)量及時間消耗情況如圖8所示。
經(jīng)過上述的測試,證明CP-AHI(BE)2模型,有較好的性能表現(xiàn),該方案能夠解決云存儲中的信任依賴等問題。
5 結(jié)束語
目前,云計算因其成本低、可定制性高等特點,發(fā)展勢態(tài)良好,具有廣闊的發(fā)展前景,但安全性方面仍面臨著嚴峻的挑戰(zhàn)。本文針對云計算中的云存儲服務(wù),研究了IBE、ABE等算法,構(gòu)建CP-AHI(BE)2共享模型,針對屬性密鑰的生成問題,采用構(gòu)建層次化的HIBE模塊,針對屬性撤銷的問題,改進CP-ABE方案,采用增加密鑰版本號的方法,提高了密
鑰撤銷的效率。通過測試,基于CP-AHI(BE)2的云存儲共享模型,具有較好的性能表現(xiàn),適合部署于云存儲共享環(huán)境中。
參考文獻
[1]Clutch. 企業(yè)數(shù)據(jù)存儲偏愛云[EB/OL]. [2017-08-02]. http://cloud.yesky.com/407/285947907.shtml.
[2] 問卷星. 云存儲相關(guān)使用情況及安全性調(diào)查[EB/OL]. https://www.wjx.cn/report/4010291.aspx.
[3] 孫會峰. 2018網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展報告[J]. 信息安全研究, 2019,5(2):98-104.
[4] SHI Jiaoli, HUANG Chuanbe, WANG Jing, et al. An access control scheme with direct cloud-aided attribute revocation using version key SUN X H, et al. ICA3PP 2014, Part I, LNCS 8630. SwitzerLand:Springer International Publishing, 2014:429-442.
[5] LIANG Xiaohui, LU Rongxin, LIN Xiaodong, et al. Ciphertext policy attribute based encryption with efficient revocation[R]. Ontario, Canada:University of Waterloo, 2011.
[6] CHEN Genlang, XU Zhiqian, JIANG Hai, et al. Generic user revocation systems for attribute-based encryption in cloud storage[J]. Frontiers of Information Technology & Electronic Engineering, 2018,19(11):1362-1384.
[7] 王鵬翩, 馮登國, 張立武. 一種支持完全細粒度屬性撤銷的CP-ABE方案[J]. 軟件學(xué)報, 2012,23(10):2805-2816.
[8] 工業(yè)和信息化部. 云計算綜合標準化體系建設(shè)指南[EB/OL]. [2015-11-09]. http://www.miit.gov.cn/n1146295/n1652858/n1652930/n3757022/c4414407/content.html.
[9] 傅穎勛, 羅圣美, 舒繼武. 一種云存儲環(huán)境下的安全網(wǎng)盤系統(tǒng)[J]. 軟件學(xué)報, 2014,25(8):1831-1843.
[10]馮登國, 張敏, 張妍, 等. 云計算安全研究[J]. 軟件學(xué)報, 2011,22(1):71-83.
[11]胡亮, 初劍峰, 林海群, 等. IBE體系的密鑰管理機制[J]. 計算機學(xué)報, 2009,32(3):543-551.
[12]BONEH D, BOYEN X, GOH E J. Hierarchical identity based encryption with constant size ciphertext[M]. CRAMER R. Advances incryptology—Eurocrypt 2005. Lecture notes in Computer Science. Berlin/Heidelberg:Springer, 2005, 3494:440-456.
[13]梁潘, 馮朝勝. 基于HIBE的電子政務(wù)系統(tǒng)安全解決方案[J]. 計算機工程與設(shè)計, 2011,32(3):842-845.
[14]唐鑫, 齊芳. 免密鑰托管的基于身份的分層加密機制研究[J]. 計算機工程與科學(xué), 2017,39(5):870-876.
[15]楊海濱. 一種新的格上基于身份的分層加密方案[J]. 武漢大學(xué)學(xué)報(理學(xué)版), 2016,62(2):155-160.
[16]計海萍, 徐磊, 蔚曉玲, 等. 云計算環(huán)境下基于身份的分層加密管理系統(tǒng)研究[J]. 信息網(wǎng)絡(luò)安全, 2016(5):30-36.
[17]馮登國, 陳成. 屬性密碼學(xué)研究[J]. 密碼學(xué)報, 2014,1(1):1-12.
[18]熊安萍, 許春香, 馮浩. 云存儲環(huán)境下支持策略變更的CP-ABE方案[J]. 計算機科學(xué), 2016,43(1):191-194.