史姣麗 黃傳河 何 凱 沈燮陽 華 超
1(武漢大學計算機學院 武漢 430072)2 (九江學院 江西九江 332005)
?
支持多用戶協同編輯的云存儲訪問控制方法
史姣麗1,2黃傳河1何 凱1沈燮陽1華 超1
1(武漢大學計算機學院 武漢 430072)2(九江學院 江西九江 332005)
(shijiaoli@whu.edu.cn)
以往的云存儲屬性基訪問控制研究大多數是對外包數據的讀權限進行控制,很少考慮多個用戶協同編輯云端同一個外包數據時的寫權限控制.多用戶協同編輯控制存在挑戰:1)資源有限的數據擁有者希望云輔助自己對外包數據的寫權限進行控制,但不希望云獲得數據內容,也不希望云感知匹配內容,甚至不希望云能夠預測用戶的寫權限;2)布爾公式的訪問結構無法表達寫權限控制策略;3)雙線性映射運算計算代價大,不適合多用戶協同編輯控制.提出一個支持多用戶協同編輯的云存儲訪問控制方法:數據擁有者采用表達能力更豐富的circuit定義寫權限訪問控制策略,委托半可信云采用矩陣運算快速判斷用戶提交的修改數據是否應該接受,并且云不可預測每個用戶是否具有寫權限.分析與實驗表明:該方法具有多用戶協同編輯的訪問控制能力,并且在讀權限控制時,利用云輔助解密方法使得用戶端存儲量和加解密計算量是較小的.
云存儲;訪問控制;屬性加密;多用戶協同編輯;云輔助寫權限控制
云作為近年來發展較快的分布式架構,不僅具有存儲數據的能力,而且能為大量用戶提供隨時隨地的訪問.但是,云服務器不能完全被用戶信任,因而需要研究合適的云存儲訪問控制方法:1)控制合法用戶能夠訪問授權數據;2)控制半可信的云服務器無法得知數據的內容.
屬性加密(attribute-based encryption, ABE)訪問控制方法減弱了數據擁有者和數據訪問者之間的耦合性,因而比傳統訪問控制方法更適合上述云存儲訪問控制應用場景.ABE分為2類:密鑰策略屬性加密(key-policy attribute-based encryption, KP-ABE)和密文策略屬性加密(ciphertext-policy attribute-based encryption, CP-ABE).前者適應于用戶檢索外包數據的應用場景;后者適應于用戶讀取外包數據的應用場景.后者(CP-ABE)采用Data-binding-policy方法(將訪問策略綁定在數據上)保證外包數據可以被多個用戶按需讀取,因而企業無需建設數據基礎設施.然而,大多數研究只關注用戶對云端密文的讀權限控制[1-2],很少有研究關注上述無基礎設施的情況下如何實現密文協同編輯控制.
多個用戶同時編輯同一個外包密文數據時,可能出現5種控制要求:
1) 多個用戶的寫權限級別不同,他們同時提交修改數據時,需要保留高權限用戶提交的修改數據,忽略低權限用戶提交的修改數據;
2) 惡意編輯者一直寫數據,致使正常的其他編輯者無法寫成功;
3) 云環境下多個用戶提交的修改數據在傳輸時時延不同,會使得修改數據的發出時間順序與到達服務器的時間順序不同,數據在具體應用時需要確定保留修改數據版本的時間順序;
4) 每個用戶的多個訪問狀態之間存在偏序關系,例如用戶A在某個狀態提出訪問數據請求時,要求該用戶曾經經歷過其他狀態;
5) 多個用戶之間在訪問狀態上存在約束關系,例如用戶A在某個狀態提出數據請求時,要求其他用戶集合{uj}的狀態滿足指定的偏序關系.
以往的云存儲訪問控制在處理多用戶協同編輯時,都是按照修改數據的到達時間(如文獻[3]),如果直接使用以前研究所提出的任何一種云存儲訪問控制方法,都無法實現上述多用戶協同編輯細粒度訪問控制需求.
協同編輯訪問控制與讀權限訪問控制存在不同:讀訪問時,決定是否可讀的是用戶端的屬性私鑰,即如果用戶的屬性私鑰滿足密文關聯的訪問策略,那么該用戶就可以讀取密文.協同編輯時,由于數據擁有者的終端設備在計算、存儲和通信等方面能力有限,因而需要云輔助數據擁有者實現寫權限控制.然而,在云輔助寫權限控制時存在2種挑戰:1)數據擁有者希望云輔助自己判斷是否接受每個用戶的修改數據;2)數據擁有者又不希望云獲得數據內容,更不希望云能預測用戶下一次提交的數據是否可寫.
考慮以上安全控制需求,本文嘗試在云存儲環境下研究多用戶協調編輯訪問控制方法,主要貢獻總結有3點:
1) 設計了云輔助解密方法,減輕了用戶端的計算代價,并證明了該方法在離散對數困難問題假設下沒有減弱安全性.
2) 提出了多用戶協同編輯訪問控制方法.該方法支持Collaborative-Edit:考慮到常用的布爾公式訪問結構無法表達復雜的寫權限控制策略,Owner采用表達能力更豐富的circuit定義復雜的寫權限控制策略,將策略關聯到密文數據,然后上傳到云.多個用戶提出編輯請求時,云根據Owner定義的策略確定最新數據版本,實現Data-binding-policy的細粒度寫權限控制.
3) 設計了MOR(many-to-one recoding)原語,對TOR(two-to-one recoding)原語[4]進行維度擴展,基于LWE(learning with error)理論實例化所設計的MOR原語,實現了多用戶協同編輯訪問控制方法:考慮到基于雙線性映射及其安全假設構建的ABE訪問控制方法計算代價大,本文采用代價更小的矩陣運算實現寫策略匹配,能夠在半信任云上快速判斷用戶提交的修改數據是否應該接受,并且云不可預測每個用戶是否具有寫權限.
支持協同編輯的云存儲訪問控制研究方面,Dong等人[3]基于HIBE(hierarchical identity-based encryption)設計了SECO方案,該方案是根據修改數據到達云服務器的時間來確定最終的數據版本;Ruj等人[5]只提出了使用Claim Policy控制單個用戶寫權限控制;Li等人[6]將時間劃分為時間片,用Hash鏈和簽名技術控制寫權限,但只考慮Create-Writing情形,沒有考慮Collaborative-Writing情形;范艷芳等人[7]考慮協作環境下的訪問控制模型,在經典BLP模型上擴充主客體的安全標記,提高了傳統訪問控制模型的靈活性.
ABE方案的研究方面,Yang等人[1]考慮大數據訪問控制時的動態策略更新問題,討論了布爾公式、門限結構及LSSS結構的更新過程;Lai等人[8]使用半信任代理,在密文上修改訪問策略,同時不泄漏任何信息給半信任代理;Chun等人[9]提出了支持動態組成員管理的ABE方案;Hur等人[2]在軍用容斷網絡的應用環境中,設計的CP-ABE方案支持多個AA分發重復屬性;Rouselakis等人[10]指出應該由Owner自己指定其數據的訪問屬性;王皓等人[11]給出了外包ABE的形式化定義,構造并證明了一個外包ABE的方案;Li等人[6]針對PHR(personal health records)系統的訪問控制需求,將屬性域分為個人屬性域和公共屬性域,個人屬性域由每個Owner自己進行定義,而公共屬性域由AA進行定義,ABE方案的格實現方面,研究者認為格可以抵御量子計算機的攻擊;Boyen[12]提出了適合處理復雜訪問策略的格操作框架:私鑰用Ephemeral Lattices,論文利用Basis Splicing技術,允許接受者將Ephemeral Lattices基轉換為任意其他格的基,可以處理規范或者非規范的訪問策略;Liu等人[13]提出了基于格的門限層次ABE(t-HABE),在LWE困難問題假設下,降低了屬性數量;ABE方案的高效性研究方面,Hohenberger等人[14]將ABE方案分成線上和線下2部分,減少了線上計算量.
在實現ABE方案時,訪問策略的形式可以是布爾公式、circuit等.Garg等人[15]基于多線性映射構造了一個circuit ABE方案:只加密1位明文,密文長度只與輸入集合中xi=1的個數有關,用戶私鑰與circuit的深度depth有關,公鑰與input的數量n有關;Xu等人[16]在Garg等人[15]的基礎上,設計了Complement circuit CP-ABE,實現了云輔助解密的結果驗證,可以防止云服務器欺騙用戶.
circuit ABE方案也可以基于LWE困難假設構造,其理論基礎是Regev[17]證明的結論:解決LWE平均困難問題相當于最壞困難問題,因此,LWE困難假設可以作為密碼學的一個Central Fixture;Gorbunov等人[4]設計了一個TOR原語,并基于LWE困難假設實例化了TOR原語,提出了一個circuit ABE方案:策略是以扇入度為2的Gates組成的邏輯電路,且私鑰的長度與circuit的長度成正比.
2.1 MOR原語
存在1組偽隨機函數Encode(·)和1個重編碼密鑰rk,使得轉換可以實施:
(Encode(pk1,w),Encode(pk2,w),…,
Encode(pkN,w))|→Encode(pktgt,w),
轉換密鑰rk可以由任意公鑰pkb對應的私鑰skb生成,w是高斯種子隨機數.
2.2 設計思路
在Gorbunov等人[4]基于LWE困難假設實例化的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進行轉置運算.
根據LWE困難假設[17],能夠區分{A,ATs+e}和{A,u}兩個分布的優勢可以忽略,其中,u∈mq.因而,式(1)可以擴展為

