李拴保 王雪瑞 傅建明 張煥國
云計算通過對資源、服務虛擬化整合與配置,為用戶提供靈活的定制服務。互聯云[1]由多個云服務提供者(Cloud Service Providers, CSP)組成,通過云之間互操作擴大計算能力和存儲能力,為用戶提供跨云資源租賃服務;但是互聯云面臨用戶權限更新及信息泄露等安全威脅[2,3]。針對云環境下的用戶權限更新問題,文獻[4]提出了基于身份和屬性的加密訪問控制[57]-實現云安全服務體系,但是沒有涉及互聯云的用戶權限更新。特別是CSP用戶密鑰撤銷會導致互聯云內其它用戶信息泄露,使得多CSP的數據安全具有不確定性,因此云安全聯盟把云服務濫用[2]列為2013年9個重要的云安全威脅之一。
云環境用戶密鑰撤銷,從身份基加密和屬性基加密(Attribute Base Encryption, ABE)兩個角度提出解決方案。面向單CSP環境,身份基加密系統通過設置用戶私鑰生命周期,用戶只能在有效期內訪問服務。在ABE系統中,授權者為用戶生成私鑰,數據屬主利用自身屬性加密數據,密文滿足私鑰策略解密數據;或者,數據屬主利用屬性樹加密數據,私鑰滿足密文策略解密數據;當屬性被更新,私鑰自動失效。面向多CSP環境,文獻[8]提出了一種數字身份管理框架(Digital Identity Management Framework, DIMF),用戶向注冊者申請源證書,源CSP為用戶提供認證證書,接受CSP響應源CSP請求為用戶提供密文訪問服務;注冊者周期性更新證書,用戶無法訪問服務。
在單CSP環境下,ABE屬性更新撤銷用戶私鑰影響共享屬性的其它用戶訪問,授權者控制屬性更新,無法應用到多CSP環境。在多CSP系統中,注冊者更新用戶源證書,用戶無法訪問接受CSP服務,并且泄露用戶密鑰關聯的隱私信息。特別在大規模用戶背景下,證書更新成為用戶權限更新的系統瓶頸。以DIMF為基礎,源CSP控制用戶匿名認證和訪問,為用戶提供細粒度數據服務,解決隱私泄漏難題。
云計算環境中用戶密鑰撤銷主要有基于實體的撤銷系統和基于證書的撤銷系統兩種方法。基于實體的撤銷系統,CP-ABE(Ciphertext Policy-ABE)定義了用戶訪問密文的權限結構,適合云環境下的用戶密鑰管理。CP-ABE時間屬性嵌入用戶私鑰[9],周期性撤銷用戶密文訪問權限;CP-ABE組合PRE[10,11],撤銷用戶部分屬性導致私鑰失效,廣播、CP-ABE和屬性分割[12,13]組合從系統級和屬性級撤銷私鑰,影響共享屬性子集的用戶訪問;ABE和群簽名[14]組合從屬性級撤銷私鑰,沒有定義新用戶訪問結構;CP-ABE和層級密鑰[7,15]融合撤銷用戶私鑰,降低了系統計算效率。基于證書的撤銷系統,通過失效的代理認證撤銷用戶密鑰。將與認證證書關聯的源CSP[8]作為用戶認證代理,撤銷CSP服務特定屬性使得用戶密鑰失效,攻擊者根據撤銷屬性可以恢復整體屬性,證書持續更新增加系統開銷;對用戶屬性分類申請多個不同代理[16],批處理撤銷某類屬性使密鑰失效,增加額外審計開銷;將屬性分為多個元組,利用父類關系設置代理認證鏈[17],撤銷某一屬性元組使得密鑰失效,增加管理認證鏈開銷;用戶證書關聯多個級別屬性[6],撤銷級別較高屬性使得證書密鑰失效,需要定義與屬性級別相關服務。綜上所述,CP- ABE是云環境下實現用戶密鑰撤銷與隱私信息保護的有效方式, DIMF證書管理是密鑰撤銷系統的一個計算瓶頸。因此,多CSP環境下保護隱私信息的用戶密鑰撤銷方法仍是一個開放性難題。
雙線性映射[18]基本原理:假設G, GT分別是素數p階的加法、乘法循環群,生成元g∈G,雙線性映射e:G×G→GT具有下列特征:雙線性性:?u,v∈G和a,b∈Zp,有e(ua,vb)= e (u,v)ab;非退化性:e(g,g)≠1;可計算性: ? p,q∈GT,存在算法可計算e(p,q)。
假設G是素數p階的雙線性群,在G上的判定雙線性Diffie-Hellman[18]定義如下。生成元g∈G和指數 a ,b,s∈Zp。元組(g,ga,gb,gs)∈ G4和元素Z∈ GT作為輸入,決定 Z= e (g,g)abs輸出。如果|Pr[β (g,ga, gb, gs, (g,g)abs) = 0 ]- Pr[β (g,ga, gb, gs,z)=0]|≥ε,存在一個算法β輸出b∈{0,1},在G上具有優勢ε解決DBDH難題。如果沒有多項式時間算法具有不可忽略優勢解決 DBDH難題,DBDH假設在G上成立。單調張成方案[19],設θ:{0 ,1}n0,1}是一個單調布爾函數,→域F上的θ是域F入口的l×t矩陣A,標記函數a:[l][n]關聯矩陣A每一行以θ作為輸入變量,對任意{x1, x2,… ,xn}∈{0 ,1}n,滿足下式θ(x1, x2,… ,xn)=1? ??v ∈Fl×t:[1,0,…,0]且(?i:xa(i))=0,?vi=0。
本文以DIMF框架為基礎,授權者、用戶、CSP基于屬性組成環即R= ω1∪ ω2∪ … ∪ ωn。在雙線性映射、DBDH困難性假設和單調張成方案下,本文擴展與融合屬性基環簽名、撤銷環、CP-ABE、高效屬性簽名和分布式屬性基加密,構造不泄露用戶隱私的用戶密鑰撤銷方案。以密文訪問方法中心,首先,引入屬性基環簽名[20]、多授權機制[21]生成公鑰和私鑰,源CSP利用解簽名方法驗證用戶真實性,基于分布式屬性基加密與單調張成算法[19]設計密文映射隱私保護方法;其次,引入撤銷環簽名[5]、CPABE[22]訪問機制,撤銷部分屬性失效解密私鑰,不影響共享屬性用戶訪問;最后,引入高效屬性簽名與CP-ABE重構屬性環,抵制用戶共謀申請簽名私鑰,獲得訪問權限。文獻[13,15]通過屬性撤銷與代理重加密撤銷私鑰,泄露部分隱私信息。在方案中,授權者管理系統參數和屬性集合,用戶作為環成員向授權者申請簽名私鑰,用戶向源CSP驗證身份訪問接受CSP服務。該方案包含7個算法,其基本框架如圖1所示。

