董鑫穎 江榮旺,2 魏 爽,2
1 三亞學院 三亞 572022
2 容淳銘院士工作站 三亞 572022
隨著科學技術和網絡的迅猛發展,越來越多的紙質文件已被電子文件取代。除了比紙質文檔更環保之外,數字數據還可以實時傳輸和共享[1]。其中,電子醫療信息可以帶來很多便利,越來越多的國家已經開始使用電子病歷[2]。電子醫學記錄、電子健康記錄和個人健康記錄的數據融合可以使醫療環境更加個性化并滿足患者的需求。這三類電子記錄的融合可以幫助醫生在做出診斷之前全方位掌握患者的情況(包括過敏性藥物、既往病史和主要手術等),因此不僅可以使醫學診斷過程更加迅速,而且可以減少由于信息不足引起的醫療事故的發生[3]。另外,三類電子記錄的融合有利于醫療電子文件的共享、保存和保護,從而使醫療過程更加透明,醫療服務更加個性化,也有助于進行相關醫療研究。
2005年,電子醫學記錄的重要性引起了人們的關注[4]。雖然電子醫學記錄具有相當大的優勢,但除了用于存儲電子醫療數據的收集、存儲和數據分析外,同時確保這些信息在整個醫療系統的操作過程中不侵犯用戶的隱私也非常重要。而這也是電子醫療數據重要的研究課題。現如今,大多數新技術都依賴于互聯網[5],在公共渠道中,文件容易受到惡意攻擊,從而導致信息安全問題,而區塊鏈技術可以很好地保護信息的安全。因此,研究和設計一種基于區塊鏈技術的醫療數據融合系統是一種解決當有醫療數據共享中信息安全的辦法。
醫療數據融合系統主要由以下幾部分組成:醫院、醫生、患者、其他人員(比如患者的家人)、區塊鏈轉化系統和區塊鏈存儲共享系統。患者接受身體健康檢查后,醫院會生成患者的電子健康記錄。患者從醫生那里獲得身體診斷結果,同時醫生會生成電子醫學記錄。患者本人使用的傳感器通過物聯網技術獲得生理信息,生成個人健康記錄并通過移動設備上傳網絡。醫院、醫生和患者生成的電子醫學記錄會被發送到區塊鏈系統的工作站中,工作站通過計算并生成塊,然后將其上傳到區塊鏈網絡。當患者收集三份電子醫療相關文檔時,可以解密并匯總區塊中的隱私信息,然后將其傳輸到工作站進行計算以生成個人健康記錄區塊并將其上傳到區塊鏈網絡。在完成此階段的步驟之后,其他人員通過患者的授權可以搜索患者的匯總記錄。詳細的醫療數據融合系統架構如圖1所示。

圖1 醫療數據融合系統結構
醫療數據融合系統可以分為電子健康記錄上傳系統階段、電子醫學記錄上傳系統階段、個人健康記錄上傳系統階段和個人醫學報告上傳區塊鏈網絡階段。在前三個階段,醫院、醫生和患者將其電子病歷上傳到區塊鏈轉換系統中,然后患者在區塊鏈轉化系統中匯總病歷記錄,最后將匯總的病歷上傳至區塊鏈網絡中。在區塊鏈網絡中,醫生和患者家屬需要組認證許可才可以訪問患者的區塊。對于組認證的設置將在1.2.2節中介紹,包括組成員的相互認證以及組成員的添加和刪除。組認證可以有效保護隱私安全。下面將詳細介紹醫療數據融合系統的各個部分。
在醫療數據融合系統中區塊的內容包括塊編號、塊ID、先前的塊ID、隨機數、接收方公鑰、記錄生成時間戳、塊生成時間戳、塊簡要信息和敏感信息。區塊的內容結構如圖2所示。

圖2 區塊的內容結構
每個區塊包括區塊頭和區塊體兩部分。區塊頭主要有:區塊ID、前區塊ID,先前區塊內容和隨機數的哈希值,并且區塊ID將引導所有區塊向前形成區塊鏈。塊生成最重要的部分是塊ID的計算,區塊ID的計算必須滿足難度限制。在每個區塊中都包含了接收者的公鑰。接收者的公鑰相當于發送信件時收件人地址。因此,當區塊存儲公鑰時,接收者可以使用他/她的公鑰在區塊鏈中檢索自己的區塊。區塊時間戳是生成塊的時間,其目的是識別塊生成的順序。區塊的信息內容主要包括患者的生理數據、生理狀況和醫療建議。區塊體中的敏感信息是患者的個人隱私信息,因此區塊內的敏感信息將由接收者的公共密鑰或組會話密鑰加密,只有密鑰的所有者才能將密文解密為純文本以供查看。區塊鏈轉化系統的區塊模擬如圖3所示。

