彭紅艷,凌 嬌,覃少華,鄧劍鋒
(廣西師范大學計算機科學與信息工程學院,廣西桂林 541004)
在云計算中,外包數(shù)據(jù)存儲在基本可信的云服務平臺上,脫離了數(shù)據(jù)所有者的物理控制,容易造成數(shù)據(jù)信息和用戶隱私泄露[1]。傳統(tǒng)加密方法是利用對稱加密方式將數(shù)據(jù)加密后上傳至云中心進行保存,但這給數(shù)據(jù)共享帶來了一定的困難。一方面是大規(guī)模用戶的數(shù)據(jù)共享需要大量密鑰,生成、分發(fā)和保管這些密鑰比較困難。另一方面是如何制定靈活可控的訪問策略來實施細粒度的訪問控制。針對上述問題,學者們提出屬性加密(Attribute-Based Encryption,ABE)方案[2-4],其是一種靈活的一對多公鑰加密方式,即一次加密、多人共享。傳統(tǒng)ABE 方案基于單授權(quán)機構(gòu)[5-7],一旦被敵手攻破,則會使整個系統(tǒng)崩潰。為解決單授權(quán)機構(gòu)導致的單點瓶頸問題,文獻[8]提出無中心授權(quán)機構(gòu)的分布式多授權(quán)機構(gòu)方案,其不要求任何授權(quán)機構(gòu)提前建立信任關(guān)系,只需創(chuàng)建公共參數(shù)初始集,并且任何一方都可以成為授權(quán)機構(gòu)。但該方案仍然要依賴GID 實現(xiàn)數(shù)據(jù)用戶全網(wǎng)的唯一性,并且數(shù)據(jù)用戶需要向所有授權(quán)機構(gòu)公開GID,容易造成數(shù)據(jù)用戶隱私的泄露。文獻[9]在文獻[8]的基礎(chǔ)上,通過減少方案公共參數(shù)量,提高了計算效率。此外,文獻[10]提出隱藏訪問策略的多授權(quán)訪問控制方案,將解密計算外包到云。文獻[11]在個人健康記錄系統(tǒng)中,提出一種具有動態(tài)策略更新的多授權(quán)屬性加密方案。
在邊緣計算[12]環(huán)境下,移動終端的計算和能量資源受限,而屬性加密的密文解密階段通常需要計算雙線性配對,計算量巨大。為降低移動終端資源消耗,文獻[13]提出解密計算外包的CP-ABE 方案,該方案在進行解密時將密文傳送給解密外包服務器,然后解密外包服務器對密文進行預解密獲得中間密文再傳送給數(shù)據(jù)用戶,達到降低本地計算量的目的。文獻[14]提出混合云計算下的改進CP-ABE方案,該方案支持加密和解密外包,并提供數(shù)據(jù)驗證機制,以確保外包數(shù)據(jù)的正確性。文獻[15]提出外包加密和解密計算到霧節(jié)點的訪問控制方案,其能有效更新系統(tǒng)屬性。文獻[16]針對霧節(jié)點比云服務器容易受攻擊的特點,提出一種更安全的解密外包ABE 方案,其能抵抗選擇密文攻擊。然而,這些方案的訪問策略在判定用戶訪問權(quán)限時,只依據(jù)年齡、職業(yè)等用戶常規(guī)屬性,而忽視了訪問時間和位置的約束,因此不能較好滿足邊緣計算的實時性和移動性需求。
為共享對時間敏感的數(shù)據(jù),文獻[17]提出一種結(jié)合時間與屬性約束的訪問控制方案,如果一個屬性有時間約束,則CA 生成一個時間令牌用于在云服務器中轉(zhuǎn)換數(shù)據(jù)所有者生成的時間陷門狀態(tài),并在時間段開始時在線更新密文,但一旦CA 被惡意破壞,那么時間令牌和屬性私鑰都將被泄露,造成整個系統(tǒng)崩潰。文獻[18]提出一種時域多授權(quán)訪問控制(TAAC)方案,該方案將時間約束引入密文和密鑰中,只有滿足訪問策略和訪問時間段,才能對密文進行解密,但該方案在屬性動態(tài)變化時需要維護更新列表,且需要實時更新屬性私鑰,效率較低。文獻[19]提出基于時間和位置約束的訪問控制方案,但其不能實現(xiàn)細粒度訪問控制。文獻[20]提出細粒度的基于位置約束的訪問控制方案,但其基于KPABE 建立,數(shù)據(jù)所有者不能指定訪問策略。文獻[21]提出云存儲中位置感知的屬性加密訪問控制(LABAC)方案,將位置信息作為陷門附加到訪問結(jié)構(gòu)樹中,且引入位置服務器和傳感器進行用戶位置認證。解密時位置服務器先驗證用戶位置是否合法:若合法,則生成位置令牌且發(fā)送給用戶進行解密。但該方案不能解決單授權(quán)機構(gòu)帶來的單點瓶頸和終端資源受限問題。以上方案在判定用戶訪問權(quán)限時,除了依據(jù)常規(guī)屬性外,僅對時間或位置進行單一約束,無法同時滿足時間和位置約束。因此,本文提出一種支持時間和位置約束的多授權(quán)外包屬性加密方案TLMO-ABE。
設(shè)U={u1,u2,…,un}是所有屬性的集合,如果存在訪問結(jié)構(gòu)A ?2U且對于任意集合B和C,存在B∈A、B?C、C∈A,那么A 為單調(diào)。如果集合A 是2U的一個非空子集,那么A 為訪問結(jié)構(gòu)。A 中包含的集合稱為授權(quán)集合,而A 中不包含的集合稱為非授權(quán)集合。
設(shè)G1、G2為以素數(shù)p為階的乘法循環(huán)群,g為G1的生成元,雙線性映射e:G1×G1→G2,滿足如下性質(zhì):
1)雙線性:對于任意u,v∈G1和a,b∈Zp,有e(ua,vb)=e(u,v)ab成立。
2)非退化性:e(g,g)≠1。
3)可計算性:對于任意x,y∈G1,有e(x,y)在多項式時間上是可計算的。
對于基于成員集合P的秘密共享方案Π,若符合下列所述條件,則將Π 稱為Zp的線性秘密共享方案(LSSS):
2)秘密共享方案中存在l×n的共享矩陣M,M的第i(i=1,2,…,l)行表示集合中的第i個成員,通過函數(shù)ρ(i)可以找到此成員,其中ρ是從{1,2,…,l}映射到P的函數(shù)。設(shè)隨機向量v=(s,y2,y3,…,yn),其中是共享的秘密消息,而是任意隨機數(shù),則(M·v)i依據(jù)共享方案Π 將秘密分享為l份,其中(M·v)i屬于成員i。
3)如果Π 是訪問結(jié)構(gòu)A 上的一個線性秘密共享方案,則對于任意授權(quán)集合S∈A,I?{1,2,…,l},且I={i:ρ(i)∈S},在多項式時間范圍內(nèi)能夠找到常量集合成立,其中ε=(1,0,…,0)。
本文方案系統(tǒng)模型如圖1 所示。該模型具有用戶(User)-邊緣(Edge)-云(Cloud)3 層架構(gòu),包含云服務提供商(Cloud Server Provider,CSP)、中央授權(quán)機構(gòu)(Central Authority,CA)、屬性授權(quán)機構(gòu)(Attribute Authority,AA)、邊緣節(jié)點(Edge Node,EN)、數(shù)據(jù)所有者(Data Owner,DO)和數(shù)據(jù)用戶(Data User,DU)6 種角色。
1)CSP 是一個數(shù)據(jù)存儲機構(gòu),執(zhí)行系統(tǒng)分配的任務,但其可能會主動泄露接收到的數(shù)據(jù)信息。
2)CA 是一個完全可信的中央授權(quán)機構(gòu),負責DO、DU 和AA的注冊。當DO 在CA 上注冊時,CA生成系統(tǒng)公共參數(shù)并在系統(tǒng)中公開該公共參數(shù)。
3)AA 為完全可信,負責管理自身域中的屬性。AA 根據(jù)域中的屬性生成AA 的公私鑰對,其中將公鑰發(fā)送給DO 用于加密,將私鑰發(fā)送給DU 用于生成屬性私鑰。AA 通過比較DU 的請求時間和請求位置是否均在有效范圍內(nèi),決定是否生成和分發(fā)相關(guān)屬性私鑰給DU。
4)EN 具有存儲和計算能力,實時處理DU 的訪問請求,必要時會從相鄰節(jié)點或云服務器處檢索密文,負責對DU 請求的密文進行預解密并將結(jié)果返回給DU。
5)DO 負責制定訪問結(jié)構(gòu)來計算密文并上傳到CSP。
6)DU 從EN 端獲取預解密結(jié)果并負責本地解密,得到明文數(shù)據(jù)。
圖1 系統(tǒng)模型Fig.1 System model
設(shè)系統(tǒng)中有N個數(shù)據(jù)用戶U={u1,u2,…,uN}和K個屬性授權(quán)機構(gòu)AA={AA1,AA2,…,AAK},且每個數(shù)據(jù)用戶都有唯一的ID。TLMO-ABE 方案由初始化算法、加密算法、私鑰生成算法和解密算法組成。
2.2.1 初始化算法
初始化算法的具體步驟如下:
1)CA 初始化。設(shè)G、GT都是階為素數(shù)p的雙線性群,雙線性映射e:G×G→GT,g為G的生成元,安全參數(shù)λ決定群的大小。設(shè)F:{0,1}*→G是抗碰撞哈希函數(shù),映射屬性到G中的元素。CA 隨機選取h∈G,輸出系統(tǒng)公共參數(shù)GP=(g,h,G,GT,F(xiàn))并將其全網(wǎng)公開。CA 生成簽名和驗證密鑰對(skCA,vkCA),簽名密鑰用于加密數(shù)據(jù)用戶的身份uuid,驗證簽名用于驗證數(shù)據(jù)用戶的身份。
2)數(shù)據(jù)用戶注冊。當數(shù)據(jù)用戶加入系統(tǒng)時,其需要向CA 提交身份信息Infouid用于驗證其身份的合法性。如果其身份合法,則CA 為所有需要注冊的數(shù)據(jù)用戶分配唯一的身份標識uid;否則,CA 拒絕該數(shù)據(jù)用戶的注冊。除此之外,首先CA 隨機選取uuid∈Zp,并使用簽名密鑰skCA對其進行簽名生成用戶憑證Certuid,其次CA 生成用戶身份密鑰最后CA 將Certuid和Kuid通過安全通道發(fā)送給該用戶。
3)AA 注冊。當AA 加入系統(tǒng)時,其需要向CA提交身份信息InfoAID用于驗證其身份的合法性。如果其身份合法,則CA 為所有需要注冊的AA 分配唯一的身份標識AID,且CA 發(fā)送驗證密鑰vkCA給AA,用于恢復數(shù)據(jù)用戶的身份uuid;否則,CA 拒絕該AA的注冊。
4)AA 初始化。在系統(tǒng)建立之初,AA 隨機選取αj,βj∈Zp,生成AA 的私鑰和公鑰并將全網(wǎng)公開。
2.2.2 加密算法
加密算法的具體步驟如下:
1)DO 利用加密算法E加密明文信息,得到數(shù)據(jù)密文CTdata=Ek(M)。
2)DO 為數(shù)據(jù)密文選擇唯一的身份標識FID,如果數(shù)據(jù)密文FID 有訪問時間限制,那么DO 應該首先生成時間參數(shù)對。設(shè)[Tbegin,Tend]表示有效時間范圍,STj,F(xiàn)ID表示數(shù)據(jù)密文FID 中屬于AAj的時間屬性。DO 隨機選取tj∈Zp,輸出TDOParamj,F(xiàn)ID=(tj)用于加密對稱密鑰用于生成時間屬性私鑰。同理,如果數(shù)據(jù)密文FID有訪問位置限制,那么在加密該對稱密鑰k之前,DO應該首先生成位置參數(shù)對。設(shè)[Lbegin,Lend]表示有效位置范圍,SLj,F(xiàn)ID表示密文FID 中屬于AAj的位置屬性。DO 隨機選取lj∈Zp,輸出LDOParamj,F(xiàn)ID=(lj)用于加密對稱密鑰用于生成位置屬性私鑰。
3)DO 定義訪問結(jié)構(gòu)(A,ρ),其中,A表示一個m×n矩陣,m表示屬性數(shù)量,函數(shù)ρ表示映射到矩陣A的每一行得到屬性ρ(x),其中x∈[1,m]。DO 隨機選取一個用于共享的秘密值s∈Zp和一個隨機向量v=(s,y2,y3,…,yn)∈Zp,其中y2,y3,…,yn∈Zp用于分享秘密值s。對于?x∈[1,m],設(shè)置λx=v·Ax,其中Ax是矩陣A的第x行。隨機選取r1,r2,…,rm∈Zp,計算密鑰密文:
由此得到:CTFID=(C0,C1,{C2,x,C3,x,C4,x})。
2.2.3 私鑰生成算法
私鑰生成算法的具體步驟如下:
1)生成常規(guī)屬性私鑰。當AA 收到數(shù)據(jù)用戶的常規(guī)屬性私鑰請求時,使用vkCA解密Certuid得到uuid來驗證數(shù)據(jù)用戶身份:如果身份合法,則AA 為其生成屬性私鑰;否則,AA 拒絕該數(shù)據(jù)用戶的請求。設(shè)Sj,uid表示數(shù)據(jù)用戶uid 向AAj請求的常規(guī)屬性集合。AAj隨機選取zj∈Zp,計算常規(guī)屬性私鑰:
2)生成時間屬性私鑰。假設(shè)所有AA 都有一個表來存儲密文的時間參數(shù)和位置參數(shù)(FID,TAAParamj,F(xiàn)ID,LAAParamj,F(xiàn)ID),以提高時間信息和位置信息的檢驗效率。如果密文有訪問時間限制,那么DU 需要在有效時間范圍內(nèi)向相應的AA 請求時間屬性私鑰。AA 先驗證數(shù)據(jù)用戶的身份:如果身份合法,則AA 生成時間屬性私鑰;否則,AA 拒絕該數(shù)據(jù)用戶的請求。設(shè)STj,uid表示數(shù)據(jù)用戶uid 向AAj請求的時間屬性集合,AAj隨機選取uj∈Zp,計算時間屬性私鑰:
3)生成位置屬性私鑰。如果密文有訪問位置限制,那么DU 需要在有效位置范圍內(nèi)向相應的AA 請求位置屬性私鑰。AA 先驗證數(shù)據(jù)用戶的身份:如果身份合法,則AA 生成位置屬性私鑰;否則,AA 拒絕該數(shù)據(jù)用戶的請求。設(shè)SLj,uid表示數(shù)據(jù)用戶uid 向AAj請求的位置屬性集合,AAj隨機選取vj∈Zp,計算位置屬性私鑰:
4)生成邊緣密鑰和恢復密鑰。DU 利用獲得的常規(guī)屬性私鑰{USKj,uid}、時間屬性私鑰{TSKj,uid,F(xiàn)ID}和位置屬性私鑰{LSKj,uid,F(xiàn)ID}生成邊緣密鑰和恢復密鑰。DU 隨機選取q∈Zp,那么恢復密鑰RKuid,F(xiàn)ID=q,計算邊緣密鑰:
2.2.4 解密算法
EN 收到DU 對FID 數(shù)據(jù)密文的訪問請求時,先檢索自身是否存儲相應的數(shù)據(jù)密文和密鑰密文,若沒有存儲,則由該EN 向其相鄰的其他EN 節(jié)點或CSP 檢索,將檢索到的數(shù)據(jù)密文和密鑰密文緩存在該EN 上。由于在邊緣計算環(huán)境中DU 通常為資源受限的設(shè)備,因此為提高解密效率,本文將解密過程分為在EN 上的預解密和在DU 上的本地解密。
設(shè)SEatt表示邊緣密鑰中包含的屬性集合,Iatt表示訪問策略中行的集合,一行對應邊緣密鑰中的一個屬性,即Iatt={x:ρ(x)∈SEatt}。若IAAj表示每個AAj中的行索引集合,則Iatt可被劃分為假設(shè)在多項式時間范圍內(nèi)存在常量集合使得因此,預解密的操作具體如下:
1)Px=分為以下3 種情況:
(1)如果ρ(x)是常規(guī)屬性,那么:
(2)如果ρ(x)是時間屬性,那么:
(3)如果ρ(x)是位置屬性,那么:
本地解密的操作具體為:DU 先得到中間密鑰密文ICT,利用恢復密鑰得到對稱密鑰再使用對稱密鑰k解密數(shù)據(jù)密文CTdata得到明文數(shù)據(jù)M=Deck(CTdata)。
通過挑戰(zhàn)者和敵手之間的安全游戲描述TLMO-ABE 方案的選擇明文攻擊安全模型。設(shè)SAA表示屬性授權(quán)機構(gòu)的集合表示被破壞的屬性授權(quán)機構(gòu)集合。游戲過程具體如下:
1)建立階段:挑戰(zhàn)者運行CA 初始化算法,生成系統(tǒng)公共參數(shù)。敵手指定被破壞的AA 集合。每個AA 都執(zhí)行AA 初始化算法,生成公鑰和私鑰。對于被破壞的AA,敵手獲得公鑰和私鑰;對于正常的AA,敵手只獲得公鑰。
2)查詢階段1:敵手指定一個密文號FID*和訪問策略(A*,ρ*),并且還要確定時間屬性集合及其對應的時間范圍、位置屬性集合及其對應的位置范圍。然后敵手進行如下查詢:
(1)常規(guī)屬性私鑰查詢:敵手提交uid、相應的身份憑證Certuid和常規(guī)屬性集合Suid給挑戰(zhàn)者,且所有的常規(guī)屬性屬于正常的AA。挑戰(zhàn)者將常規(guī)屬性私鑰發(fā)送給敵手。
(2)時間屬性私鑰查詢:與常規(guī)屬性私鑰查詢相似,敵手提交uid、相應的身份憑證Certuid、密文號FID、時間屬性集合STj,uid和訪問時間time 給挑戰(zhàn)者,且所有的時間屬性屬于正常的AAj。如果時間time是在有效時間范圍內(nèi),那么挑戰(zhàn)者將時間屬性私鑰發(fā)送給敵手。
(3)位置屬性私鑰查詢:與時間屬性私鑰查詢相似,敵手提交uid、相應的身份憑證Certuid、密文號FID、位置屬性集合SLj,uid和訪問位置location 給挑戰(zhàn)者,且所有的位置屬性屬于正常的AAj。如果位置location 是在有效位置范圍內(nèi),那么挑戰(zhàn)者將位置屬性私鑰發(fā)送給敵手。
(4)轉(zhuǎn)換密鑰查詢:敵手提交常規(guī)屬性私鑰USKuid={USKj,uid}、時間屬性私鑰TSKuid,F(xiàn)ID={TSKj,uid,F(xiàn)ID}和位置屬性私鑰LSKuid,F(xiàn)ID={LSKj,uid,F(xiàn)ID}給挑戰(zhàn)者。挑戰(zhàn)者得到邊緣密鑰EKuid,F(xiàn)ID和恢復密鑰RKuid,F(xiàn)ID,并將其發(fā)送給敵手。
3)挑戰(zhàn)階段:敵手提交兩個相等長度的對稱密鑰k0和k1給挑戰(zhàn)者。假設(shè)Sco表示被破壞的AA 的常規(guī)屬性、時間屬性或位置屬性私鑰集合。對于每個uid,游戲要求USKuid∪TSKuid,F(xiàn)ID∪LSKuid,F(xiàn)ID∪Sco不能同時匹配訪問策略(A*,ρ*)和密文號FID*。挑戰(zhàn)者隨機拋擲一枚硬幣b∈{0,1},并使用訪問策略(A*,ρ*)加密kb,然后將密文發(fā)送給敵手。
4)查詢階段2:敵手重復查詢階段1,但是新的USKuid∪TSKuid,F(xiàn)ID∪LSKuid,F(xiàn)ID仍然不能滿足密文號FID*和訪問策略中常規(guī)屬性、時間屬性和位置屬性的要求。
5)猜測:敵手輸出一個關(guān)于b的猜測b'∈{0,1}。如果b'=b,則稱敵手贏了此游戲。敵手在游戲中的優(yōu)勢定義為ε=|Pr[b'=b]-1/2|。
3.2.1 多屬性授權(quán)機構(gòu)的安全性
在單授權(quán)機構(gòu)中,由單一的中央授權(quán)機構(gòu)生成數(shù)據(jù)用戶私鑰。如果該中央授權(quán)機構(gòu)被破壞,則所有數(shù)據(jù)用戶的私鑰會被泄露,造成系統(tǒng)崩潰。本文方案中的數(shù)據(jù)用戶私鑰交由多屬性授權(quán)機構(gòu)聯(lián)合生成和分發(fā),數(shù)據(jù)用戶使用來自多屬性授權(quán)機構(gòu)的私鑰組件對密鑰密文進行解密。如果其中某個屬性授權(quán)機構(gòu)被破壞,則非法用戶只能獲取該屬性授權(quán)機構(gòu)管理的所有屬性私鑰,但仍然無法解密密鑰密文,并且合法用戶對密鑰密文的解密不受影響。因此,本文多屬性授權(quán)機構(gòu)相比單授權(quán)機構(gòu)安全性更高。
3.2.2 抗合謀攻擊
如果數(shù)據(jù)用戶想要恢復出對稱密鑰k,則必須要計算得到的值。假設(shè)只有合并多個未經(jīng)授權(quán)的數(shù)據(jù)用戶的屬性集合才能滿足訪問結(jié)構(gòu),但因為每個數(shù)據(jù)用戶的uid 不同,生成屬性私鑰的組件也不同,所以無法計算出的值,從而無法恢復出k。因此,本文方案能夠有效抵抗數(shù)據(jù)用戶的合謀攻擊。
定理1如果不存在一個敵手M可以在多項式時間內(nèi)以不可忽略的優(yōu)勢ε>0 贏得安全游戲(矩陣A*的大小為m*×n*(n* 證明假設(shè)在3.1 節(jié)提出的安全游戲中,敵手M具有不可忽略的優(yōu)勢ε,且只能選擇一個最大為q-1 列的訪問矩陣A*。然而,M可以執(zhí)行任意的常規(guī)屬性私鑰查詢、時間屬性私鑰查詢、位置屬性私鑰查詢和轉(zhuǎn)換密鑰查詢,但是所有獲得的私鑰(即使與被破壞的AA 中的私鑰相結(jié)合)仍然不能滿足訪問策略中的屬性要求。在此約束下,多屬性授權(quán)機構(gòu)方案的安全游戲證明等價于單授權(quán)機構(gòu)方案的安全游戲證明。 定理2TLMO-ABE 方案在合謀攻擊下仍具有安全性。 證明每個數(shù)據(jù)用戶都有一個唯一的身份標識uid,將uuid嵌入到所有屬性私鑰中。不失一般性,假設(shè)有兩個惡意數(shù)據(jù)用戶合謀攻擊,那么解密密鑰應該包含兩個不同的uuid。在此情形下,線性對運算在解密階段將不能正確恢復出包含秘密值s的組件因此,當存在多個數(shù)據(jù)用戶的私鑰時,即使屬性集合滿足訪問策略要求,仍然不能成功解密密鑰密文。 由定理1 的證明可知,若敵手M在安全模型下能夠以不可忽略的優(yōu)勢ε攻破TLMO-ABE 方案,則多項式時間模擬器也能以同樣的優(yōu)勢打破q-parallel BDHE 假設(shè),因此該方案在安全模型下可抵抗選擇明文攻擊。由定理2 的證明可知,即使多個數(shù)據(jù)用戶合謀,也不能解密密鑰密文,因此該方案能夠抵抗合謀攻擊。 本文將TLMO-ABE、TAAC[18]與LABAC[21]方案在特性、存儲開銷和計算開銷3 個方面進行對比。表1 比較了TLMO-ABE、TAAC 與LABAC 方案的相關(guān)特性,TLMO-ABE 方案能同時實現(xiàn)用戶時間和位置的訪問控制及解密計算外包,而TAAC 和LABAC方案能分別實現(xiàn)位置和時間的訪問控制,但無法實現(xiàn)解密計算外包。在表1 中,√表示屬性加密方案具有該特性,×表示屬性加密方案不具有該特性。 表1 3 種屬性加密方案的特性比較Table 1 Characteristic comparison of three ABE schemes 存儲開銷是影響訪問控制方案大規(guī)模部署的關(guān)鍵因素。密文和密鑰是數(shù)據(jù)所有者、數(shù)據(jù)存儲節(jié)點和數(shù)據(jù)用戶之間進行頻繁傳輸?shù)臄?shù)據(jù)。令k1表示訪問策略中的屬性數(shù),k2表示用戶私鑰中的屬性數(shù),|G|和|GT|分別表示群G和GT中元素的長度,|F|表示哈希函數(shù)長度。由表2 可知,與TAAC 和LABAC 方案相比,TLMO-ABE 方案的密鑰密文和用戶私鑰長度更短,存儲開銷更小。 表2 3 種屬性加密方案的存儲開銷比較Table 2 Comparison of storage overhead of three ABE schemes 計算開銷主要產(chǎn)生于加密階段、預解密階段和本地解密階段。由于TLMO-ABE 方案使用ABE 方法對對稱密鑰進行加密,因此沒有考慮明文數(shù)據(jù)加密。令te表示一次指數(shù)運算消耗的時間,tb表示一次雙線性對運算消耗的時間。由表3 可知,雖然TLMO-ABE 方案在加密開銷上沒有明顯優(yōu)勢,但是其將大部分解密計算外包至邊緣節(jié)點,大幅減小了本地解密開銷,相比LABAC 和TAAC 方案更具優(yōu)勢。 表3 3 種屬性加密方案的計算開銷比較Table 3 Comparison of computational overhead of three ABE schemes 本文提出一種面向邊緣計算的支持時間和位置約束的屬性加密方案。該方案將時間域信息和位置域信息相結(jié)合引入屬性加密算法,實現(xiàn)更細粒度的訪問控制。采用多授權(quán)機構(gòu),使屬性私鑰由多個授權(quán)中心聯(lián)合分發(fā),解決了單授權(quán)機構(gòu)的單點瓶頸問題,并且滿足用戶跨域訪問需求。針對邊緣計算環(huán)境的特點,通過將大部分解密計算外包至邊緣節(jié)點,減輕了移動終端設(shè)備的負擔。分析結(jié)果表明,該方案在邊緣計算環(huán)境下具有較低的時間開銷與計算開銷。但由于本文方案僅在隨機預言模型下可證安全,因此下一步將設(shè)計在標準模型下滿足時間與位置約束且安全的屬性加密方案。4 性能分析
5 結(jié)束語