?

多權限的屬性集加密訪問控制方案改進

2020-09-09 03:15劉海峰高月月
計算機應用與軟件 2020年9期
關鍵詞:存儲系統訪問控制密文

劉海峰 高月月

(陜西科技大學 陜西 西安 710012)

0 引 言

云計算自出現以來就受到了廣泛的關注,并且發展極為快速,隨著云計算的發展逐漸深入,對云計算的安全性方面也提出了更高的要求。為了增強云計算的安全性,密文的檢索方案、可驗證的數據審計和身份認證等相繼提出。云存儲是云計算重要的一部分,隨著云存儲的發展,很多的企業用戶都將大量的數據直接外包在云存儲服務器中。為了保護數據的安全性,必須采用有效的加密方案來實現云存儲中細粒度的訪問控制。CP-ABE在基于密文策略的屬性加密中,用戶的密鑰與屬性集有關,密文與訪問結構有關。只有用戶的屬性集滿足訪問策略的時候,用戶才能夠解密密文。CP-ABE能夠實現靈活的訪問控制,已經被廣泛地運用在云存儲系統中的訪問控制。訪問策略是容易泄露的,并且會泄露敏感信息;用戶可以具有不同權限的屬性,但是數據所有者制定能夠訪問敏感數據的多個權限。擁有多權限的屬性加密用戶能夠有不同權限下的不同屬性,所以更加適合云存儲系統的訪問控制。因此,本文提出了一種基于多權限屬性的加密方案,以實現云存儲系統中的細粒度訪問控制,從而實現訪問策略的隱私保護,該方案具有靈活性、實用性和安全性。

1 基礎知識

1.1 相關定義

定義1雙線性映射。設G和G1是p>2k(素數)階的乘法群,g為G的生成元,那么滿足以下三個性質的映射e:G×G→G1為雙線性映射。

雙線性性:存在?a,b∈Zp,?u,v,u1,u2,v1,v2,g,h∈G,那么有e(ga,hb)=e(gb,ha)=e(g,h)ab,e(u1×u2,v)=e(u1,v)e(u2,v),e(u,v1×v2)=e(u,v1)e(u,v2)。

非退化性:?u,v∈G,使得e(u,v)≠1,其中1是G1的單位元。

可計算性:?u,v∈G,存在一個高效的多項式時間算法計算e(u,v)。

定義2訪問結構。設Ω={L1,L2,…,Ln},|Ω|=n代表系統所有的屬性集,而且每個屬性Li的取值集合是Fi={vi1,vi2,…,vini},其中ni是Fi的階。用戶的屬性列表為w={l1=v1t1,l2=v2t2,…,lj=vjtj},其中vjtj∈Fj,j是w的階。使用樹型結構構建訪問結構FW,而且FW的內部節點代表關系,分別為“與”門和“或”門,而所有的葉子節點代表屬性。

定義3線性秘密共享方案。如果在參與者集合P上的一個秘密共享方案滿足以下2個條件,那么就稱其為Zp上的線性秘密共享方案:

1) 每個實體的秘密份額構成Zp上的一個向量;

2) 對于每個秘密共享方案,存在一個生成矩陣B(l×n),對于矩陣B中的每一行i=1,2,…,l,映射ρ(i):{1,2,…l}→P把B的每一行映射到參與者ρ(i),考慮向量v=(s,r2,r3,…,rn)T,s∈Zp是共享秘鑰,r2,r3,…,rn隨機選擇用來隱藏s,Bv是l個秘密份額形成的向量,其中λi=(Bv)i表示參與者ρ(i)所持有的秘密份額。

1.2 單向匿名密鑰協議

參與者的匿名性可以由一個單向匿名密鑰方案來實現。假設Alice(IDa)和Bob(IDb)是一個密鑰生成中心的用戶,他們的主密鑰都是s。Alice想對Bob保持匿名性,那么需要進行以下步驟:

2) Bob用他的密鑰dB計算會話密鑰KA,B=e(PA,dB)=e(QA,QB)srA,其中di=H(IDi)s∈G1是用戶的私有密鑰,i∈{A,B},H:{0,1}*→G1是強抗沖突散列函數。

1.3 問題重述

1.3.1系統模型

在云環境中一共有四個實體,分別是數據所有者、云存儲的服務器、屬性權限和數據用戶。

