高改梅 史旭 劉春霞 黨偉超 王娜
摘 要:為解決醫療數據的泄露或惡意被竄改以及醫療糾紛問題,提出一種基于區塊鏈的醫療數據隱私保護方法。利用哈希算法加密患者的身份信息,治療結果通過AES(advanced encryption standard)算法加密,而AES的密鑰使用ECC(ellipse curve ctyptography)算法加密,所有的加密密鑰、治療結果、患者身份信息存儲到聯盟鏈上。采用群簽名技術追溯簽名醫院,群管理員可以解密醫療數據,將其作為重要依據協助第三方解決醫療糾紛。效率分析表明,在安全性相同的情況下,該方法的加/解密效率比對比方案分別提高了14%和46%,同時分析了群簽名各類算法的時間開銷。通過與同類方法對比,該方法既可實現患者身份、醫療數據的分類隱私保護,又可保證交易存儲開銷是合理的,在醫療數據隱私保護領域具有一定的應用價值。
關鍵詞:聯盟鏈; 醫療數據; 隱私保護; 醫療糾紛; 群簽名
中圖分類號: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 引言
隨著互聯網的發展,數據價值日益凸顯,保護數據隱私成為各個行業領域的重大議題。醫療數據的特殊性使得其在生命周期的各個階段面臨著越來越多的安全挑戰[1];在傳統的數據隱私保護方案中,醫療數據的采集采用密碼學中的技術,例如混幣技術和環簽名,其基本思想是隱藏個人與數據之間的關系[2],忽視了如果出現醫療糾紛,需要溯源、出示醫院治療結果的問題。對于數據存儲階段,現有的解決方案一部分基于云服務器進行數據存儲,但由于云服務器自身體系結構的局限性,例如單點故障和第三方的信任問題,導致不可信存儲和數據泄露[3],所以此類方案無法完全保證數據的隱私性和機密性。近年來,醫療衛生事業的發展和社會文明的進步,患者對醫院的治療結果總是抱有樂觀的態度,因此越來越多的醫生被要求對未能滿足患者期望的結果負責,在一項109名受訪者調查中,36.4%的被調查者曾發生過醫療糾紛[4],發生醫療糾紛的主要原因是患者由于對醫療知識的缺乏,難以判斷其獲得的醫療服務是否符合自身需求[5]。在發生醫療糾紛時,媒體在報道中更傾向于支持患者,導致對醫院與醫生產生一定的負面影響,所以安全地出示完整的醫療治療結果以協助解決醫患糾紛尤為重要。區塊鏈本質上是一個去中心化的分布式存儲系統[6],在解決中心化系統存在的單點故障、數據泄露等問題上具有很大的優勢,正在被越來越廣泛地應用于各個領域。在醫療行業中,區塊鏈技術能夠提供可靠的平臺支持,同時結合密碼學算法來實現數據的防竄改性、可追溯性,從而確保醫療數據的隱私安全。
針對目前醫療數據采集過程中加密技術溯源不足、加解密效率低,使用云服務器存儲方式帶來的不可信存儲和數據泄露等風險,同時,醫療糾紛可能給患者身心健康造成嚴重傷害,并對醫院的信譽度產生負面影響的問題,本文提出一種基于區塊鏈的醫療數據隱私保護方法(medical data privacy protection method based on blockchain,MDPPM-BC),其主要貢獻包括:a)對醫療數據進行分類,分為身份信息、醫院治療信息和簽名信息,針對不同類別的信息采取不同的隱私保護方式;b)對身份信息采用哈希算法實現隱私保護,使用AES算法加密醫院治療結果、ECC算法加密AES密鑰,采取群簽名算法標記醫院簽名信息,將一條醫療數據安全、高效地存儲至聯盟鏈;c)針對醫療數據加密和共享中存在未重視對醫療糾紛案件處理的問題,群簽名中的群管理員通過對醫院治療結果解密以及醫院簽名的追溯,協助監管機構解決醫療糾紛。
1 相關工作
學術界已展開對區塊鏈交易中的身份隱私和金額隱私等隱私問題的研究。王子鈺等人[7]提出基于混幣與加密交易技術的全匿名區塊鏈系統,該方案實現交易雙方身份、交易金額的隱私保護,但該方案面向比特幣系統,無法適用于聯盟鏈。楊亞濤等人[8]提出了一種基于SM9算法可證明安全的身份隱私保護方案,該方案以聯盟鏈為基礎,在提高交易效率的前提下,使用群簽名技術保護交易雙方的身份隱私,但缺乏對交易金額的隱私保護。刁一晴等人[9]提出了一個聯盟鏈雙重隱私保護方案,該方案能夠在滿足交易溯源和可驗證性的前提下,保護交易雙方的身份和交易金額隱私,然而在其應用場景中,存在優化節點身份和權限等問題。近年來,針對醫療行業存在的安全隱私問題,學術界展開大量研究。在醫療行業中,Agbo等人[10]分析了大量相關文獻的研究方向,匯總區塊鏈在醫療行業的具體用例,以及目前基于區塊鏈的應用程序開發存在的挑戰、已有解決辦法、未來該方向的具體研究領域。Yue等人[11]針對患者無法控制其醫療數據,通過安全多方技術對患者數據進行訪問計算,該系統可確保患者擁有并可以控制醫療數據,但該系統對數據的隱私保護依賴于一個數據網關,在本質上還是一個中心化的系統。Azaria等人[12]在此基礎上提出基于區塊鏈技術處理電子病歷的管理系統,同時該系統解決了傳統系統訪問緩慢、醫院之間難以共享數據等問題,該醫療系統適合初期推廣。
Omar等人[13]提出基于區塊鏈存儲的醫療數據管理系統,該系統在保護患者身份隱私的前提下,采用ECC算法加密實現醫療數據隱私保護,但加解密速度慢,效率較低。徐文玉等人[14]提出一種區塊鏈與同態加密的電子健康隱私保護方案,該方案加強了對用戶身份的隱私保護,并滿足不同角色在不同應用需求下的交互過程中的隱私問題,但該方案涉及七個智能合約,成本較高,性能有待提高。張磊等人[15]提出基于聯盟鏈的醫療系統,該系統將患者醫療數據分離,實現醫療數據安全、可靠的上鏈儲存,但該系統三類數據通過非對稱加密技術加密,整體效率較低。Wang等人[16]提出了基于區塊鏈的醫療數據隱私保護系統,針對上傳、檢索醫療數據效率低的問題,該方案結合了AES與RSA算法,在保護患者醫療數據前提下,保證了方案的運行效率。但RSA算法需要設置很長的密鑰來防止被攻擊,以此保證算法安全,密鑰越長則運算效率越低,并且我國要求對基于RSA算法的應用系統進行升級改造。
許多加密方案[17~19]采取區塊鏈與云服務器結合的方式,云服務器上存儲著醫療數據,區塊鏈上存儲的是通過哈希算法生成的數據摘要,該方式避免了云服務器竄改數據,但這些方案將醫療數據外包給云服務器,很大程度依賴于服務提供商和應用程序的可靠性。如果第三方惡意,這些加密方案的有效性會大打折扣。再者,由于單一服務器架構的自然限制,即使將數據摘要存儲到云服務器中也存在著數據丟失的風險。
加密方案[20~22]采取跨鏈或者主、側鏈的方式實現醫療隱私保護,方案以聯盟鏈為基礎,主鏈用于存放醫療數據密文的哈希值,側鏈用于數據訪問、交互,但跨鏈之間存在著兩條鏈安全強度是否相同、跨鏈消耗資源較大等問題。
蔡楚君等人[23]提出基于以太坊平臺的醫療數據安全共享方案,結合ElGamal算法、哈希函數實現醫療數據安全共享,并采用智能合約對數據使用者進行訪問控制,降低了計算開銷。Lee等人[24]提出一種建立在美國《健康保險便攜性和責任法案》(HIPAA)基礎上基于智能合約的EHR數據共享與隱私保護,該方案在保護患者身份信息的前提下,利用區塊鏈技術實現醫療數據和患者的隱私安全。李澤濤[25]提出基于區塊鏈的醫療健康數據隱私保護方法研究,該方案將AES與國密SM2算法結合,有效提升了方案的數據加密效率,同時使用群簽名技術進行醫院簽名,降低了醫療數據的敏感性。但上述方案都沒有對醫療糾紛的情況進行探討。
上述研究文獻在一定程度上解決了醫療數據的存儲問題,但還是存在著一定的安全風險,例如,設計智能合約成本較大,與云服務器結合存在著單點故障與第三方可信度問題,非對稱加密技術實現醫療數據的安全性保護會帶來系統吞吐量效率低的情況,跨鏈帶來的成本、跨鏈之間數據安全傳遞、訪問系統響應時間等問題,無法全面兼顧數據隱私性、防竄改性、可追溯性、匿名性、機密性等多項研究目的。本文主要探討患者在醫院就診過程中產生的各種臨床數據保護,如個人身份信息、醫院治療信息、醫院機構信息等。
2 預備知識
2.1 哈希算法
哈希(hash)函數[26]屬于單向密碼體制,它可以將任意長度的數據映射為固定長度的輸出,輸出的結果稱為原始數據的散列或生成的摘要。本實驗采用SHA-256哈希算法。
2.2 雙線性映射
G1、G2為p階乘法循環群,g1、g2分別為群G1和G2的生成元,定義雙線性映射e:G1*G2→GT滿足如下性質[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]。對稱算法的特點是加解密使用相同的密鑰、加解密速度快,適合加密大量數據,但由于交易雙方使用相同的密鑰,需要在網絡中傳輸,所以存在著密鑰安全傳遞問題。
2.4 ECC非對稱加密算法
ECC是基于橢圓曲線理論實現的密鑰加密算法[29],相比于基于大素數分解難題的RSA加密算法,求解或破譯ECC算法的難度是指數級的,橢圓曲線加密算法過程如圖1所示。本實驗調用crypto/elliptic包聲明橢圓曲線模型,選取ECC非對稱加密算法,密鑰強度為256位。
2.5 群簽名
在群簽名方案中,群中的任一成員可以代表群對消息進行匿名簽名,對群成員有著良好的隱私保護,驗證者只可以驗證簽名的真實性,不能確定簽名者的身份。本文選取Boneh等人[30]提出的短群簽名方案,通過群創建算法,群與聯盟鏈結合,一個鏈為一個群,將其分為全局設置、成員注冊、群簽名、驗證算法、追溯算法五個模塊。
3 系統模型與設計目標
3.1 系統模型
由多個醫院組成一個聯盟鏈,其中每個醫院作為聯盟鏈中一個節點,同時也是群成員。系統中包括患者、醫生、醫院、群管理員、監督部門五個實體,系統模型如圖2所示。
患者首先向醫生提交個人身份信息,醫生負責完成對患者的診斷,醫生將患者身份信息通過哈希算法生成身份標識,診斷結束后,對治療結果加密生成密文,即事務加密。醫生使用ECC密鑰對AES密鑰加密,即密鑰加密。醫生將密文取哈希生成摘要,上傳至醫院,醫院作為群成員負責生成群簽名,將身份標識作為key,醫院治療信息(密文、摘要(密文)、群簽名、加密AES密鑰)作為value上傳至聯盟鏈,發生醫療糾紛時,患者向監督部門提交自己的身份標識,監督部門與群管理員聯系,管理員解密、驗簽、追溯,完成對治療結果和簽名的溯源。MDPPM-BC的五個實體介紹如下:
a)患者:病人提交身份信息,向醫生說明身體狀況。
b)醫生:醫生接診患者,接收患者身份信息并了解癥狀,據此給出治療結果。
c)醫院:醫院的管理人員接收醫生上傳的治療結果摘要,調用群簽名算法生成簽名。
d)群管理員:配合監督部門進行事務解密和簽名追溯。
e)監督部門:患者向監督部門提供身份標識,監督部門向群管理員提供身份標識,協助解決醫療糾紛。
3.2 設計目標
基于區塊鏈的醫療數據隱私保護方法實現以下設計目標:隱私性、不可竄改性、可追溯性、匿名性、機密性。隱私性:攻擊者在沒有密鑰對的情況下,無法破解病人醫療數據。防竄改性:系統存儲著醫療數據的哈希值,可以提供有效的防竄改性驗證。可追溯性:在發生醫患糾紛時,可以提供完整的醫院治療結果。匿名性:患者身份信息通過哈希算法處理,獲得患者的真實身份是困難的。機密性:不同類別的醫療數據采取不同的數據隱私保護方式,只有群管理員可以得到完整記錄。
4 方法設計
4.1 區塊數據結構
MDPPM-BC中,區塊具體數據結構如表1所示,由區塊頭和區塊體組成,區塊頭包括時間戳、區塊標識、區塊大小、前塊哈希,區塊體包括索引(身份標識)、密文、摘要(密文)、群簽名、加密AES密鑰。
4.2 符號說明
符號定義如表2所示。
4.3 群簽名
群簽名主要功能如下:
4.3.1 全局設置
Setup(n)→(gpk,gmsk) 管理員運行Setup算法,設n為安全參數,選擇G1、G2為p階乘法循環群,g1、g2分別為群G1和G2的生成元,p為素數,e:G1*G2→GT為一個雙線性映射,存在同構映射G2=φ(G1),構建hash函數H:{0,1}*→Zp,隨機選取參數h←G1/{1G1},選取參數ζ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])→(σ) 醫院i運行Sig算法對m進行群簽名,通過給定gpk=(g1,g2,h,u,v,w)、醫院群簽名密鑰gsk[i]=(Ai,xi)、m∈{0,1}*,計算簽名σ=H(T1,T2,T3,c,sα,sβ,sx,sδ1,sδ2),醫院i對交易信息m執行非交互式零知識,證明如下:隨機選取α,β←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),根據注冊登記表找到醫院。計算公式如下:
4.4 運行流程
基于區塊鏈的醫療數據隱私保護方法主要考慮兩個方面:如何安全、高效地存儲大量醫療數據;醫療糾紛案件逐年遞增,如何緩解醫療糾紛問題。MDPPM-BC主要包括事務加密、密鑰加密、群簽名和事務檢索四個模塊。圖3為數據產生與數據存儲示意圖(包括事務加密、密鑰加密、群簽名),圖4為事務檢索過程。
數據產生與數據存儲包括事務加密、密鑰加密、群簽名;事務加密是醫生通過哈希算法生成患者身份標識IL、通過AES算法加密治療結果p生成密文m;密鑰加密是醫生將AES密鑰通過ECC算法加密,生成加密的AES密鑰ECCkE;群簽名是將密文m取哈希運算生成摘要(密文)Hm,調用群簽名算法生成群簽名σ;最后醫院將身份標識IL作為key,密文、摘要(密文)Hm、群簽名σ、加密AES密鑰ECCkE作為value上傳至聯盟鏈。
患者向監管機構發起糾紛處理請求、提供個人身份標識IL,監管機構向群管理員提交身份標識IL,群管理員進行事務解密、醫院的簽名追溯,完成后反饋給監管機構,協助解決醫患糾紛。
4.4.1 事務加密
患者需提供自己的身份信息DA,醫生負責接診患者后,輸入患者的姓名和身份證號,將兩者鏈接通過哈希算法H()生成哈希值IL,該哈希值IL作為患者的唯一身份標識,診斷結束后,生成患者相應的治療結果p(病歷類型、就診時間、發病癥狀、診斷信息、用藥處方)。醫生調用AES算法加密治療結果,生成密文m,系統每次加密事務的AES密鑰kE均通過隨機數生成,增加了攻擊者的破解難度。事務加密如算法1所示。
算法1 事務加密
4.4.2 密鑰加密
由多家醫院組成的聯盟鏈,每家醫院充當聯盟鏈中的一個節點,即群成員。群與聯盟鏈結合,群管理員維護一個額外的ECC算法密鑰對,其中公鑰pkE對所有節點公開,用于加密AES密鑰kE,私鑰skE由群管理員保存。醫生調用ECC的公鑰pkE加密AES密鑰kE。對稱加密算法與非對稱加密算法結合既解決了對稱密鑰的傳遞問題,又解決了數據加解密效率低的問題。密鑰加密如算法2所示。
算法2 密鑰加密
4.4.3 群簽名
醫生調用哈希算法H()對治療結果生成摘要Hm,上傳至醫院,醫院作為聯盟鏈中的節點,生成群簽名σ。由于治療結果的密文m只包括病歷類型、就診時間、發病癥狀、診斷信息、用藥處方,即使破解密文m,也沒有患者身份信息和醫療機構信息,所以大大保護了患者身份隱私和醫院隱私。最后,醫院收集各類信息,通過key-value形式上傳至聯盟鏈。至此,一筆交易完成。群簽名如算法3所示。
算法3 群簽名
4.4.4 事務檢索
發生醫療糾紛時出示完整的治療結果,一方面可以澄清醫院的誤診行為,另一方面由于治療結果存儲在區塊鏈上,區塊鏈具有去中心化、不可竄改等特性,可防止醫院竄改醫療數據,對于協助監管機構解決醫療糾紛尤為重要。MDPPM-BC中,通過查詢身份標識h1進行高效的數據檢索。首先患者向監督部門提供身份標識IL,然后向群管理員提供身份標識IL,群管理員找到目標事務后,先使用ECC的私鑰skE解密ECCkE得到AES密鑰kE,然后使用AES密鑰kE解密m得到治療結果p,最后通過群簽名中的追溯算法獲得簽名者的身份(醫療機構的信息)。因此,一條醫療記錄只有群管理員才能獲得完整的事務信息,而攻擊者如果沒有獲得所有的密鑰,只能獲得一些不具備分析價值的數據。這極大地保護了醫療數據的隱私。事務檢索如算法4所示。
算法4 事務檢索
5 方法分析
5.1 驗證算法分析
根據群簽名的可驗證性,對于給定一個已簽名的消息對(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中,將一條完整的醫療數據進行分類:醫生通過哈希算法將患者身份信息DA生成身份標識IL;患者診斷治療結果p使用AES算法加密生成密文m,而AES密鑰由ECC算法加密生成ECCkE;醫院節點使用群簽名算法生成簽名信息σ;由哈希算法單向性和本實驗采取的256 bit密鑰強度的ECC以及群簽名特點,破解一條完整的醫療記錄是困難的,同時也降低了一條完整的醫療數據的敏感性,隱私性得到保護。
2)防竄改性 密文m通過哈希算法生成Hm,區塊鏈上存儲著密文的哈希值Hm,因此當數據信息發生改變時,生成的哈希值也將發生改變,通過對比區塊鏈上儲存的哈希值,可以進行有效的防竄改性驗證。
3)可追溯性 群簽名中的驗證算法可確認是否由群成員簽署,發生醫療糾紛時,群管理員首先通過驗證算法確認簽名者身份的真實性。當輸出為false時,簽名驗證不通過,不是該群群成員簽名,返回錯誤信息;輸出結果為true時,使用ECC算法私鑰pkE解密獲得AES密鑰kE,使用kE解密密文m,同時調用追溯算法追溯簽名者身份DA,得到一條完整的醫療記錄。
4)匿名性 醫生將患者姓名和身份證號的哈希值作為患者的唯一身份標識IL,即使攻擊者獲得了哈希值IL,也無法推算出原始數據,通過哈希算法實現了患者身份在區塊鏈中的匿名性。
5)機密性 將一條醫療數據分類,不同類別的信息采取不同的數據隱私保護方式,攻擊者難以破解得到所有密鑰對,保證了一條完整的醫療數據的機密性。
6 系統實施
實驗操作系統:Windows 10 64 bit及Ubuntu 16.04,系統配置:Intel CoreTM i5 8250U,2.6 GHz,4 GB RAM,40 GB硬盤空間。啟動Hyperledger節點采用容器的方式,本文方法只有群管理員權限可以得到完整的醫療記錄,在實際應用中,由于聯盟鏈中的節點由醫院組成,所以節點是可信任的,聯盟鏈中其他節點只需每次調用群簽名中的驗證算法確定是否由群成員簽署即可,發生醫療糾紛時,群管理員首先驗證是否由群成員簽署,之后進行簽名追溯,以及解密治療結果,協助解決醫療糾紛。實驗過程中使用128 bit AES算法加密數據,并使用ECC算法加密AES密鑰。治療結果(病歷類型、就診時間、發病癥狀、診斷信息、用藥處方)的字數一般為幾百字,通過AES算法對其加解密,時間在2 ms左右。使用ECC算法對128 bit AES密鑰進行15次加解密測試,將實驗與文獻[16,25]方案進行對比。實驗結果如圖5所示。
從圖5中可以看出,實驗選用的256 bit ECC加解密算法時間效率高于文獻[25]的國密SM2算法,與文獻[16]的RSA算法相比,具有更高的時間效率,這也印證了RSA算法密鑰長度越長,加解密效率越低的問題。通過15次加解密測試實驗,計算平均值,本文方法較文獻[16,25]的方案加解密效率分別提高46%、14%。在實驗中,對一個數據量摘要(密文):設置聯盟鏈中不同節點個數(10,20,30)對簽名、驗證簽名,發生醫療糾紛時進行的驗證、追溯算法運行時間記錄了10輪實驗結果,取平均值,所需時間開銷實驗結果如圖6所示。
由圖6的數值結果可以發現,隨著節點數量的增加,各類算法耗時遞增。聯盟鏈節點為10時,醫院每次調用群簽名算法生成簽名平均耗時81.1 ms,聯盟鏈中的其他節點驗證節點上傳數據,調用驗證算法時間平均值在87.8 ms,發生醫療糾紛,群管理員確定簽名者身份所需時間平均值為96.04 ms;節點為20時,生成簽名平均耗時114.8 ms,其他節點驗證算法時間平均值在129.5 ms,發生醫療糾紛,群管理員確定簽名者身份所需時間平均值為136.6 ms;聯盟鏈節點為30時,生成簽名平均耗時148.2 ms,聯盟鏈中的其他節點驗證算法時間平均值在162.7 ms,發生醫療糾紛,群管理員確定簽名者身份所需時間平均值為170.9 ms。因此本文方法在滿足數據隱私保護的前提下,提升了數據的加解密效率,隨著節點個數的增長,檢索事務所需時間增長穩定,因此總體交易存儲開銷是合理的。
完成上述工作后,將本文方案與文獻[15,16,19,22]方案進行對比,對比結果如表3所示。
表3從六個方面將本文方案與現有研究成果進行比較。文獻[15]的數據存儲方式采用非對稱加密算法,存儲效率較低,且該方案醫院簽名信息直接體現在醫療信息類,降低了數據分類的有效性;文獻[16]的醫療數據存儲方式采用AES與RSA算法,與本實驗選取的256位ECC算法相比,時間效率低;文獻[19]基于云服務器與區塊鏈進行數據存儲,不能完全保證云服務器信任問題,且該方案沒有對數據進行分類,沒有降低醫療數據的敏感性;文獻[22]中,醫療數據存儲只采用非對稱加密方式,效率較低。綜上所述,本文提出的基于區塊鏈的醫療數據隱私保護方法具有一定的優勢。
7 結束語
本文提出一種基于區塊鏈的醫療數據隱私保護方法,在保證患者身份隱私的前提下,利用AES和ECC加密算法提高了醫療數據的加解密效率,且在發生醫療糾紛時,可以提供完整的醫療治療結果。在現實中,任何加密方案都不是絕對安全的,因此本文通過分類一條完整的醫療記錄,大大降低了事務的敏感性。下一步的研究將主要集中在選擇更加安全高效的群簽名算法,以此更好地挖掘系統的潛力。
參考文獻:
[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]晏燕, 李靜靜, 劉青. 基于多重異或加密的區塊鏈混幣機制[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]苗美霞, 李佳薇, 王贇玲, 等. 隱私保護的高效可驗證數據流協議[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]白永旗, 張冰斌, 郭渠蓮, 等. 我國醫療糾紛院內調解機制的困境與完善路徑[J]. 醫學與法學, 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]韓璇, 袁勇, 王飛躍. 區塊鏈安全問題: 研究現狀與展望[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]王子鈺, 劉建偉, 張宗洋, 等. 基于聚合簽名與加密交易的全匿名區塊鏈[J]. 計算機研究與發展, 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 算法可證明安全的區塊鏈隱私保護方案[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]刁一晴, 葉阿勇, 張姣美, 等. 基于群簽名和同態加密的聯盟鏈雙重隱私保護方法[J]. 計算機研究與發展, 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]徐文玉, 吳磊, 閻允雪. 基于區塊鏈和同態加密的電子健康記錄隱私保護方案[J]. 計算機研究與發展, 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]張磊, 鄭志勇, 袁勇. 基于區塊鏈的電子醫療病歷可控共享模型[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]陶雪晴, 劉立新, 張曉琳, 等. 基于區塊鏈的醫療數據流共享[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: 聯盟式醫療區塊鏈系統[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]韓剛, 呂英澤, 羅維, 等. 重大疫情患者隱私數據保護方案研究[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]牛淑芬, 陳俐霞, 李文婷, 等. 基于區塊鏈的電子病歷數據共享方案[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]蔡楚君, 柳毅. 基于以太坊平臺的醫療數據安全共享方案[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]李澤濤. 基于區塊鏈的醫療健康數據隱私保護方法研究[D]. 北京:北方工業大學, 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]. 中興通信技術, 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.