圖1 多CSP用戶密鑰撤銷方案框架
多CSP環境下用戶密鑰撤銷系統方案(Scheme on User Key Revocation in Multi-CSP System,SUKRMCS)基本定義如下。
定義1 多CSP環境下用戶密鑰撤銷方案是下列算法的一個元組:Setup, Encrypt, Keygen,Signature, Verify, Decrypt和 Revoke。
初始化Setup(λ,R)→GP,MSK,PK。算法由授權者運行,用戶、授權者、源CSP和接受CSP基于屬性組成環R,輸入R和給定安全參數λ;系統輸出授權者公鑰PK與私鑰SK、系統參數GP和環主密鑰MSK。
加密 Encrypt(M,R,(A,ρ),GP,PK)CT。算法由接受 CSP運行,消息M, R,訪問結構(A,ρ), GP和PK作為輸入,輸出云中密文CT。
密鑰生成Keygen(R,GP,ωa,ωu,MSK)Dωu。算法由授權者運行,R, GP,授權者屬性集ωa, 用戶屬性集ωu和MSK作為輸入,系統輸出一個基于ωa,ωu和R的用戶環簽名私鑰 Sωu。
環簽名Signature(GP, R, M,ωu,A,Sωu)→? 。算法由用戶運行,GP, R, M,ωs, 單調張成矩陣A和簽名私鑰 Sωu作為輸入,系統輸出用戶對M的環簽名?。
環驗證Verify(R,? ,M,A,GP) →簽名? 是否有效。算法由源CSP運行,R,?, M, A和GP作為輸入,系統輸出用戶簽名?是否有效。
解密 Decrypt(CT,GP,SK,R) →M。算法由用戶運行,CT, GP, SK和R作為輸入,系統輸出明文M。
環撤銷Revoke(R,ωu,ωa,GP)→R',ω'u。算法由授權者運行,R,ωu,ωa和GP作為輸入,系統輸出新環R'和新用戶屬性集 ω'。
u
SUKRMCS系統安全模型假設授權者可信,CSP不可信,給出系統IND-SUKRMCS-CCA2安全規則。
系統建立(Setup): 挑戰者C輸入安全參數λ、授權者屬性集ωa,運行Setup,計算GP, MSK和授權者密鑰(PK,SK), C以GP響應攻擊者A。
第1階段(Phase 1): A執行多項式數量級界的自適應性密文、密鑰、簽名、驗證、解密和撤銷詢問,每一次詢問取決于前面已詢問的結果,C運行相應算法響應A。
加密詢問(Encrypt Query):A輸入 R,M,GP,(A,ρ)和PK, C以一個密文CT響應。
密鑰詢問(Keygen Query):A輸入ωa,ωu,R和GP, C以一個密鑰 Sωu響應。
簽名詢問(Signature Query):A輸入M,ωu, R和 Sωu, C以一個簽名?響應。
驗證詢問(Verify Query):A發送?, M和GP,C以邏輯數值True或False響應。
解密詢問(query):A輸入R, CT和GP, C以明文M響應。
撤銷詢問(Revoke Query):A發送ωu,ωa, R和GP, C以新環R'和新用戶屬性集 ω'u響應。
挑戰階段(Challenge):A發送兩個元組(a0,m0,ωa0,PKa0,)與(a1, m1, ωa1,PKa1)隨機選擇一個比特b∈(0,1), C生成簽名私鑰(S0,S1)響應A。
第2階段(Phase 2): 和第1階段一樣。
猜測階段(Guess): 最后,A提交一個b'。如果 b '= b ,那么A在游戲中獲勝。攻擊者A的優勢定義為 adv(A )= | 2 Pr[ b '= b ]-1|,其中 Pr[ b '= b ]表示 b '= b 的概率。
定義2 一個多CSP環境下的 SUKRMCS系統在自適應選擇密文攻擊下是安全的,如果任何多項式時間算法攻擊者在 IND-SUKRMCS-CCA2游戲中獲勝的概率最多具備一個可忽略的優勢。
多 CSP用戶密鑰撤銷方案涉及 4方實體,源CSP、接受 CSP、用戶和授權者。具體構造包括 7個階段:用戶密鑰撤銷系統建立、接受CSP數據加密服務、授權者環簽名私鑰生成服務、用戶簽名服務、源CSP驗證服務、用戶解密服務及授權者撤銷密鑰服務。
4.1.1 用戶密鑰撤銷系統建立階段 授權者管理環系統參數、密鑰生成環境的初始化,為其他服務運行提供參數準備。
第1步 定義含有d個點q(1), q(2),…,q(d)的d-1度多項式環上的拉格朗日插值公式Δj,φ(x),對?i∈Zp,假設φ是Zp中的d -元素集合;

