李琦,朱洪波,熊金波,莫若
(1. 南京郵電大學(xué)計(jì)算機(jī)學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210023;2. 南京郵電大學(xué)物聯(lián)網(wǎng)技術(shù)與應(yīng)用協(xié)同創(chuàng)新中心,江蘇 南京 210003;3. 南京郵電大學(xué)江蘇省大數(shù)據(jù)安全與智能處理重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210023;4. 南京郵電大學(xué)通信與信息工程學(xué)院,江蘇 南京 210003;5. 福建師范大學(xué)數(shù)學(xué)與信息學(xué)院,福建 福州 350117;6. 西安電子科技大學(xué)網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071)
移動(dòng)健康(mHealth, mobile healthcare)護(hù)理系統(tǒng)[1]經(jīng)由移動(dòng)設(shè)備,集合了各種新興技術(shù),包括云計(jì)算、無線傳感器、通信技術(shù)等,通過健康信息傳感器記錄、搜集、整合成個(gè)人健康檔案(PHR, personal health records),并由網(wǎng)絡(luò)上傳至健康信息管理云平臺(tái),獲得健康服務(wù)提供商提供的各種服務(wù)。其為個(gè)人健康檔案的分享提供了便捷的模式,也為更好的個(gè)性化健康服務(wù)提供了便利。然而,PHR里包含了大量的個(gè)人隱私信息[2],如既往病史、診斷記錄等,這樣的分享模式給PHR的隱私保護(hù)帶來了嚴(yán)峻的挑戰(zhàn)。
基于屬性的加密[3](ABE, attribute-based encryption)作為一種新的“一對(duì)多”加密模式,通過屬性來描述用戶,在保護(hù)數(shù)據(jù)機(jī)密性的同時(shí)實(shí)現(xiàn)細(xì)粒度的訪問控制。根據(jù)訪問策略所處位置的不同,ABE方案通??梢苑譃?2類:密文策略 ABE[4](CP-ABE, ciphertext-policy ABE)與密鑰策略ABE[5](KP-ABE, key-policy ABE)。在CP-ABE方案中,由數(shù)據(jù)擁有者利用自定義的訪問策略來加密數(shù)據(jù),只有用戶擁有滿足訪問策略的屬性時(shí)才能正確解密,更符合實(shí)際需求,從而廣泛地應(yīng)用于 mHealth系統(tǒng)[6-7]中。
然而,在實(shí)際部署mHealth系統(tǒng)時(shí),有2個(gè)問題值得注意。一方面,在單授權(quán)機(jī)構(gòu)的方案[3-7]中,該授權(quán)機(jī)構(gòu)負(fù)責(zé)管理整個(gè)系統(tǒng)屬性域以及所有用戶密鑰的生成,極易成為系統(tǒng)的性能與安全瓶頸。Chase[8]提出了多授權(quán)機(jī)構(gòu)的概念并給出了一種密鑰策略ABE方案?;诙嗍跈?quán)機(jī)構(gòu)方案[9],Li等[10]提出了一種云計(jì)算中的PHR安全分享方案,然而,上述方案[8-10]都是在選擇安全模型下證明的,即攻擊者需要事先聲明要挑戰(zhàn)的訪問策略或?qū)傩约?。Lewko等[11]提出了適應(yīng)性安全的多授權(quán)機(jī)構(gòu)CP-ABE方案,該方案在隨機(jī)預(yù)言機(jī)模型下證明。隨后,Liu等[12]提出了標(biāo)準(zhǔn)模型下適應(yīng)性安全的方案;Li等[13]提出了針對(duì)云存儲(chǔ)服務(wù)的多授權(quán)機(jī)構(gòu)CP-ABE方案,與文獻(xiàn)[12]的方案相比,該方案只采用一個(gè)中央授權(quán)機(jī)構(gòu)(CA, central authority),而且該CA并不能解密任何密文。
另一方面,系統(tǒng)中某些惡意用戶可能出售自己的密鑰(白盒)給非法用戶以獲取不法利益,而在屬性加密體系中,屬性可以由多個(gè)用戶共同擁有,因此,很難判斷出屬性密鑰來自哪個(gè)用戶,這給惡意用戶追蹤帶來了很大困難。針對(duì)該問題,Liu等[14]提出了一種單授權(quán)機(jī)構(gòu)下白盒可追蹤的CP-ABE方案;Li等[15]提出了一種基于與門策略的可追蹤多授權(quán)機(jī)構(gòu)ABE方案,訪問策略較為簡(jiǎn)單;Guan等[16]提出了一種移動(dòng)云計(jì)算環(huán)境下可追蹤 CP-ABE方案,該方案將授權(quán)機(jī)構(gòu)分成3個(gè)部分,各自執(zhí)行不同的密鑰生成操作。
然而,目前的基于屬性的訪問控制方案要么致力于支持多個(gè)授權(quán)機(jī)構(gòu),要么只在單授權(quán)機(jī)構(gòu)情形下考慮惡意用戶追蹤問題。文獻(xiàn)[8-13]的方案考慮多個(gè)授權(quán)機(jī)構(gòu)并存的問題,但沒有考慮惡意用戶追蹤的問題;文獻(xiàn)[14]的方案只在單個(gè)授權(quán)機(jī)構(gòu)的前提下實(shí)現(xiàn)了惡意用戶追蹤;文獻(xiàn)[15-16]的方案安全性是在選擇安全模型下證明的。因此,如何構(gòu)造一種自適應(yīng)安全的可追蹤多授權(quán)機(jī)構(gòu)訪問控制方案還是一個(gè)值得考慮的問題。
本文基于文獻(xiàn)[13]的方案,結(jié)合追蹤技術(shù)[14]提出了一種面向 mHealth的支持多個(gè)授權(quán)機(jī)構(gòu)的可追蹤C(jī)P-ABE方案,并基于子群判定問題在標(biāo)準(zhǔn)模型下證明其是適應(yīng)性安全的。方案中包含一個(gè) CA與多個(gè)屬性授權(quán)機(jī)構(gòu)(AA, attribute authority),AA負(fù)責(zé)管理不同的屬性域,且不需要通過交互來設(shè)置系統(tǒng)參數(shù)。為了在多AA并存的情形下實(shí)現(xiàn)惡意用戶追蹤,CA負(fù)責(zé)生成類似文獻(xiàn)[14]方案中的身份追蹤參數(shù),但是不會(huì)直接參與任何屬性相關(guān)的操作。AA基于CA生成的身份追蹤參數(shù)來生成用戶密鑰,使該密鑰可追蹤。該方案在合數(shù)階群上構(gòu)造,支持任意單調(diào)的基于線性秘密分享機(jī)制(LSSS, linear secret sharing scheme)的訪問策略,基于k-SDH問題,證明了該方案的可追蹤性,性能分析表明了方案的可用性。
本文使用了合數(shù)階群上的雙線性配對(duì)[17],其定義如下。
選取G和 G1為2個(gè)階為 N = p1p2p3的群,其中,p1、 p2、 p3是3個(gè)不同的素?cái)?shù),定義一個(gè)可有效計(jì)算的雙線性映射 e :G×G→G1,該映射滿足以下條件。
1) 雙線性:對(duì)于所有的 a ,b ∈ZN和所有的u,v∈G,有 e(ua, vb)= e (u ,v )ab。
2) 非退化性:?g∈G,使e(g,g)在 G1中的階為N。
假設(shè)1[17]給定一個(gè)群生成器G,定義如下分布。
算法A攻破假設(shè) 1的優(yōu)勢(shì)定義為 A dv1G,A=|Pr[A(D,T1) = 1 ]? P r[A(D,T2)=1]|。
定義 1 G滿足假設(shè) 1,如果對(duì)于任意的多項(xiàng)式時(shí)間算法A,優(yōu)勢(shì),1AdvGA是可忽略的。
假設(shè)2[17]給定一個(gè)群生成器G,定義如下分布。
算法A攻破假設(shè) 2的優(yōu)勢(shì)定義為Adv 2G,A=|Pr[A ( D,T1) = 1 ] ? P r[A ( D,T2) = 1]|。
定義 2 G滿足假設(shè) 2,如果對(duì)于任意的多項(xiàng)式時(shí)間算法A,優(yōu)勢(shì),2AdvGA是可忽略的。
假設(shè)3[17]給定一個(gè)群生成器G,定義如下分布。
算法A攻破假設(shè) 3的優(yōu)勢(shì)定義為Adv3G,A=|Pr[A ( D,T1) = 1 ]? P r[A ( D,T2)=1]|。
定義 3 G滿足假設(shè) 3,如果對(duì)于任意的多項(xiàng)式時(shí)間算法A,優(yōu)勢(shì),3AdvGA是可忽略的。
定義 4[18]令 P = { P1, P2, … ,PT}表示參與方的集合,P上的一個(gè)秘密共享方案Π被稱作線性的,如果:1) 每個(gè)參與方關(guān)于秘密s的份額是 ZN上的一個(gè)向量,2) 存在Π的一個(gè)l行n列的共享生成矩陣A,令ρ為一個(gè)從{1 , 2,…,l}到P的映射,即ρ將矩陣A的每一行映射到一個(gè)參與方,選擇一個(gè)隨機(jī)向量v = (s ,v2,… ,vn)T∈ZnN,則Av是s關(guān)于Π的l個(gè)共享份額,而且第i個(gè)份額λi屬于參與方ρ( i )。
文獻(xiàn)[18]表明,單調(diào)的訪問結(jié)構(gòu)與線性秘密共享方案是等價(jià)的,且任何一個(gè)線性秘密共享方案都具有線性重構(gòu)的性質(zhì)。令(A , ρ )表示一個(gè)訪問結(jié)構(gòu)A,S為一個(gè)授權(quán)集合,令集合 I ={i:ρ(i)∈ S},存在常數(shù)。對(duì)于非授權(quán)集合,這樣的常數(shù)是不存在的。本文只考慮每個(gè)屬性在訪問結(jié)構(gòu)中出現(xiàn)一次的情況。
令G為一個(gè)階為素?cái)?shù)p的群,令g為群G的一個(gè)生成元。k-SDH問題定義如下:隨機(jī)選擇 k + 1元組(g,gx, gx2,… ,gxk)作 為 輸 入 , 輸 出∈×G,一個(gè)算法A能夠以ε的優(yōu)勢(shì)攻
定義 5 若沒用到至少ε的優(yōu)勢(shì)多項(xiàng)式時(shí)間的算法解決k-SDH問題,則k-SDH假設(shè)成立。破k-SDH假設(shè),即
系統(tǒng)由5個(gè)參與方組成:中央授權(quán)機(jī)構(gòu)、屬性授權(quán)機(jī)構(gòu)、PHR擁有者、mHealth云、PHR用戶,如圖1所示。
中央授權(quán)機(jī)構(gòu)(CA):為PHR用戶生成身份私鑰,但是不參與任何屬性相關(guān)操作。該身份私鑰將來自各個(gè)屬性授權(quán)機(jī)構(gòu)的密鑰“綁定”起來抵御共謀攻擊。
屬性授權(quán)機(jī)構(gòu)(AA):生成系統(tǒng)屬性相關(guān)公開參數(shù),為PHR用戶生成屬性密鑰。
PHR擁有者:其負(fù)責(zé)生成并整合PHR數(shù)據(jù),設(shè)置訪問策略并加密PHR上傳至mHealth云。必要時(shí)可以要求mHealth云刪除其數(shù)據(jù)。
mHealth云:負(fù)責(zé)存儲(chǔ)PHR擁有者上傳的密文數(shù)據(jù),本文假設(shè)其是誠實(shí)但好奇的,即它將誠實(shí)地運(yùn)行系統(tǒng)設(shè)置的功能,但是試圖去獲取加密 PHR中的隱私信息。
圖1 mHealth系統(tǒng)框架
PHR用戶:PHR用戶可以利用其密鑰來訪問加密的 PHR數(shù)據(jù)并為其擁有者提供相關(guān)醫(yī)療服務(wù),但是只有其屬性集合滿足訪問策略的 PHR用戶才能恢復(fù)密文,其中某些惡意 PHR用戶可能出售其密鑰給非法用戶來牟利。
一個(gè)可追蹤多授權(quán)機(jī)構(gòu)CP-ABE方案由如下8個(gè)多項(xiàng)式時(shí)間算法組成。
Global Setup(λ) → (G PK):輸入安全參數(shù)λ,輸出系統(tǒng)全局參數(shù)GPK。
CA Setup(G PK ) → (C PK,C MK):輸入系統(tǒng)全局參數(shù)GPK、輸出中央授權(quán)機(jī)構(gòu) CA的公開參數(shù)CPK和主密鑰CMK。此外,初始化身份列表IT =?。
AAfSetup(G PK,f,Uf) → (A PKf,A MKf):輸入GPK,授權(quán)機(jī)構(gòu)標(biāo)識(shí)f及其管理的屬性域 Uf,輸出屬性授權(quán)機(jī)構(gòu)AAf的公開參數(shù) A PKf和其主密鑰 A MKf。
Encrypt (M , A,G PK , ∪ APKf) → (C T):輸入要加密的消息M、訪問策略A與公開參數(shù)CPK和相關(guān)AA的公開參數(shù) ∪ A PKf,輸出密文CT。
CAKeyGen(G PK,g id ) → (I DSKgid,C ASKgid,CAPKgid):輸入GPK與用戶的全局標(biāo)識(shí)符(gid),輸出用戶的追蹤密鑰參數(shù) I DSKgid、CA密鑰部分CASKgid與AA將會(huì)用到 C APKgid,并將 gid和IDSKgid記入身份列表IT。
AAfKeyGen (Sgid,f,G PK,C PK , CAPKgid,AMKf)→(A SKS,gid,f):輸入用戶的屬性集合 Sgid,f、GPK、CPK、 C APKgid以及 A MKf,輸出用戶屬性密鑰ASKS,gid,f。
Decrypt( C T,G PK,C ASKgid, A SKS,gid)→(M / ⊥):輸入密文CT、GPK、 C ASKgid以及 A SKS,gid,若屬性集合∪Sgid,f滿足訪問策略,則輸出M,否則,輸出⊥。
Trace ( I T ,GPK , ∪ APKf, CASKgid, I D SKgid,ASKS,gid)→(g id,┬):輸入身份列表IT、GPK、 ∪ A PKf、CASKgid、I D SKgid和 A SKS,gid,首先驗(yàn)證 C ASKgid和ASKS,gid是否well-formed,若是,則輸出相關(guān)gid。否則,輸出┬。well-formed意味著其可以通過Key Sanity Check來確保其可以正常用來解密[14]。
本文通過攻擊者A與挑戰(zhàn)者B之間的攻擊游戲來定義可追蹤多授權(quán)機(jī)構(gòu)CP-ABE方案的安全模型。
初始化 挑戰(zhàn)者B運(yùn)行方案的 Global Setup、CA Setup和AAfSetup算法,并將系統(tǒng)的公鑰參數(shù)發(fā)送至攻擊者A。
階段 1 A詢問任意的用戶屬性集合(g id1, S1) ,(g id2, S2),… ,(g idq, Sq),挑戰(zhàn)者B返回相對(duì)應(yīng)的密鑰。
挑戰(zhàn) A提交2條長(zhǎng)度相等的明文 M0、 M1及一個(gè)挑戰(zhàn)訪問策略集合 A * 。B從中隨機(jī)選擇一條明文 Mb用A * 加密,并將挑戰(zhàn)密文 C T * 返回給A。注意: A * 不能是匹配階段1中屬性集合的訪問策略。
階段 2 與階段 1類似,A可以詢問密鑰,但是A不能查詢滿足 A * 的屬性集合。
猜測(cè) A輸出對(duì)b的猜測(cè) ′b。若 ′=b b,則A獲勝。A的優(yōu)勢(shì)定義為。
定義6 一種可追蹤多授權(quán)機(jī)構(gòu)CP-ABE方案是安全的,當(dāng)且僅當(dāng)在上述的攻擊游戲中,任何多項(xiàng)式時(shí)間攻擊者A的優(yōu)勢(shì)是可以忽略的。
本節(jié)給出本文方案的可追蹤性定義,其也是通過挑戰(zhàn)者和攻擊者之間的交互式游戲來描述的。
初始化 挑戰(zhàn)者運(yùn)行系統(tǒng) Global Setup、CA Setup和AAfSetup算法,生成系統(tǒng)公共參數(shù)和主密鑰,并將公開參數(shù)發(fā)送給攻擊者。
密鑰查詢 攻擊者可以自適應(yīng)地提交屬性集合 ( g id1, S1) ,(g id2, S2),… ,(g idq, Sq)進(jìn)行密鑰查詢。
密鑰偽造 攻擊者輸出密鑰SK?,攻擊者贏得游戲,若 T race(I T ,P K,S K ) ≠┬(即該密鑰是 wellformed)且 T race(I T ,P K,S K ) ?{ g id1, g id2,… ,g idq},攻擊者贏得游戲的概率定義為Pr[T race(I T ,P K,SK ) ≠ { ┬} ∪ { g id1, g id2,… ,g id }]。
定義 7 如果對(duì)于任意的多項(xiàng)式時(shí)間算法而言,一個(gè)可追蹤的多授權(quán)機(jī)構(gòu)CP-ABE方案是完全可追蹤的,其在上述游戲的優(yōu)勢(shì)都是可以忽略的。
本系統(tǒng)主要由5個(gè)步驟組成:系統(tǒng)初始化、PHR上傳、用戶注冊(cè)及密鑰生成、PHR訪問和惡意用戶追蹤。
系統(tǒng)初始化包含3種算法:Global Setup、CA Setup和AAfSetup。
Global Setup。令G與 G1為2個(gè)階為N的群,其中,N為3個(gè)不同的素?cái)?shù)p1、p2、p3的乘積。令e是一個(gè) G × G → G1的雙線性映射。從 ZN中選擇一個(gè)隨機(jī)數(shù)a,從 Gp1中隨機(jī)選擇一個(gè)元素g,計(jì)算 ga。從 Gp3中選擇一個(gè)生成元 X3。另外,選擇一種在適應(yīng)性選擇消息攻擊下不可偽造的簽名方案(K eyGen,S ign,V erify)。發(fā)布全局公鑰參數(shù)為并將a發(fā)送給屬性授權(quán)機(jī)構(gòu)。
CA Setup。CA運(yùn)行簽名算法中的KenGen,輸出一對(duì)簽名密鑰CMK和驗(yàn)證密鑰CPK。其中,CPK只會(huì)被屬性授權(quán)機(jī)構(gòu)們使用。同時(shí),置用戶列表為=?IT。
AAfSetup。每個(gè)屬性授權(quán)機(jī)構(gòu)AAf管理一個(gè)屬性域 Uf,對(duì)于每個(gè)屬性 i∈ Uf,從 ZN中選擇一個(gè)隨機(jī)數(shù),并計(jì)算=,另外,隨機(jī)選擇發(fā)布屬性授權(quán)機(jī)構(gòu)的公開參數(shù)。主密鑰 A MK為fAMKf=(αf, af, tf,i?i)。
對(duì)于每個(gè) PHR文件,PHR擁有者首先選擇一個(gè)對(duì)稱密鑰K對(duì)其加密,密文為 E NPHR,再定義一個(gè) LSSS訪問策略對(duì)K加密,具體算法如下。
Encrypt。LSSS訪問策略為(,)ρWA,其中,W為一個(gè)?行n列的矩陣,ρ將矩陣的每一行xW 映射為屬性()ρx。隨機(jī)選擇一個(gè)列向量,對(duì)于每一個(gè)x∈[?],隨機(jī)選擇 一 個(gè) rx∈ZN, 計(jì) 算其中,EF表示與W中屬性有關(guān)的屬性授權(quán)機(jī)構(gòu)的集合。
密文 C T =(A,C,C0, C1, {Cx, Dx}x∈[?])。收到CT與加密的PHR文件后,mHealth云服務(wù)提供商為文件定義一個(gè)ID并以表1的形式存在于云端。
表1 加密的PHR存儲(chǔ)形式
當(dāng)一個(gè) PHR用戶加入系統(tǒng)時(shí),由系統(tǒng)分配給其一個(gè)全局身份標(biāo)識(shí)符(gid),利用CA KeyGen和AAfKeyGen算法為其生成身份相關(guān)及屬性相關(guān)的密鑰,并將其 gid和身份相關(guān)密鑰記錄入身份列表。
AAfKeygen。PHR 用戶將 C APKgid發(fā)送給AAf請(qǐng)求屬性集合 Sgid,f的密鑰,AAf首先利用CPK驗(yàn)證簽名是否有效,無效則終止;否則,隨機(jī)選擇 Rgid,f,0∈Gp3,計(jì)算。對(duì)于 i ∈ Sgid,f,隨機(jī)選擇∈Gp3,計(jì)算。本文記。最后發(fā)送給PHR用戶。
PHR用戶可以請(qǐng)求訪問PHR數(shù)據(jù),但是只有那些屬性滿足 PHR密文中訪問策略的用戶才可以正確解密。
Decrypt。若用戶的屬性集合,gidfS∪滿足訪問策略(,)ρWA,則存在(1,0,,0)…。計(jì)算
如 果 SK 是 以 下 形 式 的 : ∪ A S KS,gid,f=,并且滿足以下Key Sanity Check的4個(gè)驗(yàn)證步驟,則它表示屬性集合=e(g,Kgid,f,i)≠ 1 }對(duì)應(yīng)的訪問權(quán)限,否則輸出┬。如果SK是well-formed,則算法在IT中搜索 cgid,若能搜索到,則輸出其全局身份標(biāo)識(shí)符gid,否則輸出一個(gè)從未出現(xiàn)過的身份 g id * 。
Key Sanity Check
與文獻(xiàn)[14]的方案類似,本文方案的安全性規(guī)約至文獻(xiàn)[13] 的方案安全性,為了簡(jiǎn)便,本文將文獻(xiàn)[13]的方案表示為 ∑MCP-ABE,本文方案表示為∑T-MCP-ABE。
引理1[13]若子群判斷假設(shè)1~假設(shè)3成立,則方案 ∑MCP-ABE在標(biāo)準(zhǔn)模型下是適應(yīng)性安全的。
具體的證明可以參考文獻(xiàn)[13]的方案。
下面,給出方案 ∑T-MCP-ABE的安全性證明。
引理 2 若方案 ∑MCP-ABE是安全的,則本文方案 ∑T-MCP-ABE在第 3.3節(jié)給出的安全模型下也是安全的。
初始化 ∑MCP-ABE發(fā)送公開參數(shù) P KMCP-ABE=給B。B從NZ 中選擇一個(gè)隨機(jī)數(shù)a,計(jì)算 ga。然后發(fā)送給攻擊者A。
階段 1 當(dāng)A提交屬性集合( ,)gidS來請(qǐng)求私鑰時(shí),B發(fā)送(g id,S)至 ∑MCP-ABE得到密鑰
得到密鑰以后,B做如下處理,隨機(jī)選擇 cgid∈Z*N,并計(jì)算,若 g cd(a+cgid,N)≠1或cgid已經(jīng)存在于用戶身份列表IT中,則重新選擇gidc 。令計(jì)算也可以類似得到。
最后,B將 cgid、 C APKgid、 C ASKgid、L′gid以及 ∪ A SKS,gid,f=∪ {( Kgid,f, {Kgid,f,i}i∈Sgid,f)}發(fā)送給A。同時(shí)將(g id,cgid)記入用戶身份列表IT。
挑戰(zhàn) A提交2個(gè)等長(zhǎng)的消息0M 、1M 以及訪問策略(,)ρWA,B將其發(fā)送至返回密文。B除了計(jì)算 C1=( C0-MCP-ABE)a=gas之外,別的密文組件都不做變動(dòng)。最后,將CT= ( A,C,C0, C1,{Cx, Dx}x∈[?])發(fā)送給A。
階段2 與階段1類似,但是不能查詢滿足挑戰(zhàn)的訪問策略的密鑰。
猜測(cè) A返回一個(gè)猜測(cè) 'b給B,B將其返回給 ∑MCP-ABE。
注意,公開參數(shù)、密鑰和密文的分布都與真實(shí)方案一樣。因此,優(yōu)勢(shì)
定理1 若假設(shè)1~假設(shè)3成立,則本文方案在標(biāo)準(zhǔn)模型下是適應(yīng)性CPA安全的。
證明 由引理2可得,若 ∑MCP-ABE是CPA安全的,則本文方案也是CPA安全的。由引理1可得,若假設(shè)1~假設(shè)3成立,則 ∑MCP-ABE在標(biāo)準(zhǔn)模型下是適應(yīng)性CPA安全的。
綜上所述,定理1成立。
與文獻(xiàn)[14]的方案類似,本文也基于假設(shè) 3和k-SDH假設(shè)來證明方案的可追蹤性。
定理2 若假設(shè)3和k-SDH假設(shè)成立,則本文方案 ∑T-MCP-ABE在q<k情況下是完全可追蹤的。
證明 假設(shè)多項(xiàng)式時(shí)間算法A在詢問q次以后能夠以不可忽略的優(yōu)勢(shì)ε贏得可追蹤性交互式游戲,不失一般性,令 1= +k q ,則本文可以構(gòu)造一個(gè)仿真者B以不可忽略的優(yōu)勢(shì)攻破假設(shè) 3和k-SDH假設(shè)。簡(jiǎn)便起見,本文只給出B利用k-SDH問題的參數(shù)與A進(jìn)行可追蹤性游戲交互的具體過程。而利用假設(shè)3給出的參數(shù)與A的交互過程可以與文獻(xiàn)[14] 的方案類似。B以NZ 、G、1G、為輸入與A交互的過程如下所示。
Setup。B選擇q個(gè)不同的隨機(jī)數(shù) m1,… mq∈,令多項(xiàng)式,展開可得,其中,ηi∈ZN為多項(xiàng)式 f (y)的系數(shù)。B計(jì)算θf(a)?a。隨機(jī)選擇,類似地,對(duì)于每個(gè)屬性 i ∈ Uf,從 ZN中選擇一個(gè)隨機(jī)數(shù) tf,i,并計(jì)算= gtf,i,
最后,發(fā)送 cgid、 C APKgid、 C ASKgid、L′gid以及∪ASKS,gid,f=∪{(Kgid,f, {Kgid,f,i}i∈Sgid,f)}給A。
密鑰偽造 A返回一個(gè)密鑰SK?給B,根據(jù)分析[14],在上述游戲過程定義的公開參數(shù)和密鑰都與真實(shí)方案的分布無異。令?A表示A贏得游戲的事件,即是well-formed,滿足Key Sanity Check,并且gidc 從未在身份列表中出現(xiàn)過。若?A未發(fā)生,則B隨機(jī)選擇'{0,1}∈b和(cr,wr)∈ Zp1×Gp1,并分別將其作為結(jié)果返回給假設(shè)3和k-SDH假設(shè)。
若?A發(fā)生,用長(zhǎng)除法記 f (y) = γ(y)(y+ cgid)+γ?1,其中,,1γ?∈NZ且10γ?≠。B計(jì)算 g cd(γ?1,N)。
1) 若 g cd(γ?1,N)=1
若μ=0,則意味著A無法提供任何有用的信息,則B隨機(jī)選擇b'∈{0,1}和(cr, wr) ∈ ZN×G1,并分別將其作為結(jié)果返回給假設(shè) 3和 k-SDH假設(shè)。
若μ=1,則意味著B可以利用k-SDH假設(shè)與A交互,B隨機(jī)選擇b'∈{0,1}作為結(jié)果返回給假設(shè)3,并計(jì)算 ( cr,wr)∈ Zp1×Gp1,結(jié)果如下所示。
由于 e (θaθcr) = e( θ,θ),則(c,w )是解決 r r k-SDH問題的一個(gè)可行結(jié)論。
2) 若 g cd(γ?1,N)≠1
B隨機(jī)選擇 (cr,wr)∈ Zp1×Gp1,并將其作為結(jié)果返回k-SDH假設(shè)。
表2給出了相關(guān)多授權(quán)機(jī)構(gòu)方案與可追蹤方案的特征比較。從表2可以看出,本文提出的方案同時(shí)支持多個(gè)授權(quán)機(jī)構(gòu)、適應(yīng)性安全以及惡意用戶追蹤。
本文主要統(tǒng)計(jì)初始化、加密、密鑰生成解密以及追蹤算法中用到指數(shù)運(yùn)算和雙線性配對(duì)的次數(shù),如表3所示。令|U | 、|W | 、|S|、|I|、|ST|分別表示屬性域、訪問策略、用戶屬性集合、解密時(shí)用到的屬性集合以及被追蹤屬性集合中屬性個(gè)數(shù)。令|FU|、|FE|與|FT|分別表示系統(tǒng)中、加密時(shí)用到的以及追蹤密鑰涉及的屬性授權(quán)機(jī)構(gòu)的個(gè)數(shù)。令 E1和E2分別表示G與 G1群中一次指數(shù)運(yùn)算,令P表示一次雙線性配對(duì)的次數(shù)。
表2 相關(guān)多授權(quán)機(jī)構(gòu)方案與可追蹤方案的特征比較
表3 相關(guān)多授權(quán)機(jī)構(gòu)方案與可追蹤方案的計(jì)算開銷
從表 3可以看出,與文獻(xiàn)[13]的方案相比,為了實(shí)現(xiàn)可追蹤性,本文方案在初始化、加密以及密鑰生成步驟的開銷與文獻(xiàn)[13]的方案基本無異,只在初始化和加密步驟多了一次指數(shù)運(yùn)算開銷,而密鑰生成步驟基本一致。因?yàn)槲墨I(xiàn)[13]的方案使用了外包解密技術(shù)將絕大部分的解密開銷外包至云端,所以用戶端的解密開銷為常數(shù),本文下一步也將考慮如何在支持可追蹤性的前提下降低用戶的解密開銷。文獻(xiàn)[14]的方案與本文方案都支持可追蹤性,不同點(diǎn)在于文獻(xiàn)[14]的方案僅支持單個(gè)的授權(quán)機(jī)構(gòu)。本文增加的開銷主要與系統(tǒng)中的授權(quán)機(jī)構(gòu)相關(guān),與各步驟中涉及的屬性個(gè)數(shù)是無關(guān)的。綜上所述,本文方案的開銷是可以接受的。
本文基于JPBC庫[19]選擇了一個(gè)TYPE A1的橢圓曲線群來作為本文方案的運(yùn)算基礎(chǔ),其群階為 3個(gè)517 bit素?cái)?shù)的乘積。在筆記本電腦(WIN 7,CPU為2.4 GHz,內(nèi)存為6 GB)上進(jìn)行了仿真。令|U | =100,|W | =|S |= |I| = |ST|=10,|FU|=|FE|=|FT|=5。實(shí)驗(yàn)結(jié)果如表4所示,其驗(yàn)證了方案性能與理論分析的一致性。
表4 方案計(jì)算開銷比較
本文給出了一個(gè)面向mHealth的可追蹤多授權(quán)機(jī)構(gòu)的訪問控制方案,并在標(biāo)準(zhǔn)模型下證明了其適應(yīng)性安全,多個(gè)AA各自管理一個(gè)獨(dú)立的屬性域,并不需要通過協(xié)商來設(shè)置公開參數(shù)。本文方案支持任意單調(diào)的訪問控制策略,為了達(dá)到適應(yīng)性安全,本文方案在合數(shù)階群上構(gòu)造,其開銷相比素?cái)?shù)階群上選擇安全方案而言,開銷較大。本文下一步的工作將以提出的方案為基礎(chǔ),結(jié)合可驗(yàn)證的外包解密技術(shù),研究高效的適應(yīng)性安全可追蹤方案。