田凱元
(1.天津大學,天津 300011;2.天津市職業病防治院,天津 300011)
我國是世界上勞動人口最多的國家,勞動人口占我國總人口約60%,龐大的勞動人口存在大量的職業病情,對于職業病相關的數據合理采集、保存與利用,對于確保勞動者的身體健康,促進我國經濟穩定增長具有重要意義。
在5G 與物聯網蓬勃發展的背景下,醫療機構借助電子設備傳輸例如電子病歷等醫療數據。電子病歷通常存儲在私有數據庫中,患者的相關數據分散在各個醫院系統中,因此患者無法向醫生提供詳細、專業、細致的歷史醫療記錄。而作為醫院,則希望獲取患者過往的歷史病例,以充分了解病程。但患者的病歷資料中包含了大量不宜公開的個人隱私信息,因此,設計合理的醫療數據共享系統具有重要意義。
基于上述問題,針對醫學信息共享進行了進一步研究,醫療數據信息平臺的設計必須將患者的隱私保護放在首位。區塊鏈由于其具有開放性與可驗證性等特征,尤其符合醫療數據共享網絡的設計原則。此外,區塊鏈的分散性,可以有效避免頻繁的網絡請求和響應所帶來的性能限制。
該數據結構的目標用戶包括醫院、患者本身及任何醫療保健提供者、云服務或其他指定人員[1]。這些實體在區塊鏈上均由不對稱密鑰對的公共部分表示[2],每個醫院均有唯一的UID,該UID 在發布前經過散列以防止數據泄露[3]。

圖1 區塊鏈結構
如圖1 所示,每個區塊由兩個主要類別的數據元素組成,塊頭元素提供了建立區塊鏈的順序和完整性所需的重要元數據。這些包括諸如先前塊的哈希以及唯一的塊標識符[4]、時間戳和塊的總大小等數據。塊數據的另一個主要類別為交易元素。
交易元素的處理方式如下:假設患者P在醫院H接受放射線檢查,結果數據為X[5],并且需要與保健醫生D共享這些數據。數據傳輸交易的順序如圖2所示。
圖2 中,定義Ka與分別為參與者a 的公鑰和私鑰[6],而則表示根據私鑰產生的消息μ。圖2 流程可分為以下最小步驟集:

圖2 交易順序示例
1)定義源[7]。此步驟通過將公鑰鏈接到統一資源定位符(URL)來建立醫學成像數據的來源[8]。
2)定義檢查[9]。此步驟設定具有特定唯一標識符UID 的醫療數據創建者和患者作為放射檢查的所有者,存儲在區塊鏈中的元組為{KH,{KP,KH,Hash。此雙重簽名的交易可類比為帶有患者和醫院代表簽名的文件[10],醫院將共同簽署患者的數據請求,并廣播數據傳輸交易以納入區塊鏈。
3)允許訪問[11]。此步驟允許放射線檢查的資料所有者授權另一方從源端點URL 檢索所有者的醫療數據[12]。在圖2 給出的流程中,患者P 簽署了一項對D 醫生授權的交易[13],區塊鏈中包含已簽名的元組
患者在親自與醫生核實秘鑰后發布了該數據傳輸的請求交易[14]。在上述方式彼此取消匿名后,患者可以授予適當人員的訪問權限,保健醫生即可將任何接收到的醫療數據與正確的病歷號相關聯[15]。
本次的醫療區塊鏈上未存儲任何醫學數據;交易鏈僅代表允許訪問每個研究的關鍵所有者的列表。實際的醫療數據傳輸要求醫療數據接收者,將簽名請求發送到數據源的URL 端點。
醫療數據源公共密鑰和哈希研究UID 包含了請求的必要元素。醫生在某時刻發出了數據傳輸請求D,收到此類請求后,醫療數據源會驗證簽名是否正確,檢查UID 是否指定了其自身的公鑰。確認散列的UID 對應于其預先為患者發布的一項醫療數據,并通過區塊鏈確認患者已授予請求者訪問這些醫療數據的權限。若滿足所有標準,則源返回包含醫療數據的ITI-43 響應。請求和響應均通過傳輸層安全鏈路傳輸,以防止竊聽。
在醫學數據分享中,必須考慮塊創建和驗證的過程[16]。基于分布式共識的驗證系統優勢在于,可以為參與者分配最小的計算和能源負擔。此屬性對于醫療數據分享平臺至關重要,因為在本次的醫療區塊鏈上未提供內在價值或稀缺性的標記,以減少醫療信息共享的成本。為替代稀缺性驅動方式,文中開發了阻止塊生產者進行惡意或無貢獻行為的激勵措施,該方法類似于加密貨幣權益證明系統中的綁定驗證器。在該結構中,只有建立保證金的節點才可以參與鏈擴展,且任何行為異常的節點均被迫放棄運算。在此系統中,產生最多的塊并不具備特殊的優勢,但模塊選擇不生成塊時會受到懲罰。
該系統中的信息均有可能涉及到患者的隱私,因此本節主要論證系統的安全性。只有在用戶滿足訪問協議時,服務器才會向用戶開放數據訪問接口。本次的系統安全性驗證前提如下:用戶的私鑰不會以任何形式泄露,惡意攻擊者無法復制用戶的私鑰。
醫療區塊鏈的加密方法如表1 所示。定義用戶為A,分布式記賬服務器為B,審核服務器為S,惡意攻擊者為C,訪問密鑰為K。醫療信息用戶簽名消息可由表示,用戶使用Ka加密得到消息,C(A)表示惡意攻擊者C 的偽裝攻擊消息。

表1 醫療數據信息的區塊鏈加密方法
場景1,如式(1)所示。

若不具備身份憑證的非法用戶嘗試訪問分類帳,則無法瀏覽簽名數據集合以及加密處理過的摘要信息。
場景2,如式(2)~(4)所示。

在場景2 中,惡意攻擊者截斷了醫療數據所有者發送的消息并執行重播攻擊。惡意攻擊者C 成功欺騙了分布式記賬服務器B,導致B 將C 視為A。惡意攻擊者C 獲取了醫療區塊鏈訪問權限,但攻擊者C 僅獲得一條加密信息。由于缺少用戶的專屬私鑰,難以獲取加密信息的具體內容,如式(5)~(8)所示。

即使攻擊者想要向其發送虛假病人信息,由于缺乏信息,其行為將被判斷為虛假信息分類帳服務器的身份驗證信息。下面分析系統的整體安全性,其總體可以分為兩個認證階段,設置系統中A 是用戶客戶端,B 是分類帳服務器,K 為公鑰,m 為簽名消息。
場景3 中認證階段工作如式(13)所示。

認證服務器接受階段如式(14)所示。

由上文所述的3 種場景可知,該系統可以抵御身份偽裝、重播攻擊、綁定攻擊等,統計結果如表2所示。

表2 系統阻擋攻擊統計
醫療數據信息區塊鏈是醫用數據信息共享平臺的核心與技術實施載體,其主要的作用是確保共享平臺的完整性和可靠性,具有篡改拒止機制及開放驗證機制,從而保證系統信息的安全。即使惡意攻擊者成功更改系統的部分信息,系統也會迅速對其進行糾正。
攻擊者可能會嘗試向驗證服務器提交大量請求,通過引起網絡擁塞影響服務器的正常驗證工作。該系統的驗證服務器完全依靠數據簽名來驗證位置客戶端的請求合法性。系統的節點也可能受到攻擊、崩潰,甚至傷害系統的完整性。共識機制和背書者的選舉機制可以確保系統的穩定性,從而確保攻擊不會造成重大損失,這是保護患者隱私的一種有效方法。
該系統與其他醫療數據信息平臺的比較結果如表3 所示。結果表明,該方案既可做到數據保密,又可實現安全運行。

表3 系統對比實驗
該系統出于對數據安全性的綜合考慮,雖然產生了更多的數據量,但數據處理效率卻有顯著提高。該文將系統與一些新的云安全設計思路進行比較,例如MedRec 和Medshare。隨著訪問次數的增加,MedRec 使用的時間更少。結果表明,該系統的數據檢索效率顯著提高,如表4 所示。
當用戶數較少時,原始的搜索方法還可以迅速找到相關信息。但隨著用戶數量的增加,醫療區塊鏈相對于原始方法的優勢變得越來越明顯,系統可以直接指導用戶找到相應的區塊,即使有效信息的比例較小,也不會限制效率。

表4 服務器檢索延遲
當備份服務器向平臺發送添加新的區塊申請時,平臺會將上傳方案由實時傳輸改為備用傳輸。由于醫療數據信息發出請求的時間節點相對集中,若傳輸方式為實時上傳,則會對驗證服務器提出較為苛刻的要求或導致數據擁塞。為避免上述情況的發生,提高系統的穩定性,進行了服務器數據流實驗,實驗結果如表5 所示。

表5 服務器數據流實驗
異步上載數據可以減少系統負載的突然變化,大幅度降低了系統數據擁塞的概率。通過實驗驗證與分析,該方案可以有效避免驗證服務器的高負載情況,減少了數據擁塞發生的可能。
與基于CP-ABE 的訪問控制相比,該系統的策略更為合適。原因如下:CP-ABE 方案中的吊銷成本過大而不能被忽略。除了需要執行加密操作外,當需要添加新補丁時,還需要更改所有分類帳。該系統的信息處理策略可以避免這些問題的出現。
該文提出了一種基于區塊鏈的醫療信息平臺的設計方案,通過設計區塊鏈訪問控制協議和區塊鏈加密技術,可以保證用戶數據中的私密性。區塊鏈僅包括請求信息,不包括敏感的醫療信息,可防止醫療數據的泄露。利用區塊鏈技術,該方案醫療區塊鏈成功解決了大規模的醫療數據管理與共享問題。患者可以通過本系統訪問存儲在不同醫院數據系統的職業病相關醫療數據,不受地域與時間的限制。經過患者授權的區塊鏈數據可以協助主治醫生對患者的職業病史進行全方位的了解,有效提高了患者與醫療工作人員之間的溝通效率,具有良好的應用前景。