第2步 定義多項式環R,授權者與用戶、源CSP和接受CSP構造一個環R=ω1∪ ω2∪ …∪ ωn;
第 3步 setup(λ,R)算法初始化,給定λ,R,系統選擇G加法循環群、 GT乘法循環群,→兩個階均為素數 N =p1p2p3;雙線性映射e:G×GGT,生成元g∈G。設Ω={Ω1, Ω2, … , Ωd-1}一個 d -1缺省屬性集合,滿足拉格朗日插值公式(1);設U是通用屬性集合,且U=max;
第4步 系統選擇隨機數 w ∈ZN和生成元g1∈G,計算 g2=gw和β= e (g1, g2);第5步 定義密碼學哈希函數 H1,H2,(0, 1)*:,用于密文不可區分以及屬性集到群 GT元素的映射;
第6步 系統選擇生成元 t1, t2,… , tmax∈G及隨機數a,b,c,q∈ ZN,計算C= gc, A0=, Aj=Bj=(?j ∈[m ax]);
第7步 授權者屬性集ωa,系統選擇隨機數αi,yi∈ ZN,計算授權者公鑰 P Kωa={ e(g2, g2)αi,}、私鑰SKωa= {αi,yi}(?i) ;
第8步 系統發布系統參數GP={G,g,g1, g2,β,H1, H2,A0, … ,Amax, B1, … ,Bmax,C},保存環主密鑰MSK=(a,b,c,q)。
4.1.2 接受CSP數據加密服務階段 接受CSP定義密文訪問結構(A,ρ),A是單調張成算法矩陣,ρ為矩陣行映射到用戶屬性集ωu。接受CSP利用(A, ρ),R,GP和 P Kωa加密M輸出密文CT。
第 1 步 Encrypt(R,M,(A,ρ),GP,{ P Kωa})算法初始化,(A,ρ)為n×l行列式;
第2步 定義多項式 QR(0)= Qθ(n×l)(A) ,設 dR表示 QR的度, kR表示環內的成員數, dR=kR-1;
第3步 系統選擇隨機數s∈ ZN且 QR(0)=s;選擇隨機矢量 w , v ∈,設ρ表示θ?ω為矩陣第ω行,r表示θ?v為矩陣第v列。系統計算密文為