(2)
其中,R∈Nm×mq.
2.3 實例化設計
根據式(2),對MOR原語進行詳細的實例化設計.

Keygen(PP):調用后門函數,生成矩陣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原語具有不可預測性和可重用性.
1) 不可預測性.對于N輸入的門G:{0,1}×…×{0,1}→{0,1}和N個輸入L1,L2,…,LN,已知轉換表(rk,φ1,φ2,…,φN,φtgt)和φi=Encode(pki,w),容易計算Encode(G(L1,L2,…,LN),w),但Encode(1-G(L1,L2,…,LN),w)仍然保持隱藏.
2) 可重用性.s與轉換過程完全獨立,因而可以通過選擇隨機數s刷新轉換表的方式達到可重用的目的.
3.1 系統模型
如圖1所示,系統由4部分實體組成:屬性授權中心(attribute authorities, AA)、云服務器(Cloud Server)、數據擁有者(Owner)、用戶(User).

Fig. 1 System model圖1 系統模型
1) AA是可信屬性授權中心.負責管理屬性集合,為User分發代表讀權限的私鑰SKut和代表寫權限的憑證nsut‖Tokenut,nsi,其中,ut表示用戶編號,nsut表示用戶ut的當前狀態,nsi表示所有用戶的狀態向量.
2) Owner是數據擁有者.Owner先用內容密鑰運行對稱密碼算法加密,得到Cm;然后用本地指定的讀權限訪問策略對內容密鑰進行CP-ABE加密,得到Cp;接著定義多用戶協同編輯策略Ct;最后將Cm‖Cp‖Ct上傳云端.


