唐靖蕾, 巫朝霞
(新疆財(cái)經(jīng)大學(xué) 統(tǒng)計(jì)與數(shù)據(jù)科學(xué)學(xué)院, 烏魯木齊 830012)
移動(dòng)健康醫(yī)療(mHealth)云集合了廣泛的新興技術(shù)[1],如可穿戴醫(yī)療傳感器、云計(jì)算、通信技術(shù)。移動(dòng)健康系統(tǒng)使患者能夠通過(guò)各種可穿戴或可植入的醫(yī)療物聯(lián)網(wǎng)傳感器監(jiān)測(cè)和收集人體信息,并通過(guò)移動(dòng)設(shè)備集成個(gè)人健康記錄(PHR)。 然后,PHR 將通過(guò)5G 網(wǎng)絡(luò)上傳到云服務(wù)器,以節(jié)省移動(dòng)設(shè)備的有限存儲(chǔ)容量。 由于PHR 數(shù)據(jù)包含各種隱私信息,持有者希望實(shí)施訪問(wèn)控制策略以確保PHR 數(shù)據(jù)只能由授權(quán)用戶訪問(wèn)。 然而,如果采用傳統(tǒng)的訪問(wèn)控制技術(shù),則由于云服務(wù)器無(wú)法完全信任或僅支持粗粒度訪問(wèn)策略,PHR 數(shù)據(jù)安全將會(huì)受到損害。
為了解決上述問(wèn)題,基于密文策略屬性的加密(CP-ABE)[2]被提出,該技術(shù)可以同時(shí)實(shí)現(xiàn)細(xì)粒度訪問(wèn)控制和數(shù)據(jù)安全。 在CP-ABE 中,密文中加入訪問(wèn)策略,用戶的私鑰由屬性集創(chuàng)建。 只有當(dāng)用戶的屬性集與嵌入的訪問(wèn)策略匹配時(shí),解密才會(huì)成功。盡管傳統(tǒng)的CP-ABE 機(jī)制可以保護(hù)敏感PHR 數(shù)據(jù)的安全性和隱私性,防止泄露給未經(jīng)授權(quán)的用戶,但在mHealth 中廣泛部署和應(yīng)用之前,仍有2 個(gè)主要的挑戰(zhàn)性問(wèn)題需要進(jìn)行探討與研究。
首先,傳統(tǒng)的ABE 的目標(biāo)是實(shí)現(xiàn)“一對(duì)多”的加密,但單一權(quán)限和屬性的分散管理問(wèn)題是其實(shí)現(xiàn)的瓶頸,因此需要在分布式系統(tǒng)中使用多權(quán)限ABE設(shè)計(jì)。 針對(duì)這些問(wèn)題,Chase[3]提出了最初的多權(quán)威ABE (MA-ABE)方案,其中存在一個(gè)中央權(quán)威(CA)和多個(gè)屬性權(quán)威(AA),每個(gè)用戶都用唯一的全局標(biāo)識(shí)符(gid)標(biāo)記。 隨后,MA-ABE 出現(xiàn)了多種增強(qiáng)和擴(kuò)展。 Lewko 等學(xué)者[4]提出了去中心化多授權(quán)機(jī)構(gòu)CP-ABE 方案,該方案在隨機(jī)預(yù)言機(jī)模型下被證明是完全安全的。 Zhang 等學(xué)者[5]提出了基于匿名認(rèn)證的個(gè)人健康記錄的MA-ABE,在用戶與云服務(wù)器之間進(jìn)行認(rèn)證時(shí)隱藏用戶的身份和屬性。
然而,在實(shí)際中移動(dòng)健康云需要對(duì)屬性和用戶進(jìn)行動(dòng)態(tài)擴(kuò)容,因此大屬性ABE 比小屬性ABE 更實(shí)用。 在小屬性框架中,所選安全參數(shù)的屬性集被限制為多項(xiàng)式大小。 這一限制將對(duì)移動(dòng)健康云中的動(dòng)態(tài)實(shí)際應(yīng)用造成瓶頸。 在大型屬性集系統(tǒng)中,屬性域可以設(shè)為指數(shù)級(jí)大。 Rouselakis 等學(xué)者[6]在素?cái)?shù)階雙線性群中構(gòu)造了一個(gè)大屬性MA-ABE 方案,該方案比復(fù)合階雙線性群效率更高。 Huang[7]基于素?cái)?shù)階雙線性群,提出了第一個(gè)無(wú)密鑰濫用的可撤銷大屬性去中心化MA-ABE,該方案支持屬性、用戶和權(quán)限的動(dòng)態(tài)擴(kuò)展,但其訪問(wèn)結(jié)構(gòu)存在暴露風(fēng)險(xiǎn)。
其次,文獻(xiàn)[3-7]中的方案只考慮多授權(quán)機(jī)構(gòu)的問(wèn)題,但未能考慮惡意用戶追蹤問(wèn)責(zé)等問(wèn)題,為實(shí)現(xiàn)叛徒可追蹤,需防止合法用戶密鑰濫用。 Liu 等學(xué)者[8]提供了一個(gè)高度表達(dá)的白盒跟蹤方案,支持任何單調(diào)訪問(wèn)策略。 Zhou 等學(xué)者[9]提出支持白盒跟蹤和撤銷的MA-ABE,應(yīng)用于電子醫(yī)療云計(jì)算系統(tǒng)的多層隱私保護(hù),只實(shí)現(xiàn)數(shù)據(jù)用戶身份的隱私,但系統(tǒng)需要大量的計(jì)算消耗。
本文在文獻(xiàn)[6]的基礎(chǔ)上,結(jié)合追蹤算法[10]提出了一種面向移動(dòng)健康支持大屬性多授權(quán)機(jī)構(gòu)的可追蹤C(jī)P-ABE 方案,該方案的特點(diǎn)如下:
(1)支持屬性、用戶和權(quán)限的動(dòng)態(tài)擴(kuò)容,適用于動(dòng)態(tài)移動(dòng)健康系統(tǒng)中大規(guī)模的多領(lǐng)域協(xié)作。
(2)根據(jù)追蹤算法可以檢驗(yàn)出參與泄露解密密鑰的惡意用戶,從而提高了效率,并且不需要存儲(chǔ)開(kāi)銷。
(3)線性秘密共享方案提供了按需求頻繁地修改密文訪問(wèn)策略的靈活性,允許對(duì)數(shù)據(jù)所有者進(jìn)行研究細(xì)粒度控制。
設(shè)G0、G1、GT都是階為素?cái)?shù)p的乘法循環(huán)群,雙線性映射e:G0× G1→GT具備以下3 個(gè)特性:
(1)雙線性:對(duì)于?a,b∈Zp,?u∈G0,?v∈G1,有e(ua,vb)=e(u,v)ab,當(dāng)G0=G1時(shí)稱為對(duì)稱雙線性映射。
(2)非退化性:?u,v∈G0,使得e(u,v)≠1。
(3)可計(jì)算性:對(duì)于?u,v∈G0,可以有效計(jì)算e(u,v)。
假設(shè)A是一個(gè)單調(diào)的訪問(wèn)結(jié)構(gòu),M是一個(gè)l × k的矩陣,ρ是一個(gè)行標(biāo)記函數(shù):將M中的行i映射為A中的屬性att(i)。 一個(gè)LSSS 由2 個(gè)多項(xiàng)式時(shí)間的算法組成:
(1)共享算法((M,ρ),s):該算法輸入(M,ρ)和一個(gè)秘密值s∈?p,并隨機(jī)選取元r2,r3,…,rn∈?p,設(shè)定向量。 該算法輸出一個(gè)集合作為s的共享份額,其中是矩陣M的第i行,共享份額λρ(i)屬于屬性ρ(i)。
(2)重構(gòu)算法((M,ρ),L): 該算法輸入(M,ρ) 和一個(gè)授權(quán)屬性集合L∈A。 該算法輸出一個(gè)秘密重構(gòu)系數(shù)集合使得。 因此有。
判 定 性 q - BDHE2 ( q - Decisional Parallel Bilinear Diffie-Hellman Exponent 2, q-DPBDHE2)
假設(shè)[6],即:
給定G和GT為素?cái)?shù)階p的雙線性群,g為G的一個(gè)生成元。e:G×G→GT是一個(gè)定義在G上的雙線性映射。 隨機(jī)選取GT,給定, 并 要 求 從 (D,R) 區(qū) 分 (D,e(g,g)saq+1)。 算法A用求解G 群中的q-DPBDHE2問(wèn) 題 的 優(yōu) 勢(shì):|Pr[A(D,e(g,g)saq+1)=0]-Pr[A(D,R)=0]|≥ε。
如果不存在概率多項(xiàng)式時(shí)間算法以不可忽略的優(yōu)勢(shì)解決判定性q-BDHE2 問(wèn)題,則稱q-BDHE2 問(wèn)題是困難的。
本次研究的方案構(gòu)造模型如圖1 所示。 方案中主要實(shí)體包括:屬性授權(quán)機(jī)構(gòu)(Attribute Authority,AA)、移動(dòng)健康云服務(wù)提供商(mHealth Cloud Service Provider,mCSP)、數(shù)據(jù)持有者(Data Owner,DO)、數(shù)據(jù)用戶(Data User,DU)。
圖1 本文方案構(gòu)成Fig. 1 The scheme proposed in the paper
對(duì)個(gè)人健康記錄(PHR)數(shù)據(jù)共享模型中的實(shí)體介紹如下:
(1)AA 是屬性授權(quán)機(jī)構(gòu),每個(gè)屬性權(quán)威擁有并管理一個(gè)屬性集合,各個(gè)屬性權(quán)威所管理的屬性集合不存在交集。
(2)mCSP 是系統(tǒng)中可提供強(qiáng)大的存儲(chǔ)能力和通信能力的云服務(wù)商,主要負(fù)責(zé)系統(tǒng)中PHR 存儲(chǔ)、管理密文數(shù)據(jù)和關(guān)鍵詞搜索等服務(wù)。
(3)DO 是指數(shù)據(jù)的持有者,通過(guò)移動(dòng)或可穿戴物聯(lián)網(wǎng)設(shè)備收集和集成PHR,數(shù)據(jù)持有者希望將其數(shù)據(jù)外包到mCSP 提供給云中的客戶。
(4)DU 是指訪問(wèn)云中數(shù)據(jù)的用戶,例如醫(yī)生、營(yíng)養(yǎng)師、研究人員等。 每個(gè)數(shù)據(jù)用戶都有自己的私鑰與自己的屬性集相關(guān)聯(lián)。
在本方案的構(gòu)造中,U是屬性集合,Uθ是權(quán)威機(jī)構(gòu)集合,對(duì)于每個(gè)屬性i∈U由特定的權(quán)威θ控制,一個(gè)公共可計(jì)算函數(shù)T:U→Uθ將屬性i映射到權(quán)威θ,對(duì)于l × n訪問(wèn)矩陣A,ρ將其行映射到屬性,函數(shù)δ·( )=T(ρ(·)) 將其行映射給權(quán)威機(jī)構(gòu)。假設(shè)G是素?cái)?shù)階p的雙線性群,e:G × G→GT是一個(gè)雙線性映射。 對(duì)此擬展開(kāi)研究分述如下。
(1) Global Setup(λ) →GP。 算法中,首先選擇階為素?cái)?shù)p的雙線性群,g是G的生成元,e:G×G→GT是G雙線性映射,然后將選擇哈希函數(shù)H:G將用戶身份映射到G群的元素,哈希函數(shù)F:U→G 將用戶屬性映射到群G的元素,全局公共參數(shù)為:
(2) Authority Setup(GP) →PKθ,MSKθ。 每個(gè)權(quán)威θ∈Uθ選擇3 個(gè)隨機(jī)指數(shù),并計(jì)算公鑰和私鑰SKθ={αθ,yθ,aθ}。 身份標(biāo)識(shí)表L被初始化為空表。
(3)Encrypt(GP,M, A,{PKθ}) →CT。 給出明文M,訪問(wèn)策略(A,ρ),相關(guān)屬性公鑰{PKθ},算法首先選擇2 個(gè)隨機(jī)向量v =(s,v2,…,vn)T,ω =對(duì)于每個(gè)計(jì)算λx=Ax·v,ωx=Ax·ω,其中Ax是A的第x行,算法選擇隨機(jī)數(shù)rx∈Zp,計(jì)算密文CT 如下:
(4)KeyGen(GP,ID,S, {MSKθ}) →SK。 輸入全局參數(shù)GP,身份ID,屬性集S,以及相關(guān)權(quán)威的主密鑰{MSKθ},對(duì)于每個(gè)屬性i∈S, 如果T(i)=θ,權(quán)威機(jī)構(gòu)θ選擇2 個(gè)隨機(jī)值t∈Zp, 計(jì)算K1=。
屬性集S的GID私鑰:SKu={K1,K2,T1,T2},算法把(K2,ID) 放入身份信息表L,其中K2關(guān)聯(lián)用戶身份ID并作為追蹤參數(shù)。
(5)Decrypt(GP,CT,SK) →M。 給定公共參數(shù)GP,密鑰SKu,密文CT,I? { 1 ,2,…,l} 定義為I ={x:ρ(x) ∈S},如果S不滿足訪問(wèn)策略(A,ρ),輸出⊥。 否則對(duì)于每個(gè)x∈I,算法首先計(jì)算Dx=;然后,計(jì)算常數(shù)使=(1,0,…,0),計(jì)算得出;最后,可以將消息恢復(fù)為M =C0/e(g,g)s。
(6)Key Sanity Check(GP,SKu) →1 or 0。 輸入公共參數(shù)GP和私鑰SKu, 算法將檢查解密密鑰是否滿足完整性檢查,該檢查由3 個(gè)部分組成:
如果解密密鑰SKu滿足式①、②、③,則可以通過(guò)密鑰完整性檢查,算法輸出1;否則,算法輸出0。
(7)Trace(GP, {PKθ},SKu,L) →ID。 該算法由權(quán)威機(jī)構(gòu)執(zhí)行。 如果解密密鑰SKu不能通過(guò)密鑰完整性檢查,算法中止,輸出⊥。 如果SK是正常結(jié)構(gòu)的,則算法在表L中查找K2:如果能夠在T中找到K2,則算法輸出相應(yīng)的id,否則算法輸出⊥,表示該私鑰未被系統(tǒng)分發(fā)。
由用戶執(zhí)行Decrypt() 算法,當(dāng)用戶的屬性滿足訪問(wèn)機(jī)構(gòu)的設(shè)定,才能正確解密出密文,本文方案的正確性證明如下:
如果屬性集合S滿足訪問(wèn)策略(A,ρ),計(jì)算常數(shù)使(1,0,…,0), 然后得到0。 因此,
定理1 證明了所提出的方案如同文獻(xiàn)[6]方案一樣是靜態(tài)安全的。
定理1在q-DPBDHE2 假設(shè)下,提出的具體方案在隨機(jī)預(yù)言模型中是靜態(tài)安全的。
證明假設(shè)存在一個(gè)概率多項(xiàng)式時(shí)間敵手B,該A能以不可忽略的優(yōu)勢(shì)ε攻破所提出的方案,那么可以構(gòu)建一個(gè)模擬器B,以同樣的優(yōu)勢(shì)ε攻破文獻(xiàn)[8]方案。 用C表示文獻(xiàn)[8]方案的挑戰(zhàn)者。 接下來(lái)展開(kāi)研究分述如下。
(1)全局設(shè)置。B從C獲取全局參數(shù)GP ={p,G,g,H,F(xiàn),U,Uθ,T},然后將其傳遞給敵手A。
(2)敵手查詢。 敵手A靜態(tài)地發(fā)出多項(xiàng)式有限數(shù)量的查詢。
(3)授權(quán)機(jī)構(gòu)的公鑰查詢。 敵手A提交一組沒(méi)有腐敗的屬性集合Nθ∈Uθ和一組腐敗屬性集合Cθ∈Uθ,Nθ∩Cθ=?。 在文獻(xiàn)[8]方案中創(chuàng)建其對(duì)應(yīng)的公鑰為對(duì)于θ∈Cθ,敵手A選擇2個(gè)隨機(jī)數(shù),并將本文中腐敗權(quán)威的公鑰設(shè)為。
(4)用戶的屬性密鑰查詢。 敵手A根據(jù)用戶自身 的id創(chuàng)建密鑰SKu, 并提交一串序列表示敵手查詢與用戶IDj相關(guān)屬性集合Sj的密鑰。
(5)加密查詢。 敵手A提交訪問(wèn)結(jié)構(gòu)(A,ρ),和2 個(gè)同等長(zhǎng)度明文m0,m1。 設(shè)SCθ是腐敗權(quán)威控制的所用屬性的集合,j∈[m],要求集合SCθ∪Sj不滿足(A,ρ)。
(6)挑戰(zhàn)者回復(fù)。C隨機(jī)選擇b∈0,1,對(duì)查詢的響應(yīng)如下:
在接收到敵手的查詢后,模擬器B發(fā)送Cθ,Nθ,給C請(qǐng)求提供相應(yīng)的文獻(xiàn)[8]里的公鑰、密鑰、挑戰(zhàn)密文。 然后C返回公鑰私鑰, 挑戰(zhàn)密文CT′如下:
其中,x =1,2,…,l,然后B以如下方式回復(fù)查詢。
(7)授權(quán)機(jī)構(gòu)的公鑰回復(fù)。 對(duì)于每個(gè)權(quán)威θn∈Nθ,B隨 機(jī) 選 擇, 假 設(shè) 公 鑰PKθ=。
(8)用戶的密鑰回復(fù)。j∈[m],i∈Sj,B隨機(jī)選擇r, 設(shè) 置計(jì) 算K1,i=選擇另一個(gè)隨機(jī)值r,再次嘗試回復(fù),最后B將密鑰設(shè)置為:
(9)加密回復(fù)。 對(duì)于x∈{1,2,…,l},B計(jì)算,B設(shè)定挑戰(zhàn)密文CT =(C0,,最后B發(fā)送公鑰密鑰和挑戰(zhàn)密文CT給敵手A。
在猜測(cè)階段中,A輸出一個(gè)猜測(cè)b′∈{0,1},如果b′=b,則A贏得游戲。
如果A有優(yōu)勢(shì)AdvA(λ)=ε在破壞本文方案時(shí),B可以以相同的優(yōu)勢(shì)AdvA(λ)=ε破壞文獻(xiàn)[6]方案,參見(jiàn)方案文獻(xiàn)[6]。 在q-DPBDHE2 假設(shè)下,文獻(xiàn)[6]方案在隨機(jī)預(yù)言模型中是靜態(tài)安全的,因此本文提出的方案也是靜態(tài)安全的。
本方案與文獻(xiàn)[6]、文獻(xiàn)[11]、文獻(xiàn)[12]進(jìn)行了性能比較,主要是從方案的訪問(wèn)結(jié)構(gòu),可追蹤性等6個(gè)方面,分別對(duì)相關(guān)多授權(quán)機(jī)構(gòu)方案進(jìn)行對(duì)比分析。其中,符號(hào)及對(duì)應(yīng)含義見(jiàn)表1。 在本次研究的效率比較中,只考慮成本高的操作。
表1 符號(hào)及對(duì)應(yīng)含義Tab. 1 Symbols and corresponding meanings
表2 給出了相關(guān)多授權(quán)機(jī)構(gòu)方案的特征比較。從表2 可以看出,文獻(xiàn)[11]采用閾值訪問(wèn)結(jié)構(gòu),與本文方案采用的LSSS 訪問(wèn)結(jié)構(gòu)相比靈活性更差。文獻(xiàn)[12]采用合數(shù)階群,而本文方案基于素?cái)?shù)階群上的構(gòu)造,從而具有更好的執(zhí)行效率。 從整體功能上看,本文提出的方案同時(shí)支持多個(gè)授權(quán)機(jī)構(gòu)、大屬性以及惡意用戶追蹤,因此,該方案相比文獻(xiàn)[6]的方案具有更豐富的功能。
表2 方案功能特征對(duì)比Tab. 2 Comparison of the functional characteristics of the schemes
計(jì)算復(fù)雜度比較見(jiàn)表3。 從表3 可以看出,對(duì)比文獻(xiàn)[6],本文方案為實(shí)現(xiàn)可追蹤的功能,多進(jìn)行了一個(gè)指數(shù)運(yùn)算,即在群G1上指數(shù)運(yùn)算增加了1,但總體的加密、解密時(shí)間和文獻(xiàn)[6]方案的差距不大。 本文方案的加密時(shí)間比文獻(xiàn)[11]方案的更優(yōu),文獻(xiàn)[11]在加密階段使用多次雙線性配對(duì)運(yùn)算,導(dǎo)致加密時(shí)間增加。 本文方案和文獻(xiàn)[6]、文獻(xiàn)[12]都是基于LSSS 提出的,但只有本文和文獻(xiàn)[6]方案支持大屬性,因此屬性全集在系統(tǒng)建立階段不需要具體化,屬性個(gè)數(shù)可以無(wú)限增多,在加密、解密上都能快速運(yùn)算。 在解密開(kāi)銷方面,本文方案還遠(yuǎn)遠(yuǎn)優(yōu)于文獻(xiàn)[12]方案。
表3 計(jì)算復(fù)雜度比較Tab. 3 Computational complexity comparison
為了衡量本文方案與文獻(xiàn)[6]、文獻(xiàn)[11]中所提方案的加解密開(kāi)銷,本方案所有仿真實(shí)驗(yàn)都在配置為Intel(R)Core(TM)i5-11300H@ 3.10 GHz,RAM 為16 GB 的Windows10 系統(tǒng)筆記本電腦上的虛擬機(jī)運(yùn)行,虛擬機(jī)平臺(tái):VMware ? Workstation 16Pro,操 作 系 統(tǒng) 為Ubuntu20. 04。 本 實(shí) 驗(yàn) 利 用Python 語(yǔ)言進(jìn)行編譯,算法仿真中雙線性對(duì)的選擇基于超奇異對(duì)稱橢圓曲線組(SS512),仿真結(jié)果取50 次測(cè)試結(jié)果的平均值。
不同方案加密時(shí)間比較如圖2 所示,不同方案解密時(shí)間比較如圖3 所示。 由圖2、圖3 可知,加密、解密隨著屬性的數(shù)量呈線性增長(zhǎng)。 從圖2 可以看出,所提方案的加密時(shí)間與文獻(xiàn)[6]方案幾乎相同,都低于文獻(xiàn)[11]方案。 在圖3 中,很容易看出,提出的方案比文獻(xiàn)[8]方案需要更多的解密時(shí)間,但明顯低于文獻(xiàn)[11]方案的解密開(kāi)銷。
圖2 不同方案加密時(shí)間比較Fig. 2 Comparison of encryption time of different schemes
圖3 不同方案解密時(shí)間比較Fig. 3 Comparison of decryption time of different schemes
本文根據(jù)移動(dòng)健康的應(yīng)用提出一種大屬性域可追責(zé)的多權(quán)威機(jī)構(gòu)屬性加密方案,方案減少了中央權(quán)威的負(fù)荷和風(fēng)險(xiǎn);采用LSSS 訪問(wèn)結(jié)構(gòu),使訪問(wèn)策略具有高表達(dá)力和高拓展性;在q-DPBDHE2 假設(shè)下,該方案在隨機(jī)預(yù)言模型中是靜態(tài)安全的。 實(shí)驗(yàn)結(jié)果和性能分析顯示,本文方案在加解密效率上優(yōu)于對(duì)比方案,且在功能上更豐富。