1) 數據所有者:在將數據外包到云存儲系統之前,數據的所有者根據在密文上強制執行的訪問策略對其進行加密,并負責定義訪問策略和模糊策略。一旦撤銷了一個用戶的屬性,所有者必須更新包含所有已撤銷屬性的部分密文組件。

2) 云存儲服務器:云存儲服務器是屬于數據所有者的共享文件,并且為用戶提供訪問服務。假設云存儲服務器是誠實的,那么云存儲服務器不僅應該隱藏數據,還應該隱藏密文中的訪問策略。

3) 屬性權限:屬性權限受信任并且獨立管理其各自的屬性集。同時,為每個合法用戶生成密鑰,當一個用戶被撤銷時,權限將為未撤銷的用戶生成更新的密鑰。

4) 數據用戶:權限為每個數據用戶生成相關的私鑰。因此,只有私鑰滿足訪問控制策略的用戶才能夠獲得數據,而且任何合法的用戶都可以在云存儲服務器中下載任何的密文。

1.3.2安全性要求

本文對云存儲系統中的訪問控制方案有如下三個最基本的要求:

1) 數據的安全性:在云存儲系統中,只有滿足訪問策略的授權用戶才能夠解密密文獲得數據,但是被撤銷的用戶是不能解密密文的。

2) 抗共謀:云存儲中的所有屬性加密方案都需要抗共謀??构仓\的意義是不同的用戶通過自己的私鑰組合來獲取不同的密文信息和訪問策略。

3) 策略隱私:數據外包在云存儲系統中時,所有的云服務器和沒有授權的用戶無法獲得任何有關密文的信息和訪問結構。

2 方案設計及其分析

在多權限的屬性集加密訪問控制中,如果有較多的用戶滿足同一數據的訪問結構,那么會同時獲得相同的訪問權限。但是用戶的需求也正隨著云計算的發展而改變,對權限的要求也變得多種多樣,因此對權限的劃分應該更加細粒度化。圖1為本文系統方案模型。

圖1 系統方案模型

2.1 相關定義

本文提出的多權限多屬性的訪問控制研究主要包括以下四個階段:

1) Setup:授權中心運行隨機算法,為每個屬性權限輸出相應的公私鑰,輸出系統的公鑰和主密鑰。

2) KeyGen:分別運行Attribute Key Generation(AKG)和Central Key Generation(CKG)。AKG是屬性權限運行隨機算法;CKG是授權中心運行一個隨機算法,然后輸入用戶的GID和主密鑰,最后輸出用戶的私鑰。

3) EncSig:數據所有者進行加密和簽名。

4) DecVer:用戶進行兩項工作:解密和驗證。

2.2 安全性分析

為了證明本文方案的安全性,采用的是屬性集攻擊模型,原型是身份安全模型。攻擊模型在攻擊者A和攻擊者C之間進行,具體步驟如下:

Challenge:攻擊者A提交兩個等長的消息M0和M1。挑戰者C給出一個隨機擲幣b∈{0,1},計算在屬性集AC作用下的密文Mb,發送給攻擊者A。

More Queries:攻擊者A根據上述的限制進行私鑰多次詢問。

Guess:攻擊者輸出一個關于b的猜測b′。如果b=b′,則攻擊者A攻擊成功。

2.3 方案分析

本文方案中有N個權限{P1,P2,…,PN},且每個權限Pj對應一組屬性Lj,j=1,2,…,N。首先,每個權限Pj隨機選擇一個數βj∈Zp,對于每一個屬性x∈Lj,Pj選擇一個隨機數vx∈Zp用于實現屬性撤銷。然后,計算公鑰為gβj,其中βj是Pj的部分秘密密鑰,用戶可以使用gβj來混淆屬性,βj包含在公鑰PK[j]中。

為了抵抗共謀攻擊,當為用戶GID創建一個秘密密鑰時,每個Aj使用全局用戶身份GID來計算gαxvxH(GID)yx。如果兩個具有不同GID和GID′的用戶試圖通過合并他們的密鑰來進行共謀攻擊,那么在解密的過程中就會出現一些e(g,g)μie(H(GID),gμi),從而防止共謀攻擊的發生。

2.4 方案構建

設G1和G2是階為p的兩個循環群,g是G1的生成元。e:G1×G1→G2是一個雙線性映射,還使用一個強抗碰撞散列函數H:{0,1}→G1,本文基于多權限的屬性集加密訪問控制方案中隱藏了策略,包括以下五個步驟。