3.2 安全要求
1) 防止共謀.2個合法用戶不能通過合并其屬性私鑰而提升原本單獨不具備的讀權限.另外,假設用戶A為了避免責任,不會將代表了寫權限的憑證Tokenut,nsi共享給用戶B,即每個用戶為了自身利益考慮,不會將代表了責任的Tokenut,nsi分享給他人.
2) 數據機密性.Owner提交的數據在服務器端加密存儲,Server或非授權用戶無法獲知數據的內容.

Fig. 2 The proposed framework for collaborative edit access control 圖2 多用戶協同編輯訪問控制框架
3) 不可預測性.假設Server是半可信的,即,Server會忠實地完成代理匹配寫權限的任務,但是對匹配的內容敏感.同時,Server不可預測每個用戶是否可寫,除非該User提交了正確的憑證.
3.3 安全模型的定義
定義1. 如果在多項式時間內,敵手勝出下述安全游戲的最大優勢是可忽略的,則所提出的方案是安全的.
初始化階段. 挑戰者運行Initial算法生成公共參數和主鑰.公共參數公開給敵手,主鑰秘密保存在AA上.
階段1.敵手通過向挑戰者提交屬性集Iut,k查詢屬性私鑰SKut,k.挑戰者運行Setup算法為敵手生成屬性私鑰SKut,k.階段1可以重復多次.
挑戰階段.敵手提交2個消息:m0和m1,并給出讀權限控制樹policyr,但該控制樹不能被階段1中所提交的Iut,k匹配.接著,挑戰者拋硬幣選擇b∈{0,1},并運行EncryptData算法輸入policyr加密mb,得到加密結果cb,然后將cb發送給敵手.
階段2.過程與階段1相同,只是添加了一條限制:policyr不能被所挑戰的屬性集匹配.敵手也可以詢問SKut,k的解密委托密鑰Part_SKut,如此,敵手就可從挑戰者獲得Part_SKut.
猜測階段.敵手輸出猜想結果b′∈{0,1},如果b′=b,則敵手勝出.
敵手勝出該游戲的優勢Adv定義為

