高改梅 史旭 劉春霞 黨偉超 王娜
摘 要:為解決醫(yī)療數(shù)據(jù)的泄露或惡意被竄改以及醫(yī)療糾紛問題,提出一種基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)隱私保護方法。利用哈希算法加密患者的身份信息,治療結(jié)果通過AES(advanced encryption standard)算法加密,而AES的密鑰使用ECC(ellipse curve ctyptography)算法加密,所有的加密密鑰、治療結(jié)果、患者身份信息存儲到聯(lián)盟鏈上。采用群簽名技術(shù)追溯簽名醫(yī)院,群管理員可以解密醫(yī)療數(shù)據(jù),將其作為重要依據(jù)協(xié)助第三方解決醫(yī)療糾紛。效率分析表明,在安全性相同的情況下,該方法的加/解密效率比對比方案分別提高了14%和46%,同時分析了群簽名各類算法的時間開銷。通過與同類方法對比,該方法既可實現(xiàn)患者身份、醫(yī)療數(shù)據(jù)的分類隱私保護,又可保證交易存儲開銷是合理的,在醫(yī)療數(shù)據(jù)隱私保護領(lǐng)域具有一定的應用價值。
關(guān)鍵詞:聯(lián)盟鏈; 醫(yī)療數(shù)據(jù); 隱私保護; 醫(yī)療糾紛; 群簽名
中圖分類號:TP309 文獻標志碼:A?文章編號:1001-3695(2024)05-037-1538-06
doi:10.19734/j.issn.1001-3695.2023.08.0392
Medical data privacy protection method based on blockchain
Abstract:To address the issue of medical data leakage or malicious tampering, as well as medical disputes,this paper proposed a medical data privacy protection method based on blockchain. The hash algorithm encrypted the patients identity information, the AES(advanced encryption standard) algorithm encrypted treatment results,the ECC(ellipse curve cryptography) algorithm encrypted the AES key. The blockchain stored all encryption keys, treatment results, and patient identity information. By using group signature technology to trace signed hospitals, the group administrator could decrypt medical data, therefore using it as an important basis to assist third parties in resolving medical disputes. Efficiency analysis shows that under the same security conditions, this method improves the encryption and decryption efficiency by about 14% and 46% compared to the compared schemes, at the same time, the method analyzed the time cost of various group signature algorithms. Compared with similar met-hods, this method can not only achieve classification privacy protection of patient identity and medical data, but also ensure reasonable transaction storage costs. It has certain application value in the field of medical data privacy protection.
Key words:alliance chain; medical data; privacy protection; medical disputes; group signature
0 引言
隨著互聯(lián)網(wǎng)的發(fā)展,數(shù)據(jù)價值日益凸顯,保護數(shù)據(jù)隱私成為各個行業(yè)領(lǐng)域的重大議題。醫(yī)療數(shù)據(jù)的特殊性使得其在生命周期的各個階段面臨著越來越多的安全挑戰(zhàn)[1];在傳統(tǒng)的數(shù)據(jù)隱私保護方案中,醫(yī)療數(shù)據(jù)的采集采用密碼學中的技術(shù),例如混幣技術(shù)和環(huán)簽名,其基本思想是隱藏個人與數(shù)據(jù)之間的關(guān)系[2],忽視了如果出現(xiàn)醫(yī)療糾紛,需要溯源、出示醫(yī)院治療結(jié)果的問題。對于數(shù)據(jù)存儲階段,現(xiàn)有的解決方案一部分基于云服務器進行數(shù)據(jù)存儲,但由于云服務器自身體系結(jié)構(gòu)的局限性,例如單點故障和第三方的信任問題,導致不可信存儲和數(shù)據(jù)泄露[3],所以此類方案無法完全保證數(shù)據(jù)的隱私性和機密性。近年來,醫(yī)療衛(wèi)生事業(yè)的發(fā)展和社會文明的進步,患者對醫(yī)院的治療結(jié)果總是抱有樂觀的態(tài)度,因此越來越多的醫(yī)生被要求對未能滿足患者期望的結(jié)果負責,在一項109名受訪者調(diào)查中,36.4%的被調(diào)查者曾發(fā)生過醫(yī)療糾紛[4],發(fā)生醫(yī)療糾紛的主要原因是患者由于對醫(yī)療知識的缺乏,難以判斷其獲得的醫(yī)療服務是否符合自身需求[5]。在發(fā)生醫(yī)療糾紛時,媒體在報道中更傾向于支持患者,導致對醫(yī)院與醫(yī)生產(chǎn)生一定的負面影響,所以安全地出示完整的醫(yī)療治療結(jié)果以協(xié)助解決醫(yī)患糾紛尤為重要。區(qū)塊鏈本質(zhì)上是一個去中心化的分布式存儲系統(tǒng)[6],在解決中心化系統(tǒng)存在的單點故障、數(shù)據(jù)泄露等問題上具有很大的優(yōu)勢,正在被越來越廣泛地應用于各個領(lǐng)域。在醫(yī)療行業(yè)中,區(qū)塊鏈技術(shù)能夠提供可靠的平臺支持,同時結(jié)合密碼學算法來實現(xiàn)數(shù)據(jù)的防竄改性、可追溯性,從而確保醫(yī)療數(shù)據(jù)的隱私安全。
針對目前醫(yī)療數(shù)據(jù)采集過程中加密技術(shù)溯源不足、加解密效率低,使用云服務器存儲方式帶來的不可信存儲和數(shù)據(jù)泄露等風險,同時,醫(yī)療糾紛可能給患者身心健康造成嚴重傷害,并對醫(yī)院的信譽度產(chǎn)生負面影響的問題,本文提出一種基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)隱私保護方法(medical data privacy protection method based on blockchain,MDPPM-BC),其主要貢獻包括:a)對醫(yī)療數(shù)據(jù)進行分類,分為身份信息、醫(yī)院治療信息和簽名信息,針對不同類別的信息采取不同的隱私保護方式;b)對身份信息采用哈希算法實現(xiàn)隱私保護,使用AES算法加密醫(yī)院治療結(jié)果、ECC算法加密AES密鑰,采取群簽名算法標記醫(yī)院簽名信息,將一條醫(yī)療數(shù)據(jù)安全、高效地存儲至聯(lián)盟鏈;c)針對醫(yī)療數(shù)據(jù)加密和共享中存在未重視對醫(yī)療糾紛案件處理的問題,群簽名中的群管理員通過對醫(yī)院治療結(jié)果解密以及醫(yī)院簽名的追溯,協(xié)助監(jiān)管機構(gòu)解決醫(yī)療糾紛。
1 相關(guān)工作
學術(shù)界已展開對區(qū)塊鏈交易中的身份隱私和金額隱私等隱私問題的研究。王子鈺等人[7]提出基于混幣與加密交易技術(shù)的全匿名區(qū)塊鏈系統(tǒng),該方案實現(xiàn)交易雙方身份、交易金額的隱私保護,但該方案面向比特幣系統(tǒng),無法適用于聯(lián)盟鏈。楊亞濤等人[8]提出了一種基于SM9算法可證明安全的身份隱私保護方案,該方案以聯(lián)盟鏈為基礎,在提高交易效率的前提下,使用群簽名技術(shù)保護交易雙方的身份隱私,但缺乏對交易金額的隱私保護。刁一晴等人[9]提出了一個聯(lián)盟鏈雙重隱私保護方案,該方案能夠在滿足交易溯源和可驗證性的前提下,保護交易雙方的身份和交易金額隱私,然而在其應用場景中,存在優(yōu)化節(jié)點身份和權(quán)限等問題。近年來,針對醫(yī)療行業(yè)存在的安全隱私問題,學術(shù)界展開大量研究。在醫(yī)療行業(yè)中,Agbo等人[10]分析了大量相關(guān)文獻的研究方向,匯總區(qū)塊鏈在醫(yī)療行業(yè)的具體用例,以及目前基于區(qū)塊鏈的應用程序開發(fā)存在的挑戰(zhàn)、已有解決辦法、未來該方向的具體研究領(lǐng)域。Yue等人[11]針對患者無法控制其醫(yī)療數(shù)據(jù),通過安全多方技術(shù)對患者數(shù)據(jù)進行訪問計算,該系統(tǒng)可確保患者擁有并可以控制醫(yī)療數(shù)據(jù),但該系統(tǒng)對數(shù)據(jù)的隱私保護依賴于一個數(shù)據(jù)網(wǎng)關(guān),在本質(zhì)上還是一個中心化的系統(tǒng)。Azaria等人[12]在此基礎上提出基于區(qū)塊鏈技術(shù)處理電子病歷的管理系統(tǒng),同時該系統(tǒng)解決了傳統(tǒng)系統(tǒng)訪問緩慢、醫(yī)院之間難以共享數(shù)據(jù)等問題,該醫(yī)療系統(tǒng)適合初期推廣。
Omar等人[13]提出基于區(qū)塊鏈存儲的醫(yī)療數(shù)據(jù)管理系統(tǒng),該系統(tǒng)在保護患者身份隱私的前提下,采用ECC算法加密實現(xiàn)醫(yī)療數(shù)據(jù)隱私保護,但加解密速度慢,效率較低。徐文玉等人[14]提出一種區(qū)塊鏈與同態(tài)加密的電子健康隱私保護方案,該方案加強了對用戶身份的隱私保護,并滿足不同角色在不同應用需求下的交互過程中的隱私問題,但該方案涉及七個智能合約,成本較高,性能有待提高。張磊等人[15]提出基于聯(lián)盟鏈的醫(yī)療系統(tǒng),該系統(tǒng)將患者醫(yī)療數(shù)據(jù)分離,實現(xiàn)醫(yī)療數(shù)據(jù)安全、可靠的上鏈儲存,但該系統(tǒng)三類數(shù)據(jù)通過非對稱加密技術(shù)加密,整體效率較低。Wang等人[16]提出了基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)隱私保護系統(tǒng),針對上傳、檢索醫(yī)療數(shù)據(jù)效率低的問題,該方案結(jié)合了AES與RSA算法,在保護患者醫(yī)療數(shù)據(jù)前提下,保證了方案的運行效率。但RSA算法需要設置很長的密鑰來防止被攻擊,以此保證算法安全,密鑰越長則運算效率越低,并且我國要求對基于RSA算法的應用系統(tǒng)進行升級改造。
許多加密方案[17~19]采取區(qū)塊鏈與云服務器結(jié)合的方式,云服務器上存儲著醫(yī)療數(shù)據(jù),區(qū)塊鏈上存儲的是通過哈希算法生成的數(shù)據(jù)摘要,該方式避免了云服務器竄改數(shù)據(jù),但這些方案將醫(yī)療數(shù)據(jù)外包給云服務器,很大程度依賴于服務提供商和應用程序的可靠性。如果第三方惡意,這些加密方案的有效性會大打折扣。再者,由于單一服務器架構(gòu)的自然限制,即使將數(shù)據(jù)摘要存儲到云服務器中也存在著數(shù)據(jù)丟失的風險。
加密方案[20~22]采取跨鏈或者主、側(cè)鏈的方式實現(xiàn)醫(yī)療隱私保護,方案以聯(lián)盟鏈為基礎,主鏈用于存放醫(yī)療數(shù)據(jù)密文的哈希值,側(cè)鏈用于數(shù)據(jù)訪問、交互,但跨鏈之間存在著兩條鏈安全強度是否相同、跨鏈消耗資源較大等問題。
蔡楚君等人[23]提出基于以太坊平臺的醫(yī)療數(shù)據(jù)安全共享方案,結(jié)合ElGamal算法、哈希函數(shù)實現(xiàn)醫(yī)療數(shù)據(jù)安全共享,并采用智能合約對數(shù)據(jù)使用者進行訪問控制,降低了計算開銷。Lee等人[24]提出一種建立在美國《健康保險便攜性和責任法案》(HIPAA)基礎上基于智能合約的EHR數(shù)據(jù)共享與隱私保護,該方案在保護患者身份信息的前提下,利用區(qū)塊鏈技術(shù)實現(xiàn)醫(yī)療數(shù)據(jù)和患者的隱私安全。李澤濤[25]提出基于區(qū)塊鏈的醫(yī)療健康數(shù)據(jù)隱私保護方法研究,該方案將AES與國密SM2算法結(jié)合,有效提升了方案的數(shù)據(jù)加密效率,同時使用群簽名技術(shù)進行醫(yī)院簽名,降低了醫(yī)療數(shù)據(jù)的敏感性。但上述方案都沒有對醫(yī)療糾紛的情況進行探討。
上述研究文獻在一定程度上解決了醫(yī)療數(shù)據(jù)的存儲問題,但還是存在著一定的安全風險,例如,設計智能合約成本較大,與云服務器結(jié)合存在著單點故障與第三方可信度問題,非對稱加密技術(shù)實現(xiàn)醫(yī)療數(shù)據(jù)的安全性保護會帶來系統(tǒng)吞吐量效率低的情況,跨鏈帶來的成本、跨鏈之間數(shù)據(jù)安全傳遞、訪問系統(tǒng)響應時間等問題,無法全面兼顧數(shù)據(jù)隱私性、防竄改性、可追溯性、匿名性、機密性等多項研究目的。本文主要探討患者在醫(yī)院就診過程中產(chǎn)生的各種臨床數(shù)據(jù)保護,如個人身份信息、醫(yī)院治療信息、醫(yī)院機構(gòu)信息等。
2 預備知識
2.1 哈希算法
哈希(hash)函數(shù)[26]屬于單向密碼體制,它可以將任意長度的數(shù)據(jù)映射為固定長度的輸出,輸出的結(jié)果稱為原始數(shù)據(jù)的散列或生成的摘要。本實驗采用SHA-256哈希算法。
2.2 雙線性映射
G1、G2為p階乘法循環(huán)群,g1、g2分別為群G1和G2的生成元,定義雙線性映射e:G1*G2→GT滿足如下性質(zhì)[27]:
a)雙線性:對于任意a,b∈Zq*和x,y∈G1,e(xa,yb)=e(x,y)ab成立;
b)非退化性:存在x,y∈G1,使得e(x,y)≠1;
c)可計算性:對于任意的x,y∈G1,存在有效算法計算e(x,y)。
2.3 AES對稱加密算法
AES算法屬于對稱加密算法,有AES-128、AES-192和AES-256三種常見方案。本實驗采取的AES對稱加密算法密鑰強度為128位[28]。對稱算法的特點是加解密使用相同的密鑰、加解密速度快,適合加密大量數(shù)據(jù),但由于交易雙方使用相同的密鑰,需要在網(wǎng)絡中傳輸,所以存在著密鑰安全傳遞問題。
2.4 ECC非對稱加密算法
ECC是基于橢圓曲線理論實現(xiàn)的密鑰加密算法[29],相比于基于大素數(shù)分解難題的RSA加密算法,求解或破譯ECC算法的難度是指數(shù)級的,橢圓曲線加密算法過程如圖1所示。本實驗調(diào)用crypto/elliptic包聲明橢圓曲線模型,選取ECC非對稱加密算法,密鑰強度為256位。
2.5 群簽名
在群簽名方案中,群中的任一成員可以代表群對消息進行匿名簽名,對群成員有著良好的隱私保護,驗證者只可以驗證簽名的真實性,不能確定簽名者的身份。本文選取Boneh等人[30]提出的短群簽名方案,通過群創(chuàng)建算法,群與聯(lián)盟鏈結(jié)合,一個鏈為一個群,將其分為全局設置、成員注冊、群簽名、驗證算法、追溯算法五個模塊。
3 系統(tǒng)模型與設計目標
3.1 系統(tǒng)模型
由多個醫(yī)院組成一個聯(lián)盟鏈,其中每個醫(yī)院作為聯(lián)盟鏈中一個節(jié)點,同時也是群成員。系統(tǒng)中包括患者、醫(yī)生、醫(yī)院、群管理員、監(jiān)督部門五個實體,系統(tǒng)模型如圖2所示。
患者首先向醫(yī)生提交個人身份信息,醫(yī)生負責完成對患者的診斷,醫(yī)生將患者身份信息通過哈希算法生成身份標識,診斷結(jié)束后,對治療結(jié)果加密生成密文,即事務加密。醫(yī)生使用ECC密鑰對AES密鑰加密,即密鑰加密。醫(yī)生將密文取哈希生成摘要,上傳至醫(yī)院,醫(yī)院作為群成員負責生成群簽名,將身份標識作為key,醫(yī)院治療信息(密文、摘要(密文)、群簽名、加密AES密鑰)作為value上傳至聯(lián)盟鏈,發(fā)生醫(yī)療糾紛時,患者向監(jiān)督部門提交自己的身份標識,監(jiān)督部門與群管理員聯(lián)系,管理員解密、驗簽、追溯,完成對治療結(jié)果和簽名的溯源。MDPPM-BC的五個實體介紹如下:
a)患者:病人提交身份信息,向醫(yī)生說明身體狀況。
b)醫(yī)生:醫(yī)生接診患者,接收患者身份信息并了解癥狀,據(jù)此給出治療結(jié)果。
c)醫(yī)院:醫(yī)院的管理人員接收醫(yī)生上傳的治療結(jié)果摘要,調(diào)用群簽名算法生成簽名。
d)群管理員:配合監(jiān)督部門進行事務解密和簽名追溯。
e)監(jiān)督部門:患者向監(jiān)督部門提供身份標識,監(jiān)督部門向群管理員提供身份標識,協(xié)助解決醫(yī)療糾紛。
3.2 設計目標
基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)隱私保護方法實現(xiàn)以下設計目標:隱私性、不可竄改性、可追溯性、匿名性、機密性。隱私性:攻擊者在沒有密鑰對的情況下,無法破解病人醫(yī)療數(shù)據(jù)。防竄改性:系統(tǒng)存儲著醫(yī)療數(shù)據(jù)的哈希值,可以提供有效的防竄改性驗證??勺匪菪裕涸诎l(fā)生醫(yī)患糾紛時,可以提供完整的醫(yī)院治療結(jié)果。匿名性:患者身份信息通過哈希算法處理,獲得患者的真實身份是困難的。機密性:不同類別的醫(yī)療數(shù)據(jù)采取不同的數(shù)據(jù)隱私保護方式,只有群管理員可以得到完整記錄。
4 方法設計
4.1 區(qū)塊數(shù)據(jù)結(jié)構(gòu)
MDPPM-BC中,區(qū)塊具體數(shù)據(jù)結(jié)構(gòu)如表1所示,由區(qū)塊頭和區(qū)塊體組成,區(qū)塊頭包括時間戳、區(qū)塊標識、區(qū)塊大小、前塊哈希,區(qū)塊體包括索引(身份標識)、密文、摘要(密文)、群簽名、加密AES密鑰。
4.2 符號說明
符號定義如表2所示。
4.3 群簽名
群簽名主要功能如下:
4.3.1 全局設置
Setup(n)→(gpk,gmsk) 管理員運行Setup算法,設n為安全參數(shù),選擇G1、G2為p階乘法循環(huán)群,g1、g2分別為群G1和G2的生成元,p為素數(shù),e:G1*G2→GT為一個雙線性映射,存在同構(gòu)映射G2=φ(G1),構(gòu)建hash函數(shù)H:{0,1}*→Zp,隨機選取參數(shù)h←G1/{1G1},選取參數(shù)ζ1,ζ2←Zp*,選擇u,v∈G1,滿足uζ1=vζ2=h,選擇γ←Zp*,并設置w=gγ2,群公鑰gpk=(g1,g2,h,u,v,w),群主私鑰gmsk=(ζ1,ζ2)。
4.3.2 注冊
4.3.3 群簽名
Sig(gpk,m,gsk[i])→(σ) 醫(yī)院i運行Sig算法對m進行群簽名,通過給定gpk=(g1,g2,h,u,v,w)、醫(yī)院群簽名密鑰gsk[i]=(Ai,xi)、m∈{0,1}*,計算簽名σ=H(T1,T2,T3,c,sα,sβ,sx,sδ1,sδ2),醫(yī)院i對交易信息m執(zhí)行非交互式零知識,證明如下:隨機選取α,β←Zp,計算:
4.3.4 驗證算法
Verify(m,gpk,σ)→(true/false) 給定群公鑰gpk=(g1,g2,h,u,v,w)、消息m、群簽名σ,驗證σ是否有效。
4.3.5 追溯算法
Open(gpk,gmsk,m,σ)→(Ai) 該算法用于跟蹤簽名。輸入群公鑰gpk=(g1,g2,h,u,v,w),群主私鑰gmsk=(ζ1,ζ2)、消息m、群簽名σ,過程如下:首先驗證σ是m上的有效簽名;其次,將前三個元素(T1,T2,T3)視為線性加密,恢復用戶的Ai身份證書,計算Ai←T3/(T1ζ1·T2ζ2),根據(jù)注冊登記表找到醫(yī)院。計算公式如下:
4.4 運行流程
基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)隱私保護方法主要考慮兩個方面:如何安全、高效地存儲大量醫(yī)療數(shù)據(jù);醫(yī)療糾紛案件逐年遞增,如何緩解醫(yī)療糾紛問題。MDPPM-BC主要包括事務加密、密鑰加密、群簽名和事務檢索四個模塊。圖3為數(shù)據(jù)產(chǎn)生與數(shù)據(jù)存儲示意圖(包括事務加密、密鑰加密、群簽名),圖4為事務檢索過程。
數(shù)據(jù)產(chǎn)生與數(shù)據(jù)存儲包括事務加密、密鑰加密、群簽名;事務加密是醫(yī)生通過哈希算法生成患者身份標識IL、通過AES算法加密治療結(jié)果p生成密文m;密鑰加密是醫(yī)生將AES密鑰通過ECC算法加密,生成加密的AES密鑰ECCkE;群簽名是將密文m取哈希運算生成摘要(密文)Hm,調(diào)用群簽名算法生成群簽名σ;最后醫(yī)院將身份標識IL作為key,密文、摘要(密文)Hm、群簽名σ、加密AES密鑰ECCkE作為value上傳至聯(lián)盟鏈。
患者向監(jiān)管機構(gòu)發(fā)起糾紛處理請求、提供個人身份標識IL,監(jiān)管機構(gòu)向群管理員提交身份標識IL,群管理員進行事務解密、醫(yī)院的簽名追溯,完成后反饋給監(jiān)管機構(gòu),協(xié)助解決醫(yī)患糾紛。
4.4.1 事務加密
患者需提供自己的身份信息DA,醫(yī)生負責接診患者后,輸入患者的姓名和身份證號,將兩者鏈接通過哈希算法H()生成哈希值IL,該哈希值IL作為患者的唯一身份標識,診斷結(jié)束后,生成患者相應的治療結(jié)果p(病歷類型、就診時間、發(fā)病癥狀、診斷信息、用藥處方)。醫(yī)生調(diào)用AES算法加密治療結(jié)果,生成密文m,系統(tǒng)每次加密事務的AES密鑰kE均通過隨機數(shù)生成,增加了攻擊者的破解難度。事務加密如算法1所示。
算法1 事務加密
4.4.2 密鑰加密
由多家醫(yī)院組成的聯(lián)盟鏈,每家醫(yī)院充當聯(lián)盟鏈中的一個節(jié)點,即群成員。群與聯(lián)盟鏈結(jié)合,群管理員維護一個額外的ECC算法密鑰對,其中公鑰pkE對所有節(jié)點公開,用于加密AES密鑰kE,私鑰skE由群管理員保存。醫(yī)生調(diào)用ECC的公鑰pkE加密AES密鑰kE。對稱加密算法與非對稱加密算法結(jié)合既解決了對稱密鑰的傳遞問題,又解決了數(shù)據(jù)加解密效率低的問題。密鑰加密如算法2所示。
算法2 密鑰加密
4.4.3 群簽名
醫(yī)生調(diào)用哈希算法H()對治療結(jié)果生成摘要Hm,上傳至醫(yī)院,醫(yī)院作為聯(lián)盟鏈中的節(jié)點,生成群簽名σ。由于治療結(jié)果的密文m只包括病歷類型、就診時間、發(fā)病癥狀、診斷信息、用藥處方,即使破解密文m,也沒有患者身份信息和醫(yī)療機構(gòu)信息,所以大大保護了患者身份隱私和醫(yī)院隱私。最后,醫(yī)院收集各類信息,通過key-value形式上傳至聯(lián)盟鏈。至此,一筆交易完成。群簽名如算法3所示。
算法3 群簽名
4.4.4 事務檢索
發(fā)生醫(yī)療糾紛時出示完整的治療結(jié)果,一方面可以澄清醫(yī)院的誤診行為,另一方面由于治療結(jié)果存儲在區(qū)塊鏈上,區(qū)塊鏈具有去中心化、不可竄改等特性,可防止醫(yī)院竄改醫(yī)療數(shù)據(jù),對于協(xié)助監(jiān)管機構(gòu)解決醫(yī)療糾紛尤為重要。MDPPM-BC中,通過查詢身份標識h1進行高效的數(shù)據(jù)檢索。首先患者向監(jiān)督部門提供身份標識IL,然后向群管理員提供身份標識IL,群管理員找到目標事務后,先使用ECC的私鑰skE解密ECCkE得到AES密鑰kE,然后使用AES密鑰kE解密m得到治療結(jié)果p,最后通過群簽名中的追溯算法獲得簽名者的身份(醫(yī)療機構(gòu)的信息)。因此,一條醫(yī)療記錄只有群管理員才能獲得完整的事務信息,而攻擊者如果沒有獲得所有的密鑰,只能獲得一些不具備分析價值的數(shù)據(jù)。這極大地保護了醫(yī)療數(shù)據(jù)的隱私。事務檢索如算法4所示。
算法4 事務檢索
5 方法分析
5.1 驗證算法分析
根據(jù)群簽名的可驗證性,對于給定一個已簽名的消息對(m,σ),輸入群公鑰gpk,驗證者計算以下R1′,R2′,R3′,R4′,R5′:
最后計算:
c′=H(m,T1,T2,T3,R′1,R′2,R′3,R′4,R′5)(21)
檢查等式c=c′是否成立,相等輸出true,否則輸出false,算法得到檢驗。
5.2 安全性分析
1)隱私性 在MDPPM-BC中,將一條完整的醫(yī)療數(shù)據(jù)進行分類:醫(yī)生通過哈希算法將患者身份信息DA生成身份標識IL;患者診斷治療結(jié)果p使用AES算法加密生成密文m,而AES密鑰由ECC算法加密生成ECCkE;醫(yī)院節(jié)點使用群簽名算法生成簽名信息σ;由哈希算法單向性和本實驗采取的256 bit密鑰強度的ECC以及群簽名特點,破解一條完整的醫(yī)療記錄是困難的,同時也降低了一條完整的醫(yī)療數(shù)據(jù)的敏感性,隱私性得到保護。
2)防竄改性 密文m通過哈希算法生成Hm,區(qū)塊鏈上存儲著密文的哈希值Hm,因此當數(shù)據(jù)信息發(fā)生改變時,生成的哈希值也將發(fā)生改變,通過對比區(qū)塊鏈上儲存的哈希值,可以進行有效的防竄改性驗證。
3)可追溯性 群簽名中的驗證算法可確認是否由群成員簽署,發(fā)生醫(yī)療糾紛時,群管理員首先通過驗證算法確認簽名者身份的真實性。當輸出為false時,簽名驗證不通過,不是該群群成員簽名,返回錯誤信息;輸出結(jié)果為true時,使用ECC算法私鑰pkE解密獲得AES密鑰kE,使用kE解密密文m,同時調(diào)用追溯算法追溯簽名者身份DA,得到一條完整的醫(yī)療記錄。
4)匿名性 醫(yī)生將患者姓名和身份證號的哈希值作為患者的唯一身份標識IL,即使攻擊者獲得了哈希值IL,也無法推算出原始數(shù)據(jù),通過哈希算法實現(xiàn)了患者身份在區(qū)塊鏈中的匿名性。
5)機密性 將一條醫(yī)療數(shù)據(jù)分類,不同類別的信息采取不同的數(shù)據(jù)隱私保護方式,攻擊者難以破解得到所有密鑰對,保證了一條完整的醫(yī)療數(shù)據(jù)的機密性。
6 系統(tǒng)實施
實驗操作系統(tǒng):Windows 10 64 bit及Ubuntu 16.04,系統(tǒng)配置:Intel CoreTM i5 8250U,2.6 GHz,4 GB RAM,40 GB硬盤空間。啟動Hyperledger節(jié)點采用容器的方式,本文方法只有群管理員權(quán)限可以得到完整的醫(yī)療記錄,在實際應用中,由于聯(lián)盟鏈中的節(jié)點由醫(yī)院組成,所以節(jié)點是可信任的,聯(lián)盟鏈中其他節(jié)點只需每次調(diào)用群簽名中的驗證算法確定是否由群成員簽署即可,發(fā)生醫(yī)療糾紛時,群管理員首先驗證是否由群成員簽署,之后進行簽名追溯,以及解密治療結(jié)果,協(xié)助解決醫(yī)療糾紛。實驗過程中使用128 bit AES算法加密數(shù)據(jù),并使用ECC算法加密AES密鑰。治療結(jié)果(病歷類型、就診時間、發(fā)病癥狀、診斷信息、用藥處方)的字數(shù)一般為幾百字,通過AES算法對其加解密,時間在2 ms左右。使用ECC算法對128 bit AES密鑰進行15次加解密測試,將實驗與文獻[16,25]方案進行對比。實驗結(jié)果如圖5所示。
從圖5中可以看出,實驗選用的256 bit ECC加解密算法時間效率高于文獻[25]的國密SM2算法,與文獻[16]的RSA算法相比,具有更高的時間效率,這也印證了RSA算法密鑰長度越長,加解密效率越低的問題。通過15次加解密測試實驗,計算平均值,本文方法較文獻[16,25]的方案加解密效率分別提高46%、14%。在實驗中,對一個數(shù)據(jù)量摘要(密文):設置聯(lián)盟鏈中不同節(jié)點個數(shù)(10,20,30)對簽名、驗證簽名,發(fā)生醫(yī)療糾紛時進行的驗證、追溯算法運行時間記錄了10輪實驗結(jié)果,取平均值,所需時間開銷實驗結(jié)果如圖6所示。
由圖6的數(shù)值結(jié)果可以發(fā)現(xiàn),隨著節(jié)點數(shù)量的增加,各類算法耗時遞增。聯(lián)盟鏈節(jié)點為10時,醫(yī)院每次調(diào)用群簽名算法生成簽名平均耗時81.1 ms,聯(lián)盟鏈中的其他節(jié)點驗證節(jié)點上傳數(shù)據(jù),調(diào)用驗證算法時間平均值在87.8 ms,發(fā)生醫(yī)療糾紛,群管理員確定簽名者身份所需時間平均值為96.04 ms;節(jié)點為20時,生成簽名平均耗時114.8 ms,其他節(jié)點驗證算法時間平均值在129.5 ms,發(fā)生醫(yī)療糾紛,群管理員確定簽名者身份所需時間平均值為136.6 ms;聯(lián)盟鏈節(jié)點為30時,生成簽名平均耗時148.2 ms,聯(lián)盟鏈中的其他節(jié)點驗證算法時間平均值在162.7 ms,發(fā)生醫(yī)療糾紛,群管理員確定簽名者身份所需時間平均值為170.9 ms。因此本文方法在滿足數(shù)據(jù)隱私保護的前提下,提升了數(shù)據(jù)的加解密效率,隨著節(jié)點個數(shù)的增長,檢索事務所需時間增長穩(wěn)定,因此總體交易存儲開銷是合理的。
完成上述工作后,將本文方案與文獻[15,16,19,22]方案進行對比,對比結(jié)果如表3所示。
表3從六個方面將本文方案與現(xiàn)有研究成果進行比較。文獻[15]的數(shù)據(jù)存儲方式采用非對稱加密算法,存儲效率較低,且該方案醫(yī)院簽名信息直接體現(xiàn)在醫(yī)療信息類,降低了數(shù)據(jù)分類的有效性;文獻[16]的醫(yī)療數(shù)據(jù)存儲方式采用AES與RSA算法,與本實驗選取的256位ECC算法相比,時間效率低;文獻[19]基于云服務器與區(qū)塊鏈進行數(shù)據(jù)存儲,不能完全保證云服務器信任問題,且該方案沒有對數(shù)據(jù)進行分類,沒有降低醫(yī)療數(shù)據(jù)的敏感性;文獻[22]中,醫(yī)療數(shù)據(jù)存儲只采用非對稱加密方式,效率較低。綜上所述,本文提出的基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)隱私保護方法具有一定的優(yōu)勢。
7 結(jié)束語
本文提出一種基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)隱私保護方法,在保證患者身份隱私的前提下,利用AES和ECC加密算法提高了醫(yī)療數(shù)據(jù)的加解密效率,且在發(fā)生醫(yī)療糾紛時,可以提供完整的醫(yī)療治療結(jié)果。在現(xiàn)實中,任何加密方案都不是絕對安全的,因此本文通過分類一條完整的醫(yī)療記錄,大大降低了事務的敏感性。下一步的研究將主要集中在選擇更加安全高效的群簽名算法,以此更好地挖掘系統(tǒng)的潛力。
參考文獻:
[1]Jin Hao, Luo Yan, Li Peilong, et al. A review of secure and privacy-preserving medical data sharing[J]. IEEE Access, 2019,7: 61656-61669.
[2]晏燕, 李靜靜, 劉青. 基于多重異或加密的區(qū)塊鏈混幣機制[J]. 計算機應用研究, 2023,40(11): 3235-3240. (Yan Yan, Li Jingjing, Liu Qing. Coin mixing mechanism in blockchain based on multiple XOR encryption[J]. Application Research of Compu-ters, 2023,40(11): 3235-3240.)
[3]苗美霞, 李佳薇, 王贇玲, 等. 隱私保護的高效可驗證數(shù)據(jù)流協(xié)議[J]. 密碼學報, 2022,9(6): 1124-1140. (Miao Meixia, Li Jiawei, Wang Yunling, et al. Efficient verifiable data streaming protocol with privacy protection[J]. Journal of Cryptologic Research, 2022, 9(6): 1124-1140.)
[4]白永旗, 張冰斌, 郭渠蓮, 等. 我國醫(yī)療糾紛院內(nèi)調(diào)解機制的困境與完善路徑[J]. 醫(yī)學與法學, 2023,15(2): 75-80. (Bai Yongqi, Zhang Bingbin, Guo Qulian, et al. The dilemma and countermeasures of in-hospital medical dispute mediation in China[J]. Medicine and Jurisprudence, 2023,15(2): 75-80.)
[5]Chen C, Lin C F, Chen Chachun, et al. Potential media influence on the high incidence of medical disputes from the perspective of plastic surgeons[J]. Journal of the Formosan Medical Association, 2017,116(8): 634-641.
[6]韓璇, 袁勇, 王飛躍. 區(qū)塊鏈安全問題: 研究現(xiàn)狀與展望[J]. 自動化學報, 2019, 45(1): 206-225. (Han Xuan, Yuan Yong, Wang Feiyue. Security problems on blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2019, 45(1): 206-225.)
[7]王子鈺, 劉建偉, 張宗洋, 等. 基于聚合簽名與加密交易的全匿名區(qū)塊鏈[J]. 計算機研究與發(fā)展, 2018, 55(10): 2185-2198. (Wang Ziyu, Liu Jianwei, Zhang Zongyang, et al. Full anonymous blockchain based on aggregate signature and confidential transaction[J]. Journal of Computer Research and Development, 2018,55(10): 2185-2198.)
[8]楊亞濤, 蔡居良, 張筱薇, 等. 基于 SM9 算法可證明安全的區(qū)塊鏈隱私保護方案[J]. 軟件學報, 2019, 30(6): 1692-1704. (Yang Yatao, Cai Juliang, Zhang Xiaowei, et al. Privacy preserving scheme in block chain with provably secure based on SM9 algorithm[J]. Journal of Software, 2019,30(6): 1692-1704.)
[9]刁一晴, 葉阿勇, 張姣美, 等. 基于群簽名和同態(tài)加密的聯(lián)盟鏈雙重隱私保護方法[J]. 計算機研究與發(fā)展, 2022,59(1): 172-181. (Diao Yiqing, Ye Ayong, Zhang Jiaomei, et al. A dual privacy protection method based on group signature and homomorphic encryption for alliance blockchain[J]. Journal of Computer Research and Development, 2022, 59(1): 172-181.)
[10]Agbo C C, Mahmoud Q H, Eklund J M. Blockchain technology in healthcare: a systematic review[J]. Healthcare, 2019,7(2): 56.
[11]Yue Xiao, Wang Huiju, Jin Dawei, et al. Healthcare data gateways: found healthcare intelligence on blockchain with novel privacy risk control[J]. Journal of Medical Systems, 2018,40: 218.
[12]Azaria A, Ekblaw A, Vieira T, et al. MedRec: using blockchain for medical data access and permission management[C]//Proc of International Conference on Open & Big Data. Piscataway,NJ:IEEE Press, 2016.
[13]Omar A A, Rahman M S, Basu A, et al. MediBchain: a blockchain based privacy preserving platform for healthcare data[C]//Proc of SpaCCS International Workshop. Cham: Springer, 2017: 534-543.
[14]徐文玉, 吳磊, 閻允雪. 基于區(qū)塊鏈和同態(tài)加密的電子健康記錄隱私保護方案[J]. 計算機研究與發(fā)展, 2018,55(10): 2233-2243. (Xu Wenyu, Wu Lei, Yan Yunxue. Privacy-preserving scheme of electronic health records based on blockchain and homomorphic encryption[J]. Journal of Computer Research and Development, 2018,55(10): 2233-2243.)
[15]張磊, 鄭志勇, 袁勇. 基于區(qū)塊鏈的電子醫(yī)療病歷可控共享模型[J]. 自動化學報, 2021,47(9): 2143-2153. (Zhang Lei, Zheng Zhiyong, Yuan Yong. A controllable sharing model for electronic health records based on blockchain[J]. Acta Automatica Sinica, 2021,47(9): 2143-2153.)
[16]Wang Baocheng, Li Zetao. HealthChain: a privacy protection system for medical data based on blockchain[J]. Future Internet, 2021,13: 247.
[17]陶雪晴, 劉立新, 張曉琳, 等. 基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)流共享[J]. 計算機工程與設計, 2023,44(6): 1635-1641. (Tao Xueqing, Liu Lixin, Zhang Xiaolin, et al. Medical data stream sharing based on blockchain[J]. Computer Engineering and Design, 2023,44(6): 1635-1641.)
[18]Chen Yi, Ding Zhuai, Xu Zheng, et al. Blockchain-based medical records secure storage and medical service framework[J]. Journal of Medical Systems, 2019,43(5): article No.5.
[19]張超, 李強, 陳子豪,等. Medical chain: 聯(lián)盟式醫(yī)療區(qū)塊鏈系統(tǒng)[J]. 自動化學報, 2019, 45(8): 1495-1510. (Zhang Chao, Li Qiang, Chen Zihao, et al. Medical chain: alliance medical blockchain system[J]. Acta Automatica Sinica, 2019, 45(8): 1495-1510.)
[20]Liu Xiaoguang, Wang Ziqing, Jin chunhua, et al. A blockchain-based medical data sharing and protection scheme[J]. IEEE Access, 2017, 8: 118943-118953.
[21]韓剛, 呂英澤, 羅維, 等. 重大疫情患者隱私數(shù)據(jù)保護方案研究[J]. 計算機科學與探索, 2022, 16(2): 359-371. (Han Gang, Lyu Yingze, Luo Wei, et al. Privacy data protection scheme for patients with major outbreaks[J]. Journal of Frontiers of Computer Science and Technology, 2022, 16(2): 359-371.)
[22]牛淑芬, 陳俐霞, 李文婷, 等. 基于區(qū)塊鏈的電子病歷數(shù)據(jù)共享方案[J]. 自動化學報, 2022, 48(8): 2028-2038. (Niu Shufen, Chen Lixia, Li Wenting, et al. Electronic medical record data sharing scheme based on blockchain[J]. Acta Automatica Sinica, 2022,48(8): 2028-2038.)
[23]蔡楚君, 柳毅. 基于以太坊平臺的醫(yī)療數(shù)據(jù)安全共享方案[J]. 計算機應用研究, 2022, 39(1): 24-30. (Cai Chujun, Liu Yi. Secure sharing solution for medical data based on ethereum[J]. Application Research of Computers, 2022,39(1): 24-30.)
[24]Lee J S, Chew C J, Liu J Y, et al. Medical blockchain: data sharing and privacy preserving of EHR based on smart contract[J]. Journal of Information Security and Applications, 2022,65:103117.
[25]李澤濤. 基于區(qū)塊鏈的醫(yī)療健康數(shù)據(jù)隱私保護方法研究[D]. 北京:北方工業(yè)大學, 2023. (Li Zetao. Research on the privacy-preserving met hod of medical and health data based on blockchain[D]. Beijing:North China University of Technology, 2023.)
[26]林成駿, 伍瑋. 比特幣生成原理及其特點[J]. 中興通信技術(shù), 2018, 24(6): 13-18. (Lin Chengjun, Wu Wei. The generation principles and characteristics of bitcoin[J]. ZTE Technology Journal, 2018,24(6):13-18.)
[27]Sun Jianfei, Hu Shengnan, Nie Xuyun, et al. Efficient ranked multi-keyword retrieval with privacy protection for multiple data owners in cloud computing[J]. IEEE Systems Journal, 2020,14: 1728-1739.
[28]Daemen J, Rijmen V. The design of Rijndael:the advanced encryption standard(AES)[M]. Berlin:Springer, 2020.
[29]Pandey R, Goundar S, Fatima S. Chapter 14-Cryptography in blockchain[M]. Anupam Tiwari: Academic Press, 2023.
[30]Boneh D, Boyen X, Shacham H. Short group signatures[C]//Proc of Annual International Cryptology Conference. Berlin: Springer, 2004: 41-55.