史姣麗,黃傳河,王晶,覃匡宇,3,何凱
?
云存儲(chǔ)下多用戶協(xié)同訪問控制方案
史姣麗1,2,黃傳河1,王晶1,覃匡宇1,3,何凱1
(1. 武漢大學(xué)計(jì)算機(jī)學(xué)院,湖北武漢430072;2. 九江學(xué)院信息科學(xué)與技術(shù)學(xué)院,江西九江332005; 3. 桂林電子科技大學(xué)信息與通信學(xué)院,廣西桂林541004)
CP-ABE被認(rèn)為是云存儲(chǔ)下最適合的數(shù)據(jù)訪問控制方法之一,但它僅適合用戶分別讀取或者分別修改不同數(shù)據(jù)的情況,而直接應(yīng)用CP-ABE進(jìn)行多用戶協(xié)同數(shù)據(jù)訪問時(shí),會(huì)存在修改無序、密文文件大量冗余等問題。多用戶協(xié)同訪問云端數(shù)據(jù)時(shí),應(yīng)該在保證機(jī)密性、抗共謀的前提下控制合法用戶有序地修改同一密文文件,同時(shí)云端盡可能減少密文文件副本。針對(duì)文件和文件邏輯分塊,提出了2個(gè)多用戶協(xié)同訪問控制方案MCA-F和MCA-B。MCA-F滿足單個(gè)數(shù)據(jù)文件作為最小控制粒度的訪問控制需求,該方案采用層次加密結(jié)構(gòu),云服務(wù)器承擔(dān)部分解密計(jì)算,以降低用戶解密的計(jì)算代價(jià);針對(duì)多用戶同時(shí)寫數(shù)據(jù)的訪問控制,提出了對(duì)多個(gè)用戶提交的暫存數(shù)據(jù)的管理方法。MCA-B用于文件的邏輯分塊作為最小控制粒度的訪問控制,該方案設(shè)計(jì)了文件的邏輯分塊機(jī)制、基于索引矩陣的表示方法,提出了子數(shù)據(jù)掩碼表示方法以描述多個(gè)用戶對(duì)同一文件不同邏輯分塊的寫權(quán)限;MCA-B支持用戶集合、文件邏輯分塊結(jié)構(gòu)的動(dòng)態(tài)變化,而且數(shù)據(jù)的擁有者和修改者無需一直在線。與現(xiàn)有的方案相比,所提方案不僅具有云存儲(chǔ)下多用戶協(xié)同寫數(shù)據(jù)的訪問控制能力,而且讀訪問控制的用戶端存儲(chǔ)量和加解密計(jì)算量是較小的。
云存儲(chǔ);訪問控制;屬性加密;多用戶協(xié)同訪問
云存儲(chǔ)為用戶提供了隨時(shí)隨地的數(shù)據(jù)訪問。為了細(xì)粒度地控制授權(quán)用戶訪問所授權(quán)的那部分?jǐn)?shù)據(jù),可以采用Waters等提出的ABE (attribute-based encryption[1]、KP-ABE(key-policy attribute-based encryption)[2]、CP-ABE(ciphertext-policy attribute- based encryption[3]、FE(functional encryption)[4]等一系列加密方法,構(gòu)建高效、安全的訪問控制方案。其中,CP-ABE被認(rèn)為是云存儲(chǔ)下最適合的數(shù)據(jù)訪問控制方法之一。
CP-ABE中,可信授權(quán)機(jī)構(gòu)為合法用戶分發(fā)用戶屬性私鑰。數(shù)據(jù)擁有者定義訪問策略,用訪問策略對(duì)敏感數(shù)據(jù)進(jìn)行加密,將加密后的密文上傳到云端。用戶訪問數(shù)據(jù)時(shí),從云端下載密文,用自己的屬性私鑰解密密文,如果用戶的屬性私鑰與密文的訪問策略匹配,用戶可以解密成功得到明文,否則,用戶解密失敗。訪問策略可以用樹、LSSS矩陣、單調(diào)布爾公式等表示,其中,樹是最常用的訪問策略表示方法。
目前,大部分CP-ABE訪問控制方法都是用于控制單個(gè)用戶對(duì)云數(shù)據(jù)的訪問,屬性集滿足訪問控制樹的用戶可以訪問數(shù)據(jù)。但是,很少有論文研究云存儲(chǔ)下多用戶同時(shí)對(duì)一個(gè)文件進(jìn)行寫操作的訪問控制方法。CP-ABE僅適合用戶分別讀取或者分別修改不同數(shù)據(jù),而直接應(yīng)用CP-ABE進(jìn)行多用戶協(xié)同訪問數(shù)據(jù)時(shí),會(huì)存在修改無序、密文文件大量冗余等問題。本文擬對(duì)CP-ABE方法進(jìn)行完善,以適應(yīng)云端協(xié)同訪問控制的應(yīng)用需求。
分析實(shí)際應(yīng)用,發(fā)現(xiàn)數(shù)據(jù)擁有者Owner對(duì)數(shù)據(jù)具有創(chuàng)建、讀、寫(修改)、刪除等權(quán)限,而寫授權(quán)用戶(即,數(shù)據(jù)修改者M(jìn)ender)對(duì)數(shù)據(jù)只具有讀、寫(修改)的權(quán)限。由于數(shù)據(jù)的可讀用戶集合和可寫用戶集合之間存在關(guān)系:(即一個(gè)用戶對(duì)數(shù)據(jù)具有讀權(quán)限時(shí)不一定具有寫權(quán)限),所以,采用CP-ABE進(jìn)行寫權(quán)限控制時(shí),每個(gè)數(shù)據(jù)在云端存儲(chǔ)時(shí)需要攜帶2個(gè)訪問策略(和),決定了具有讀權(quán)限的用戶集合。決定了具有寫權(quán)限的用戶集合。如果用戶的屬性集合與數(shù)據(jù)的匹配,則該用戶讀取成功。如果用戶的屬性集合與數(shù)據(jù)的匹配,則該用戶對(duì)的寫操作成功。
本文主要研究在保證數(shù)據(jù)機(jī)密性、防止共謀攻擊的前提下,基于CP-ABE方法,在半可信云存儲(chǔ)環(huán)境中嘗試設(shè)計(jì)多用戶協(xié)作訪問控制方案。
1.1 本文的主要貢獻(xiàn)
本文設(shè)計(jì)了細(xì)粒度的靈活訪問控制,既考慮了數(shù)據(jù)文件的創(chuàng)建寫,又考慮了數(shù)據(jù)文件的追加寫。Li[6]方案只考慮PHR檔案數(shù)據(jù)的創(chuàng)建寫,沒有考慮PHR檔案數(shù)據(jù)的追加寫;本文方案適合多授權(quán)機(jī)構(gòu)的應(yīng)用場(chǎng)景。Li[6]方案只考慮一個(gè)授權(quán)機(jī)構(gòu)的應(yīng)用場(chǎng)景;本文方案可以控制數(shù)據(jù)文件或者文件的邏輯分塊。Li[6]方案的控制粒度是單個(gè)數(shù)據(jù)文件;本文方案適用于通用云存儲(chǔ)系統(tǒng)。
具體地,本文的主要貢獻(xiàn)總結(jié)如下。
1) 針對(duì)單個(gè)數(shù)據(jù)文件作為最小控制粒度的情形,提出了一個(gè)多用戶協(xié)同訪問控制方案MCA-F,用戶持有屬性私鑰,文件用策略樹加密后存儲(chǔ)于云端。如果用戶屬性集滿足讀訪問控制樹,用戶可以讀取文件內(nèi)容。如果用戶屬性集滿足寫權(quán)限,云端暫存用戶的寫數(shù)據(jù),由Owner進(jìn)行寫數(shù)據(jù)的內(nèi)容審核。采用層次加密結(jié)構(gòu),云服務(wù)器承擔(dān)部分解密計(jì)算,以降低用戶解密的計(jì)算代價(jià);針對(duì)多用戶同時(shí)寫數(shù)據(jù)的訪問控制,提出了對(duì)多個(gè)用戶提交的暫存數(shù)據(jù)的管理方法。
2) 針對(duì)文件的邏輯分塊作為最小控制粒度的情形,設(shè)計(jì)了多用戶協(xié)同修改文件不同邏輯分塊的控制方案(MCA-B):將文件分割成邏輯分塊。子數(shù)據(jù)掩碼(sub data mask)用來控制每個(gè)用戶對(duì)文件不同邏輯分塊的寫權(quán)限。數(shù)據(jù)修改索引矩陣(index matrix of modification)用來記錄每個(gè)Mender暫存云端的文件邏輯分塊。Owner無需總是在線。支持用戶集合、文件邏輯分塊結(jié)構(gòu)的動(dòng)態(tài)變化。多個(gè)用戶可以修改同一個(gè)數(shù)據(jù)文件的每一個(gè)邏輯分塊。
3) 設(shè)計(jì)了一種云輔助解密的方法。用戶可以將大部分解密的計(jì)算量委托給云存儲(chǔ)服務(wù)器,從而減少了每個(gè)用戶的計(jì)算代價(jià)。
1.2 相關(guān)工作
Deng等[5]注意到多個(gè)同行公司在合同制定之后需要共享數(shù)據(jù)的情形,在不泄漏同行公司內(nèi)部組織結(jié)構(gòu)的前提下解決了如何產(chǎn)生委托私鑰的問題。文獻(xiàn)[5]在合數(shù)階群上,利用子群正交性,構(gòu)建了層次化的CP-ABE方案,適合于大型組織單位的應(yīng)用場(chǎng)景。
Li等[6]將時(shí)間分成時(shí)間片,利用散列函數(shù)的單向性和數(shù)字簽名的不可偽造性,設(shè)計(jì)了PHR(personal health record)應(yīng)用背景下用戶限時(shí)寫權(quán)限控制方案,其主要貢獻(xiàn)在于:1)組織單位org無需一直在線,只需要在每個(gè)時(shí)間片開始的時(shí)候周期性分發(fā)即可;2)由Owner簽發(fā)寫權(quán)限的時(shí)限,有效控制了寫權(quán)限的開始時(shí)間和結(jié)束時(shí)間。不足之處在于:1)所針對(duì)的數(shù)據(jù)文件是作為一個(gè)寫授權(quán)單元,不符合多個(gè)數(shù)據(jù)分別作為寫授權(quán)單元的應(yīng)用場(chǎng)景,也沒有對(duì)數(shù)據(jù)文件的每個(gè)邏輯部分進(jìn)行更細(xì)粒度的控制;2)Origination(AA)只有一個(gè),不符合多AA的應(yīng)用場(chǎng)景;3)只考慮了PHR檔案數(shù)據(jù)的創(chuàng)建寫,沒有考慮PHR檔案數(shù)據(jù)的追加寫。
Ferrara等[7]在RBAC訪問控制方法中也提到寫權(quán)限的控制,然而,為了簡單起見,設(shè)定只有管理者M(jìn)anager才能寫文件。
Zhao等[8]提出了Many-Write-Many-Read的數(shù)據(jù)共享訪問控制概念,但在方案實(shí)現(xiàn)時(shí),每個(gè)修改者獨(dú)立進(jìn)行寫操作,沒有考慮多個(gè)修改者同時(shí)進(jìn)行合作寫操作的情形。Ruj等[9]也提出了Many-Write- Many-Read概念:在用戶提交信息時(shí),同時(shí)提交文件創(chuàng)建時(shí)指定的Claim Policy,云端收到Claim Policy之后驗(yàn)證用戶身份,如果用戶是授權(quán)的,則云端允許用戶寫文件。但論文沒有給出具體方案,也沒有考慮多個(gè)修改者同時(shí)進(jìn)行合作寫操作的情形。
Hur等[10]基于提出two-party computation protocol,用在KGC(key generation center)和DSC(data storage center)之間,解決了密鑰托管問題(key escrow problem)。
Yang等[11]提出了高效安全的DAC-MACS(data access control for multi-authority cloud storage)方案,支持用戶從多授權(quán)機(jī)構(gòu)AA獲取屬性私鑰,Owner可以從多授權(quán)機(jī)構(gòu)AA獲得屬性公鑰,適合多應(yīng)用系統(tǒng)的云存儲(chǔ)場(chǎng)景。
Yang等[12]針對(duì)CP-ABE中Policy動(dòng)態(tài)變化帶來的低效率問題,針對(duì)不同的訪問策略,設(shè)計(jì)了訪問策略動(dòng)態(tài)更新算法。密文存在云端時(shí),動(dòng)態(tài)變化的訪問策略追加在密文上。
Herranz等[13]在GDH(CDH<可計(jì)算Diffie-Hellman>問題難解決,而DDH<可判定Diffie-Hellman>容易解決)的理論基礎(chǔ)下,提出了聯(lián)合簽名方案。不足之處在于,簽名方案未考慮用戶集合的動(dòng)態(tài)變化。
Lewko等[14]定義了Semi System空間,定義了、、這3個(gè)安全游戲過程,在一系列假設(shè)下,給出了從選擇安全到完全安全的證明路線:、、。
郭樹行等[15]基于動(dòng)態(tài)情景網(wǎng)關(guān),提出了一種協(xié)同訪問控制模型DSGAC,定義了情景要素,進(jìn)行了情景的構(gòu)造和推演,給出了基于情景的協(xié)同訪問應(yīng)用架構(gòu)。
林果園等[16]基于BLP(bell-LaPadula)模型和Biba模型,考慮行為動(dòng)態(tài)調(diào)節(jié)訪問范圍,提出了CCACSM模型,提高了云存儲(chǔ)訪問控制的靈活性。
Li[6]方案是針對(duì)PHR醫(yī)療系統(tǒng)提出的,具有很大的應(yīng)用局限性。系統(tǒng)在啟動(dòng)時(shí),就知道寫權(quán)限開啟和禁用的確切時(shí)間,例如,醫(yī)療系統(tǒng)啟動(dòng)時(shí),就已經(jīng)知道醫(yī)生的上班和下班的確切時(shí)間。Li[6]方案用散列鏈和數(shù)字簽名技術(shù)實(shí)現(xiàn)了寫授權(quán)控制。Ferrara等[7]設(shè)定只有管理者M(jìn)anager才能寫文件。Zhao等[8]和Ruj等[9]都考慮了Many-Write- Many-Read的情形,但是,Zhao等[8]只考慮了每個(gè)修改者獨(dú)立進(jìn)行寫操作,沒有考慮多個(gè)修改者同時(shí)進(jìn)行合作寫操作的情形。Ruj等[9]提出了用Claim Policy控制單個(gè)用戶寫授權(quán),但是只給出了思路。郭樹行等[15]給出了基于情景的協(xié)同訪問應(yīng)用架構(gòu),對(duì)云存儲(chǔ)協(xié)同訪問控制具體方案的進(jìn)一步研究具有指導(dǎo)意義。
2.1 系統(tǒng)模型
本文常用的符號(hào)說明如表1所示。系統(tǒng)模型如圖1所示,系統(tǒng)由5個(gè)實(shí)體組成:證書授權(quán)中心(CA, certificate authority)、屬性授權(quán)中心(AA, attribute authorities)、云(Cloud)、數(shù)據(jù)擁有者(Owner) 和數(shù)據(jù)修改者(Mender)。
表1 符號(hào)說明
CA:可信任的全局證書授權(quán)中心。系統(tǒng)啟動(dòng)時(shí),AA、Owner和Mender都向CA申請(qǐng)注冊(cè),CA為它們分別分發(fā)全局密鑰。
AA:可信任的屬性授權(quán)中心。負(fù)責(zé)管理屬性集合,為所有用戶生成、分發(fā)、撤銷、更新讀授權(quán)私鑰,同時(shí)與Owner合作為Mender生成、分發(fā)、撤銷、更新寫授權(quán)私鑰。
Cloud:半信任的公共存儲(chǔ)服務(wù)提供者。永遠(yuǎn)在線,負(fù)責(zé)存儲(chǔ)Owner和Mender提交的數(shù)據(jù),并驗(yàn)證用戶是否具有寫權(quán)限,為用戶提供隨時(shí)隨地的數(shù)據(jù)訪問服務(wù)。
Owner:用讀策略樹和寫策略樹對(duì)數(shù)據(jù)進(jìn)行CP-ABE加密,將密文上傳云端。當(dāng)有Mender對(duì)數(shù)據(jù)進(jìn)行修改時(shí),Owner通過與Cloud進(jìn)行交互,審核所修改的內(nèi)容,確保Cloud上所存儲(chǔ)的是最新修改狀態(tài)(Write-Modify)的數(shù)據(jù)。
Mender:從Cloud獲取密文數(shù)據(jù)后,用自己的屬性集合與進(jìn)行匹配,獲得對(duì)稱密鑰,讀取數(shù)據(jù)。Mender可以修改數(shù)據(jù),并將修改好的數(shù)據(jù)用對(duì)稱加密算法加密后,上傳到云端。
2.2 安全定義
防止共謀:即使非法Mender′拿到合法Mender的寫權(quán)限,也無法修改云端數(shù)據(jù)文件。而且,Mender和Mender′不能通過合并其私鑰而修改原本單獨(dú)不具備寫權(quán)限的數(shù)據(jù)。
數(shù)據(jù)機(jī)密性:Owner和Mender提交的數(shù)據(jù)在云端加密存儲(chǔ),Cloud或非授權(quán)用戶無法獲知數(shù)據(jù)的內(nèi)容。
3.1 問題陳述
用CP-ABE方法對(duì)云存儲(chǔ)數(shù)據(jù)進(jìn)行訪問控制時(shí),多用戶同時(shí)從云端獲取同一數(shù)據(jù)文件后,各自在用戶端對(duì)數(shù)據(jù)進(jìn)行解密、讀取明文時(shí),不會(huì)造成混亂。但多用戶對(duì)云端同一個(gè)數(shù)據(jù)文件進(jìn)行協(xié)同寫時(shí),會(huì)引發(fā)新的問題:1)在保證數(shù)據(jù)文件機(jī)密性的前提下,多個(gè)合法用戶如何有序地同時(shí)寫同一個(gè)數(shù)據(jù)文件;2)合法的用戶可能對(duì)文件的多個(gè)邏輯分塊具有不同的訪問權(quán)限,因而,訪問控制粒度應(yīng)該細(xì)化到對(duì)文件邏輯分塊的控制;3)文件的邏輯分塊結(jié)構(gòu)可能會(huì)因Owner的修改而動(dòng)態(tài)變化,數(shù)據(jù)文件的修改版本動(dòng)態(tài)變化。所以,云存儲(chǔ)下的多用戶數(shù)據(jù)協(xié)同權(quán)限控制方案應(yīng)能適應(yīng)上述的動(dòng)態(tài)變化。
針對(duì)上述問題,本文提出了多用戶協(xié)作訪問控制方案MCA-F(見3.5節(jié))及MCA-B方案(見3.6節(jié)),前者適用于單個(gè)數(shù)據(jù)文件作為最小控制粒度的情形,后者適用于文件的邏輯分塊作為最小控制粒度的情形。
3.2 基本思想
能夠讀數(shù)據(jù)的用戶不一定能夠?qū)憯?shù)據(jù),即讀授權(quán)用戶集合不一定等于寫授權(quán)用戶集合。所以,要考慮讀權(quán)限的用戶集合與寫權(quán)限用戶集合不一致的情形。設(shè)計(jì)了加密層次結(jié)構(gòu)(如圖2所示)。屬性集滿足的用戶可以讀數(shù)據(jù),屬性集滿足的用戶可以寫數(shù)據(jù)。
考慮Owner瓶頸問題,顯然不能由Owner收集每個(gè)Mender的修改部分,應(yīng)該將所有Mender的修改部分上傳Cloud,由Cloud保留修改部分;考慮到Owner或者M(jìn)ender不能永遠(yuǎn)在線,因而,修改部分不應(yīng)讓Mender保留在本地,應(yīng)該及時(shí)上傳云端。Owner上線之后,決策哪些修改部分應(yīng)該保留,并將最新決策后的版本加密,上傳Cloud。
MCA-B方案中,Owner將文件分割成多個(gè)邏輯分塊,邏輯分塊是MCA-B方案的最小控制對(duì)象。在文件分割表(table of file splitting)中記錄文件是如何劃分成邏輯分塊的。子數(shù)據(jù)掩碼SDM(sub data mask)也由Owner指定。在Owner定義的時(shí)候,指定哪些屬性集的用戶對(duì)的每個(gè)邏輯分塊是否擁有寫權(quán)限。=1010表示該擁有屬性集的Mender可以修改數(shù)據(jù)文件的第1個(gè)和第3個(gè)邏輯分塊。也就是說,對(duì)于一個(gè)數(shù)據(jù)文件,在滿足寫權(quán)限控制樹的前提下,滿足邏輯分塊訪問策略的Mender擁有合適的SDM。Cloud Server根據(jù)每個(gè)用戶屬性私鑰解密出SDM,并以此作為判斷用戶是否具有邏輯分塊寫權(quán)限的依據(jù)。根據(jù)解密出來的SDM,Cloud Server選擇是否暫存(semi-store)用戶提交的邏輯分塊。
3.3 加密的層次結(jié)構(gòu)
加密用分層的方法可以提高更新時(shí)的靈活性,即底層的密文更新并不影響上層的密文,反之亦然。如圖2所示,系統(tǒng)設(shè)計(jì)了3層加密結(jié)構(gòu):最低層是對(duì)數(shù)據(jù)進(jìn)行加密和解密,用EncryptData算法和DecryptData算法。中間層是對(duì)讀權(quán)限進(jìn)行控制,用EncryptRead算法和DecryptRead算法。最高層是對(duì)寫權(quán)限進(jìn)行控制,用EncryptWrite算法和DecryptWrite算法。
用戶在往云端寫數(shù)據(jù)時(shí),必須有數(shù)據(jù)版本的控制。因而EncryptRead算法和EncryptWrite算法的設(shè)計(jì)有所區(qū)分。也就是說,盡管EncryptRead算法和EncryptWrite算法都用CP-ABE作為基本加密方法,但是二者并不能完全相同。另外,為了更細(xì)粒度地控制多用戶協(xié)同寫文件過程,本文3.6節(jié)也描述了算法和算法。
3.4 MCA-F方案的框架
MCA-F方案的框架如圖3所示,詳述如下。
Encryption & Write-Grant階段,Owner定義具有讀權(quán)限的策略和具有寫權(quán)限的策略,調(diào)用算法,用對(duì)稱密鑰對(duì)明文數(shù)據(jù)運(yùn)行對(duì)稱密碼算法進(jìn)行加密得到。然后調(diào)用算法,用對(duì)對(duì)稱密鑰進(jìn)行CP-ABE加密得到,再調(diào)用算法將的一部分和作為輸入進(jìn)行CP-ABE加密,得到,設(shè)置version number=0,將上傳到云端。
Data Modification階段,當(dāng)Mender向Cloud申請(qǐng)數(shù)據(jù)時(shí),Cloud發(fā)送給Mender, Mender收到之后,使用用戶屬性私鑰運(yùn)行算法進(jìn)行解密后,可得到對(duì)稱密鑰,并用解密密文,可以看到數(shù)據(jù)明文,Mender可以修改數(shù)據(jù),然后用對(duì)稱密鑰運(yùn)行算法加密,得到之后,將屬性私鑰中的進(jìn)行機(jī)密性保護(hù),得到,然后連同一起發(fā)送給Cloud。Cloud Server收到和后,運(yùn)行算法驗(yàn)證Mender是否具有寫權(quán)限:將與作為輸入,運(yùn)行算法得到,如果等于,則Cloud Server將存儲(chǔ)為semi-stored狀態(tài)(還未被Owner審核)。如果不等于,則寫失敗,Cloud Server忽略。
Data Check階段,當(dāng)Owner上線時(shí), 從Cloud獲取Mender提交的,用對(duì)稱加密密鑰運(yùn)行算法解密后,查看修改數(shù)據(jù)。運(yùn)行算法,反饋結(jié)果Result給Cloud Server,Cloud Server根據(jù)Result的具體內(nèi)容,運(yùn)行作相應(yīng)的處理。
3.5 MCA-F方案的詳細(xì)算法
其中,S是訪問策略樹所有屬性(即葉子節(jié)點(diǎn))的集合。
對(duì)于上述第1)種情況,Owner向Cloud Server發(fā)送刪除的message。對(duì)于第2)種情況,Owner將version加1,發(fā)送覆蓋的message。對(duì)于第3)種情況,Owner將version加1,重新加密生成,并發(fā)送到Cloud。
3.6 MCA-B方案
如果一個(gè)數(shù)據(jù)文件的寫權(quán)限最小粒度是整個(gè)文件,則按照3.5節(jié)的方案既可。但如果應(yīng)用系統(tǒng)要求:每個(gè)用戶對(duì)同一個(gè)文件的各個(gè)邏輯部分擁有不同的寫權(quán)限,那么,邏輯分塊就是方案的最小控制對(duì)象。需要設(shè)計(jì)文件分割表(table of file splitting)、子數(shù)據(jù)掩碼、數(shù)據(jù)修改索引矩陣。算法也需要調(diào)整:算法、算法、算法、算法和算法分別擴(kuò)展為算法、算法、算法、算法和算法。
1) Owner更新文件分割表(table of file splitting)和矩陣結(jié)構(gòu);
值得注意的是,Owner在調(diào)整文件的邏輯分塊結(jié)構(gòu)時(shí),可能存在Mender寫權(quán)限的變更。針對(duì)這種實(shí)際問題,需要考慮2種情況:1) 已有的能夠覆蓋需要調(diào)整寫權(quán)限的Mender;2) 已有的無法覆蓋Mender,需要定義新的。對(duì)于第1)種情況,Owner需要在執(zhí)行算法的第2)步時(shí),調(diào)整子數(shù)據(jù)掩碼。對(duì)于第2)種情況,Owner在執(zhí)行算法的第2)步調(diào)整,并在執(zhí)行算法的第3)步時(shí),將新的對(duì)應(yīng)的添加到中。
4.1 數(shù)據(jù)一致性分析
方案采用版本號(hào)區(qū)分Mender修改數(shù)據(jù)是在哪個(gè)版本上,只區(qū)分時(shí)間順序,避免了時(shí)鐘同步的大代價(jià)。
所有的Mender寫操作都需要經(jīng)過Owner進(jìn)行審核方能存儲(chǔ)于Cloud。如果一個(gè)Mender的寫權(quán)限撤銷,則該Mender之后提交給Cloud的數(shù)據(jù)在Owner審核時(shí),Owner忽略該Mender的修改請(qǐng)求。新加入的Mender獲得寫權(quán)限之后,修改數(shù)據(jù)提交給Cloud時(shí),由Owner審核通過即可。
4.2 安全性分析
4.2.1 抗共謀分析
4.2.2 數(shù)據(jù)機(jī)密性安全分析
4.3 有效性分析
表2給出了已有方案(Hur方案[10]、DAC- MACS[11])與本文所提出的2個(gè)方案中之間存儲(chǔ)開銷方面的比較:本文方案中,Owner上的存儲(chǔ)代價(jià)都比較小,更適合輕量級(jí)終端應(yīng)用。但本文方案在和Cloud上的存儲(chǔ)代價(jià)比較大,這是因?yàn)楸疚姆桨缚紤]了多用戶協(xié)同寫控制,而其他2個(gè)方案只考慮了讀控制。
表3給出了已有方案(Hur方案[10]、DAC-MACS[11])與本文所提出的2個(gè)方案之間核心算法運(yùn)行時(shí)計(jì)算代價(jià)的比較:本文方案中,用戶端(包括Owner、Mender和User)在加密解密時(shí)的計(jì)算量都比較小。同時(shí),Hur方案[10]和DAC- MACS[11]只考慮了單用戶獨(dú)立訪問云端數(shù)據(jù)的情景。
本文方案1(MCA-F)中,EncryptRead算法運(yùn)行在Owner上,計(jì)算、和,其中,和分別需要一次,需要次。DecryptRead算法運(yùn)行在Cloud上和Mender/User上,本文的DecryptRead算法在云端的解密過程詳見文獻(xiàn)[17]。其中,Cloud上的運(yùn)算量為,Mender/User上的運(yùn)算量為。Verify算法運(yùn)行在Cloud上,計(jì)算量為。本文方案2(MCA-B)中,EncryptRead算法等計(jì)算量與方案1(MCA-F)相同,VerifyPart算法取代Verify算法,計(jì)算量為。
表2 存儲(chǔ)代價(jià)比較
注::管理的屬性個(gè)數(shù);:發(fā)行給的屬性個(gè)數(shù);:群的一個(gè)元素的存儲(chǔ)量;:管理的用戶個(gè)數(shù);:一個(gè)文件分割出的邏輯分塊數(shù)目;: 修改同一個(gè)文件的Mender數(shù)量;:控制讀權(quán)限的訪問策略樹中屬性的數(shù)量;:控制寫權(quán)限的訪問策略樹中屬性的數(shù)量;:一個(gè)文件的存儲(chǔ)量。:控制邏輯分塊寫權(quán)限的訪問策略樹中屬性的數(shù)量;: 每個(gè)Mender上傳的每個(gè)邏輯分塊的存儲(chǔ)量;N: 密文中的數(shù)量。
表3 計(jì)算代價(jià)比較
注:: 指數(shù)運(yùn)算;:一次雙線性映射運(yùn)算;:用戶屬性私鑰中的屬性個(gè)數(shù);: 密文中發(fā)行的屬性集;: 密文中的個(gè)數(shù);: 控制邏輯分塊寫權(quán)限的訪問策略樹中屬性的個(gè)數(shù)。
本文分析了多用戶協(xié)作訪問云端存儲(chǔ)的同一加密文件時(shí)產(chǎn)生的實(shí)際問題,提出了2個(gè)實(shí)用的多用戶協(xié)作訪問控制方案,拓展了CP-ABE方法在云存儲(chǔ)中的應(yīng)用場(chǎng)合。用戶采用云輔助解密密文,Owner采用云輔助的方法管理Mender提交的semi-stored狀態(tài)的寫數(shù)據(jù)。用戶、Owner和Mender采用低的計(jì)算代價(jià)和存儲(chǔ)代價(jià)訪問數(shù)據(jù),適合輕量級(jí)終端用戶協(xié)作訪問云端數(shù)據(jù)。
[1] SAHAI A, WATERS B. Fuzzy identity-based encryption[C]//Advances in Cryptology - Eurocrypt 2005. Springer, Berlin Heidelberg, c2005: 457-473.
[2] GOYAL O P V, SAHAI A, WATERS B. Attribute based encryption for fine-grained access conrol of encrypted data[C]//13th ACM Conference on Computer and Communications Security. Alexandria, c2006: 89-98.
[3] BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy attribute-based encryption[C]//IEEE Symposium on Security and Privacy. California, IEEE, c2007: 321-334.
[4] LEWKO A, OKAMOTO T, SAHAI A, et alFully secure functional encryption: attribute-based encryption and (hierarchical) inner product encryption[C]//Advances in Cryptology EUROCRYPT 2010. Springer, Berlin Heidelberg, c2010: 62-91.
[5] DENG H, WU Q, QIN B. Ciphertext-policy hierarchical attribute-based encryption with short ciphertexts[J]. Information Sciences, 2014, 275(8): 370-384.
[6] LI M, YU S C, ZHENG Y. Scalable and secure sharing of personal health records in cloud computing using attribute-based encryption[J]. IEEE Transactions on Parallel and Distributed Systems2013, 24(1) : 131-143.
[7] FERRARA A L, FUCHSBAUER G, WARINSCHI B. Cryptographically Enforced RBAC[C]//IEEE 26th Computer Security Foundations Symposium (CSF). Louisiana, IEEE, c2013: 115-129.
[8] ZHAO F, NISHIDE T, SAKURAI K. Realizing fine-grained and flexible access control to outsourced data with attribute-based cryptosystems[C]//Information Security Practice and Experience. Springer, Berlin Heidelberg, 2011: 83-97.
[9] RUJ S, STOJMENOVIC M, NAYAK A. Decentralized access control with anonymous authentication of data stored in clouds[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(2): 384-394.
[10] HUR J, KANG K. Secure data retrieval for decentralized disruption-tolerant military networks[J]. IEEE/ACM Transactions on Networking, 2014, (22): 16-26.
[11] YANG K, JIA X H, REN K, et al. DAC-MACS: effective data access control for multi-authority cloud storage systems[C]//INFOCOM 2013. Turin, IEEE, c2013: 2895-2903.
[12] YANG K, JIA X, REN K. Enabling efficient access control with dynamic policy updating for big data in the cloud[C]//INFOCOM 2014. Toronto, IEEE, c2014: 2013 - 2021.
[13] HERRANZ J, RUIZ A, SáEZ G. New results and applications for multi-secret sharing schemes[J]. Designs, Codes and Cryptography, 2013, 73(3): 841-864.
[14] LEWKO A, WATERS B. New proof methods for attribute-based encryption: achieving full security through selective techniques[C]// Advances in Cryptology CRYPTO 2012. California: Springer, c2012: 180-198.
[15] 郭樹行, 張禹. 基于動(dòng)態(tài)情景網(wǎng)關(guān)的系統(tǒng)協(xié)同訪問控制模型[J]. 通信學(xué)報(bào), 2013, 34(Z1): 142-147.
GUO S X, ZHANG Y. Dynamic situation gateway based system cooperations access gated model[J]. Journal on Communications, 2013, 34(Z1): 142-147.
[16] 林果園,賀珊,黃皓. 基于行為的云計(jì)算訪問控制安全模型[J]. 通信學(xué)報(bào), 2012, 33(3): 59-66. LIN G Y, HZ S, HUANG H. Access control security model based on behavior in clond computing environment[J]. Journd on Communications, 2012, 33(3): 59-66.
[17] SHI J L, et al. An access control scheme with direct cloud-aided attribute revocation using version key[C]//ICA3PP 2014. Dalian, Springer International Publishing, c2014: 429-442.
Multi-user collaborative access control scheme in cloud storage
SHI Jiao-li1,2, HUANG Chuan-he1, WANG Jing1, QIN Kuang-yu1,3, HE Kai1
(1. Computer School, Wuhan University, Wuhan 430072, China; 2. School of Information Science and Technology, Jiujiang University, Jiujiang 332005, China; 3. School of Information and Communication, Guilin University of Electronic Technology, Guilin 541004, China)
CP-ABE was considered as one of most suitable methods of data access control in cloud storage. However, it was just fit for reading or modifying different data files respectively. When CP-ABE was applied directly to data access collaborative control by multiple users, there would be such problems as data being modified disorderly. When multiple users access collaboratively the data stored on the cloud, legitimate users should modify the same ciphertext file orderly on the premise of confidentiality and collusion-resistance and the copies of ciphertext file should be generated as few as possible. Two multi-user collaborative access control schemes MCA-Fand MCA-Bfor the file and its logical blocks each were proposed. The MCA-Fscheme meets the requirement of access control in which the minimal granularity of control is a single data file. In MCA-Fscheme, hierarchical encryption is adopted, a part of decrypting computation is transferred to a cloud server to decrease the computational cost on users when decrypting. In allusion to the simultaneous write-data access control of multiple users, a method is designed to manage semi-stored modified data submitted by menders. The MCA-Bscheme is used for the access control in which a logical block of the file is the minimal granularity of control. This scheme designsa mechanism of logical blocking of the file and a representing method based on index matrix, and the representation of sub data mask is put forward to describe write permission of multiple users on different logical blocks of the same file. MCA-B scheme supports the dynamic change of the structure of logical blocks of the file, and the owners or menders do not need to be online always. Compared with the existing schemes, not only do proposed schemes provide multi-user collaborative access control in cloud storage, but also the client storage of reading access control and the computation of encrypting and decrypting are both lesser.
cloud storage, access control, attribute-based encryption, multi-user collaborative access
TP393.0
A
10.11959/j.issn.1000-436x.2016010
2014-10-21;
2014-12-19
黃傳河,huangch@whu.edu.cn
國家自然科學(xué)基金資助項(xiàng)目(No.61373040, No.61572370);教育部博士點(diǎn)基金資助項(xiàng)目(No.20120141110073)
The National Natural Science Foundation of China (No.61373040, No.61572370), The Ph.D. Programs Foundation of Ministry of Education of China (No.20120141110073)
史姣麗(1979-),女,山西運(yùn)城人,武漢大學(xué)博士生,九江學(xué)院講師,主要研究方向?yàn)榫W(wǎng)絡(luò)安全。
黃傳河(1963-),男,湖北隨州人,博士,武漢大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)橐苿?dòng)互聯(lián)網(wǎng)、移動(dòng)ad hoc網(wǎng)絡(luò)、無線傳感器網(wǎng)絡(luò)、無線mesh網(wǎng)絡(luò)、WDM網(wǎng)絡(luò)、物聯(lián)網(wǎng)、網(wǎng)絡(luò)安全、分布并行處理。
王晶(1986-),女,湖南邵陽人,武漢大學(xué)博士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全。
覃匡宇(1974-),男,壯族,廣西馬山人,武漢大學(xué)博士生,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)。
何凱(1987-),男,湖北黃岡人,武漢大學(xué)博士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全。