4.1 基本思想
采用CP-ABE方法對外包數據進行訪問控制時,Owner不希望永遠在線,并且本地存儲容量有限,所以Owner在指定讀權限訪問策略policyr并加密數據后,立即將密文上傳云服務器進行存儲,以便其他用戶可以隨時隨地讀取數據或者編輯數據.
多個用戶從云端下載密文后,用自己的私鑰解密并讀取數據,接著,用戶也可以編輯數據,并將修改數據提交給云,云有2種處理方法:1)Owner審核多個用戶提交的數據編輯內容,并決定數據的最新版本.基于這種處理方法,設計的多用戶協同控制方法詳見前期研究成果[18].2)云根據Owner定義的協同編輯控制策略決定數據的最新版本.本文基于這種處理方法,設計多用戶協同編輯訪問控制方法,如圖2所示.為研究方便,暫不考慮并發機制的實現.
為了控制云端同一個密文被多個用戶進行協同編輯,Owner定義密文的寫權限控制策略Ct,并將Ct連同密文一起上傳云端,由云輔助Owner進行寫權限策略匹配.密文數據的一致性由Owner定義的Ct來決定,即Owner可以通過任意定義Ct指定一致性規則.這種將數據與策略綁定并且策略決定數據訪問權限的方法稱為Data-binding-policy,適應于云存儲等分布式系統的數據訪問控制.
讀權限控制要求云不能獲知明文數據.以往的CP-ABE方案中,用戶下載密文后在本地解密,因而可以滿足“云不能獲知明文數據”這一安全要求.為了減少用戶端計算代價,將大部分解密工作委托給云服務器,并且仍然保證“云不能獲知數據”.本文設計了用戶委托解密密鑰,能夠讓云使用該密鑰完成大部分的解密工作,同時,該密鑰又不能破壞數據的機密性.
與讀權限控制不同,協同編輯權限控制要求:云不能獲知數據內容,不能感知匹配內容,甚至也不能通過先前的匹配結果預測后續匹配的結果.同時,讀策略policyr采用的布爾公式描述方法也不適應于協同編輯策略Ct,這是因為布爾公式比較適合描述屬性是否配對,無法描述復雜的控制需求(見本文引言部分).
復雜的協同編輯控制策略涉及到數值大小的比較(例如時間的先后比較等),需要更豐富的表達能力(例如多用戶之間的狀態條件).相對于布爾公式,circuit具有復雜控制需求的描述能力,因而本文采用circuit描述協同編輯控制策略.
關于協同編輯控制策略的云輔助匹配,本文采用LWE理論的矩陣運算,而不是policyr匹配時的雙線性映射運算.這是因為采用類似于policyr匹配時的雙線性映射運算進行匹配時,需要將協同編輯策略映射為訪問控制樹,將用戶權限映射為屬性集,然后在云服務器上進行雙線性映射匹配.這種方法存在2個問題:1)云在匹配運算之前就能預測下一個用戶提交數據是否會被接受;2)匹配效率低.假設用戶數量為N,用戶狀態的數量為M.極端情況下,需要對每個用戶在每個狀態下訪問數據時指定一個控制樹,每個樹的屬性數目是N×M,則每個數據的協同編輯策略需要N2×M2個屬性來定義.假如用戶用數量為K的屬性集來表示,則需要K2×M2個屬性來定義協同編輯策略.
考慮上述安全及效率問題,本文設計了基于LWE假設的MOR原語和新的協同編輯控制策略匹配方法,利用MOR原語的不可預測性和可重用性,使得本文提出的方法既能讓云高效地完成寫權限的輔助匹配,又能保證云在匹配運算之前無法預測用戶提交的修改數據是否被接受(即云的不可預測性).
4.2 詳細工作流程
各個階段運行不同算法,如圖3所示.
1) 初始化階段(initialization phase).AA調用Initial算法,生成全局公共參數params和主鑰MK=(MK1,MK2),將params和MK2發送給申請注冊的Owner.接著,AA調用Setup算法,為用戶生成屬性私鑰SKut、云輔助解密密鑰對(DPKut,DSKut),將SKut,DPKut,DSKut通過密鑰交換協議發送給User.然后,AA調用SetupCollaborativeEdit算法生成協同編輯控制參數mpki,mski,pkout,并將mpki和pkout廣播給Owner,將mski通過密鑰交換協議發送給User.值得注意的是,屬性字符串在Setup算法中由AA任意指定,無需在Initial算法以枚舉類型羅列出來,即屬性域無需明確定義,這樣設計靈活性更強.

