史姣麗 黃傳河 何 凱 沈燮陽 華 超
1(武漢大學(xué)計算機(jī)學(xué)院 武漢 430072)2 (九江學(xué)院 江西九江 332005)
?
支持多用戶協(xié)同編輯的云存儲訪問控制方法
史姣麗1,2黃傳河1何 凱1沈燮陽1華 超1
1(武漢大學(xué)計算機(jī)學(xué)院 武漢 430072)2(九江學(xué)院 江西九江 332005)
(shijiaoli@whu.edu.cn)
以往的云存儲屬性基訪問控制研究大多數(shù)是對外包數(shù)據(jù)的讀權(quán)限進(jìn)行控制,很少考慮多個用戶協(xié)同編輯云端同一個外包數(shù)據(jù)時的寫權(quán)限控制.多用戶協(xié)同編輯控制存在挑戰(zhàn):1)資源有限的數(shù)據(jù)擁有者希望云輔助自己對外包數(shù)據(jù)的寫權(quán)限進(jìn)行控制,但不希望云獲得數(shù)據(jù)內(nèi)容,也不希望云感知匹配內(nèi)容,甚至不希望云能夠預(yù)測用戶的寫權(quán)限;2)布爾公式的訪問結(jié)構(gòu)無法表達(dá)寫權(quán)限控制策略;3)雙線性映射運(yùn)算計算代價大,不適合多用戶協(xié)同編輯控制.提出一個支持多用戶協(xié)同編輯的云存儲訪問控制方法:數(shù)據(jù)擁有者采用表達(dá)能力更豐富的circuit定義寫權(quán)限訪問控制策略,委托半可信云采用矩陣運(yùn)算快速判斷用戶提交的修改數(shù)據(jù)是否應(yīng)該接受,并且云不可預(yù)測每個用戶是否具有寫權(quán)限.分析與實驗表明:該方法具有多用戶協(xié)同編輯的訪問控制能力,并且在讀權(quán)限控制時,利用云輔助解密方法使得用戶端存儲量和加解密計算量是較小的.
云存儲;訪問控制;屬性加密;多用戶協(xié)同編輯;云輔助寫權(quán)限控制
云作為近年來發(fā)展較快的分布式架構(gòu),不僅具有存儲數(shù)據(jù)的能力,而且能為大量用戶提供隨時隨地的訪問.但是,云服務(wù)器不能完全被用戶信任,因而需要研究合適的云存儲訪問控制方法:1)控制合法用戶能夠訪問授權(quán)數(shù)據(jù);2)控制半可信的云服務(wù)器無法得知數(shù)據(jù)的內(nèi)容.
屬性加密(attribute-based encryption, ABE)訪問控制方法減弱了數(shù)據(jù)擁有者和數(shù)據(jù)訪問者之間的耦合性,因而比傳統(tǒng)訪問控制方法更適合上述云存儲訪問控制應(yīng)用場景.ABE分為2類:密鑰策略屬性加密(key-policy attribute-based encryption, KP-ABE)和密文策略屬性加密(ciphertext-policy attribute-based encryption, CP-ABE).前者適應(yīng)于用戶檢索外包數(shù)據(jù)的應(yīng)用場景;后者適應(yīng)于用戶讀取外包數(shù)據(jù)的應(yīng)用場景.后者(CP-ABE)采用Data-binding-policy方法(將訪問策略綁定在數(shù)據(jù)上)保證外包數(shù)據(jù)可以被多個用戶按需讀取,因而企業(yè)無需建設(shè)數(shù)據(jù)基礎(chǔ)設(shè)施.然而,大多數(shù)研究只關(guān)注用戶對云端密文的讀權(quán)限控制[1-2],很少有研究關(guān)注上述無基礎(chǔ)設(shè)施的情況下如何實現(xiàn)密文協(xié)同編輯控制.
多個用戶同時編輯同一個外包密文數(shù)據(jù)時,可能出現(xiàn)5種控制要求:
1) 多個用戶的寫權(quán)限級別不同,他們同時提交修改數(shù)據(jù)時,需要保留高權(quán)限用戶提交的修改數(shù)據(jù),忽略低權(quán)限用戶提交的修改數(shù)據(jù);
2) 惡意編輯者一直寫數(shù)據(jù),致使正常的其他編輯者無法寫成功;
3) 云環(huán)境下多個用戶提交的修改數(shù)據(jù)在傳輸時時延不同,會使得修改數(shù)據(jù)的發(fā)出時間順序與到達(dá)服務(wù)器的時間順序不同,數(shù)據(jù)在具體應(yīng)用時需要確定保留修改數(shù)據(jù)版本的時間順序;
4) 每個用戶的多個訪問狀態(tài)之間存在偏序關(guān)系,例如用戶A在某個狀態(tài)提出訪問數(shù)據(jù)請求時,要求該用戶曾經(jīng)經(jīng)歷過其他狀態(tài);
5) 多個用戶之間在訪問狀態(tài)上存在約束關(guān)系,例如用戶A在某個狀態(tài)提出數(shù)據(jù)請求時,要求其他用戶集合{uj}的狀態(tài)滿足指定的偏序關(guān)系.
以往的云存儲訪問控制在處理多用戶協(xié)同編輯時,都是按照修改數(shù)據(jù)的到達(dá)時間(如文獻(xiàn)[3]),如果直接使用以前研究所提出的任何一種云存儲訪問控制方法,都無法實現(xiàn)上述多用戶協(xié)同編輯細(xì)粒度訪問控制需求.
協(xié)同編輯訪問控制與讀權(quán)限訪問控制存在不同:讀訪問時,決定是否可讀的是用戶端的屬性私鑰,即如果用戶的屬性私鑰滿足密文關(guān)聯(lián)的訪問策略,那么該用戶就可以讀取密文.協(xié)同編輯時,由于數(shù)據(jù)擁有者的終端設(shè)備在計算、存儲和通信等方面能力有限,因而需要云輔助數(shù)據(jù)擁有者實現(xiàn)寫權(quán)限控制.然而,在云輔助寫權(quán)限控制時存在2種挑戰(zhàn):1)數(shù)據(jù)擁有者希望云輔助自己判斷是否接受每個用戶的修改數(shù)據(jù);2)數(shù)據(jù)擁有者又不希望云獲得數(shù)據(jù)內(nèi)容,更不希望云能預(yù)測用戶下一次提交的數(shù)據(jù)是否可寫.
考慮以上安全控制需求,本文嘗試在云存儲環(huán)境下研究多用戶協(xié)調(diào)編輯訪問控制方法,主要貢獻(xiàn)總結(jié)有3點(diǎn):
1) 設(shè)計了云輔助解密方法,減輕了用戶端的計算代價,并證明了該方法在離散對數(shù)困難問題假設(shè)下沒有減弱安全性.
2) 提出了多用戶協(xié)同編輯訪問控制方法.該方法支持Collaborative-Edit:考慮到常用的布爾公式訪問結(jié)構(gòu)無法表達(dá)復(fù)雜的寫權(quán)限控制策略,Owner采用表達(dá)能力更豐富的circuit定義復(fù)雜的寫權(quán)限控制策略,將策略關(guān)聯(lián)到密文數(shù)據(jù),然后上傳到云.多個用戶提出編輯請求時,云根據(jù)Owner定義的策略確定最新數(shù)據(jù)版本,實現(xiàn)Data-binding-policy的細(xì)粒度寫權(quán)限控制.
3) 設(shè)計了MOR(many-to-one recoding)原語,對TOR(two-to-one recoding)原語[4]進(jìn)行維度擴(kuò)展,基于LWE(learning with error)理論實例化所設(shè)計的MOR原語,實現(xiàn)了多用戶協(xié)同編輯訪問控制方法:考慮到基于雙線性映射及其安全假設(shè)構(gòu)建的ABE訪問控制方法計算代價大,本文采用代價更小的矩陣運(yùn)算實現(xiàn)寫策略匹配,能夠在半信任云上快速判斷用戶提交的修改數(shù)據(jù)是否應(yīng)該接受,并且云不可預(yù)測每個用戶是否具有寫權(quán)限.
支持協(xié)同編輯的云存儲訪問控制研究方面,Dong等人[3]基于HIBE(hierarchical identity-based encryption)設(shè)計了SECO方案,該方案是根據(jù)修改數(shù)據(jù)到達(dá)云服務(wù)器的時間來確定最終的數(shù)據(jù)版本;Ruj等人[5]只提出了使用Claim Policy控制單個用戶寫權(quán)限控制;Li等人[6]將時間劃分為時間片,用Hash鏈和簽名技術(shù)控制寫權(quán)限,但只考慮Create-Writing情形,沒有考慮Collaborative-Writing情形;范艷芳等人[7]考慮協(xié)作環(huán)境下的訪問控制模型,在經(jīng)典BLP模型上擴(kuò)充主客體的安全標(biāo)記,提高了傳統(tǒng)訪問控制模型的靈活性.
ABE方案的研究方面,Yang等人[1]考慮大數(shù)據(jù)訪問控制時的動態(tài)策略更新問題,討論了布爾公式、門限結(jié)構(gòu)及LSSS結(jié)構(gòu)的更新過程;Lai等人[8]使用半信任代理,在密文上修改訪問策略,同時不泄漏任何信息給半信任代理;Chun等人[9]提出了支持動態(tài)組成員管理的ABE方案;Hur等人[2]在軍用容斷網(wǎng)絡(luò)的應(yīng)用環(huán)境中,設(shè)計的CP-ABE方案支持多個AA分發(fā)重復(fù)屬性;Rouselakis等人[10]指出應(yīng)該由Owner自己指定其數(shù)據(jù)的訪問屬性;王皓等人[11]給出了外包ABE的形式化定義,構(gòu)造并證明了一個外包ABE的方案;Li等人[6]針對PHR(personal health records)系統(tǒng)的訪問控制需求,將屬性域分為個人屬性域和公共屬性域,個人屬性域由每個Owner自己進(jìn)行定義,而公共屬性域由AA進(jìn)行定義,ABE方案的格實現(xiàn)方面,研究者認(rèn)為格可以抵御量子計算機(jī)的攻擊;Boyen[12]提出了適合處理復(fù)雜訪問策略的格操作框架:私鑰用Ephemeral Lattices,論文利用Basis Splicing技術(shù),允許接受者將Ephemeral Lattices基轉(zhuǎn)換為任意其他格的基,可以處理規(guī)范或者非規(guī)范的訪問策略;Liu等人[13]提出了基于格的門限層次ABE(t-HABE),在LWE困難問題假設(shè)下,降低了屬性數(shù)量;ABE方案的高效性研究方面,Hohenberger等人[14]將ABE方案分成線上和線下2部分,減少了線上計算量.
在實現(xiàn)ABE方案時,訪問策略的形式可以是布爾公式、circuit等.Garg等人[15]基于多線性映射構(gòu)造了一個circuit ABE方案:只加密1位明文,密文長度只與輸入集合中xi=1的個數(shù)有關(guān),用戶私鑰與circuit的深度depth有關(guān),公鑰與input的數(shù)量n有關(guān);Xu等人[16]在Garg等人[15]的基礎(chǔ)上,設(shè)計了Complement circuit CP-ABE,實現(xiàn)了云輔助解密的結(jié)果驗證,可以防止云服務(wù)器欺騙用戶.
circuit ABE方案也可以基于LWE困難假設(shè)構(gòu)造,其理論基礎(chǔ)是Regev[17]證明的結(jié)論:解決LWE平均困難問題相當(dāng)于最壞困難問題,因此,LWE困難假設(shè)可以作為密碼學(xué)的一個Central Fixture;Gorbunov等人[4]設(shè)計了一個TOR原語,并基于LWE困難假設(shè)實例化了TOR原語,提出了一個circuit ABE方案:策略是以扇入度為2的Gates組成的邏輯電路,且私鑰的長度與circuit的長度成正比.
2.1 MOR原語
存在1組偽隨機(jī)函數(shù)Encode(·)和1個重編碼密鑰rk,使得轉(zhuǎn)換可以實施:
(Encode(pk1,w),Encode(pk2,w),…,
Encode(pkN,w))|→Encode(pktgt,w),
轉(zhuǎn)換密鑰rk可以由任意公鑰pkb對應(yīng)的私鑰skb生成,w是高斯種子隨機(jī)數(shù).
2.2 設(shè)計思路
在Gorbunov等人[4]基于LWE困難假設(shè)實例化的TOR原語中,有:
(1)其中,R∈2m×mq,A∈n×mq,s∈nq,R是滿足[A0‖A1]R=Atgt的一個低秩矩陣,映射為密鑰rk;矩陣Ab∈n×mq(A0或A1)映射為公鑰pkb(pk0或pk1),后門矩陣Tb∈m×mq(T0或T1)映射為私鑰skb(sk0或映射為編碼過程Encode(Ab,w).eb滿足高斯分布D,界為σ.矩陣RT表示對矩陣R進(jìn)行轉(zhuǎn)置運(yùn)算.
根據(jù)LWE困難假設(shè)[17],能夠區(qū)分{A,ATs+e}和{A,u}兩個分布的優(yōu)勢可以忽略,其中,u∈mq.因而,式(1)可以擴(kuò)展為
(2)
其中,R∈Nm×mq.
2.3 實例化設(shè)計
根據(jù)式(2),對MOR原語進(jìn)行詳細(xì)的實例化設(shè)計.
Keygen(PP):調(diào)用后門函數(shù),生成矩陣A及其后門矩陣T,分別作為公鑰和私鑰:pk=A,sk=T,其中,A∈n×mq,T∈m×mq.
Encode(pk,w):選擇Error向量e∈Xm和s∈nq,計算并輸出φ=ATs+e.
ReKeygen(pk1,pk2,…,pkN,skb,pktgt):選擇N-1個離散高斯矩陣Ri∈(D)m×m,計算U=pktgt-,其中,i≠b,計算Rb=SampleD(Ab,Tb,U),輸出:
2.4 MOR原語的特性
MOR原語具有不可預(yù)測性和可重用性.
1) 不可預(yù)測性.對于N輸入的門G:{0,1}×…×{0,1}→{0,1}和N個輸入L1,L2,…,LN,已知轉(zhuǎn)換表(rk,φ1,φ2,…,φN,φtgt)和φi=Encode(pki,w),容易計算Encode(G(L1,L2,…,LN),w),但Encode(1-G(L1,L2,…,LN),w)仍然保持隱藏.
2) 可重用性.s與轉(zhuǎn)換過程完全獨(dú)立,因而可以通過選擇隨機(jī)數(shù)s刷新轉(zhuǎn)換表的方式達(dá)到可重用的目的.
3.1 系統(tǒng)模型
如圖1所示,系統(tǒng)由4部分實體組成:屬性授權(quán)中心(attribute authorities, AA)、云服務(wù)器(Cloud Server)、數(shù)據(jù)擁有者(Owner)、用戶(User).
Fig. 1 System model圖1 系統(tǒng)模型
1) AA是可信屬性授權(quán)中心.負(fù)責(zé)管理屬性集合,為User分發(fā)代表讀權(quán)限的私鑰SKut和代表寫權(quán)限的憑證nsut‖Tokenut,nsi,其中,ut表示用戶編號,nsut表示用戶ut的當(dāng)前狀態(tài),nsi表示所有用戶的狀態(tài)向量.
2) Owner是數(shù)據(jù)擁有者.Owner先用內(nèi)容密鑰運(yùn)行對稱密碼算法加密,得到Cm;然后用本地指定的讀權(quán)限訪問策略對內(nèi)容密鑰進(jìn)行CP-ABE加密,得到Cp;接著定義多用戶協(xié)同編輯策略Ct;最后將Cm‖Cp‖Ct上傳云端.
3.2 安全要求
1) 防止共謀.2個合法用戶不能通過合并其屬性私鑰而提升原本單獨(dú)不具備的讀權(quán)限.另外,假設(shè)用戶A為了避免責(zé)任,不會將代表了寫權(quán)限的憑證Tokenut,nsi共享給用戶B,即每個用戶為了自身利益考慮,不會將代表了責(zé)任的Tokenut,nsi分享給他人.
2) 數(shù)據(jù)機(jī)密性.Owner提交的數(shù)據(jù)在服務(wù)器端加密存儲,Server或非授權(quán)用戶無法獲知數(shù)據(jù)的內(nèi)容.
Fig. 2 The proposed framework for collaborative edit access control 圖2 多用戶協(xié)同編輯訪問控制框架
3) 不可預(yù)測性.假設(shè)Server是半可信的,即,Server會忠實地完成代理匹配寫權(quán)限的任務(wù),但是對匹配的內(nèi)容敏感.同時,Server不可預(yù)測每個用戶是否可寫,除非該User提交了正確的憑證.
3.3 安全模型的定義
定義1. 如果在多項式時間內(nèi),敵手勝出下述安全游戲的最大優(yōu)勢是可忽略的,則所提出的方案是安全的.
初始化階段. 挑戰(zhàn)者運(yùn)行Initial算法生成公共參數(shù)和主鑰.公共參數(shù)公開給敵手,主鑰秘密保存在AA上.
階段1.敵手通過向挑戰(zhàn)者提交屬性集Iut,k查詢屬性私鑰SKut,k.挑戰(zhàn)者運(yùn)行Setup算法為敵手生成屬性私鑰SKut,k.階段1可以重復(fù)多次.
挑戰(zhàn)階段.敵手提交2個消息:m0和m1,并給出讀權(quán)限控制樹policyr,但該控制樹不能被階段1中所提交的Iut,k匹配.接著,挑戰(zhàn)者拋硬幣選擇b∈{0,1},并運(yùn)行EncryptData算法輸入policyr加密mb,得到加密結(jié)果cb,然后將cb發(fā)送給敵手.
階段2.過程與階段1相同,只是添加了一條限制:policyr不能被所挑戰(zhàn)的屬性集匹配.敵手也可以詢問SKut,k的解密委托密鑰Part_SKut,如此,敵手就可從挑戰(zhàn)者獲得Part_SKut.
猜測階段.敵手輸出猜想結(jié)果b′∈{0,1},如果b′=b,則敵手勝出.
敵手勝出該游戲的優(yōu)勢Adv定義為
4.1 基本思想
采用CP-ABE方法對外包數(shù)據(jù)進(jìn)行訪問控制時,Owner不希望永遠(yuǎn)在線,并且本地存儲容量有限,所以O(shè)wner在指定讀權(quán)限訪問策略policyr并加密數(shù)據(jù)后,立即將密文上傳云服務(wù)器進(jìn)行存儲,以便其他用戶可以隨時隨地讀取數(shù)據(jù)或者編輯數(shù)據(jù).
多個用戶從云端下載密文后,用自己的私鑰解密并讀取數(shù)據(jù),接著,用戶也可以編輯數(shù)據(jù),并將修改數(shù)據(jù)提交給云,云有2種處理方法:1)Owner審核多個用戶提交的數(shù)據(jù)編輯內(nèi)容,并決定數(shù)據(jù)的最新版本.基于這種處理方法,設(shè)計的多用戶協(xié)同控制方法詳見前期研究成果[18].2)云根據(jù)Owner定義的協(xié)同編輯控制策略決定數(shù)據(jù)的最新版本.本文基于這種處理方法,設(shè)計多用戶協(xié)同編輯訪問控制方法,如圖2所示.為研究方便,暫不考慮并發(fā)機(jī)制的實現(xiàn).
為了控制云端同一個密文被多個用戶進(jìn)行協(xié)同編輯,Owner定義密文的寫權(quán)限控制策略Ct,并將Ct連同密文一起上傳云端,由云輔助Owner進(jìn)行寫權(quán)限策略匹配.密文數(shù)據(jù)的一致性由Owner定義的Ct來決定,即Owner可以通過任意定義Ct指定一致性規(guī)則.這種將數(shù)據(jù)與策略綁定并且策略決定數(shù)據(jù)訪問權(quán)限的方法稱為Data-binding-policy,適應(yīng)于云存儲等分布式系統(tǒng)的數(shù)據(jù)訪問控制.
讀權(quán)限控制要求云不能獲知明文數(shù)據(jù).以往的CP-ABE方案中,用戶下載密文后在本地解密,因而可以滿足“云不能獲知明文數(shù)據(jù)”這一安全要求.為了減少用戶端計算代價,將大部分解密工作委托給云服務(wù)器,并且仍然保證“云不能獲知數(shù)據(jù)”.本文設(shè)計了用戶委托解密密鑰,能夠讓云使用該密鑰完成大部分的解密工作,同時,該密鑰又不能破壞數(shù)據(jù)的機(jī)密性.
與讀權(quán)限控制不同,協(xié)同編輯權(quán)限控制要求:云不能獲知數(shù)據(jù)內(nèi)容,不能感知匹配內(nèi)容,甚至也不能通過先前的匹配結(jié)果預(yù)測后續(xù)匹配的結(jié)果.同時,讀策略policyr采用的布爾公式描述方法也不適應(yīng)于協(xié)同編輯策略Ct,這是因為布爾公式比較適合描述屬性是否配對,無法描述復(fù)雜的控制需求(見本文引言部分).
復(fù)雜的協(xié)同編輯控制策略涉及到數(shù)值大小的比較(例如時間的先后比較等),需要更豐富的表達(dá)能力(例如多用戶之間的狀態(tài)條件).相對于布爾公式,circuit具有復(fù)雜控制需求的描述能力,因而本文采用circuit描述協(xié)同編輯控制策略.
關(guān)于協(xié)同編輯控制策略的云輔助匹配,本文采用LWE理論的矩陣運(yùn)算,而不是policyr匹配時的雙線性映射運(yùn)算.這是因為采用類似于policyr匹配時的雙線性映射運(yùn)算進(jìn)行匹配時,需要將協(xié)同編輯策略映射為訪問控制樹,將用戶權(quán)限映射為屬性集,然后在云服務(wù)器上進(jìn)行雙線性映射匹配.這種方法存在2個問題:1)云在匹配運(yùn)算之前就能預(yù)測下一個用戶提交數(shù)據(jù)是否會被接受;2)匹配效率低.假設(shè)用戶數(shù)量為N,用戶狀態(tài)的數(shù)量為M.極端情況下,需要對每個用戶在每個狀態(tài)下訪問數(shù)據(jù)時指定一個控制樹,每個樹的屬性數(shù)目是N×M,則每個數(shù)據(jù)的協(xié)同編輯策略需要N2×M2個屬性來定義.假如用戶用數(shù)量為K的屬性集來表示,則需要K2×M2個屬性來定義協(xié)同編輯策略.
考慮上述安全及效率問題,本文設(shè)計了基于LWE假設(shè)的MOR原語和新的協(xié)同編輯控制策略匹配方法,利用MOR原語的不可預(yù)測性和可重用性,使得本文提出的方法既能讓云高效地完成寫權(quán)限的輔助匹配,又能保證云在匹配運(yùn)算之前無法預(yù)測用戶提交的修改數(shù)據(jù)是否被接受(即云的不可預(yù)測性).
4.2 詳細(xì)工作流程
各個階段運(yùn)行不同算法,如圖3所示.
1) 初始化階段(initialization phase).AA調(diào)用Initial算法,生成全局公共參數(shù)params和主鑰MK=(MK1,MK2),將params和MK2發(fā)送給申請注冊的Owner.接著,AA調(diào)用Setup算法,為用戶生成屬性私鑰SKut、云輔助解密密鑰對(DPKut,DSKut),將SKut,DPKut,DSKut通過密鑰交換協(xié)議發(fā)送給User.然后,AA調(diào)用SetupCollaborativeEdit算法生成協(xié)同編輯控制參數(shù)mpki,mski,pkout,并將mpki和pkout廣播給Owner,將mski通過密鑰交換協(xié)議發(fā)送給User.值得注意的是,屬性字符串在Setup算法中由AA任意指定,無需在Initial算法以枚舉類型羅列出來,即屬性域無需明確定義,這樣設(shè)計靈活性更強(qiáng).
Fig. 3 Phases and algorithms圖3 階段與算法
2) 數(shù)據(jù)準(zhǔn)備階段(data preparing phase).Owner調(diào)用EncryptData算法,用對稱密鑰Kcontent對明文數(shù)據(jù)M運(yùn)行對稱密碼算法進(jìn)行加密得到Cm,Owner定義具有讀權(quán)限的策略policyr,用policyr對對稱密鑰Kcontent進(jìn)行CP-ABE加密得到Cp,將Cm‖Cp上傳到服務(wù)器.
定義協(xié)同編輯條件(collaborative edit policy definition),Owner運(yùn)行EncryptCollaborativeEdit算法,定義協(xié)同編輯條件Ct,上傳到服務(wù)器,服務(wù)器將Ct附在Cm‖Cp后面,得到Cm‖Cp‖Ct后存儲.
3) 數(shù)據(jù)讀取階段(data read phase).當(dāng)User向服務(wù)器申請數(shù)據(jù)時,User提交其Part_SKut,服務(wù)器使用用戶提交的Part_SKut,運(yùn)行DecryptNode算法計算出Part_Decrypt,然后將Part_Decrypt連同Cm‖Cp一起發(fā)送給用戶,用戶運(yùn)行DecryptData算法使用SKut和Cp獲得Kcontent,并使用Kcontent和Cm運(yùn)行對稱解密算法,即可讀取明文.
4.3 核心算法
1)Initial算法
MK=(MK1=ga,MK2=e(g,g)b),
其中a,b∈*p.
2)Setup算法
Setup算法運(yùn)行在AA上.AA接受用戶的注冊,并為每個合法的用戶生成密鑰.假設(shè)每個用戶ut的屬性集為Iut,AA對用戶ut的每個屬性選擇隨機(jī)數(shù)r1,r2,…,rj,…∈p,生成用戶私鑰SKut:
D=MK1grt=gagrt,
Dj=grtH(λj)rj,
為了完成云輔助解密,AA還要為User生成委托解密的密鑰對:
選擇隨機(jī)數(shù)ru∈*p,計算DPKut=gru+b,DSKut=gru+a.
AA通過密鑰交換協(xié)議將SKut,DSKut,DPKut發(fā)送給用戶.
3)SetupCollaborativeEdit算法
AA為每一個參與協(xié)同編輯的用戶生成2個密鑰向量:
mpki=(pki,1,pki,2,…,pki,M),
mski=(statuski,1,statuski,2,…,statuski,M),
pki,j=Ai,j∈n×mq,
statuski,j=Ti,j∈m×mq,
其中,pki,j和statuski,j是通過運(yùn)行后門生成算法TrapGen(1n,1m,q)生成的矩陣Ai,j和后門矩陣Ti,j.
最后,AA為協(xié)同編輯的用戶集合生成一個狀態(tài)控制公鑰:pkout=Aout∈n×mq.
AA將mpki和pkout廣播于Owner用戶,并將mski通過密鑰交換協(xié)議分發(fā)給用戶.
4)EncryptData算法
EncryptData算法運(yùn)行在Owner上.先用對稱加密算法將明文M加密成Cm,然后加密密鑰Kcontent用CP-ABE方法加密得到Cp,CP-ABE加密時,使用數(shù)據(jù)讀策略policyr.接著Owner將Cm‖Cp上傳到服務(wù)器.
Owner對數(shù)據(jù)進(jìn)行讀權(quán)限控制的CP-ABE加密過程如下:選擇隨機(jī)數(shù)sc∈*p,令qR(0)=sc,其中,R表示policyr的根節(jié)點(diǎn),qR(x)表示根節(jié)點(diǎn)R的多項式.Owner以嵌套的方式設(shè)置每個節(jié)點(diǎn)x的多項式qx.每個節(jié)點(diǎn)x的門限為kx,qx的度設(shè)為dx=kx-1.qx的常數(shù)項qx(0)設(shè)置為qparent(x)(index(x)),qx的其他項系數(shù)是隨機(jī)選取的整數(shù).Cp的構(gòu)造如下:
Cr=gsc,
Ci=gqi(0),
其中,ST是訪問策略樹policyr所有屬性(即,葉子節(jié)點(diǎn))的集合.
5)EncryptCollaborativeEdit算法
EncryptCollaborativeEdit算法運(yùn)行在Owner上.Owner將每個用戶作為circuit的一個input wire,并對于用戶狀態(tài)約束條件抽象化的合取范式抽象為circuit,將circuit編碼為Ct:
Ct=(φ1,φ2,…,φN,Γ),
φi=Encode(pki,nsi,w),
Owner將Ct上傳,并附于Cm‖Cp之后,存儲于云.
6)MatchCollaborativeEdit算法
rk=RekeyGen({pki,nsi},Tokenut,nsi,pkout),
φout=Recode(rk,φ1,φ2,…,φN),
為了確保Cloud對編輯請求的不可預(yù)測性,需要在每一次成功覆蓋時重新刷新circuit.
7)DecryptData算法
DecryptData算法運(yùn)行在User上,使用用戶的私鑰SKut解密密文中的Cp,如果用戶的屬性集Iut滿足Cp中關(guān)聯(lián)的訪問策略,則解密成功,獲得對稱密鑰Kcontent,繼而通過對稱解密算法解密Cm,獲得明文M.
使用SKut解密Cp的過程如下:
用戶將DSKut附到Dj后,得到Part_SKut:
用戶將Part_SKut發(fā)送給服務(wù)器,請求其輔助解密,服務(wù)器收到用戶請求后,從訪問策略樹policyr的根節(jié)點(diǎn)開始,以遞歸方式調(diào)用DecryptNode算法.假設(shè)用戶私鑰中的屬性集為Iut,policyr的葉子節(jié)點(diǎn)集合為ITree,λi為節(jié)點(diǎn)xi的屬性.DecryptNode算法描述如下:
算法1.DecryptNode.
輸入:Cp,Part_SKut,Iut;
輸出:Part_Decrypt;
Ifxi∈ITreeThen
Ifλi∈IutThen
e(g,g)(rt+ru+a)qi(0);
End If
Ifλi?IutThen
Part_Decrypt=⊥;
End If
End If
Ifxi∈policyrandxi?ITreeThen
End If
Ifxi==root(policyr) Then
ReturnPart_Decrypt;
End If
其中,Part_Decryptz表示節(jié)點(diǎn)xi的孩子z上DecryptNode算法的運(yùn)算結(jié)果.i=index(z),sx={index(z),z∈Ixi},Ixi表示節(jié)點(diǎn)xi的所有孩子節(jié)點(diǎn)組成的集合.如果policyr匹配成功,即可獲得:Part_Decrypt=e(g,g)(rt+ru+a)·sc.
服務(wù)器將Part_Decrypt連同Cm‖Cp一起發(fā)送給用戶ut.用戶從服務(wù)器獲得Part_Decrypt和Cm‖Cp后,計算Kcontent:
用戶得到內(nèi)容密鑰Kcontent后,解密Cm,讀取明文M.
5.1 正確性
1) MOR原語的正確性分析
分析完畢.
2) 多用戶協(xié)同編輯控制方法的正確性分析
下面分別闡述刷新circuit對φi和Γ帶來的影響,為方便表達(dá),2個向量相乘的結(jié)果就是對應(yīng)位上元素相乘得到的向量,向量與數(shù)字相乘就是向量的每一個元素都乘以該數(shù)字.
?!′時,
Fig. 4 Reusable parameters圖4 可重用參數(shù)
5.2 安全性分析與證明
1) 抗共謀分析
即使半可信云與惡意用戶之間共謀,也不能讓惡意用戶獲得更多權(quán)限.云不能通過合并用戶A和用戶B的Part_SKut,以便讓用戶A獲得更多權(quán)限.
{(grBtH(λj)rj,rBt)}},
2) 數(shù)據(jù)機(jī)密性安全分析
明文通過對稱加密算法加密成Cm存儲于服務(wù)器,而對稱加密時的密鑰Kcontent也用policyr加密成Cp放在服務(wù)器.只有密鑰攜帶的屬性集與policyr匹配的用戶才可以解密Cp,得到Kcontent,從而使用Kcontent從Cm中恢復(fù)出明文.非授權(quán)用戶和服務(wù)器即使獲得Cm和Cp,也不能夠恢復(fù)明文M.
3) 不可預(yù)測性分析
Server不能通過多次輸入(L1,L2,…,LN)記錄Encode(G(L1,L2,…,LN),w)提升共謀用戶的編輯權(quán)限.分析如下:MOR原語具有不可預(yù)測性,也就是說,Encode(G(L1,L2,…,LN),w)的計算結(jié)果不增加計算Encode(1-G(L1,L2,…,LN),w)的優(yōu)勢,即,當(dāng)且僅當(dāng)G(L1,L2,…,LN)=1成立時,才能獲得正確的Encode(G(L1,L2,…,LN),w).多次記錄G(L1,L2,…,LN)=0時的Encode(G(L1,L2,…,LN),w)結(jié)果是無用的,因而云對每一次提交的寫請求結(jié)果具有不可預(yù)測性;又因為MOR原語具有可重用性,因而可以在每一次成功寫之后實現(xiàn)轉(zhuǎn)換表的刷新.綜合上述2條原因,先驗知識不能幫助敵手獲得更多的優(yōu)勢.
4) 數(shù)據(jù)機(jī)密性安全證明
在Bethencourt等人[19]的基礎(chǔ)上,本文構(gòu)造了讀權(quán)限訪問控制方法:云輔助解密時,用戶需要將Part_SKut發(fā)送給服務(wù)器.接下來,證明在離散對數(shù)困難問題假定下,Part_SKut暴露給敵手并不能增加其勝出安全游戲的優(yōu)勢.
5) 用戶編輯權(quán)限控制分析
授權(quán)用戶可以得到寫權(quán)限:根據(jù)構(gòu)造后門應(yīng)具有的安全特性(文獻(xiàn)[20]中命題5.1),矩陣及其后門是一一對應(yīng)的,擁有后門的用戶可以獲得正確的解密結(jié)果.本文方法中,SetupCollaborativeEdit算法運(yùn)行后,每一個參與協(xié)同編輯的用戶從AA獲得mski,這個向量的每一和個分量對應(yīng)了后門算法生成的后門矩陣Ti,j.另外,Owner運(yùn)行EncryptCollaborativeEdit算法生成的Ct是以mpki和pkout為參數(shù)構(gòu)造的,mpki的每一個分量對應(yīng)了后門算法的矩陣Ai,j,根據(jù)本文5.1節(jié)MOR原語和本文方法的正確性分析,擁有寫權(quán)限的用戶具有合適的憑證Tokenut,nsi,會得到成功的Ct匹配結(jié)果.
5.3 讀權(quán)限控制的代價分析
1) 存儲代價分析
表1給出了已有方法[2,21]與本文方法之間存儲開銷方面的比較.
表1中,LG表示群G中一個元素的存儲量;na,k表示授權(quán)機(jī)構(gòu)AAk管理下的屬性數(shù)量;na,k,ut表示授權(quán)機(jī)構(gòu)AAk為用戶ut生成的私鑰中關(guān)聯(lián)的屬性數(shù)量;nut,k表示授權(quán)機(jī)構(gòu)AAk管理的用戶數(shù)量;tr表示Owner指定的policyr中的屬性數(shù)量;NA表示密文中關(guān)聯(lián)的AA數(shù)量;LS表示密文Ct中的存儲量.與文獻(xiàn)[2,21]已有方法相同,表1忽略隨機(jī)整數(shù)的存儲代價.
Table 1 Comparison of Storage Cost表1 存儲代價比較
由表1可知,本文方法在Owner上的存儲代價都比較小,適合輕量級終端應(yīng)用.但本文方法在服務(wù)器上的存儲代價與密文中狀態(tài)約束控制所用的Ct相關(guān),這是因為本文方法考慮了多用戶協(xié)同編輯控制,而其他2個方法只考慮了讀權(quán)限控制.
2) 計算代價分析
表2比較了已有方法[2,21]與本文方法之間核心算法運(yùn)行時的計算代價.表2中,EG表示群G上指數(shù)運(yùn)算的計算量;PG表示群G上雙線性映射運(yùn)算的計算量;k表示用戶屬性私鑰攜帶的屬性數(shù)量;IAk表示密文中關(guān)聯(lián)的授權(quán)機(jī)構(gòu)AAk管理的屬性數(shù)量.與文獻(xiàn)[2,21]已有方法相同,表2忽略乘法與除法的計算代價.
Table 2 Comparison of Computation Cost表2 計算代價比較
由表2可知,本文方法的用戶端(包括Owner和User)在加密解密時的計算量都比較小,適合輕量級終端應(yīng)用.同時,文獻(xiàn)[2,21]只考慮了單用戶獨(dú)立訪問讀取數(shù)據(jù)的情景.
6.1 讀權(quán)限訪問控制方法的仿真實驗
仿真實驗運(yùn)行平臺為Ubuntu操作系統(tǒng),雙線性映射運(yùn)算函數(shù)庫采用PBC(pairing based cryptography library),大整數(shù)數(shù)據(jù)庫采用GMP(GNU MP Bignum library).數(shù)據(jù)加密和解密過程中用戶端的計算代價仿真如圖5所示,橢圓曲線選擇α,群的階均為160 b,域的大小為512 b.policyr中的屬性個數(shù)和用戶屬性私鑰中所含屬性的個數(shù)默認(rèn)設(shè)置為20.為了使實驗結(jié)果穩(wěn)定,運(yùn)行時間取20次運(yùn)行的平均.
圖5(a)是Owner端加密過程仿真結(jié)果,可以看到,3個方法的加密時間與policyr中的屬性個數(shù)都成線性關(guān)系,同時,文獻(xiàn)[21]的加密代價明顯高于本文所提方法和文獻(xiàn)[2],這是因為文獻(xiàn)[21]中的加密是計算C,C′,C″,{Ci,D1,i,D2,i},計算C,C′,C″分別需要1次指數(shù)運(yùn)算.計算Ci,D1,i,D2,i分別需要2次、1次和1次指數(shù)運(yùn)算.
Fig. 5 Simulation of encryption and decryption costs on User圖5 用戶端加解密計算代價的仿真
Fig. 6 Simulation of the core algorithms in the MOR primitive圖6 MOR核心算法的仿真
圖5(b)(c)是User端解密過程仿真結(jié)果,可以看到,policyr中的屬性個數(shù)變化對User端解密時間影響不大.文獻(xiàn)[2]的User端解密時間明顯高于本文所提方法和文獻(xiàn)[21]的方法,這是因為本文所提方法和文獻(xiàn)[21]方法都采用了解密外包的方法.另外,文獻(xiàn)[2]中SKut中的屬性數(shù)量與User端的解密時間成線性關(guān)系,而本文所提方法和文獻(xiàn)[21]方法將解密運(yùn)算外包之后,User端的解密時間與SKut中的屬性數(shù)量無關(guān).
6.2 MOR原語的仿真實驗
為了仿真MOR原語,采用FLINT(fast library for number theory),MPFR(multiple precision floating point reliable library,MPIR(multiple precision integer and rational library)實現(xiàn)任意精度運(yùn)算.其中,LWE維度參數(shù)的位數(shù)設(shè)為n設(shè)為512 b或1 024 b,高斯分布抽樣數(shù)目的位數(shù)m設(shè)為關(guān)于n的多項式poly(n).算法SampleD使用Nearest-Plane方法(Gentry[20]和Ducas[22]).
圖6(a)(c)中,以線性標(biāo)尺顯示MOR原語核心算法的計算代價,圖6(b)(d)則以對數(shù)標(biāo)尺顯示.仿真實驗結(jié)果表明,算法E和D的運(yùn)行時間與參數(shù)m的位數(shù)無關(guān),而算法ReKeyGen和算法Encode的運(yùn)行時間隨著參數(shù)m位數(shù)的增加快速增加.
假設(shè)用戶可接受的延遲時間臨界值是103ms,那么,當(dāng)參數(shù)n=512 b時,無論參數(shù)m設(shè)置多大,延遲時間都是用戶可以接受的.如果參數(shù)n=1 024 b,則只有參數(shù)m的位數(shù)小于2 000 b,延遲時間才可以接受.
本文分析了云存儲環(huán)境中多用戶協(xié)同編輯訪問控制產(chǎn)生的用戶狀態(tài)控制需求,在Multi-Read-Collaborative-Edit情景下,提出了一個支持多用戶協(xié)同編輯的訪問控制方法.該方法具有3個主要特性:
2) 實現(xiàn)了Data-binding-policy訪問控制方法.Owner將指定的讀權(quán)限策略和編輯權(quán)限策略綁定在數(shù)據(jù)上,只有User的私鑰滿足讀權(quán)限策略時才能讀取明文,只有在協(xié)同編輯策略匹配成功時才能更新數(shù)據(jù).協(xié)同編輯控制的復(fù)雜性要求Owner采用表達(dá)能力更豐富的circuit定義協(xié)同編輯策略,云端根據(jù)該策略確定最終修改版本.
3) 實現(xiàn)了云輔助協(xié)同編輯策略匹配的不可預(yù)測性.本文設(shè)計的MOR原語具有可重用性和不可預(yù)測性,因而基于該原語設(shè)計的協(xié)同編輯策略匹配方法能夠快速判斷用戶提交的修改數(shù)據(jù)是否應(yīng)該接受,并且云不可預(yù)測每個用戶是否具有寫權(quán)限.
[1]Yang Kan, Jia Xiaohua, Ren Kui, et al. Enabling efficient access control with dynamic policy updating for big data in the cloud[C]Proc of IEEE INFOCOM 2014. Piscataway, NJ: IEEE, 2014: 2013-2021
[2]Hur J, Kang K. Secure data retrieval for decentralized disruption-tolerant military networks[J]. IEEEACM Trans on Networking, 2014, 22(1): 16-26
[3]Dong Xin, Yu Jiadi, Zhu Yanmin, et al. SECO: Secure and scalable data collaboration services in cloud computing[J]. Computers and Security, 2015, 50(1): 91-105
[4]Gorbunov S, Vaikuntanathan V, Wee H. Attribute-based encryption for circuits[C]Proc of the 45th Annual ACM Symp on Theory of Computing (STOC). New York: ACM, 2013: 545-554
[5]Ruj S, Stojmenovic M, Nayak A. Decentralized access control with anonymous authentication of data stored in clouds[J]. IEEE Trans on Parallel and Distributed Systems, 2014, 25(2): 384-394
[6]Li Ming, Yu Shucheng, Zheng Yao, et al. Scalable and secure sharing of personal health records in cloud computing using attribute-based encryption[J]. IEEE Trans on Parallel and Distributed Systems, 2013, 24(1): 131-143
[7]Fan Yanfang, Cai Ying. Collaboration supported mandatory access control model[J]. Journal of Computer Research and Development, 2015, 52 (10): 2411-2421 (in Chinese)(范艷芳, 蔡英. 支持協(xié)作的強(qiáng)制訪問控制模型[J]. 計算機(jī)研究與發(fā)展, 2015, 52 (10): 2411-2421)
[8]Lai Junzuo, Deng R H, Yang Yanjiang, et al. Adaptable ciphertext-policy attribute-based encryption[G]LNCS 8365: Proc of the Pairing 2013. Berlin: Springer, 2013: 199-214
[9]Chun I F, Huang V S M, Ruan Heming. Arbitrary state attribute-based encryption with dynamic membership[J]. IEEE Trans on Computers, 2014, 63(8): 1951-1961
[10]Rouselakis Y, Waters B. New constructions and proof methods for large universe attribute-based encryption[EBOL]. 2012[2015-11-05]. http:eprint.iacr.org2012583.pdf
[11]Wang Hao, Zheng Zhihua, Wu Lei, et al. Adaptively secure outsourcing ciphertext-policy attribute-based encryption[J]. Journal of Computer Research and Development, 2015, 52 (10): 2270-2280 (in Chinese)(王皓, 鄭志華, 吳磊, 等. 自適應(yīng)安全的外包CP-ABE方案研究[J]. 計算機(jī)研究與發(fā)展, 2015, 52 (10): 2270-2280)
[12]Boyen X. Attribute-based functional encryption on lattices[G]LNCS 7785: Proc of TCC 2013. Berlin: Springer, 2013: 122-142
[13] Liu Ximeng, Ma Jianfeng, Xiong Jinbo, et al. Threshold attribute-based encryption with attribute hierarchy for lattices in the standard model[J]. IET Information Security. 2014, 8(4): 217-223
[14]Hohenberger S, Waters B. Onlineoffline attribute-based encryption[G]LNCS 8383: Proc of PKC 2014. Berlin: Springer, 2014: 293-310
[15] Garg S, Gentry C, Halevi S, et al. Attribute-based encryption for circuits from multilinear maps[G]LNCS 8043: Proc of CRYPTO 2013. Berlin: Springer, 2013: 479-499
[16] Xu Jie, Wen Qiaoyan, Li Wenmi, et al. Circuit ciphertext-policy attribute-based hybrid encryption with verifiable delegation in cloud computing[J]. IEEE Trans on Parallel and Distributed Systems, 2016, 27(1): 119-129
[17] Regev O. On lattices, learning with errors, random linear codes, and cryptography[J]. Journal of the ACM, 2009, 56(6): 34:1-34:40
[18]Shi Jiaoli, Huang Chuanghe, Wang Jing, et al. Multi-user collaborative access control scheme in cloud storage[J]. Journal on Communications, 2016, 37(1): 88-99 (in Chinese)(史姣麗, 黃傳河, 王晶, 等. 云存儲下多用戶協(xié)同訪問控制方案[J]. 通信學(xué)報, 2016, 37(1): 88-99)
[19] Bethencourt J, Sahai A, Waters B. Ciphertext-policy attribute-based encryption[C]Proc of IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2007: 321-334
[20]Gentry C, Peikert C, Vaikuntanathan V. Trapdoors for hard lattices and new cryptographic constructions[C]Proc of the 40th ACM Symp on Theory of Computing (STOC2008). New York: ACM, 2008: 197-206
[21]Yang Kan, Jia Xiaohua, Ren Kui, et al. DAC-MACS: Effective data access control for multi-authority cloud storage systems[C]Proc of IEEE INFOCOM 2013. Piscataway, NJ: IEEE, 2013: 2895-2903
[22]Ducas L, Lyubashevsky V, Prest T. Efficient identity-based encryption over NTRU lattices[G]LNCS 8874: Proc of ASIACRYPT 2014. Berlin: Springer, 2014: 22-41
Shi Jiaoli, born in 1979. PhD candidate, associate professor. Member of CCF. Her main research interests include network security and CDN.
Huang Chuanhe, born in 1963. PhD, professor, PhD supervisor. Senior member of CCF. His main research interests include network security, WDM networks, mobile ad hoc networks, CDN, and quantum computing.
He Kai, born in 1987. PhD. His main research interests include network security and cryptography.
Shen Xieyang, born in 1988. PhD candidate. His main research interests include network security and cryptography.
Hua Chao, born in 1992. Master. His main research interest is long distance wireless network.
An Access Control Method Supporting Multi-User Collaborative Edit in Cloud Storage
Shi Jiaoli1,2, Huang Chuanhe1, He Kai1, Shen Xieyang1, and Hua Chao1
1(SchoolofComputerScience,WuhanUniversity,Wuhan430072)2(JiujiangUniversity,Jiujiang,Jiangxi332005)
As for attribute-based access control in cloud storage, most of researches focus on reading permission control when multiple users read the same out-sourced data simultaneously. They dot’t consider writing permission control when multiple users modify the same data simultaneously. In multi-user collaborative edit scene, challenges have emerged: 1) A data owner with limited capabilities of computation, storage and communication, would like cloud to aid him with writing permission control, but would not like it to know the content of data, or get what is matched, or even predict the users’ writing permission either. 2) Boolean formula cannot describe writing permission policy. 3) Bilinear pairing operations bring great computational costs. In this work, a collaborative edit access control method is presented in cloud storage. That is, a data owner defines writing permission policy represented by a circuit, and semi-trusted cloud decides whether or not the writing succeeds by matching writing policy without the prediction of acceptability of the next edit request. Analyses and simulations show that our method is provided with the ability of multi-user collaborative access control for cloud storage, and the storage cost and the computation cost of encrypting and decrypting are both lesser at user end in reading permission control with cloud-aided decryption.
cloud storage; access control; attribute-based encryption (ABE); multi-user collaborative edit; cloud-aided writing permission control
2015-12-20;
2016-10-10
國家自然科學(xué)基金項目(61373040,61572370) This work was supported by the National Natural Science Foundation of China (61373040, 61572370).
黃傳河(huangch@whu.edu.cn)
TP309.2; TP303