徐健 陳志德 龔平 王可可
摘 要:針對(duì)在當(dāng)前醫(yī)療系統(tǒng)中醫(yī)療記錄授權(quán)流程繁瑣、記錄分享效率低下和身份驗(yàn)證困難問(wèn)題,提出一種結(jié)合區(qū)塊鏈技術(shù)與密碼學(xué)的非對(duì)稱(chēng)加密技術(shù)的方法,將非對(duì)稱(chēng)加密技術(shù)的安全性高、多方協(xié)作簡(jiǎn)單等特性應(yīng)用到區(qū)塊鏈技術(shù)構(gòu)成的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)中,實(shí)現(xiàn)醫(yī)療記錄跨域分享的可追蹤、數(shù)據(jù)的不可篡改和身份驗(yàn)證的簡(jiǎn)化。首先,基于區(qū)塊鏈技術(shù)的不可篡改性結(jié)合非對(duì)稱(chēng)加密技術(shù),設(shè)計(jì)了文件同步合約和授權(quán)合約,其分布式儲(chǔ)存優(yōu)勢(shì)保證了用戶(hù)醫(yī)療信息隱私。其次,跨域獲取合約的設(shè)計(jì)能夠有效驗(yàn)證數(shù)據(jù)分享雙方身份以及提高身份驗(yàn)證效率,不需要第三方公證機(jī)構(gòu)便可安全過(guò)濾非合法用戶(hù)。仿真實(shí)驗(yàn)結(jié)果顯示,所提出的方案相比傳統(tǒng)使用云計(jì)算方法解決醫(yī)療記錄分享問(wèn)題的方案,在數(shù)據(jù)防盜竊、多方身份驗(yàn)證和節(jié)約系統(tǒng)開(kāi)銷(xiāo)方面有明顯優(yōu)勢(shì)。該方案對(duì)利用區(qū)塊鏈的去中心化、可審計(jì)等優(yōu)點(diǎn)解決數(shù)據(jù)分享過(guò)程中的安全問(wèn)題提供了參考,為解決數(shù)據(jù)跨域分享、跨域身份驗(yàn)證問(wèn)題提供了借鑒思路。
關(guān)鍵詞:區(qū)塊鏈;醫(yī)療記錄;去中心化;隱私保護(hù);智能合約
中圖分類(lèi)號(hào):TP399
文獻(xiàn)標(biāo)志碼:A
Abstract: To solve the problems of the cumbersome process in medical record authorization, the low efficiency in record sharing and the difficulty in identity authentication in current medical systems, a method of asymmetric encryption technology combining with blockchain technology was proposed to make medical records crossdomain sharing traceable, data tamperresistant and identity authentication simplified by applying charatistics of asymmetric encryption technology like high safety and simple cooperation to the peertopeer network constructed by blockchain technology. Firstly, based on the antitampering of blockchain technology and with asymmetric encryption technology combined, file synchronization contract and authorization contract were designed, in which the distributed storage advantages secure the privacy of users medical information. Secondly, crossdomain acquisition contracts were designed to validate the identity of both parties and improve authentication efficiency, so that nonlegitimate users can be securely filtered without thirdparty notary agency. The experimental and analysis results show that the proposed scheme has obvious advantages in data guard against theft, multiparty authentication and data access control compared with the traditional scheme of using cloud computing method to solve medical record sharing problem. The proposed method provides a good application demonstration for solving the security problems in the data sharing process across medical institutions and a reference for crossdomain identity verification in the process of sharing data by using decentralization and auditability of blockchain technology.
英文關(guān)鍵詞Key words: Blockchain; electronic medical records; decentralization; privacy protection; smart contracts
0 引言
醫(yī)療記錄信息,傳統(tǒng)來(lái)說(shuō)包括病人的基本資料、檢查癥狀、醫(yī)囑信息, 以及非文本檢查信息(包括超聲圖像、核磁圖像等),這些都是患者寶貴的生命體數(shù)據(jù),不僅為當(dāng)前醫(yī)生對(duì)病情作出判斷提供依據(jù),還為其他醫(yī)護(hù)人員對(duì)患者情況作出正確評(píng)估、理解歷史治療方案、進(jìn)一步制定個(gè)性化治療方案提供依據(jù)和參考[1]。在醫(yī)生對(duì)患者的綜合性復(fù)雜疾病及各種慢性疾病方面,一份可靠、安全、易訪問(wèn)的電子病歷檔案無(wú)疑會(huì)提高醫(yī)療文件搜索速度和有益于對(duì)患者綜合情況評(píng)估制定合理方案。
對(duì)于一個(gè)病人來(lái)說(shuō),在檢查過(guò)程中一個(gè)病癥可能伴隨這多種特征,在醫(yī)生診斷病癥時(shí),通常做法是詢(xún)問(wèn)病人一些歷史病癥、身體狀況等。這樣的做法有兩個(gè)缺點(diǎn):1)很難保證病人能夠精確記得歷史病癥的量化值,例如血壓歷史記錄等; 2)病人在描述病癥時(shí)往往夾雜非專(zhuān)業(yè)醫(yī)學(xué)詞語(yǔ),這將影響醫(yī)生對(duì)病人歷史病癥的理解。因此一份精準(zhǔn)、精確的醫(yī)療記錄文件對(duì)一個(gè)醫(yī)生來(lái)說(shuō)無(wú)疑會(huì)提供更加可靠的參考。
針對(duì)這個(gè)問(wèn)題,傳統(tǒng)的方案是在就醫(yī)的機(jī)構(gòu)保留一份醫(yī)療記錄,當(dāng)患者下次繼續(xù)就醫(yī),就可以向醫(yī)生查詢(xún)相關(guān)的病例歷史記錄;然而,一旦病人在不同科室就醫(yī),需要從原來(lái)的科室醫(yī)療記錄庫(kù)或者醫(yī)療機(jī)構(gòu)的數(shù)據(jù)庫(kù)里調(diào)用這份醫(yī)療記錄,這樣的解決方案不僅效率低下,而且針對(duì)患者在不同醫(yī)療機(jī)構(gòu)或者不同的地域就醫(yī)來(lái)說(shuō),這些解決方案就不可用。
為解決這個(gè)問(wèn)題,隨著云計(jì)算、云存儲(chǔ)等互聯(lián)網(wǎng)技術(shù)的流行,不少學(xué)者把醫(yī)療數(shù)據(jù)的儲(chǔ)存和管理放到云端執(zhí)行,即在醫(yī)院形成一份電子醫(yī)療記錄文件(Electronic Medical Record, EMR),由第三方云服務(wù)機(jī)構(gòu)托管。這樣的方案解決了不同機(jī)構(gòu)就醫(yī)、不同地區(qū)就醫(yī)共享醫(yī)療記錄的難題[2-5]。Berman[6]提出了一種基于大規(guī)模相關(guān)性的數(shù)據(jù)庫(kù)網(wǎng)絡(luò)存儲(chǔ)隱私信息和醫(yī)療記錄信息,這些數(shù)據(jù)庫(kù)之間通過(guò)主機(jī)與服務(wù)器之間的通信保證數(shù)據(jù)傳輸,但是在方案布置上具有較高成本,服務(wù)布置具有很高復(fù)雜度。Shen等[7]提出一種能夠驗(yàn)證數(shù)據(jù)完整性與安全性的數(shù)據(jù)存儲(chǔ)方案,該方案能夠在下載數(shù)據(jù)之前及時(shí)發(fā)現(xiàn)數(shù)據(jù)是否被篡改。在醫(yī)療大數(shù)據(jù)儲(chǔ)存方面,Cheng等[8]提出一種將大數(shù)據(jù)分割為一系列有序數(shù)據(jù)列后,然后在多種云儲(chǔ)存服務(wù)器上放置這些數(shù)據(jù)列,這樣保證了數(shù)據(jù)的安全性。然而,一份完整的EMR文件通常包含患者的個(gè)人隱私信息,這樣的一份EMR文件轉(zhuǎn)交給第三方云服務(wù)機(jī)構(gòu)管理保存,在隱私保護(hù)與安全性上沒(méi)有保證。第三方云服務(wù)提供機(jī)構(gòu)在云服務(wù)研究中通常被認(rèn)為是半可信的,因?yàn)橐坏┰品?wù)管理不當(dāng)就會(huì)造成數(shù)據(jù)被篡改,泄露甚至丟失,因此,中心化結(jié)構(gòu)的云服務(wù)器,在數(shù)據(jù)的隱私與安全性方面存在諸多問(wèn)題。
目前,利用區(qū)塊鏈技術(shù)解決這一難題的學(xué)者也有很多。Wang等[9]提出了一種結(jié)合了屬性加密(AttributeBased Encryption, ABE)和身份加密(IdentityBased Encryption, IBE)的加密方案加密醫(yī)療數(shù)據(jù),并且利用基于身份的簽名(IdentityBased Signature, IBS)來(lái)實(shí)現(xiàn)數(shù)字簽名,方便系統(tǒng)的管理,而不需要引入不同的系統(tǒng),使用區(qū)塊鏈技術(shù)來(lái)確保完整性和醫(yī)療數(shù)據(jù)的可追溯性。但在此方案中,并未針對(duì)數(shù)據(jù)存儲(chǔ)位置作出明顯改變,依然存在云端,這將極大降低數(shù)據(jù)安全性。Xia等[10]提出了一種基于區(qū)塊鏈技術(shù)的醫(yī)療數(shù)據(jù)分享框架,這個(gè)方案設(shè)立了一些訪問(wèn)規(guī)則保證了儲(chǔ)存在云端數(shù)據(jù)的安全性,為了實(shí)現(xiàn)數(shù)據(jù)的溯源性,該方案設(shè)置了一些智能合約去實(shí)現(xiàn)數(shù)據(jù)審計(jì)功能,這些智能合約能夠幫助快速識(shí)別數(shù)據(jù)修改、數(shù)據(jù)刪除等不利于保護(hù)數(shù)據(jù)完整性的行為,并且定位其地址。但是,此方案中數(shù)據(jù)的訪問(wèn)控制也是只針對(duì)云端數(shù)據(jù),數(shù)據(jù)源頭安全性并未解決。Hussein等[11] 提出了基于離散小波變換與遺傳算法技術(shù)優(yōu)化訪問(wèn)隊(duì)列,增強(qiáng)整體安全性。此外還加入了密鑰生成器增強(qiáng)系統(tǒng)魯棒性與訪問(wèn)控制,最后利用區(qū)塊鏈記錄訪問(wèn)日志。雖然在安全性上采用諸多技術(shù)加持,但頻繁訪問(wèn)區(qū)塊鏈將導(dǎo)致交易費(fèi)用急增,系統(tǒng)耗費(fèi)過(guò)大,在一般實(shí)用性上欠佳。Liu等[12]提出了一種基于區(qū)塊鏈的EMR隱私保護(hù)數(shù)據(jù)共享方案(Blockchain based Privacypreserving Data Sharing, BPDS),在BPDS中,原始EMR安全地存儲(chǔ)在云中,索引保留在防篡改聯(lián)盟區(qū)塊鏈中。通過(guò)這種方式,可以大幅降低醫(yī)療數(shù)據(jù)泄漏的風(fēng)險(xiǎn),同時(shí),區(qū)塊鏈中的索引確保EMR不能被任意修改。但缺點(diǎn)也很明顯,基于聯(lián)盟鏈的區(qū)塊鏈系統(tǒng)中,其半去中心化的特征使得操作數(shù)據(jù)權(quán)力容易集中,這也會(huì)導(dǎo)致數(shù)據(jù)泄露問(wèn)題。
在本文中,利用區(qū)塊鏈技術(shù)的安全性與隱私性,能夠很好解決上述問(wèn)題。區(qū)塊鏈技術(shù)能夠分布式在各個(gè)計(jì)算機(jī)節(jié)點(diǎn)形成一個(gè)賬本,并且這個(gè)賬本是分布式的,不能被修改。在EMR儲(chǔ)存與管理領(lǐng)域中,把EMR數(shù)據(jù)的儲(chǔ)存于管理放在區(qū)塊鏈這個(gè)分布式帳本中,能夠很好地解決兩個(gè)問(wèn)題:1) 是數(shù)據(jù)儲(chǔ)存安全問(wèn)題,2) 數(shù)據(jù)跨域共享問(wèn)題。盡管能夠解決傳統(tǒng)云計(jì)算對(duì)EMR文件儲(chǔ)存于管理的關(guān)鍵問(wèn)題,但是對(duì)于利用區(qū)塊鏈這一分布式賬本技術(shù)解決EMR文件儲(chǔ)存與管理仍然面臨著幾個(gè)問(wèn)題:1) 面對(duì)昂貴的區(qū)塊鏈數(shù)據(jù)交易費(fèi)用,如何解決大文件儲(chǔ)存的問(wèn)題?2) 如何保證用戶(hù)的EMR文件隱私不被泄露?3) 如何保證用戶(hù)或醫(yī)生查詢(xún)EMR信息方便快捷?
為解決這幾個(gè)問(wèn)題,本文提出了一個(gè)基于區(qū)塊鏈技術(shù)的實(shí)時(shí)安全的醫(yī)療記錄解決方案(RealtimeSecurity Medical Record, RSMR)。本方案在數(shù)據(jù)儲(chǔ)存過(guò)程中利用一個(gè)星際文件系統(tǒng)(InterPlanetary File System, IPFS)[13],該系統(tǒng)是一個(gè)面向全球的、點(diǎn)對(duì)點(diǎn)的分布式版本文件系統(tǒng),該系統(tǒng)能夠?qū)⑺芯哂邢嗤募到y(tǒng)的計(jì)算設(shè)備連接在一起,尋找文件時(shí)不需要驗(yàn)證發(fā)送者的身份,而只需要驗(yàn)證內(nèi)容的哈希。在數(shù)據(jù)分享管理過(guò)程中,本文采用基于以太坊(Ethereum)[14]的智能合約(Smart Contract)技術(shù),該技術(shù)能夠保證在沒(méi)有第三方的情況下進(jìn)行可信交易,這些交易可追蹤且不可逆轉(zhuǎn)。
總的來(lái)說(shuō),本文貢獻(xiàn)如下:
1) 提出一種基于區(qū)塊鏈技術(shù)的電子醫(yī)療記錄ERM存儲(chǔ)與管理框架,該框架能夠很好地解決用戶(hù)數(shù)據(jù)的隱私與安全問(wèn)題。
2) 設(shè)計(jì)了一種基于IPFS數(shù)據(jù)儲(chǔ)存與基于Ethereum的智能合約管理數(shù)據(jù)的數(shù)據(jù)安全分享方案。
3) 提出了一個(gè)基于Ethereum智能合約的多方協(xié)商方案。
1 系統(tǒng)模型
1.1 應(yīng)用場(chǎng)景
傳統(tǒng)的醫(yī)療記錄解決方案在儲(chǔ)存和實(shí)時(shí)查看醫(yī)療記錄方面受限于授權(quán)和公務(wù)部門(mén)效率影響,例如:患者(Patient)在某地的醫(yī)院A檢查后,由于醫(yī)療設(shè)備限制不得不轉(zhuǎn)院到醫(yī)院B,在拿到自己的醫(yī)療記錄過(guò)程中需要找醫(yī)生簽字蓋章授權(quán),由于我國(guó)較好醫(yī)院就醫(yī)人數(shù)常年處于飽和水平,需要提前預(yù)約,拿到自己的醫(yī)療記錄往往需要排隊(duì)等候等等復(fù)雜過(guò)程。對(duì)于患者來(lái)說(shuō),這將是極大的時(shí)間開(kāi)銷(xiāo),病情嚴(yán)重甚至威脅到生命安全。另外,一旦患者遺失這份紙質(zhì)記錄,在患者后續(xù)就醫(yī)過(guò)程中無(wú)法提供完整的醫(yī)療記錄,這樣在跨域就醫(yī)方面可無(wú)法提供可信記錄。由于醫(yī)療技術(shù)日益發(fā)達(dá),對(duì)患者評(píng)估需要多方面的檢查,有時(shí)檢查項(xiàng)目甚至超過(guò)10項(xiàng),有效完整保存這份EMR至關(guān)重要。對(duì)于患者的醫(yī)療記錄EMR來(lái)說(shuō),EMR中往往儲(chǔ)存這患者的隱私信息,如何保證存放在醫(yī)院數(shù)據(jù)庫(kù)中的EMR信息不被不法分子獲?。?/p>
為解決上述問(wèn)題,本方案針對(duì)目前在醫(yī)療記錄EMR領(lǐng)域的四大核心問(wèn)題:1) 如何安全有效儲(chǔ)存患者的EMR?2) 如何實(shí)時(shí)上傳EMR?3) 如何設(shè)置訪問(wèn)控制過(guò)濾非法者?4) 如何方便跨域下載EMR; 設(shè)計(jì)了三個(gè)基于Ethereum的以太坊智能合約:文件同步合約、授權(quán)合約和跨域獲取合約。
1.2 智能合約算法
1.2.1 文件同步合約
為保證上傳到RSMR上的文件不被盜竊,本文中在加密層中用一種非對(duì)稱(chēng)加密算法ECC(Elliptic Curve Cryptography)[15]用于給患者的EMR加密。在本方案中,用戶(hù)在醫(yī)院注冊(cè)會(huì)給患者本方案中患者需要保存的三個(gè)數(shù)字密碼:一個(gè)是經(jīng)過(guò)哈希算法SHA256加密過(guò)后唯一ID以及用ECC算法加密的公私密鑰對(duì)PK(Public Key)、SK(Security Key),另外就是經(jīng)過(guò)IPNS協(xié)議經(jīng)過(guò)哈希加密后的醫(yī)療記錄文件夾地址FolderAddress。整個(gè)初始用戶(hù)數(shù)據(jù)用式(1)表示:
Patient{ID,PK,SK,F(xiàn)olderAddress,Permission}(1)
患者經(jīng)過(guò)哈希算法SHA-256加密過(guò)后唯一ID用于唯一識(shí)別患者身份,ECC算法加密的公私密鑰對(duì)PK用于對(duì)患者的EMR加密,加密后得到一個(gè)唯一文件ID(HashID),加密可用式(2)表示:
1.3 安全性分析
文件儲(chǔ)存地址安全 假設(shè)攻擊者能夠通過(guò)某種手段得到患者保存在RSMR的數(shù)據(jù),但是保存在RSMR中的數(shù)據(jù)并不會(huì)被查看,也不會(huì)被刪除或者被修改,因此數(shù)據(jù)是安全的。
區(qū)塊鏈的特性作為一種時(shí)間戳系列的賬本,一旦共識(shí)機(jī)制確認(rèn),便不發(fā)修改內(nèi)容。如果攻擊者想要修改在區(qū)塊鏈系統(tǒng)中儲(chǔ)存的數(shù)據(jù),必須仿造一個(gè)跟源鏈一樣的主鏈,而這需要極大算力,這幾乎是不可能的。另外在RSMR中儲(chǔ)存的數(shù)據(jù)SecurityFile被分成序列(sequence1,sequence2,…,sequencen)儲(chǔ)存在與患者計(jì)算機(jī)相連的機(jī)器上,得到這些數(shù)據(jù)并按照一定序列順序拼接才能形成源文件,其概率為1/∏ni=1i,想要按照順序合成這些文件,這也是困難的。
數(shù)據(jù)防篡改 假設(shè)攻擊者能夠通過(guò)某種手段得到被分成碎片的文件并且按照一定順序拼接起來(lái),得到跟源文件一樣的文件。攻擊者想要查看得到文件內(nèi)容,需要通過(guò)患者的SK才能解密文件。而通過(guò)非對(duì)稱(chēng)加密的文件SecurityFile,想要在不得到SK情況下解密是困難的。
在“跨域獲取合約”算法中,經(jīng)過(guò)加密的文件被儲(chǔ)存在區(qū)塊鏈中。因此,在得不到患者的私鑰情況下,即使文件與源文件一樣,也無(wú)法解密文件,即攻擊者并不能查看患者的EMR真實(shí)內(nèi)容,從而保證患者隱私安全。
數(shù)據(jù)防盜竊 攻擊者通過(guò)某種手段試圖使用一個(gè)虛假文件替換儲(chǔ)存在RSMR中的真實(shí)文件,在源文件存在情況下,這是困難的。
在本文“授權(quán)合約”描述中,對(duì)執(zhí)行智能合約的文件需要進(jìn)行SecurityFile的哈希值重復(fù)性檢查,當(dāng)攻擊者駛?cè)胧褂靡粋€(gè)虛假文件M′執(zhí)行智能合約,通過(guò)哈希算法得到的哈希為hashM′,源文件M執(zhí)行智能合約,通過(guò)哈希算法得到的哈希為hashM。根據(jù)哈希規(guī)則,兩個(gè)內(nèi)容不是完全相同的文件經(jīng)過(guò)哈希得到的hash值是不同的,即hashM′≠hashM。這樣,虛假文件M′不能夠通過(guò)REMR智能合約層的哈希重復(fù)性檢驗(yàn),合約不能執(zhí)行。因此,這個(gè)機(jī)制能夠保證用戶(hù)的源文件不能夠被攻擊者使用的虛假文件所替換,從而保證了用戶(hù)EMR文件溯源安全性。
1.4 預(yù)期目標(biāo)
1) 隱私保護(hù)。
本方案中,基于區(qū)塊鏈的特性,患者的個(gè)人信息將會(huì)被唯一哈希值標(biāo)識(shí),而不像傳統(tǒng)醫(yī)療機(jī)構(gòu)中使用用戶(hù)姓名或者ID標(biāo)識(shí)。用戶(hù)的醫(yī)療記錄文件訪問(wèn)權(quán)掌握在自己手中,基于密碼學(xué)的非對(duì)稱(chēng)加密技術(shù)使得用戶(hù)可以在每次上傳中重新生成公私鑰對(duì),這樣實(shí)現(xiàn)了用戶(hù)對(duì)每個(gè)文件的訪問(wèn)權(quán)限限定。而醫(yī)療機(jī)構(gòu)A,則在加入到區(qū)塊鏈網(wǎng)絡(luò)中時(shí),身份信息已被唯一哈希標(biāo)識(shí),使其同步的文件具有權(quán)威性。本方案中區(qū)塊鏈網(wǎng)絡(luò)本質(zhì)上是保存文件唯一標(biāo)識(shí)的哈希值,因此即使得到了文件哈希,沒(méi)有用戶(hù)的私鑰也無(wú)法解開(kāi)任何在區(qū)塊鏈網(wǎng)絡(luò)中的任何密文信息。
2) 不可修改性。
基于區(qū)塊鏈的設(shè)計(jì),使得上傳到到私有網(wǎng)絡(luò)中的文件帶有時(shí)間戳,任何操作記錄都被同步到所有節(jié)點(diǎn),保證了文件使用透明性?;趨^(qū)塊鏈特性,每個(gè)文件的區(qū)塊中保存有上一個(gè)所存文件的哈希,要想改變當(dāng)前文件哈希必須保證私有網(wǎng)絡(luò)中超過(guò)50%的節(jié)點(diǎn)同意,在一個(gè)較大規(guī)模的區(qū)塊鏈網(wǎng)絡(luò)中,這幾乎是一件不可能的事。所以,對(duì)初始文件的任何改變都會(huì)實(shí)時(shí)顯示在區(qū)塊鏈網(wǎng)絡(luò)中,保證了本方案私有區(qū)塊鏈網(wǎng)絡(luò)中文件的不可修改性。
3) 存取流程簡(jiǎn)化。
在本文方案中,基于私有區(qū)塊鏈的數(shù)據(jù)在以上分析中保證了其不可篡改性,在儲(chǔ)存過(guò)程中,只需要一次儲(chǔ)存便可隨時(shí)隨地訪問(wèn)。基于哈希算法的重復(fù)文件檢查機(jī)制,使得在重復(fù)文件上傳到私有區(qū)塊鏈網(wǎng)絡(luò)中時(shí),具有相同的文件哈希,真正實(shí)現(xiàn)“一次上傳,永久保存”。在用戶(hù)授權(quán)醫(yī)院機(jī)構(gòu)得到訪問(wèn)EMR文件權(quán)限后,醫(yī)院機(jī)構(gòu)只需根據(jù)哈希值便可唯一獲取到指定文件,節(jié)約了傳統(tǒng)醫(yī)療記錄保存方案中的時(shí)間成本,徹底實(shí)現(xiàn)“精準(zhǔn)定位”。故在本文實(shí)驗(yàn)方案中,存取過(guò)程都是一次性操作,大大節(jié)約了人力成本、時(shí)間成本,提高檢索文件精確度。
2 實(shí)驗(yàn)和表現(xiàn)評(píng)估
2.1 方案部署
本方案實(shí)驗(yàn)過(guò)程中,采用5個(gè)第三代B型樹(shù)莓派(ARM CortexA53 1.2GHz,1GB RAM,Ubuntu OS)作為硬件載體模擬節(jié)點(diǎn)A、B、C、D、E的功能,軟件方案使用本文前文所述協(xié)議分布在每一個(gè)硬件載體。為解決拓?fù)浣Y(jié)構(gòu)中拜占庭問(wèn)題,本文模擬實(shí)驗(yàn)部分選擇節(jié)點(diǎn)管理工具IPFSCluster解決,分為服務(wù)端與管理端。管理端一般配置在醫(yī)院服務(wù)器,本文擬在A節(jié)點(diǎn)部署管理端,用于管理EMR文件在多節(jié)點(diǎn)執(zhí)行相同操作,例如管理上傳文件、更新文件、下載文件。在B、C、D、E硬件上部署服務(wù)端用于執(zhí)行EMR文件傳輸。
2.2 實(shí)驗(yàn)流程
本文實(shí)驗(yàn)按照如下步驟執(zhí)行:
步驟1 密鑰生成與同步。所有節(jié)點(diǎn)共享一個(gè)公鑰PK,當(dāng)A節(jié)點(diǎn)生成公私密鑰對(duì)后,合約執(zhí)行把PK同步到B、C、D、E節(jié)點(diǎn)。只有樹(shù)莓派A節(jié)點(diǎn)所分配的初始私鑰SK可以解密EMR文件。
步驟2 啟動(dòng)節(jié)點(diǎn)。本文中默認(rèn)配置有集群管理端的A節(jié)點(diǎn)作為默認(rèn)啟動(dòng)節(jié)點(diǎn),負(fù)責(zé)分配EMR執(zhí)行的任務(wù),主要包括EMR文件公鑰加密與上傳同步形成區(qū)塊鏈系統(tǒng),智能合約執(zhí)行使默認(rèn)節(jié)點(diǎn)地址自動(dòng)拷貝到其余4個(gè)節(jié)點(diǎn)。啟動(dòng)完成后,會(huì)給當(dāng)前機(jī)器分配一個(gè)唯一哈希ID(QmbQy…mG9bP)作為計(jì)算機(jī)地址唯一識(shí)別,另外包含與本節(jié)點(diǎn)相連的四個(gè)主機(jī)地址。
步驟3 上傳EMR文件。如圖3所示上傳加密后的EMR文件會(huì)得到文件唯一哈希(QmY…Dz4TM)地址與上傳時(shí)間,這個(gè)地址是EMR文件在區(qū)塊鏈網(wǎng)絡(luò)中的唯一識(shí)別標(biāo)志,得到這個(gè)哈希便可以得到這份加密后的EMR文件。
步驟4 確認(rèn)交易。節(jié)點(diǎn)A上傳到私有集群網(wǎng)絡(luò)中的一份加密文檔SecurityFile,得到的哈希值Hashtext與時(shí)間戳Timestamp等,根據(jù)Ethereum的工作量證明(Proof of Work, POW)共識(shí)機(jī)制確認(rèn)交易,同步到其余4個(gè)私有節(jié)點(diǎn)。根據(jù)區(qū)塊鏈特性,若有節(jié)點(diǎn)想要改變文件,需要得到50%以上節(jié)點(diǎn)同意,但這個(gè)過(guò)程算力成本巨大,一般來(lái)說(shuō)概率極小,保證了EMR文件的防篡改性,醫(yī)療隱私得以保護(hù)。
步驟5 文件溯源。在本文模型場(chǎng)景中,跨域醫(yī)院HospitalB想要獲取到初始醫(yī)院HospitalA的文件,必須得到患者的允許下載并提供私鑰解密文件,文件更新通過(guò)管理端A節(jié)點(diǎn)下文件目錄的哈希值,基于區(qū)塊鏈特性,文件會(huì)在B、C、D、E節(jié)點(diǎn)同步一份副本哈希,實(shí)現(xiàn)文件可溯源性,如圖6所示,輸入文件哈希值便可以下載EMR文件到本地然后觸發(fā)智能合約中的算法,輸入私鑰SK便可解密得到EMR源文件。
2.3 實(shí)驗(yàn)分析
2.3.1 儲(chǔ)存效率
通常來(lái)說(shuō),一份EMR文件大小在1~5MB,在本方案中上傳與下載一份EMR文件在小于100ms級(jí)別, 但實(shí)際應(yīng)用場(chǎng)景來(lái)說(shuō),一個(gè)醫(yī)院通??赡芡瑫r(shí)存取成百上千分EMR文件,在如此高并發(fā)文件存取條件下,本實(shí)驗(yàn)?zāi)M了從1~300份EMR文件并行。同時(shí)考慮到實(shí)際情況,有一部分EMR文件是多媒體文件,有一部分是純電子文檔文件,兩種不同類(lèi)型文件的實(shí)驗(yàn)表現(xiàn)如圖4所示。
從圖4中可以看出,純文本文件與多媒體融合文件增長(zhǎng)趨勢(shì)基本一致,隨著文件增多,節(jié)點(diǎn)確認(rèn)壓力變大,響應(yīng)時(shí)間變長(zhǎng)??梢钥闯觯涸谕瑫r(shí)上傳EMR文件在180個(gè)文件以下響應(yīng)速度呈平緩下降趨勢(shì),響應(yīng)時(shí)間大約在400ms以下;但是在文件數(shù)量在180個(gè)以上時(shí),響應(yīng)時(shí)間急速增加,其中的原因可能是實(shí)驗(yàn)中基于POW共識(shí)機(jī)制中,打包合約節(jié)點(diǎn)(挖礦節(jié)點(diǎn))過(guò)少,導(dǎo)致交易緩慢,理論上將實(shí)驗(yàn)布置到公網(wǎng)中效率會(huì)進(jìn)一步優(yōu)化。但是180個(gè)文件情況下,完全能夠滿(mǎn)足模型中的要求,用戶(hù)不會(huì)感到明顯遲延現(xiàn)象。總體來(lái)說(shuō)系統(tǒng)表現(xiàn)良好,未出現(xiàn)明顯堵塞現(xiàn)象,符合研究初始期望值。
從表2中可以看出,在儲(chǔ)存方式中,本方案采用的基于區(qū)塊鏈技術(shù)的非中心化儲(chǔ)存,這種去中心化儲(chǔ)存方式能夠有效解決DACMACS和ABE中半可信第三方可能造成的數(shù)據(jù)泄露和竊取問(wèn)題。另外,由于本方案密文下載不依賴(lài)于數(shù)據(jù)屬性個(gè)數(shù),故在加密階段時(shí),相同文件條件下需要時(shí)間為T(mén)e,相對(duì)于依賴(lài)于屬性個(gè)數(shù)的方案DACMACS的加密時(shí)間lTe來(lái)說(shuō),加密時(shí)間開(kāi)銷(xiāo)降低,解密階段也是如此。在多節(jié)點(diǎn)并行時(shí),綜合時(shí)間大幅降低。訪問(wèn)控制方面,DACMACS中未設(shè)立數(shù)據(jù)訪問(wèn)控制策略,本方案中的訪問(wèn)控制策略能夠幫助用戶(hù)與其他醫(yī)療機(jī)構(gòu)迅速識(shí)別合法訪問(wèn)人,并且給出EMR文件。節(jié)約帶寬方面,DACMACS與ABE方案想要獲得密文需要依賴(lài)于屬性的數(shù)量,其大小分別為(3l+1)M和l2+lM+M,本方案在通過(guò)訪問(wèn)控制后下載密文,在醫(yī)院獲取多個(gè)患者EMR時(shí)能夠節(jié)約帶寬。綜上,本方案相對(duì)于DACMACS與ABE方案,能夠明顯提升數(shù)據(jù)安全性,節(jié)約用戶(hù)或醫(yī)院時(shí)間,能夠有效識(shí)別合法訪問(wèn)者,節(jié)約下載帶寬。
2.3.3 交易儲(chǔ)存開(kāi)銷(xiāo)
為了防止無(wú)意義交易,例如一個(gè)空交易產(chǎn)生,浪費(fèi)礦工打包交易資源,現(xiàn)有的共有鏈都采用了交易收費(fèi)的手段防止無(wú)意義交易。簡(jiǎn)單來(lái)說(shuō),每執(zhí)行一筆交易,都需要一定的交易費(fèi)用,根據(jù)一筆交易合約的計(jì)算步驟能夠計(jì)算出對(duì)應(yīng)交易所需費(fèi)用。以太坊中用Gas計(jì)算交易費(fèi)用[18],具體每個(gè)計(jì)算步驟與交易費(fèi)用如表3所示。
3 結(jié)語(yǔ)
在本文中,提出了區(qū)塊鏈技術(shù)在特定醫(yī)療環(huán)境中應(yīng)用的情景:跨域記錄分享與溯源,并系統(tǒng)討論了本文方案在隱私保護(hù)、存取效率、安全性、部署復(fù)雜性、易用性等方面的優(yōu)缺點(diǎn)。實(shí)驗(yàn)結(jié)果表明,在上述方面性能指標(biāo)方面,本文方案具有高效儲(chǔ)存文件、低交易開(kāi)銷(xiāo)、可溯源和低延遲特點(diǎn)。
區(qū)塊鏈作為一種多方參與、多方監(jiān)管技術(shù),雖然能夠保證交易記錄隨時(shí)追溯,但是也可能會(huì)有諸如密鑰在傳播中遭到人為泄露等安全問(wèn)題。未來(lái)將采用密碼學(xué)中諸如屬性加密、同態(tài)加密和代理加密技術(shù),結(jié)合區(qū)塊鏈技術(shù)中多方參與、不可篡改等特點(diǎn),保護(hù)用戶(hù)隱私信息。
參考文獻(xiàn) (References)
[1] OKURA Y, URBAN L H, MAHONEY D W, et al. Agreement between selfreport questionnaires and medical record data was substantial for diabetes, hypertension, myocardial infarction and stroke but not for heart failure[J]. Journal of Clinical Epidemiology, 2004, 57(10):1096-1103.
[2] COLLIER D S, GRANT R W, ESTEY G, et al. Physician ability to assess rheumatoid arthritis disease activity using an electronic medical recordbased disease activity calculator[J]. Arthritis Care & Research, 2010, 61(4):495-500.
[3] LI Z R, CHANG E C, HUANG K H, et al. A secure electronic medical record sharing mechanism in the cloud computing platform[C]// Proceedings of the 2011 IEEE 15th International Symposium on Consumer Electronics. Piscataway, NJ: IEEE, 2011: 98-103.
[4] HASKEW J, R G, SAITO K, et al. Implementation of a cloudbased electronic medical record for maternal and child health in rural Kenya[J]. International Journal of Medical Informatics, 2015, 84(5): 349-354.
[5] BISWAS S, BABLA A, AKHTER T, et al. Cloud based healthcare application architecture and electronic medical record mining: an integrated approach to improve healthcare system[C]// Proceedings of the 2014 17th International Conference on Computer and Information Technology. Piscataway, NJ: IEEE, 2015: 286-291.
[6] BERMAN F. Got data: a guide to data preservation in the information age[J]. Communications of the ACM, 2008, 51(12):50-56.
[7] SHEN M, MA B, ZHU L, et al. Cloudbased approximate constrained shortest distance queries over encrypted graphs with privacy protection[J]. IEEE Transactions on Information Forensics & Security, 2018, 13(4): 940-953.
[8] CHENG H, RONG C, HWANG K, et al. Secure big data storage and sharing scheme for cloud tenants[J]. China Communications, 2015, 12(6):106-115.
[9] WANG H, SONG Y. Secure cloudbased EHR system using attributebased cryptosystem and blockchain[J]. Journal of Medical Systems, 2018, 42(8): 152.
[10] XIA Q, SIFAH E B, ASAMOAH K O, et al. MeDShare: trustless medical data sharing among cloud service providers via blockchain[J]. IEEE Access, 2017, PP(99):1-1.
[11] HUSSEIN A F, ARUNKUMAR N, GUSTAVO R G, et al. A medical records managing and securing blockchain based system supported by a genetic algorithm and discrete wavelet transform[J]. Cognitive Systems Research, 2018, 52: 1-11.
[12] LIU J, LI X, YE L, et al. BPDS: a blockchain based privacypreserving data sharing for electronic medical records[J/OL]. arXiv Preprint, 2018, 2018: arXiv:1811.03223 [2018-11-08]. https://arxiv.org/abs/1811.03223.
[13] Benet J. IPFScontent addressed, versioned, P2P file system[J/OL]. arXiv Preprint, 2014, 2014: arXiv:1407.3561 [2014-07-14]. https://arxiv.org/abs/1407.3561.
[14] LUU L, CHU D H, OLICKEL H, et al. Making smart contracts smarter[C]// Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2016:254-269.
[15] WANG J, ZENG X, CHEN J. A VLSI implementation of ECC combined with AES[C]// Proceedings of the 2006 8th International Conference on SolidState and Integrated Circuit Technology. Piscataway, NJ: IEEE, 2006: 1899-1904.
[16] YANG K, JIA X, REN K, et al. DACMACS: effective data access control for multiauthority cloud storage systems[C]// Proceedings of the 2013 IEEE INFOCOM. Piscataway, NJ: IEEE, 2013: 1790-1801.
[17] AKINYELE J A, PAGANO M W, GREEN M D, et al. Securing electronic medical records using attributebased encryption on mobile devices[C]// Proceedings of the 1st ACM Workshop on Security and Privacy in Smartphones and Mobile Devices. New York: ACM, 2011: 75-86.
[18] 閆鶯, 鄭凱, 郭眾鑫. 以太坊技術(shù)詳解與實(shí)戰(zhàn)[M]. 北京: 機(jī)械工業(yè)出版社, 2018: 40-43.(YAN Y, ZHENG K, GUO Z X. Technical Details and Practical Warfare of Ethereum [M]. Beijing: China Machine Press, 2018: 40-43.)
[19] GRIGGS K N, OSSIPOVA O, KOHLIOS C P, et al. Healthcare blockchain system using smart contracts for secure automated remote patient monitoring[J]. Journal of Medical Systems, 2018, 42(7): 130.