Fig. 3 Phases and algorithms圖3 階段與算法
2) 數據準備階段(data preparing phase).Owner調用EncryptData算法,用對稱密鑰Kcontent對明文數據M運行對稱密碼算法進行加密得到Cm,Owner定義具有讀權限的策略policyr,用policyr對對稱密鑰Kcontent進行CP-ABE加密得到Cp,將Cm‖Cp上傳到服務器.
定義協同編輯條件(collaborative edit policy definition),Owner運行EncryptCollaborativeEdit算法,定義協同編輯條件Ct,上傳到服務器,服務器將Ct附在Cm‖Cp后面,得到Cm‖Cp‖Ct后存儲.
3) 數據讀取階段(data read phase).當User向服務器申請數據時,User提交其Part_SKut,服務器使用用戶提交的Part_SKut,運行DecryptNode算法計算出Part_Decrypt,然后將Part_Decrypt連同Cm‖Cp一起發送給用戶,用戶運行DecryptData算法使用SKut和Cp獲得Kcontent,并使用Kcontent和Cm運行對稱解密算法,即可讀取明文.

4.3 核心算法

1)Initial算法


MK=(MK1=ga,MK2=e(g,g)b),
其中a,b∈*p.
2)Setup算法
Setup算法運行在AA上.AA接受用戶的注冊,并為每個合法的用戶生成密鑰.假設每個用戶ut的屬性集為Iut,AA對用戶ut的每個屬性選擇隨機數r1,r2,…,rj,…∈p,生成用戶私鑰SKut:

D=MK1grt=gagrt,
Dj=grtH(λj)rj,