第 4 步 系統選擇隨機數 f ∈ZN,計算哈希值C'= H2(R||C T0||C T1||C T2||C T3|| f )H1( Ω || dR),輸出密文CT={R,C T0,CT1,CT2,CT3,C'}。
4.1.3 授權者密鑰生成服務階段 授權者為用戶生成簽名私鑰,用于向源CSP驗證真實屬性,訪問接受CSP的密文數據服務。
第1步 算法Keygen(R,GP,ωa,ωu,MSK)初始化,系統驗證ωu?R且Qωu(A)=0;
第2步 系統選擇隨機數 w ∈ZN,選擇d-1次數多項式 QR使得 QR(0 ) = w ,滿足拉格朗日插值公式(1);擴展新屬性集?ωu=ωu∪Ω,對?j∈φ選擇隨機數 d ,z,rj∈ ZN,系統計算

系統計算S?ωu=(d d0, d1) (?i,j∈ φ )。 ←
第3步 設屬性集A∈R,選擇生成元KG,系統計算

第4步 設 S0= K0且 S1= Kωa,R,?ωuKt,輸出用戶環簽名私鑰 S?ωu=(S0,S1) (? j ∈ ?ωu,t∈A且t≤n)。
4.1.4 用戶簽名服務階段 用戶映射屬性信息為矩陣變量,向源CSP認證擴展屬性簽名消息。
第1步 Signature(GP,R,M,S?ωu,ωu,A)算法初始化,源CSP公鑰為GP,用戶和源CSP通過安全通道交換密鑰;
第 2步 系統選擇 d個元素 εd={ ε1,… ,εf}∈{Amax},選∪擇d個元素εd'={εd+1,…, ε2d}∈{ Bmax}且({Amax}{ Bmax})?Ω;均滿足 d - 1 度多項式(A)且(0)=0;
第3步 設θ(A)=1,A ∈ (A)l×t,θ:[l];設δ=H2(R ‖ M ‖ θ ),系統計算用戶屬性映射為矩陣變量

第4步 隨機選擇 ? f ∈ ZN且1≤f≤d,設用戶簽名為 ? 包括 4部分即 ? = { ?f1, ?f2,?f3,U}1≤f≤d;系統分別計算。


系統輸出?并傳遞給源CSP。
4.1.5 源CSP驗證簽名服務階段 源CSP驗證用戶環簽名的真實性、有效性和環內成員,源CSP無法獲得用戶的任何屬性信息。
第 1步 Verify(R,?,M,A,GP)算法初始化,驗證消息M和ω︿u簽名?的真實性與有效性,系統計算

式(18)成立,用戶環簽名是真實的且有效;
第2步 驗證用戶來自環內成員,系統計算

式(19)成立,用戶完整屬性屬于環 R,環成員是真實的;
第3步 用戶簽名不是偽造的,系統計算

式(20)成立,用戶簽名不是偽造的。式(18)~式(20)均成立,系統輸出“True”傳遞給接受CSP,用戶可以訪問密文服務。
4.1.6 用戶解密服務階段 用戶通過源CSP驗證,作為環內成員訪問接受 CSP密文服務,接受 CSP無法獲得用戶的任何屬性信息;非法用戶共謀無法解密密文。
第 1步 算法 Decrypt(CT,GP,R,SK)初始化,系統計算密文可解性

