




DOI:10.3969/j.issn.10001565.2025.02.009
摘" 要:電子病歷(electronic medical records,EMR)能夠安全高效地跨域共享,給患者跨域就診帶來極大便利,但傳統集中式的電子病歷管理方式存在隱私泄露、單點故障和病歷確權等安全問題,不利于患者跨域就診.本文提出了基于聯盟鏈和代理重加密的電子病歷跨域共享方案,利用區塊鏈和星際文件系統規避了集中式管理帶來的單點故障問題.患者通過代理重加密算法授權跨域數據用戶解密病歷密文,確保只有被授權的用戶才能訪問文件,實現不同信任域間的密文轉換.該方案能抵抗多種類型攻擊且計算成本較低.
關鍵詞:電子病歷;區塊鏈;跨域共享;代理重加密
中圖分類號:TP309.2""" 文獻標志碼:A""" 文章編號:10001565(2025)02018507
EMR cross-domain sharing scheme based on consortium chain and proxy re-encryption
YANG Xiaohui,QIN Xuhan
(School of Cyberspace Security and Computer Science,Hebei University,Baoding 071000,China)
Abstract: Electronic medical records (EMR) can be safely and efficiently shared across domains, bringing great convenience to patients seeking medical treatment across domains. However, traditional centralized electronic medical record management methods have security issues such as privacy leakage, single point of failure, and medical record ownership, which are not conducive to patients seeking medical treatment across domains. This article proposes a cross-domain sharing scheme for electronic medical records based on consortium chain and proxy re-encryption. By combining blockchain and Inter Planetary File System, a distributed file storage system is provided to avoid the problem of single point of failure caused by centralized management. Patients authorize cross-domain data users to decrypt medical record ciphertext through proxy re-encryption algorithms, ensuring that only authorized users can access files and achieving ciphertext conversion between different trust domains. This scheme can resist multiple types of attacks and has a lower computational cost.
Key words: electronic medical records; blockchain; cross-domain sharing; proxy re-encryption;
病歷是記錄病人在醫院診斷治療全過程的原始記錄,包含首頁、病程記錄、檢查檢驗結果、醫囑、手術記錄、護理記錄等內容[1].電子病歷(electronic medical records,EMR)不僅包括靜態病歷信息,還涵蓋提供的相關服務,它是以電子化方式管理的關于個人終生健康狀態和醫療保健行為的信息,涉及病人信息的采集、存
收稿日期:20240506;修回日期:20240604
基金項目:
河北省自然科學基金資助項目(F2021201052)
第一作者:楊曉暉(1975—),男,河北大學教授,主要從事分布計算、信息安全與可信計算方向研究.E-mail:yxh@hbu.edu.cn
通信作者:秦旭函(1997—),男,河北大學在讀碩士研究生,主要從事網絡與信息安全方向研究.E-mail:173771931@qq.com
儲、傳輸、處理和利用的全部過程[2].隨著信息技術在醫療領域的廣泛應用,電子病歷已成為醫療健康數據管理的核心.電子病歷的有效共享對于提高醫療服務質量、促進醫學研究和公共衛生監測具有重要意義.
傳統的以醫院為單位的中心化數據存儲模式面臨諸多挑戰,包括數據安全性和隱私保護問題、數據存儲成本的增加以及數據訪問的效率問題.而且,對于患者來說,在不同醫院就診會產生諸多零散的病歷,不利于攜帶和管理保存,導致在跨醫院就診的過程中醫生難以獲得患者全部的電子病歷數據.此外,隨著電子病歷系統的普及,電子病歷的共享面臨著數據保護、信任和權限管理等問題,具體表現在以下3方面:1)患者缺乏隱私安全保護的意識和能力.2)在未受到患者授權的情況下,使用電子病歷受到普遍約束,而且獲得患者授權的過程比較復雜,會給患者帶來較大通信負擔.3)患者缺乏保存自身完整電子病歷的存儲空間,如果患者將電子病歷交由同一信任域的醫療機構管理,患者會喪失電子病歷的所有權[3].面對患者跨域就診的場景,本文提出了基于聯盟鏈和代理重加密的EMR跨域共享方案,安全高效地完成EMR的跨域共享.
1" 相關工作
1.1" 基于代理重加密的數據共享方案
代理重加密允許代理方用委托人提供的重加密密鑰進行計算,然后將密文轉化為用被委托人密鑰解密的密文[4],代理重加密在數據共享場景中被廣泛地應用.
Yin等[5]提出的代理重加密方案將身份、屬性和用于細粒度管理的密鑰類型作為重加密密鑰的基本參數,做到了細粒度的訪問控制.Miao等[6]將分布式密鑰生成技術結合基于密文策略屬性的代理重加密,設計了基于區塊鏈的多中心數據共享方案.Tian等[7]針對云存儲場景,首次提出了多接收者基于證書的代理重加密,但是系統復雜性較高,可擴展性有待增強.Manzoor等[8]提出了一個基于區塊鏈的物聯網數據共享市場,并使用代理重新加密將數據安全匿名地從數據生產者傳輸到消費者.Liu等[9]在云環境下使用代理重加密和順序多重簽名提高了電子病歷在共享過程的安全性,但是方案的通信開銷較大.Kan等[10]提出了一種選擇密文攻擊(CAA)安全的代理重加密方案,并且防止共謀攻擊,但需要定期更換密鑰,增加了運行成本.Alrebdi等[11]基于區塊鏈結合代理重加密和可搜索加密技術設計實現了醫療數據的安全共享,但方案中原數據仍存儲于本地服務器,存在中心化單點崩潰風險.張小紅等[12]結合區塊鏈技術基于屬性代理重加密提出一種支持關鍵詞檢索的數據共享方案,但未考慮密鑰管理問題.
代理重加密技術在多種應用場景中發揮了重要作用,特別是在數據的安全共享和管理方面,提供了一個既靈活又高效的解決策略.該技術在對數據隱私和安全性要求尤為嚴格的醫療領域中有廣泛的應用前景.
1.2" 基于區塊鏈的數據共享方案
集中式的數據管理系統容易出現單點故障[13].各機構之間的數據相互獨立,導致數據碎片化嚴重,難以共享[14].以上原因導致患者在不同的醫療機構就診時重復檢查,不僅浪費了醫療資源,還給患者帶來了額外的負擔[15].針對這些問題,相關學者做了大量研究.
Wu等[16]提出了一種基于區塊鏈的信息共享和溯源方案,該方案采用雙鏈結構實現數據安全共享和數據源溯源.Mani等[17]提出了一種新的方案,該方案以患者為中心在IPFS(Inter Planetary File System)上存儲醫療數據,以解決區塊鏈上的數據存儲問題.Kaur等[18]提出了一種基于區塊鏈的EMR存儲和共享方法,然而它仍然受到訪問控制的集中化的影響.Liu等[19]提出了一種基于區塊鏈的多關鍵字搜索內積可搜索加密方案,為EMR提供完整的隱私保護和高效的密文檢索.Ramesh等[20]提出了云環境中基于區塊鏈的防篡改電子病歷存儲訪問.由于缺乏分布式體系結構,該方案中的第三方評審員很容易受到攻擊.
綜上所述,醫療機構使用集中式系統管理電子病歷容易出現的單點故障、治療記錄和檢查數據可信度的問題,相關學者們提出了一系列基于區塊鏈技術的解決方案,這些方案為解決醫療機構電子病歷管理中的各種問題提供了不同的思路和方法,但在安全性、系統開銷等方面仍存在一些挑戰和改進空間.
2" 方案概述
2.1" 方案模型
基于聯盟鏈和代理重加密的EMR跨域共享方案模型如圖1所示.該模型共涉及5個實體,分別是患者(Patient)、醫療機構(Hospital)、密鑰生成中心(KGC)、區塊鏈(Blockchain)和星際文件系統(Inter Planetary File System,IPFS).
1)Patient:患者是電子病歷的主體,其個人健康信息被記錄在病歷中.
2)Hospital:
域I的醫療機構(HospitalI):在域I中,醫療機構負責生成患者的電子病歷.
域J的醫療機構(HospitalJ):在域J中,醫療機構可能因為轉診、緊急治療或專家咨詢等原因需要訪問域I患者的電子病歷.
3)KGC:在各個域中負責管理密鑰的實體.
4)Blockchain:各個域的密鑰生成中心組成聯盟鏈,提供一個去中心化的、不可篡改的賬本.
5)IPFS:負責存儲加密后的電子病歷,并提供CID以便檢索.
2.2" 方案流程
以域J的醫療機構跨域請求域I患者的電子病歷為例,以下是方案流程.
步驟1:生成并加密電子病歷.在進行病歷的跨域共享之前需要明確一個前置情形:患者在I域醫院就診之后,相關的電子病歷數據首先通過患者的私鑰進行加密,加密后的電子病歷存儲在IPFS中,以保護患者的隱私信息.IPFS系統提供了一個分布式的文件存儲解決方案,通過內容尋址來唯一標識和檢索數據,從而得到電子病歷的CID.初次加密過程如下:隨機選擇k∈Z*p,計算C1=kg,d=gSp,C2=E·e(d,mpkI)k . 初始密文為C=(C1,C2).
步驟2:上傳病歷.將密文C=(C1,C2)存儲到IPFS系統.
步驟3:觸發合約,CID上鏈.隨后,電子病歷密文的CID被記錄在區塊鏈上.這一步驟通過智能合約來執行,智能合約代碼定義了如何添加新的電子病歷記錄.
步驟4:HospitalJ發送訪問請求.當患者跨域到域J就診時,域J的醫療機構需要訪問特定的電子病歷,它會向區塊鏈發起訪問請求.
步驟5:驗證權限.HospitalI通過智能合約驗證請求的合法性,如果請求被批準,會觸發代理重加密過程.
步驟6:獲取原始密文.HospitalI根據CID從星際文件系統獲取原始密文.
步驟7:計算重加密密鑰.在收到電子病歷跨域共享請求后,病患根據數據請求者的私鑰產生重加密的密鑰,因此病人實際上是病歷數據的擁有者,掌握著病歷數據的去向.
步驟8:進行重加密運算.域I的代理服務器會做第2次加密的工作,服務器會根據Patient提供的重加密密鑰以及初次加密的密文進行重加密運算,得到重加密密文,并將密文發送給跨域醫療機構HospitalJ.
步驟9:私鑰解密得到密文.域J的醫療機構HospitalJ使用轉換后的密鑰從IPFS中檢索并用自己的私鑰解密電子病歷,以獲取所需的醫療信息.同時,整個電子病歷的訪問和使用過程都會被區塊鏈記錄,確保了操作的可追蹤性和透明度.
以下對步驟6~9基于代理重加密的數據共享做詳細描述,具體如下:
步驟6:P→HospitalI{(SP,mpkI, mpkJ)→Rk}.
Patient選取隨機數x∈Z*p,y∈Z*p,根據Patient的私鑰SP,Patient所在信任域I系統參數paramsI中的系統公鑰mpkI,HostipalJ所在信任域J的系統參數paramsJ中的系統公鑰mpkJ進行如下運算:
rk1=H1(x)·mpkI(-SP),
rk2=yg,
rk3=x·e(PH,mpkJ)y,
Rk=(rk1,rk2,rk3).(1)
步驟7:HospitalI:{ (mpkJ,Rk,C) →C’ };
步驟8:HospitalI→HospitalJ:{ C’}.
HospitalI根據初始密文(C1,C2)和重加密密鑰Rk,計算出重新加密的密文C′并發送給HospitalJ
C′2=(rk2,rk3)=(yg,x·e(PH,mpkJ)y),
C′3=C2·e(C1,rk2),
C′=(C1,C′2,C′3).(2)
步驟9:HospitalJ: { compute EMR by private key}.
HospitalJ根據私鑰SH和密文C′計算得到病歷E
x=rk3e(SH,rk2),
E=C′3E(C1,H1(X)).(3)
HospitalJ計算得到病歷的運算過程如下:
E=C′3e(C1,H1(x))=C2·e(C1,rk1)e(C1,H1(x))=
E·e(d,mpkI)k1·e(C1,H1(x)·mpkI(-Sp))e(C1,H1(x))=
E·e(gSp,mpkI)k·e(C1,H1(x)·mpkI(-Sp))e(C1,H1(x))=
E·e(C1,mpkI)Sp·e(C1,H1(x)·mpkI(-Sp))e(C1,H1(x))=
E·e(C1,mpkI)Sp·e(C1,mpkI)-Sp·e(C1,H1(x))e(C1,H1(x))=
E·e(C1,H1(x))e(C1,H1(x))=E.(4)
3" 實驗分析與討論
3.1" 安全性評估
1)抵抗重放攻擊:在電子病歷共享的各個交互步驟中引入了時間戳機制.每個請求和響應都附帶一個時間戳,用以驗證消息的時效性.除此之外,區塊鏈會記錄每一次操作的哈希值.如果某個操作被重復提交,區塊鏈系統可以通過檢測重復的哈希值來拒絕該操作.以上機制能夠有效地抵抗重放攻擊.
2)抵抗中間人攻擊:在電子病歷共享過程中,數據一直保持加密狀態,即使中間人截獲了傳輸的數據,也無法讀取其中的內容,因為只有合法的接收者才能解密數據.除此之外,病歷數據存儲在IPFS中,通過內容尋址的方式確保數據的一致性和安全性,中間人無法通過篡改單一節點的數據來影響整體數據的完整性.以上機制能夠有效抵抗中間人攻擊,確保數據在傳輸和存儲過程中始終保持安全,保護患者的隱私和數據的完整性.
3)抵抗DDoS攻擊:系統的去中心化架構、智能合約的自動化處理、IPFS的分布式存儲均能抵抗DDoS攻擊.首先,聯盟鏈由多個節點組成,這些節點分布在不同的地理位置,每個節點都保存完整的區塊鏈數據.由于數據和計算負載分散在多個節點上,攻擊者必須同時攻擊多個節點才能有效癱瘓系統.即使部分節點受到攻擊或宕機,其他節點依然可以繼續提供服務.其次,智能合約的自動化和去中心化處理減少了對單一服務器的依賴,避免了集中化帶來的單點故障風險.同時,智能合約可以在高并發情況下依然高效運作,抵御因大量請求涌入導致的系統過載.最后,IPFS的去中心化存儲特性意味著數據被復制到全球范圍內的多個節點上,增加了系統的冗余性和抗攻擊能力.即使部分節點受到攻擊或失效,系統仍能從其他節點提供服務,減小了單點故障的風險.以上機制能有效抵抗DDoS攻擊.
3.2" 算法效率評估
本文在一臺使用Windows11操作系統,AMDR7-5800HCPU、RTX3060 GPU和16GBRAM的計算機上進行了模擬實驗.應用JPBC庫實現了基于線性配對的加密方案.使用的超奇異橢圓曲線為y2=x3+3,有限域的大小是3 072位,群的階數為256位.為了評估代理重加密算法的運行效率,本文與現有的方案進行比較.定義符號TE表示指數運算,TP表示雙線性配對運算,TH表示哈希運算,TM表示群中元素的點乘運算.表1為本文和其他方案的代理重加密算法計算性能比較.為了對比效果更直觀,如表2所示,對以上密碼學運算的實際耗時進行了多次測量并取平均值,由此得出各方案中代理重加密算法耗時對比,如圖2所示.
由圖2可以看出,本方案的代理重加密算法在效率方面與其他應用場景中的代理重加密算法相比,在整體和局部各階段都無明顯劣勢.說明本方案算法即使面對復雜的跨域共享場景也能有較穩定的開銷.本文方案與EMR跨域共享方案中常用的ECC算法和RSA-1024算法進行了對比實驗.加密、解密的運算耗時跟電子病歷的大小有關,本文測量了在加解密1~20 MB文件時的運算耗時.如圖3、圖4所示,對比RSA-1024算法,本文的重加密算法在效率方面有明顯的優勢,與一般數據跨域共享中使用的基于橢圓曲線的加密和解密方法相比,本文中的重加密和解密算法的計算成本相差不大.而且考慮到具體的應用場景,重新加密和重新解密任務主要由醫院執行,它們具有強大的計算能力,可以顯著減少2種加密方法之間的計算時間差.此外,本文中使用的代理重新加密增強了患者對電子病歷的控制,提高了數據安全性.
4" 總結
針對EMR跨信任域共享的場景,提出了一種基于區塊鏈和代理重加密的跨域共享方案,利用IPFS存儲病歷數據,區塊鏈存儲內容標識符,保證了EMR的完整性和安全性.通過代理重加密算法實現病歷跨信任域共享,患者通過授權其他用戶解密密文增強了對EMR的控制權.最后對方案進行安全性和效率評估,結果表明本文的解決方案能抵抗重放攻擊、中間人攻擊、DDoS攻擊,且算法有較低的計算開銷.未來可以針對醫療機構承擔重加密工作可能存在積極性不高的問題,提出一種激勵機制,促使醫療機構更好地為患者完成重加密工作.
參" 考" 文" 獻:
[1]" 陳利,楊又.區塊鏈技術在臨床護理中的應用進展[J].中華護理雜志, 2024, 59(2): 250-256. DOI: 10.3761/j.issn.0254-1769.2024.02.018.
[2]" LI C Y, DONG M X, LI J, et al. Healthchain: secure EMRs management and trading in distributed healthcare service system[J]. IEEE Internet Things J, 2021, 8(9): 7192-7202. DOI: 10.1109/JIOT.2020.3038721.
[3]" 許德俊,馮東雷,晏雪鳴,等.基于區塊鏈的電子病歷自主管理[J].中國數字醫學, 2021, 16(7): 18-23. DOI: 10.3969/j.issn.1673-7571.2021.07.004.
[4]" AGYEKUM K O B O, XIA Q, SIFAH E B, et al. A proxy re-encryption approach to secure data sharing in the Internet of Things based on blockchain[J]. IEEE Syst J, 2022, 16(1): 1685-1696. DOI: 10.1109/JSYST.2021.3076759.
[5]" YIN H J, CHEN E, ZHU Y, et al. Attribute-based private data sharing with script-driven programmable ciphertext and decentralized key management in blockchain Internet of Things[J]. IEEE Internet Things J, 2022, 9(13): 10625-10639. DOI: 10.1109/JIOT.2021.3124016.
[6]" MIAO Z K, YE C X, YANG P, et al. A scheme for electronic evidence sharing based on blockchain and proxy re-encryption[C]//2021 4th International Conference on Blockchain Technology and Applications. Xi’an China. ACM, 2021: 10.1145/3510487.3510490. DOI: 10.1145/3510487.3510490.
[7]" TIAN J M, LU Y, WANG F, et al. Efficient multi-receiver certificate-based proxy re-encryption scheme for secure cloud data sharing[M]//Advances in Artificial Intelligence and Security, Cham: Springer International Publishing, 2021: 593-605.10.1007/978-3-030-78618-2_49
[8]" MANZOOR A, BRAEKEN A, KANHERE S S, et al. Proxy re-encryption enabled secure and anonymous IoT data sharing platform based on blockchain[J]. J Netw Comput Appl, 2021, 176: 102917. DOI: 10.1016/j.jnca.2020.102917.
[9]" LIU X G, YAN J, SHAN S Q, et al. A blockchain-assisted electronic medical records by using proxy reencryption and multisignature[J]. Secur Commun Netw, 2022, 2022: 6737942. DOI: 10.1155/2022/6737942.
[10]" KAN J, ZHANG J, LIU D W, et al. Proxy re-encryption scheme for decentralized storage networks[J]. Appl Sci, 2022, 12(9): 4260. DOI: 10.3390/app12094260.
[11]" ALREBDI N, ALABDULATIF A, IWENDI C, et al. SVBE: searchable and verifiable blockchain-based electronic medical records system[J]. Sci Rep, 2022, 12(1): 266. DOI: 10.1038/s41598-021-04124-8.
[12]" 張小紅,孫嵐嵐.屬性代理重加密的區塊鏈密文云存儲共享研究[J].系統仿真學報, 2020, 32(6): 1009-1020. DOI: 10.16182/j.issn1004731x.joss.18-0658.
[13]" YAQOOB I, SALAH K, JAYARAMAN R, et al. Blockchain for healthcare data management: opportunities, challenges, and future recommendations[J]. Neural Comput Appl, 2022, 34(14): 11475-11490. DOI: 10.1007/s00521-020-05519-w.
[14]" ZAABAR B, CHEIKHROUHOU O, JAMIL F, et al. HealthBlock: a secure blockchain-based healthcare data management system[J]. Comput Netw, 2021, 200: 108500. DOI: 10.1016/j.comnet.2021.108500.[LinkOut]
[15]" ZHANG T, SHEN J, LAI C F, et al. Multi-server assisted data sharing supporting secure deduplication for metaverse healthcare systems[J]. Future Gener Comput Syst, 2023, 140: 299-310. DOI: 10.1016/j.future.2022.10.031.
[16]" WU G J, WANG S P, NING Z L, et al. Blockchain-enabled privacy-preserving access control for data publishing and sharing in the Internet of medical things[J]. IEEE Internet Things J, 2022, 9(11): 8091-8104. DOI: 10.1109/JIOT.2021.3138104.
[17]" MANI V, MANICKAM P, ALOTAIBI Y, et al. Hyperledger healthchain: patient-centric IPFS-based storage of health records[J]. Electronics, 2021, 10(23): 3003. DOI: 10.3390/electronics10233003.
[18]" KAUR J, RANI R, KALRA N. Attribute-based access control scheme for secure storage and sharing of EHRs using blockchain and IPFS[J]. Clust Comput, 2023, 27(1): 1047-1061. DOI: 10.1007/s10586-023-04038-2.
[19]" LIU J W, FAN Y, SUN R, et al. Blockchain-aided privacy-preserving medical data sharing scheme for E-healthcare system[J]. IEEE Internet Things J, 2023, 10(24): 21377-21388. DOI: 10.1109/JIOT.2023.3287636.
[20]" RAMESH D, MISHRA R, ATREY P K, et al. Blockchain based efficient tamper-proof EHR storage for decentralized cloud-assisted storage[J]. Alex Eng J, 2023, 68: 205-226. DOI: 10.1016/j.aej.2023.01.012.
(責任編輯:孟素蘭)