為了完成云輔助解密,AA還要為User生成委托解密的密鑰對:
選擇隨機數ru∈*p,計算DPKut=gru+b,DSKut=gru+a.
AA通過密鑰交換協議將SKut,DSKut,DPKut發送給用戶.
3)SetupCollaborativeEdit算法
AA為每一個參與協同編輯的用戶生成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是通過運行后門生成算法TrapGen(1n,1m,q)生成的矩陣Ai,j和后門矩陣Ti,j.
最后,AA為協同編輯的用戶集合生成一個狀態控制公鑰:pkout=Aout∈n×mq.
AA將mpki和pkout廣播于Owner用戶,并將mski通過密鑰交換協議分發給用戶.
4)EncryptData算法
EncryptData算法運行在Owner上.先用對稱加密算法將明文M加密成Cm,然后加密密鑰Kcontent用CP-ABE方法加密得到Cp,CP-ABE加密時,使用數據讀策略policyr.接著Owner將Cm‖Cp上傳到服務器.
Owner對數據進行讀權限控制的CP-ABE加密過程如下:選擇隨機數sc∈*p,令qR(0)=sc,其中,R表示policyr的根節點,qR(x)表示根節點R的多項式.Owner以嵌套的方式設置每個節點x的多項式qx.每個節點x的門限為kx,qx的度設為dx=kx-1.qx的常數項qx(0)設置為qparent(x)(index(x)),qx的其他項系數是隨機選取的整數.Cp的構造如下:


Cr=gsc,
Ci=gqi(0),

其中,ST是訪問策略樹policyr所有屬性(即,葉子節點)的集合.
5)EncryptCollaborativeEdit算法
EncryptCollaborativeEdit算法運行在Owner上.Owner將每個用戶作為circuit的一個input wire,并對于用戶狀態約束條件抽象化的合取范式抽象為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對編輯請求的不可預測性,需要在每一次成功覆蓋時重新刷新circuit.

7)DecryptData算法
DecryptData算法運行在User上,使用用戶的私鑰SKut解密密文中的Cp,如果用戶的屬性集Iut滿足Cp中關聯的訪問策略,則解密成功,獲得對稱密鑰Kcontent,繼而通過對稱解密算法解密Cm,獲得明文M.
使用SKut解密Cp的過程如下:
用戶將DSKut附到Dj后,得到Part_SKut:



用戶將Part_SKut發送給服務器,請求其輔助解密,服務器收到用戶請求后,從訪問策略樹policyr的根節點開始,以遞歸方式調用DecryptNode算法.假設用戶私鑰中的屬性集為Iut,policyr的葉子節點集合為ITree,λi為節點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表示節點xi的孩子z上DecryptNode算法的運算結果.i=index(z),sx={index(z),z∈Ixi},Ixi表示節點xi的所有孩子節點組成的集合.如果policyr匹配成功,即可獲得:Part_Decrypt=e(g,g)(rt+ru+a)·sc.
服務器將Part_Decrypt連同Cm‖Cp一起發送給用戶ut.用戶從服務器獲得Part_Decrypt和Cm‖Cp后,計算Kcontent:


用戶得到內容密鑰Kcontent后,解密Cm,讀取明文M.
5.1 正確性
1) MOR原語的正確性分析



分析完畢.
2) 多用戶協同編輯控制方法的正確性分析

下面分別闡述刷新circuit對φi和Γ帶來的影響,為方便表達,2個向量相乘的結果就是對應位上元素相乘得到的向量,向量與數字相乘就是向量的每一個元素都乘以該數字.

Γ←Γs′時,






Fig. 4 Reusable parameters圖4 可重用參數
5.2 安全性分析與證明
1) 抗共謀分析
即使半可信云與惡意用戶之間共謀,也不能讓惡意用戶獲得更多權限.云不能通過合并用戶A和用戶B的Part_SKut,以便讓用戶A獲得更多權限.

{(grBtH(λj)rj,rBt)}},