式(21)成立,密文是可解密的;
第2步 系統選擇隨機數 t ∈ ZN, ∑xtA=(1,0,…,0),矩陣 A 的ω (1,0,…,0)=s,列 r.(1,0,…,0) =0,系統計算

解密得明文 M = CT0/e(g1, g1)s且密文不可區分;
第3步 系統計算

第4步 系統計算

式(21)~式(24)成立,用戶組合屬性共謀無法解密密文。
4.1.7 授權者撤銷密鑰服務階段 用戶解密密文后,
授權者自動撤銷用戶私鑰,并且不泄露用戶任何屬性信息。
第 1 步 撤銷算法Revoke(R,ωs,GP)初始化。從環R中撤銷用戶ωu部分屬性,定義ωu屬性子集和ωs屬性個數滿足(k,n)門限保密方案[23];定義R的屬性子集R',使得 R '= R -;
第 2步 基于R'計算 C '=H2( R',CT0, CT1, CT2,CT3),基于新C'輸出重加密密文 CT={ R ',CT0,CT1, CT2, CT3,C',};
第 3步 系統計算 Keygen(R',GP, ωa,,MSK)用戶私鑰 Dω'u',用戶無法通過源CSP驗證不能解密密文;
第 4 步 系統計算

用戶解密密文后,密鑰被撤銷得到驗證。
本文方案授權者、CSP和用戶之間通信成本來自于系統參數、密鑰、簽名和密文,設N表示 ZN元素規模,g,gT表示G,GT元素規模, nu為用戶總數,nr為屬性總數,與文獻[13,15]比較如表1所示。計算成本與DBDH困難性假設相關,設 Ha為哈希計算, Pa為雙線性對計算,T為單調張成矩陣指數計算,Exp為群指數運算;在標準模型下,本文系統指數運算、哈希運算與密文規模成本優于文獻[13]和文獻[15]方案,見表2。
計算時間實驗環境,基于AMD A6-3650主頻2.6 Ghz Hadoop云服務器,RedHat Linux和8 G內存,利用版本號為0.5.14的密碼庫(Pairing-Based Crypt-ography),利用對稱橢圓曲線基域規模為1024位、植入度為1的-α曲線,并且-α曲線有256位長素數P,明文規模為512 kB。計算時間與環和用戶數量成正比,與文獻[13]和文獻[15]比較結果如圖2所示,計算時間增長率小。計算效率包括計算時間和計算成本,比較通信成本和計算效率兩個方面,本文系統主要在通信成本、哈希運算和密文規模優于文獻[13]和文獻[15]方案。

表1 通信成本比較

表2 計算成本比較

圖2 計算時間比較
用戶密鑰撤銷是多CSP服務用戶權限更新焦點,DIMF是重要的身份管理基礎設施。以DIMF為基礎的環簽名用戶密鑰撤銷系統,通過擴展屬性環簽名、單調張成矩陣與多授權機制,實現擴展屬性集的密鑰生成與用戶屬性映射為矩陣策略訪問樹;通過融合擴展CP-ABE、單調張成矩陣、撤銷環,實現無用戶屬性信息泄露的簽名驗證與密文訪問,以及密文不可偽造與用戶環成員真實性證明;利用單調張成矩陣與CP-ABE訪問控制機制,撤銷屬性失效解密私鑰,達到不影響共享屬性用戶訪問;對用戶和環屬性重構,抵制用戶簽名私鑰重放與共謀獲得訪問權限。在標準模型下,系統簡化了運算規模與存儲規模的復雜度,如何提高環指數運算效率需要進一步深入研究。
[1] Buyya R, Ranjan R, and Calheiros N R. InterCloud: utilityoriented federation of cloud computing environments for scaling of application services[C]. Proceedings of Algorithms and Architectures for Parallel Processing, Berlin, 2010:13-31.
[2] Alliance C S. The notorious nine cloud computing top threats in 2013[OL]. http://cloudsecurityalliance.org/research/top threats, 2013.9.
[3] 李拴保, 傅建明, 張煥國. 環境下基于環簽密的用戶身份屬性保護方案[J]. 通信學報,2014, 35(9): 99-111.Li Shuan-bao, Fu Jian-ming, and Zhang Huan-guo. Scheme on user identity attribute preserving based on ring signcryption for cloud computing[J]. Journal on Communications, 2014, 35(9): 99-111.
[4] 馮登國, 張敏, 楊妍妍. 云計算安全研究[J]. 軟件學報, 2011,22(1): 71-83.Feng Deng-guo, Zhang Min, and Yang Yan-yan. Study on cloud computing security[J]. Journal of Software, 2011, 22(1):71-83.
[5] Liu D Y W, Liu J K, and Mu Y. Revocable ring signature[J].Journal of Computer Science and Technology, 2007, 12(6):785-794.
[6] Chuang I-hsun and Li Syuan-hao. An effective privacy protection scheme for cloud computing[C]. Proceedings of Advanced Communication Technology, Gangwon-Do, 2011:260-265.
[7] Wang Guo-jun and Liu Qin. Hierarchical attribute-based encryption for fine-grained access control in cloud storage services[C]. Proceedings of Computer and Communications Security, Pairs, 2010: 735-737.
[8] Sherman S M C and He Yi-jun. Simple privacy-preserving identity-management for cloud environment[C]. Proceedings of Applied Cryptography and Network Necurity, Berlin, 2012:526-543.
[9] Mao Shao-wu and Zhang Huan-guo. A resistant quantum key exchange protocol and its corresponding encryption scheme[J]. China Communications, 2014, 11(9): 12-23.
[10] 張倩穎, 馮登國, 趙世軍. 基于可信芯片的平臺身份證明方案研究[J]. 通信學報,2014, 35(8): 95-106.Zhang Qian-ying, Feng Deng-guo, and Zhao Shi-jun.Research of platform identity attestation based on trusted chip[J]. Journal on Communications, 2014, 35(8): 95-106.
[11] 馮登國, 張敏, 李昊. 大數據隱私與安全保護[J]. 計算機學報,2014, 37(1): 246-258.Feng Den-guo, Zhang Min, and Li Hao. Big data privacy and security protection[J]. Journal of Computer, 2014, 37(1):246-258.
[12] Yu Shu-cheng and Wang Cong. Achieving secure, scalable,and fine-grained data access control in cloud computing[C].Proceedings of Computer Communications, Pairs, 2010b:15-19.
[13] Yu Shu-cheng and Wang Cong. Attribute based data sharing with attribute revocation[C]. Proceedings of Information,Computer and Communications Security, Pairs, 2010a:261-270.
[14] Dalia K. Attribute based group signature with revocation[OL]. http://eprint.iacr.org/2007/241.pdf, 2007.6.
[15] Wang Guo-jun and Liu Qin. Hierarchical attribute-based encryption and scalable user revocation for sharing data in cloud servers[J]. Computers &Security, 2011, 30(3): 320-331.[16] Wei Li-fei and Zhu Hao-jin. Security and privacy for storage and computation in cloud computing[J]. Information Sciences, 2014, 258: 371-386.
[17] Adeela W and Asad R. A framework for preservation of cloud users’ data privacy using dynamic reconstruction of metadata[J]. Journal of Network and Computer Applications, 2013,36(2): 235-248.
[18] Dan B and Matt F. Identity-based encryption from the weil pairing[C]. Proceedings of Cryptology, Berlin, 2001: 213-229.
[19] Zhang Yan, Feng Deng-guo, and Zhang Zheng-feng. On the security of an efficient attribute-based signature[C].Proceedings of Network and System Security, Berlin, 2013:381-392.
[20] Jin Li and Kwangjo. Attribute based ring signatures[OL].http:// eprint.iacr.org/2008/394.pdf, 2008.6.
[21] Lewko A and Waters B. Decentralizing attribute-based encryption[C]. Proceedings of EUROCRYPT, Paterson, 2011:568-588.
[22] Bethencourt J, Sahai A, and Waters B. Ciphertext-policy attribute-based encryption[C]. Proceedings of the IEEE Security and Privacy, Paris, 2007: 321-334.
[23] Shamir A. How to share secret[J]. Communication of Association for Computing Machinery, 2002, 40(11): 612-613.