王朋輝 柳欣 魯玉瑩 張匯 劉源 尚圓圓
摘要:電子健康記錄(EHR, Electronic Health Record)是醫療云環境下的典型應用,在云端共享此類數據有助于為患者提供遠程醫療服務。然而,已有的同類系統較少同時考慮用戶屬性隱藏和用戶屬性廢除這兩個關鍵性問題。借鑒廣播屬性加密(B-ABE, Broadcast ABE)的思想,對Nishide等的屬性加密方案進行擴展,得到支持屬性隱藏的B-ABE方案。然后,基于該方案設計了在醫療云環境下共享EHR的屬性訪問控制系統。新系統能對用戶的屬性進行隱藏,增強了對患者的隱私保護。同時,患者能自主廢除用戶的訪問權限,且無須對系統公開參數和其他用戶的私鑰執行更新。
關鍵詞:電子健康記錄; 訪問控制; 屬性加密; 廣播加密; 屬性廢除
中圖分類號:TP309.7? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)10-0027-02
1 引言
電子健康記錄(EHR, Electronic Health Record)是對患者相關信息(如健康指標、會診報告、檢查報告等)的一種收集,它有助于以高效的方式實現對健康信息的共享[1]。隨著醫療云設施的建設與應用,越來越多的信息加入EHR中。各大醫院逐步開通了云上醫院、電子病歷和遠程診療[2]等服務,使患者享受便捷的醫療服務成為可能。此外,在設計EHR系統時,必須充分考慮防止患者敏感信息泄露、允許患者對個人的EHR進行訪問控制等安全問題。
屬性加密(ABE, Attribute-Based Encryption)是一種高級公鑰加密技術,并且逐漸成為為各類云應用系統提供用戶隱私保護和細粒度訪問控制機制的基礎工具[3-4]。在文獻[1]中,Narayan等提出基于ABE技術構造的EHR系統框架,該框架的特點是支持用戶廢除和關鍵字搜索。在文獻[2]中,巫光福等提出基于聯盟鏈的EHR共享框架,旨在利用聯盟鏈技術解決EHR的隱私保護和數據共享問題。在文獻[5]中,屠袁飛等提出基于體域網的EHR系統,該系統引入了“先匹配后解密”的機制,提高了解密過程的效率。
本文認為,已有同類系統較少同時關注用戶屬性隱藏和屬性廢除這兩個關鍵問題,使系統的實用性得到削弱。本文借鑒廣播屬性加密(B-ABE, Broadcast ABE)的思想對Nishide等的ABE方案進行擴展,得到支持屬性隱藏的B-ABE方案。然后,基于該方案構造了可以在醫療云環境下為患者提供更強隱私保護的EHR訪問控制系統。新系統的優點是:①支持屬性隱藏,即任何人無法通過訪問策略對患者的病情做出準確推斷。②支持用戶廢除,即患者有權收回用戶訪問其EHR數據的權利。③可證明滿足正確性、機密性和數據隱私性質。
2 預備知識
2.1 雙線性群環境
我們定義如下的雙線性群環境[(G,GT,G,p,e)]。其中,[G]表示素數[p]階橢圓曲線群,[GT]表示素數[p]階乘法群,[G]表示在群[G]上隨機選取的基點。[e:G×G→] [GT]是一個可計算的函數,它滿足雙線性和非退化性[6]。
2.2 ABE以及Nishide等人的屬性隱藏技術
在ACNS2008會議上,Nishide、Yoneyama和Ohta[7]提出允許對訪問控制策略進行隱藏的ABE方案(簡稱NYO方案)。在該方案中,定義屬性全集[{A1,A2,...,An}]。用戶擁有屬性集[L=[L1,...,Ln]]以及對應的解密私鑰[SKL]。假設[DO](Data Owner)希望分享敏感消息[M],他定義訪問策略[W=[W1,...,Wn]],并且產生密文[CT=(W,C,] [C0,{Ci,ti,1,Ci,ti,2}1≤ti≤ni1≤i≤n)]。在[CT]中,對于屬性[Ai]的每個可能取值[vi,ti],存在對應的密文元素[Ci,ti,1,Ci,ti,2]。用戶能成功執行解密的條件是:對于[i=1,...,n],滿足[Li∈Wi]。因此,非授權用戶無法推斷DO的屬性值。
2.3 基于廣播加密的用戶屬性廢除技術
在文獻[8]中,Attrapadung等提出廣播屬性加密技術。用戶擁有屬性集L和唯一的下標ID。DO采用底層廣播加密方案中的封裝密鑰K對敏感信息(如EHR)進行隱藏,并且利用底層的ABE方案實施訪問控制策略。用戶的解密條件是:L|=W(即屬性集L滿足訪問控制策略W),同時,ID?S。其中,S表示DO維護的未被廢除的用戶下標集合。
3 訪問控制系統的詳細設計
3.1 系統模型定義
本文系統中存在以下類型的參與方:醫療中心(HC, Healthcare Center)、DO、用戶(U, User)和云服務器(CS, Cloud Server)。其中,HC負責為DO和U頒發屬性解密私鑰,并且產生系統公開參數。DO是EHR的所有者,有權定義訪問控制策略、對EHR執行加密和對U執行廢除操作。U是EHR的訪問者,對應于醫護人員和醫學研究者。
3.2 算法定義
本文系統由以下算法構成:①[EHR-] [Setup(1κ).]該算法由HC執行,用于產生公開參數[PK]和主密鑰[MSK]。②[EHR-KeyGen] [(L).]該算法由HC執行,用于為U產生屬性解密私鑰[SKID,L]。③[EHR-Outsource(M,W).]該算法由DO執行,產生關于消息[M](即EHR)的密文[CT]。④[EHR-Access(PK,L,] [SKID,L,CT).]該算法由U執行,用于對[CT]解密。⑤[EHR-Revoke(S,ID).]該算法由DO執行,用于撤銷下標為[ID]的U的訪問權限。
3.3 支持屬性隱藏的B-ABE方案
本文思路是將Boneh-Gentry-Waters廣播加密方案(簡稱BGW方案)[9]和NYO方案結合起來。這樣做的優點是,利用NYO方案可以較好地對用戶屬性進行隱藏。同時,利用BGW方案實現屬性廢除。DO需要在本地維護存放由合法用戶下標構成的列表S。當需要廢除某個用戶時,DO直接將該用戶的下標從S中刪除,而無須請求HC更新系統公開參數,也無須為剩余用戶更新屬性解密私鑰。在下面的描述中,假設屬性全集的規模為[N],每個屬性[Ai]有[Ni]個可能的取值,且系統中的用戶數量為[n]。
Setup. HC執行以下步驟:
(1)產生2.1節定義的雙線性群環境[(G,GT,G,p,e)]。
(2)選取[α∈Zp],對于[i=1,...,n,] [n+2,...,2n],計算[Gi=αi?G]。選取[γ∈Zp],設置[V=γ?G]。對于[i=1,...,N],選取[{ai,ti,bi,ti∈?*p}1≤ti≤Ni],選取[{Ai,ti∈G}1≤ti≤Ni]。
(3)設置[PK=((G,GT,G,p,e),G1,...,] [Gn,Gn+2,...,G2n,V,{ai,ti?Ai,ti,bi,ti?Ai,ti}1≤ti≤Ni1≤i≤N),][MSK=(α,γ,{ai,ti,bi,ti}1≤ti≤Ni1≤i≤N)]。
KeyGen. 假設[L=[L1,...,LN]]為用戶的屬性列表,假設用戶下標為[ID],為了產生對應的解密私鑰[SKID,L],HC執行以下步驟:
(1)對于[i=1,...,N],選取[ri∈Zp],設置[r=i=1Nri]。
(2)計算[D(1)=(-r+αIDγ)?G]。對于[i=1,...,N],設置[D(2)i,0=ri?G+ai,tibi,tiλi?Ai,ti,] [D(2)i,1=ai,tiλi?G,D(2)i,2=bi,tiλi?G],其中[Li=vi,ti]。
(3)設置[SKID,L=(D(1),{D(2)i,0,D(2)i,1,] [D(2)i,2}1≤i≤N)]。
Encrypt. 假設DO希望利用訪問控制策略[W=[W1,...,WN]]對消息[M∈GT]執行加密。為此,他執行以下步驟:
(1)選取[s∈Z*p],設置[C(0)=M?] [e(G1,Gn)s,C(1)=s?G,C(3)=s?(V+j∈SGn+1-j)]。
(2)對于[i=1,...,N],選取[{si,ti∈] [Z*p}1≤ti≤Ni],隨機選取[random∈G],計算[C(2)i,ti,1=si,tibi,ti?Ai,ti,vi,ti∈Wirandom,vi,ti?Wi,]
[C(2)i,ti,2=((s-si,ti)ai,ti)?Ai,ti,vi,ti∈Wirandom,vi,ti?Wi]。
(3)設置[CT=(W,C(0),C(1),{{C(2)i,ti,1,] [C(2)i,ti,2}1≤ti≤Ni}1≤i≤N,C(3))]。
Decrypt. 假設[UID]掌握屬性列表[L]以及[SKID,L],給定[CT],他執行以下步驟:
(1)檢查是否滿足[L|=W],若否,則終止。
(2)對于[i=1,...,N],設置[(C′i,1,C′i,2)=] [(Ci,ti,1,Ci,ti,2)]。其中,[Li=vi,ti]。
(3)[計算K=e(GID,C(3))e(j∈S,j≠IDGn+1-j+ID,C(1))?i=1Ne(C(2)i,1,D(2)i,1)e(C(2)i,2,D(2)i,2)e(C(1),D(1))i=1Ne(C(1),D(2)i,0)]
[=e(G1,Gn)]。
(4)恢復明文[C(0)/K=M]。
Revoke.假設DO希望廢除[UID],他僅需要設置[S←S/{ID}]。
3.4 新的屬性訪問控制系統
該系統的執行過程如下:①[EHR-Setup] [(1κ).]HC調用3.3節的Setup算法,產生公開參數[PK]和主密鑰[MSK]。②[EHR-KeyGen] [(L).] 假設U擁有屬性集L,HC為U選取唯一的下標ID,然后調用3.3節的KeyGen算法,輸出屬性解密私鑰[SKID,L]。③[EHR-] [Outsource(M,W).]假設DO希望將EHR數據M外包給CS。為此,定義訪問策略W,并且調用3.3節的Encrypt算法,輸出密文[CT]。④[EHR-Access(PK,L,SKID,L,CT).]假設U希望訪問隱藏在[CT]中的EHR。為此,調用3.3節的Decrypt算法,從而恢復[M]。⑤[EHR-Revoke(S,ID).]假設DO希望廢除[UID]的訪問權限。為此,調用3.3節的Revoke算法即可。
4 安全性分析
正確性。容易證明以下等式成立,即:
[e(GID,C(3))e(j∈S,j≠IDGn+1-j+ID,C(1))=e(GID,V)se(Gn,G1)s.] (1)
[i=1ne(C(2)i,1,D(2)i,1)e(C(2)i,2,D(2)i,2)e(C(1),D(1))i=1ne(C(1),D(2)i,0)=1e(GID,V)s.] (2)
根據式(1)(2)得出:
[e(GID,C(3))e(j∈S,j≠IDGn+1-j+ID,C(1))?i=1ne(C(2)i,1,D(2)i,1)e(C(2)i,2,D(2)i,2)e(C(1),D(1))i=1ne(C(1),D(2)i,0)=K.]
(3)
式(3)表明,只要[CT]是嚴格按照Encrypt算法的規定產生,且[UID]擁有合法的解密私鑰[SKID,L]。在“L|=WùID?S”的情況下,[UID]必然能通過執行Decrypt算法恢復封裝密鑰[K]。然后,就能通過計算[C(0)K]恢復明文。
機密性。本文系統中DO利用B-ABE方案對敏感信息M執行加密。在不滿足訪問控制條件“L|=WùID?S”的情況下,CS或攻擊者將無法閱讀M的具體內容。
數據隱私。3.3節方案繼承了底層NYO方案的屬性隱藏性質,因此除了文件大小、用戶下標和EHR操作序列揭示的信息之外,CS無法對推斷患者的屬性值和M的內容進行推斷。
5 結論
本文針對醫療云環境下的患者EHR共享和隱私保護問題,提出能較好滿足現實應用需求的屬性訪問控制系統。同時,證明該系統滿足正確性、機密性和數據隱私性質。在后續研究中,將在理想世界/現實世界模型[10]下為所設計的系統提供嚴格的安全性證明,開展基于仿真實驗的性能分析,設計支持更復雜的訪問策略的訪問控制系統等。
參考文獻:
[1] Narayan S,Gagné M,Safavi-Naini R.Privacy preserving EHR system using attribute-based infrastructure[C].Proceedings of the 2010 ACM,New York:ACM Press,2010:4 7-52.
[2] 巫光福,余攀,陳穎,等.基于聯盟鏈的電子健康記錄隱私保護和共享[J].計算機應用研究,2021,38(1):33-38.
[3] 柳欣,徐秋亮,張斌,等.基于直接匿名證明的k次屬性認證方案[J].通信學報,2018,39(12):113-133.
[4] 崔榮濤,柳欣,寧文龍,等.支持部分隱藏訪問控制策略的屬性認證方案[J].電腦知識與技術,2021,17(13):6-8.
[5] 屠袁飛,張成真.面向云端的安全高效的電子健康記錄[J].計算機科學,2020,47(2):294-299.
[6] (美) Jonathan Katz.數字簽名[M]. 任偉,譯.北京:國防工業出版社,2012.
[7] Nishide T,Yoneyama K,Ohta K.Attribute-based encryption with partially hidden encryptor-specified access structures[C].Proceedings of ACNS 2008, Berlin: Springer, 2008:111-129.
[8] Attrapadung N,Imai H.Conjunctive broadcast and attribute-based encryption[C]. Proceedings of Pairing 2009, Berlin: Springer,2009: 248-265.
[9] Boneh D,Gentry C,Waters B.Collusion resistant broadcast encryption with short ciphertexts and private keys[C].Proceedings of CRYPTO 2005 Berlin: Springer, 2005:258-275.
[10] 柳欣,徐秋亮.基于預付費的隱私保護多重電子優惠券系統[J].山東大學學報(理學版),2021,56(11):1-14.
【通聯編輯:代影】
收稿日期:2021-11-08
基金項目:山東省大學生創新創業訓練計劃項目(S202114277055);山東省高等教育本科教改項目(M2018X245);山東省高等學校科學技術計劃項目(J17KA081);山東青年政治學院教學改革研究項目(JG201905);山東青年政治學院應用型課程建設項目——《算法導論》(山青院教通字(2021)96號);山東青年政治學院2021年度課程思政示范課建設項目(KCSZ202116)。
作者簡介:王朋輝(2000—),男,河南鹿邑人,本科生,主要研究方向為信息安全;通信作者:柳欣(1978—),男,山東廣饒人,教授,博士,主要研究方向為信息安全與密碼學;魯玉瑩(2001—),女,山東莒南人,本科生,主要研究方向為信息安全;張匯(2000—),女,山東臨沭人,本科生,主要研究方向為信息安全;劉源(2001—),男,山東煙臺人,本科生,主要研究方向為信息安全;尚圓圓(2001—),女,山東利津人,本科生,主要研究方向為信息安全。