2) 數據機密性安全分析
明文通過對稱加密算法加密成Cm存儲于服務器,而對稱加密時的密鑰Kcontent也用policyr加密成Cp放在服務器.只有密鑰攜帶的屬性集與policyr匹配的用戶才可以解密Cp,得到Kcontent,從而使用Kcontent從Cm中恢復出明文.非授權用戶和服務器即使獲得Cm和Cp,也不能夠恢復明文M.
3) 不可預測性分析
Server不能通過多次輸入(L1,L2,…,LN)記錄Encode(G(L1,L2,…,LN),w)提升共謀用戶的編輯權限.分析如下:MOR原語具有不可預測性,也就是說,Encode(G(L1,L2,…,LN),w)的計算結果不增加計算Encode(1-G(L1,L2,…,LN),w)的優勢,即,當且僅當G(L1,L2,…,LN)=1成立時,才能獲得正確的Encode(G(L1,L2,…,LN),w).多次記錄G(L1,L2,…,LN)=0時的Encode(G(L1,L2,…,LN),w)結果是無用的,因而云對每一次提交的寫請求結果具有不可預測性;又因為MOR原語具有可重用性,因而可以在每一次成功寫之后實現轉換表的刷新.綜合上述2條原因,先驗知識不能幫助敵手獲得更多的優勢.
4) 數據機密性安全證明
在Bethencourt等人[19]的基礎上,本文構造了讀權限訪問控制方法:云輔助解密時,用戶需要將Part_SKut發送給服務器.接下來,證明在離散對數困難問題假定下,Part_SKut暴露給敵手并不能增加其勝出安全游戲的優勢.

5) 用戶編輯權限控制分析
授權用戶可以得到寫權限:根據構造后門應具有的安全特性(文獻[20]中命題5.1),矩陣及其后門是一一對應的,擁有后門的用戶可以獲得正確的解密結果.本文方法中,SetupCollaborativeEdit算法運行后,每一個參與協同編輯的用戶從AA獲得mski,這個向量的每一和個分量對應了后門算法生成的后門矩陣Ti,j.另外,Owner運行EncryptCollaborativeEdit算法生成的Ct是以mpki和pkout為參數構造的,mpki的每一個分量對應了后門算法的矩陣Ai,j,根據本文5.1節MOR原語和本文方法的正確性分析,擁有寫權限的用戶具有合適的憑證Tokenut,nsi,會得到成功的Ct匹配結果.

5.3 讀權限控制的代價分析
1) 存儲代價分析
表1給出了已有方法[2,21]與本文方法之間存儲開銷方面的比較.
表1中,LG表示群G中一個元素的存儲量;na,k表示授權機構AAk管理下的屬性數量;na,k,ut表示授權機構AAk為用戶ut生成的私鑰中關聯的屬性數量;nut,k表示授權機構AAk管理的用戶數量;tr表示Owner指定的policyr中的屬性數量;NA表示密文中關聯的AA數量;LS表示密文Ct中的存儲量.與文獻[2,21]已有方法相同,表1忽略隨機整數的存儲代價.

Table 1 Comparison of Storage Cost表1 存儲代價比較
由表1可知,本文方法在Owner上的存儲代價都比較小,適合輕量級終端應用.但本文方法在服務器上的存儲代價與密文中狀態約束控制所用的Ct相關,這是因為本文方法考慮了多用戶協同編輯控制,而其他2個方法只考慮了讀權限控制.
2) 計算代價分析
表2比較了已有方法[2,21]與本文方法之間核心算法運行時的計算代價.表2中,EG表示群G上指數運算的計算量;PG表示群G上雙線性映射運算的計算量;k表示用戶屬性私鑰攜帶的屬性數量;IAk表示密文中關聯的授權機構AAk管理的屬性數量.與文獻[2,21]已有方法相同,表2忽略乘法與除法的計算代價.