圖3 區塊示意圖
醫療數據融合系統中首先要解決的問題就是醫院、醫生和患者在上傳電子記錄時要計算的簽名、加密、解密問題和小組成員設置問題。小組成員包括醫生、患者、親戚、朋友和護理提供者,在小組設置階段要執行的驗證和計算,以及關于會話密鑰的最終聯合協議。而小組成員如何獲取患者匯總的個人健康記錄也是數據融合系統需要解決的問題。接下來針對這些問題進行詳細介紹。
1.2.1 電子健康記錄上傳階段

最后,所有信息都使用醫院的私鑰簽名。其中


電子醫學記錄和個人健康記錄上傳階段流程與電子健康記錄上傳階段大致相同。
1.2.2 個人醫學報告生成階段


此階段的主要目的是構建組環境。包括患者、醫生、親戚、朋友和醫療提供者在內的組成員進行相互身份驗證并共同商定組會話密鑰,以便在最終組成員檢索階段,組成員可以使用此密鑰查看加密的隱私信息。
1.3.1 組成員互認證階段


是否等。如果不相等,則認證失敗,會話終止。否則,驗證成功并結束此階段。
1.3.2 新成員加入階段

1.3.3 會員離開階段

1.3.4 組成員檢索階段
在此階段,有效的組成員可以通過患者個人醫學報告搜索系統檢索患者個人醫學報告。成員首先發送組標識然后在區塊鏈網絡中檢索它。區塊鏈搜索系統收到成員的請求后,檢索并顯示所有符合的塊。想要查看其信息內容的組成員,通過解密敏感信息。

并驗證以下內容的正確性。

如果公式(16)、(17)、(18)內容正確,則檢索結束。
組成員身份驗證中常見的安全問題包括用戶匿名性、已知密鑰安全性和內部攻擊。本節將對提出的方案進行安全和功能分析,以證明提議的機制可以抵抗以下常見的安全攻擊并滿足安全功能要求,具體分析如下。
在所提出的方案中,所有消息均使用用戶的公鑰和私鑰進行加密和簽名,在不公開披露的情況下傳輸患者的身份,并通過計算來驗證消息的身份以及消息的加密和解密公鑰和私鑰。在患者個人醫學報告上傳階段,患者將匯總所有電子記錄,然后使用組會話密鑰加密敏感信息并將其上傳到區塊鏈轉換系統中,最后將其轉換成區塊上傳到區塊鏈網絡中。在小組成員檢索階段,小組成員將發送到患者醫學報告搜索系統中,該系統使用此類標識代碼進行索引,最后顯示所有匹配的區塊。要查看內容,授權的小組成員必須使用小組會話密鑰解密才能查看。由于在整個過程中,患者的個人身份并未通過公共渠道進行傳輸,因此攻擊者無法跟蹤患者的身份,也無法收集特定患者的醫學信息。

在患者發送消息后,消息通過塊轉換系統轉換為符合格式的區塊,然后上載到塊鏈網絡。塊轉換系統收到消息后,包含患者身份的敏感信息仍為密文。這些內容都使用患者的公鑰公式(19)加密。

或使用公式(20)所示的組會話密鑰進行加密,并且內容只能由患者使用他自己的私鑰解密,或者由組成員使用組會話密鑰解密,而在整個過程中不使用個人識別密碼。因此,內部人員無法使用患者用戶標識密碼或未授權身份來竊取患者的敏感信息。
在安全性和功能方面,本方法與文獻[6]、文獻[7]和文獻[8]進行了比較。其中文獻[6]無法實現用戶匿名和抵御離線密碼猜測攻擊。而文獻[7]和文獻[8]沒有提供組認證機制。具體比較結果如表1、表2所示。

表1 各方案的安全性比較

表2 各方案之間功能比較
本研究將區塊鏈的安全性、不可否認性和其他功能與物聯網的遠程、實時、自動化和其他功能相結合,并提出了一種可以匯總三種類型病歷的安全機制。該機制的目的不僅是解決病歷存儲問題,加快醫療過程,減少醫療錯誤,而且還為患者提供更加個性化的醫療服務。本研究中,醫院、醫生和患者可以對生成的電子記錄(電子健康記錄、電子醫學記錄、個人健康記錄)的隱私信息進行加密和簽名,然后將其發送到區塊鏈轉換系統以合并成區塊并上傳到區塊鏈網絡。之后,患者可以通過區塊鏈網絡獲得自己的電子健康記錄、電子醫學記錄和個人健康記錄,并匯總這三個文件以生成自己的個人醫學報告,然后通過區塊鏈轉換系統將其上傳到區塊鏈網絡。另一方面,本研究還設計了一種組認證機制,以使授權的組成員(例如醫生、親戚和朋友等)可以隨時隨地查看患者的醫學信息并監視患者的生理信息。授權的小組成員共同認證同意的小組身份和小組會話密鑰使患者能夠使用小組會話密鑰來加密和保護患者的隱私。如果其他授權的小組成員想要查看和監視患者當前的生理健康數據,他們還可以使用該小組的會話密鑰進行解密,從而實現實時的遠程醫療監視功能。