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