唐靖蕾, 巫朝霞
(新疆財經大學 統計與數據科學學院, 烏魯木齊 830012)
移動健康醫療(mHealth)云集合了廣泛的新興技術[1],如可穿戴醫療傳感器、云計算、通信技術。移動健康系統使患者能夠通過各種可穿戴或可植入的醫療物聯網傳感器監測和收集人體信息,并通過移動設備集成個人健康記錄(PHR)。 然后,PHR 將通過5G 網絡上傳到云服務器,以節省移動設備的有限存儲容量。 由于PHR 數據包含各種隱私信息,持有者希望實施訪問控制策略以確保PHR 數據只能由授權用戶訪問。 然而,如果采用傳統的訪問控制技術,則由于云服務器無法完全信任或僅支持粗粒度訪問策略,PHR 數據安全將會受到損害。
為了解決上述問題,基于密文策略屬性的加密(CP-ABE)[2]被提出,該技術可以同時實現細粒度訪問控制和數據安全。 在CP-ABE 中,密文中加入訪問策略,用戶的私鑰由屬性集創建。 只有當用戶的屬性集與嵌入的訪問策略匹配時,解密才會成功。盡管傳統的CP-ABE 機制可以保護敏感PHR 數據的安全性和隱私性,防止泄露給未經授權的用戶,但在mHealth 中廣泛部署和應用之前,仍有2 個主要的挑戰性問題需要進行探討與研究。
首先,傳統的ABE 的目標是實現“一對多”的加密,但單一權限和屬性的分散管理問題是其實現的瓶頸,因此需要在分布式系統中使用多權限ABE設計。 針對這些問題,Chase[3]提出了最初的多權威ABE (MA-ABE)方案,其中存在一個中央權威(CA)和多個屬性權威(AA),每個用戶都用唯一的全局標識符(gid)標記。 隨后,MA-ABE 出現了多種增強和擴展。 Lewko 等學者[4]提出了去中心化多授權機構CP-ABE 方案,該方案在隨機預言機模型下被證明是完全安全的。 Zhang 等學者[5]提出了基于匿名認證的個人健康記錄的MA-ABE,在用戶與云服務器之間進行認證時隱藏用戶的身份和屬性。
然而,在實際中移動健康云需要對屬性和用戶進行動態擴容,因此大屬性ABE 比小屬性ABE 更實用。 在小屬性框架中,所選安全參數的屬性集被限制為多項式大小。 這一限制將對移動健康云中的動態實際應用造成瓶頸。 在大型屬性集系統中,屬性域可以設為指數級大。 Rouselakis 等學者[6]在素數階雙線性群中構造了一個大屬性MA-ABE 方案,該方案比復合階雙線性群效率更高。 Huang[7]基于素數階雙線性群,提出了第一個無密鑰濫用的可撤銷大屬性去中心化MA-ABE,該方案支持屬性、用戶和權限的動態擴展,但其訪問結構存在暴露風險。
其次,文獻[3-7]中的方案只考慮多授權機構的問題,但未能考慮惡意用戶追蹤問責等問題,為實現叛徒可追蹤,需防止合法用戶密鑰濫用。 Liu 等學者[8]提供了一個高度表達的白盒跟蹤方案,支持任何單調訪問策略。 Zhou 等學者[9]提出支持白盒跟蹤和撤銷的MA-ABE,應用于電子醫療云計算系統的多層隱私保護,只實現數據用戶身份的隱私,但系統需要大量的計算消耗。
本文在文獻[6]的基礎上,結合追蹤算法[10]提出了一種面向移動健康支持大屬性多授權機構的可追蹤CP-ABE 方案,該方案的特點如下:
(1)支持屬性、用戶和權限的動態擴容,適用于動態移動健康系統中大規模的多領域協作。
(2)根據追蹤算法可以檢驗出參與泄露解密密鑰的惡意用戶,從而提高了效率,并且不需要存儲開銷。
(3)線性秘密共享方案提供了按需求頻繁地修改密文訪問策略的靈活性,允許對數據所有者進行研究細粒度控制。
設G0、G1、GT都是階為素數p的乘法循環群,雙線性映射e:G0× G1→GT具備以下3 個特性:
(1)雙線性:對于?a,b∈Zp,?u∈G0,?v∈G1,有e(ua,vb)=e(u,v)ab,當G0=G1時稱為對稱雙線性映射。
(2)非退化性:?u,v∈G0,使得e(u,v)≠1。
(3)可計算性:對于?u,v∈G0,可以有效計算e(u,v)。
假設A是一個單調的訪問結構,M是一個l × k的矩陣,ρ是一個行標記函數:將M中的行i映射為A中的屬性att(i)。 一個LSSS 由2 個多項式時間的算法組成:
(1)共享算法((M,ρ),s):該算法輸入(M,ρ)和一個秘密值s∈?p,并隨機選取元r2,r3,…,rn∈?p,設定向量。 該算法輸出一個集合作為s的共享份額,其中是矩陣M的第i行,共享份額λρ(i)屬于屬性ρ(i)。
(2)重構算法((M,ρ),L): 該算法輸入(M,ρ) 和一個授權屬性集合L∈A。 該算法輸出一個秘密重構系數集合使得。 因此有。
判 定 性 q - BDHE2 ( q - Decisional Parallel Bilinear Diffie-Hellman Exponent 2, q-DPBDHE2)
假設[6],即:
給定G和GT為素數階p的雙線性群,g為G的一個生成元。e:G×G→GT是一個定義在G上的雙線性映射。 隨機選取GT,給定, 并 要 求 從 (D,R) 區 分 (D,e(g,g)saq+1)。 算法A用求解G 群中的q-DPBDHE2問 題 的 優 勢:|Pr[A(D,e(g,g)saq+1)=0]-Pr[A(D,R)=0]|≥ε。
如果不存在概率多項式時間算法以不可忽略的優勢解決判定性q-BDHE2 問題,則稱q-BDHE2 問題是困難的。
本次研究的方案構造模型如圖1 所示。 方案中主要實體包括:屬性授權機構(Attribute Authority,AA)、移動健康云服務提供商(mHealth Cloud Service Provider,mCSP)、數據持有者(Data Owner,DO)、數據用戶(Data User,DU)。