1) 系統初始化。具有一組屬性Lj的每一個權限Pj(j∈N)運行AASetup算法,每個屬性都沒有相交的集合(Li∩Lj=?,i≠j)。

SK[j]=({αx,yx,vx}x∈Lj,βj)

(1)

通過權限計算{e(g,g)αxvx,gyx}x∈Lj,公共權限密鑰Aj(j∈N)是:

PK[j]=({P1,x=e(g,g)αxvx,gyx}x∈Lj,gβj)

(2)

2) 生成密鑰。用戶在訪問數據的時候,請求密鑰中心分發密鑰,驗證用戶的身份之后,每個權限運行KenGen算法,權限Aj(j∈N)給用戶屬性集Ij,GID和相應的私鑰Kj,GID。

Kj,GID=({D1,x=gαxvxH(GID)yx,

D2,x=H(x)βj}x∈Ij,GID)

(3)

αx,yx,vx,βj∈SK[j],用戶的私鑰是在安全通道中傳輸的。

3) 加密。數據所有者將數據存儲在云系統中,然后對數據MSG的內容進行加密,定義相關屬性的訪問策略T,最后數據所有者使用加密算法對密文再次進行加密。

為了實現訪問策略的隱私保護,數據所有者使用sy來替換訪問策略中的屬性λy。將訪問策略T轉換為LSSS訪問矩陣Mm×h,其中Mi是M的第i行。

數據所有者通過下列算法加密數據MSG。

(2) 計算μi=Mi·v。

(4) 計算μi=Mi·ω。

(6) 計算密文:

C0=MSGe(g,g)s,h0=ga

C1,i=e(g,g)μie(g,g)vρ(i)αρ(i),?i∈[m]

C2,i=gσi,?i∈[m]

C3,i=gyρ(i)σigμi,?i∈[m]

(4)

(7) 密文CT外包在云存儲系統中。

CT=(C0,{C1,i,C2,i,C3,i}?i∈[m],h0,(M,ρ))

(5)

(1) 對于i∈R′,計算:

e(g,g)μie(H(GID),gμi)

(6)

(2) 獲得明文。

(7)

5) 用戶撤銷。用戶GID′的屬性集φj,GID′支持撤銷權限Pj,為了防止被撤銷屬性的用戶解密密文,擁有屬性集φj,GID′的未撤銷屬性的用戶將改變他們存儲的數據,用戶撤銷過程主要有兩個階段:

(2) 未撤銷用戶的密鑰更新。當用戶收到更新后的密鑰UKj,運行SKU算法更新私鑰。

(8)

密鑰UKj與已撤銷的用戶GID′相關聯,因此,非撤銷的用戶與撤銷的用戶能夠區分,被撤銷的用戶無法接受更新之后的密鑰UKj。

2.5 方案對比

本文方案與其他學者研究之間的對比如表1所示。

表1 方案比對

將本文方案與RSN方案的加密解密和再加密的計算過程進行仿真,圖2為本文在Windows 7系統CoreTM i5- 4647在4 GB內存中實現加密、解密和密文再加密的時間對比。

(a)

(b)

(c)圖2 方案對比結果

假設從授權中心獲得10個屬性,在每次實驗中取得的結果是20次的平均值,結果對比如圖2所示??梢钥闯?,本文方案在加密解密時間上和RSN的方案相差不多,但是本文在密文再加密的時間上卻遠遠比RSN方案少,因此總體上具有一定的優勢,計算效率也更高。

3 結 語

本文研究了云存儲系統中多權限的屬性集加密訪問控制方案的改進,提出了一個安全的分散屬性加密方案,用于設計一個具有策略隱私的訪問控制方案。本文的訪問控制方案還支持數據的隱私保護,采用的是更加靈活的線性秘密共享方案,同時還支持對多權限的屬性加密方案的用戶撤銷,從而降低了用戶撤銷的時間成本和計算成本。最后通過實驗驗證了本文方案的可行性。

猜你喜歡
存儲系統訪問控制密文
一種跨策略域的林業資源訪問控制模型設計
分層式大數據存儲系統緩存調度策略與性能優化
一種支持動態更新的可排名密文搜索方案
群智感知網絡環境下的一種高效安全數據聚合方案*
基于模糊數學的通信網絡密文信息差錯恢復
支持多跳的多策略屬性基全同態短密文加密方案
天河超算存儲系統在美創佳績
面向4K/8K的到來 存儲該怎么辦?
云的訪問控制研究
云計算訪問控制技術研究綜述
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合