Table 2 Comparison of Computation Cost表2 計算代價比較
由表2可知,本文方法的用戶端(包括Owner和User)在加密解密時的計算量都比較小,適合輕量級終端應用.同時,文獻[2,21]只考慮了單用戶獨立訪問讀取數據的情景.
6.1 讀權限訪問控制方法的仿真實驗
仿真實驗運行平臺為Ubuntu操作系統,雙線性映射運算函數庫采用PBC(pairing based cryptography library),大整數數據庫采用GMP(GNU MP Bignum library).數據加密和解密過程中用戶端的計算代價仿真如圖5所示,橢圓曲線選擇α,群的階均為160 b,域的大小為512 b.policyr中的屬性個數和用戶屬性私鑰中所含屬性的個數默認設置為20.為了使實驗結果穩定,運行時間取20次運行的平均.
圖5(a)是Owner端加密過程仿真結果,可以看到,3個方法的加密時間與policyr中的屬性個數都成線性關系,同時,文獻[21]的加密代價明顯高于本文所提方法和文獻[2],這是因為文獻[21]中的加密是計算C,C′,C″,{Ci,D1,i,D2,i},計算C,C′,C″分別需要1次指數運算.計算Ci,D1,i,D2,i分別需要2次、1次和1次指數運算.

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端解密過程仿真結果,可以看到,policyr中的屬性個數變化對User端解密時間影響不大.文獻[2]的User端解密時間明顯高于本文所提方法和文獻[21]的方法,這是因為本文所提方法和文獻[21]方法都采用了解密外包的方法.另外,文獻[2]中SKut中的屬性數量與User端的解密時間成線性關系,而本文所提方法和文獻[21]方法將解密運算外包之后,User端的解密時間與SKut中的屬性數量無關.
6.2 MOR原語的仿真實驗
為了仿真MOR原語,采用FLINT(fast library for number theory),MPFR(multiple precision floating point reliable library,MPIR(multiple precision integer and rational library)實現任意精度運算.其中,LWE維度參數的位數設為n設為512 b或1 024 b,高斯分布抽樣數目的位數m設為關于n的多項式poly(n).算法SampleD使用Nearest-Plane方法(Gentry[20]和Ducas[22]).
圖6(a)(c)中,以線性標尺顯示MOR原語核心算法的計算代價,圖6(b)(d)則以對數標尺顯示.仿真實驗結果表明,算法E和D的運行時間與參數m的位數無關,而算法ReKeyGen和算法Encode的運行時間隨著參數m位數的增加快速增加.
假設用戶可接受的延遲時間臨界值是103ms,那么,當參數n=512 b時,無論參數m設置多大,延遲時間都是用戶可以接受的.如果參數n=1 024 b,則只有參數m的位數小于2 000 b,延遲時間才可以接受.
本文分析了云存儲環境中多用戶協同編輯訪問控制產生的用戶狀態控制需求,在Multi-Read-Collaborative-Edit情景下,提出了一個支持多用戶協同編輯的訪問控制方法.該方法具有3個主要特性:
2) 實現了Data-binding-policy訪問控制方法.Owner將指定的讀權限策略和編輯權限策略綁定在數據上,只有User的私鑰滿足讀權限策略時才能讀取明文,只有在協同編輯策略匹配成功時才能更新數據.協同編輯控制的復雜性要求Owner采用表達能力更豐富的circuit定義協同編輯策略,云端根據該策略確定最終修改版本.
3) 實現了云輔助協同編輯策略匹配的不可預測性.本文設計的MOR原語具有可重用性和不可預測性,因而基于該原語設計的協同編輯策略匹配方法能夠快速判斷用戶提交的修改數據是否應該接受,并且云不可預測每個用戶是否具有寫權限.
[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)(范艷芳, 蔡英. 支持協作的強制訪問控制模型[J]. 計算機研究與發展, 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)(王皓, 鄭志華, 吳磊, 等. 自適應安全的外包CP-ABE方案研究[J]. 計算機研究與發展, 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)(史姣麗, 黃傳河, 王晶, 等. 云存儲下多用戶協同訪問控制方案[J]. 通信學報, 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
國家自然科學基金項目(61373040,61572370) This work was supported by the National Natural Science Foundation of China (61373040, 61572370).
黃傳河(huangch@whu.edu.cn)
TP309.2; TP303