圖1 本文方案構成Fig. 1 The scheme proposed in the paper
對個人健康記錄(PHR)數據共享模型中的實體介紹如下:
(1)AA 是屬性授權機構,每個屬性權威擁有并管理一個屬性集合,各個屬性權威所管理的屬性集合不存在交集。
(2)mCSP 是系統中可提供強大的存儲能力和通信能力的云服務商,主要負責系統中PHR 存儲、管理密文數據和關鍵詞搜索等服務。
(3)DO 是指數據的持有者,通過移動或可穿戴物聯網設備收集和集成PHR,數據持有者希望將其數據外包到mCSP 提供給云中的客戶。
(4)DU 是指訪問云中數據的用戶,例如醫生、營養師、研究人員等。 每個數據用戶都有自己的私鑰與自己的屬性集相關聯。
在本方案的構造中,U是屬性集合,Uθ是權威機構集合,對于每個屬性i∈U由特定的權威θ控制,一個公共可計算函數T:U→Uθ將屬性i映射到權威θ,對于l × n訪問矩陣A,ρ將其行映射到屬性,函數δ·( )=T(ρ(·)) 將其行映射給權威機構。假設G是素數階p的雙線性群,e:G × G→GT是一個雙線性映射。 對此擬展開研究分述如下。
(1) Global Setup(λ) →GP。 算法中,首先選擇階為素數p的雙線性群,g是G的生成元,e:G×G→GT是G雙線性映射,然后將選擇哈希函數H:G將用戶身份映射到G群的元素,哈希函數F:U→G 將用戶屬性映射到群G的元素,全局公共參數為:
(2) Authority Setup(GP) →PKθ,MSKθ。 每個權威θ∈Uθ選擇3 個隨機指數,并計算公鑰和私鑰SKθ={αθ,yθ,aθ}。 身份標識表L被初始化為空表。
(3)Encrypt(GP,M, A,{PKθ}) →CT。 給出明文M,訪問策略(A,ρ),相關屬性公鑰{PKθ},算法首先選擇2 個隨機向量v =(s,v2,…,vn)T,ω =對于每個計算λx=Ax·v,ωx=Ax·ω,其中Ax是A的第x行,算法選擇隨機數rx∈Zp,計算密文CT 如下:
(4)KeyGen(GP,ID,S, {MSKθ}) →SK。 輸入全局參數GP,身份ID,屬性集S,以及相關權威的主密鑰{MSKθ},對于每個屬性i∈S, 如果T(i)=θ,權威機構θ選擇2 個隨機值t∈Zp, 計算K1=。
屬性集S的GID私鑰:SKu={K1,K2,T1,T2},算法把(K2,ID) 放入身份信息表L,其中K2關聯用戶身份ID并作為追蹤參數。
(5)Decrypt(GP,CT,SK) →M。 給定公共參數GP,密鑰SKu,密文CT,I? { 1 ,2,…,l} 定義為I ={x:ρ(x) ∈S},如果S不滿足訪問策略(A,ρ),輸出⊥。 否則對于每個x∈I,算法首先計算Dx=;然后,計算常數使=(1,0,…,0),計算得出;最后,可以將消息恢復為M =C0/e(g,g)s。
(6)Key Sanity Check(GP,SKu) →1 or 0。 輸入公共參數GP和私鑰SKu, 算法將檢查解密密鑰是否滿足完整性檢查,該檢查由3 個部分組成:
如果解密密鑰SKu滿足式①、②、③,則可以通過密鑰完整性檢查,算法輸出1;否則,算法輸出0。
(7)Trace(GP, {PKθ},SKu,L) →ID。 該算法由權威機構執行。 如果解密密鑰SKu不能通過密鑰完整性檢查,算法中止,輸出⊥。 如果SK是正常結構的,則算法在表L中查找K2:如果能夠在T中找到K2,則算法輸出相應的id,否則算法輸出⊥,表示該私鑰未被系統分發。
由用戶執行Decrypt() 算法,當用戶的屬性滿足訪問機構的設定,才能正確解密出密文,本文方案的正確性證明如下:
如果屬性集合S滿足訪問策略(A,ρ),計算常數使(1,0,…,0), 然后得到0。 因此,
定理1 證明了所提出的方案如同文獻[6]方案一樣是靜態安全的。
定理1在q-DPBDHE2 假設下,提出的具體方案在隨機預言模型中是靜態安全的。
證明假設存在一個概率多項式時間敵手B,該A能以不可忽略的優勢ε攻破所提出的方案,那么可以構建一個模擬器B,以同樣的優勢ε攻破文獻[8]方案。 用C表示文獻[8]方案的挑戰者。 接下來展開研究分述如下。
(1)全局設置。B從C獲取全局參數GP ={p,G,g,H,F,U,Uθ,T},然后將其傳遞給敵手A。
(2)敵手查詢。 敵手A靜態地發出多項式有限數量的查詢。
(3)授權機構的公鑰查詢。 敵手A提交一組沒有腐敗的屬性集合Nθ∈Uθ和一組腐敗屬性集合Cθ∈Uθ,Nθ∩Cθ=?。 在文獻[8]方案中創建其對應的公鑰為對于θ∈Cθ,敵手A選擇2個隨機數,并將本文中腐敗權威的公鑰設為。
(4)用戶的屬性密鑰查詢。 敵手A根據用戶自身 的id創建密鑰SKu, 并提交一串序列表示敵手查詢與用戶IDj相關屬性集合Sj的密鑰。
(5)加密查詢。 敵手A提交訪問結構(A,ρ),和2 個同等長度明文m0,m1。 設SCθ是腐敗權威控制的所用屬性的集合,j∈[m],要求集合SCθ∪Sj不滿足(A,ρ)。
(6)挑戰者回復。C隨機選擇b∈0,1,對查詢的響應如下:
在接收到敵手的查詢后,模擬器B發送Cθ,Nθ,給C請求提供相應的文獻[8]里的公鑰、密鑰、挑戰密文。 然后C返回公鑰私鑰, 挑戰密文CT′如下:
其中,x =1,2,…,l,然后B以如下方式回復查詢。
(7)授權機構的公鑰回復。 對于每個權威θn∈Nθ,B隨 機 選 擇, 假 設 公 鑰PKθ=。
(8)用戶的密鑰回復。j∈[m],i∈Sj,B隨機選擇r, 設 置計 算K1,i=選擇另一個隨機值r,再次嘗試回復,最后B將密鑰設置為:
(9)加密回復。 對于x∈{1,2,…,l},B計算,B設定挑戰密文CT =(C0,,最后B發送公鑰密鑰和挑戰密文CT給敵手A。
在猜測階段中,A輸出一個猜測b′∈{0,1},如果b′=b,則A贏得游戲。
如果A有優勢AdvA(λ)=ε在破壞本文方案時,B可以以相同的優勢AdvA(λ)=ε破壞文獻[6]方案,參見方案文獻[6]。 在q-DPBDHE2 假設下,文獻[6]方案在隨機預言模型中是靜態安全的,因此本文提出的方案也是靜態安全的。
本方案與文獻[6]、文獻[11]、文獻[12]進行了性能比較,主要是從方案的訪問結構,可追蹤性等6個方面,分別對相關多授權機構方案進行對比分析。其中,符號及對應含義見表1。 在本次研究的效率比較中,只考慮成本高的操作。

表1 符號及對應含義Tab. 1 Symbols and corresponding meanings
表2 給出了相關多授權機構方案的特征比較。從表2 可以看出,文獻[11]采用閾值訪問結構,與本文方案采用的LSSS 訪問結構相比靈活性更差。文獻[12]采用合數階群,而本文方案基于素數階群上的構造,從而具有更好的執行效率。 從整體功能上看,本文提出的方案同時支持多個授權機構、大屬性以及惡意用戶追蹤,因此,該方案相比文獻[6]的方案具有更豐富的功能。

表2 方案功能特征對比Tab. 2 Comparison of the functional characteristics of the schemes
計算復雜度比較見表3。 從表3 可以看出,對比文獻[6],本文方案為實現可追蹤的功能,多進行了一個指數運算,即在群G1上指數運算增加了1,但總體的加密、解密時間和文獻[6]方案的差距不大。 本文方案的加密時間比文獻[11]方案的更優,文獻[11]在加密階段使用多次雙線性配對運算,導致加密時間增加。 本文方案和文獻[6]、文獻[12]都是基于LSSS 提出的,但只有本文和文獻[6]方案支持大屬性,因此屬性全集在系統建立階段不需要具體化,屬性個數可以無限增多,在加密、解密上都能快速運算。 在解密開銷方面,本文方案還遠遠優于文獻[12]方案。

表3 計算復雜度比較Tab. 3 Computational complexity comparison
為了衡量本文方案與文獻[6]、文獻[11]中所提方案的加解密開銷,本方案所有仿真實驗都在配置為Intel(R)Core(TM)i5-11300H@ 3.10 GHz,RAM 為16 GB 的Windows10 系統筆記本電腦上的虛擬機運行,虛擬機平臺:VMware ? Workstation 16Pro,操 作 系 統 為Ubuntu20. 04。 本 實 驗 利 用Python 語言進行編譯,算法仿真中雙線性對的選擇基于超奇異對稱橢圓曲線組(SS512),仿真結果取50 次測試結果的平均值。
不同方案加密時間比較如圖2 所示,不同方案解密時間比較如圖3 所示。 由圖2、圖3 可知,加密、解密隨著屬性的數量呈線性增長。 從圖2 可以看出,所提方案的加密時間與文獻[6]方案幾乎相同,都低于文獻[11]方案。 在圖3 中,很容易看出,提出的方案比文獻[8]方案需要更多的解密時間,但明顯低于文獻[11]方案的解密開銷。

圖2 不同方案加密時間比較Fig. 2 Comparison of encryption time of different schemes

圖3 不同方案解密時間比較Fig. 3 Comparison of decryption time of different schemes
本文根據移動健康的應用提出一種大屬性域可追責的多權威機構屬性加密方案,方案減少了中央權威的負荷和風險;采用LSSS 訪問結構,使訪問策略具有高表達力和高拓展性;在q-DPBDHE2 假設下,該方案在隨機預言模型中是靜態安全的。 實驗結果和性能分析顯示,本文方案在加解密效率上優于對比方案,且在功能上更豐富。