孫 琪,王 磊,楊 龍,程瀝瑩
(信息產業信息安全測評中心,北京 100083)
隨著大數據環境、云環境等新興模式的構建,健康醫療數據安全迎來了更大的挑戰。尤其是在“互聯網+”強勢進入醫療行業后,互聯網醫院遍地開花[1],使得原本的醫療內網封閉環境被打破,健康醫療數據在開放性、共享性更強的互聯網中傳輸,數據安全面臨的威脅不管從種類上還是從數量上都有了明顯的增幅。互聯網醫院的推廣和發展使得醫療行業的信息化發展步入了2.0階段[2],這既是機遇,又是挑戰,一方面,互聯網醫院的便捷能夠極大地提高醫護人員的工作效率、患者就診的體驗與滿意度;另一方面,互聯網醫院業務對醫療行業的信息化水平和安全防護水平都提出了更高的要求。
醫療行業關系到重要民生、重大公共利益,在《個人信息保護法》中將“醫療健康”信息定義為敏感個人信息。
在GB/T 39725—2020《信息安全技術 健康醫療數據安全指南》中[3],“個人健康醫療數據”被定義為“單獨或者與其他信息結合后能夠識別特定自然人或者反映特定自然人生理或心理健康的相關電子數據”。健康醫療數據不同于一般的重要業務數據,其具有很高的準確度和社會關系屬性,醫療行業由于涉及了大量就醫患者的重要用戶個人信息,往往成為攻擊者的首選攻擊對象。而且,健康醫療數據除了患者的個人信息,還有很多敏感的數據,包括診療數據、檢驗數據、處方數據、醫囑數據等。
醫療行業內的數據泄露事故屢見不鮮[4]。2017年5月,20萬條新生嬰兒信息從某市疾病預防控制中心泄露出來,這些信息被用于電話推銷新生兒保健品;2020年4月,青島膠州中心醫院6千余人就診名單泄露,嚴重影響就診人員的個人生活。
數據泄露對患者的影響非常大,可能會導致被醫藥、廣告、中介、保險等利益方騷擾,患者的健康信息泄露可能會導致患者個人及家庭遭受歧視。群體性的健康醫療數據泄露就更加可怕,容易造成社會輿論,并且容易引起社會的恐慌。
在醫療行業有一種普遍的現象,患者自己對自己的健康數據并不清楚,醫院雖然擁有這些診療及健康數據,但并未對數據加以研究[5]。如何在保證數據安全的前提下,盡量獲取健康醫療數據的價值、建立合理的數據共享和研究機制,將會是醫療行業的下一個研究方向。如果能夠實現健康醫療數據的隱私保護,就能更好地實現數據共享,最大限度地利用健康醫療數據的價值,推動醫療行業的進一步發展。
區塊鏈從本質上是一個共享數據庫,區塊鏈技術能夠實現數據的不可偽造性、可追溯性、公開透明性等。區塊鏈的核心技術包括分布式賬本、非對稱加密、共識機制、智能合約等。一般說來,區塊鏈系統由數據層、網絡層、共識層、激勵層、合約層和應用層組成。
區塊鏈技術應用在醫療行業,主要可以解決數據共享、隱私保護等問題。每個省市的醫保系統都是獨立的,在不同的城市看病就需要不斷重復建檔的操作流程,增加了患者的負擔。將區塊鏈技術引入醫療體系中,能更方便患者就醫,也有利于醫生了解患者的既往病史。同時,區塊鏈能夠保護患者的隱私數據。區塊鏈電子病歷能夠將患者的個人信息、診療記錄加密存放在區塊鏈中,使得醫療記錄安全、可信,能夠保證數據的有效性、完整性和安全性,可以實現醫療數據的去標識化共享。
2017年中國第一個基于醫療場景實施的區塊鏈應用——常州市醫聯體區塊鏈開始進行試點[6]。經過一個月的試點,通過常州市醫聯體區塊鏈,更好地實現了分級診療就醫體驗:患者就近在衛生院體檢,需要轉診的患者由社區醫生通過區塊鏈實現病歷向上級醫院的授權和流轉。而上級醫院的醫生,在被授權后可迅速了解病人的過往病史和體檢信息,病人不需要重復做不必要的基礎檢查,就可以享受醫聯體內各級醫生的“管家式”全程醫療服務。而且常州市醫聯體區塊鏈具有專用的數字資產協議和數據分級體系,區塊鏈內的數據密文存儲、密文傳輸,流程中的所有操作均可以被審計。可見,將區塊鏈技術應用到醫療行業中,能夠實現醫療場景有價值信息的安全、便捷、可控的流動。
區塊鏈中包含N個按照時間順序排列的區塊節點,每個區塊節點的區塊結構分為區塊頭和區塊體,區塊頭中有指向前一個區塊的指針,通過指針將所有區塊連接起來形成一個鏈。區塊頭中包含前一區塊節點的散列值、區塊序列、時間戳、數字簽名等區塊的特征信息,區塊體中包含健康醫療數據以及相關的審計日志。如圖1所示。

圖1 區塊結構
每個區塊節點通過前一區塊節點的散列值進行驗證,區塊序列則是代表該節點自身在區塊鏈中的位置;時間戳是唯一可信的時間證明,代表了該區塊節點中的健康醫療數據的發生時間,整個區塊鏈通過時間序列順序組織;數字簽名則能夠驗證健康醫療數據的完整性,并能夠確定該數據的責任主體。區塊鏈的整體架構圖如圖2所示。

圖2 區塊鏈整體架構圖
每個患者的醫療數據形成一條區塊鏈,按照時間順序排列,健康醫療數據以加密數據文件的形式進行存儲,數據均存儲在數據層。數據的傳輸、使用等過程均通過非對稱加密算法來保證數據的保密性,每個患者擁有自己的公鑰和私鑰。醫療機構生成醫療記錄,并將醫療記錄數據上傳至區塊鏈。醫院及上層管理機構保管患者公鑰,并使用患者公鑰將患者的醫療健康數據進行加密,患者通過私鑰訪問自己的健康醫療數據。健康醫療數據的所有權歸患者所有,患者可以選擇是否將自己所有的數據共享給其他用戶、機構使用,可以由患者自己來分配不同用戶對數據的訪問權限。在使用過程中,可以通過驗證數字簽名來判斷區塊節點是否被篡改過。即使最后數據銷毀,仍可以通過審計日志來確定數據流程的流轉過程是否得到授權。
(1)分布式賬本。區塊鏈中包含的N個區塊節點之間共享、同步記錄的健康醫療數據,攻擊者想要篡改數據,需要在短時間內實現至少一半的區塊節點的數據修改,計算量非常大,實現起來非常困難。并且區塊鏈中的每個區塊節點通過時間順序串聯起來,修改區塊鏈中的一個區塊節點就要同時修改其上一個區塊節點,這就需要先找到上一個區塊節點并進行同步修改操作,直到修改完所有的前序區塊節點中的相應信息,這也使得數據篡改的難度激增。
(2)密碼算法。區塊鏈中使用了大量的密碼算法,包括對稱加密算法、非對稱加密算法、散列算法等,這些密碼算法使得數據的存儲、傳輸、共享過程變得更安全。區塊鏈中使用散列算法對每個區塊節點進行加密,計算其散列值,如圖3所示。如果出現數據丟失的情況會很容易被發現,而且隨著密碼技術的發展,我國也已經提出了一系列的國密算法,在算法性能和安全性上都得到了提升,為實現健康醫療數據的自主可控提供了新的方法。

圖3 散列算法加密流程
當不同醫院、不同科室或不同醫院需要對健康醫療數據進行訪問時,就需要實現數據的共享。傳統模式下,健康醫療數據的共享是通過數據訪問控制機制實現的,需要花費大量的時間和硬件資源進行權限的分配、檢查和校驗。
目前,健康醫療數據的共享依賴于醫療行業的管理機制。醫院之間可以進行數據的共享,通過數據接口實現數據的雙向共享。
本文在研究醫療行業健康醫療數據共享需求的基礎上,建立一個完整的信息化健康醫療數據共享模型。醫院等醫療機構作為數據中心,主要負責數據的存儲,并通過接口將部分數據共享給上級機構、通過接口實現與下屬醫療機構及合作醫療機構的數據雙向共享。考慮到數據共享需求,在數據中心區塊鏈模型的基礎上建立二級區塊鏈模型,以機構下的具體客戶端作為節點,保證其與數據中心之間的數據共享。
健康醫療數據溯源主要是為了實現對數據的監管,從數據的采集、傳輸、存儲、共享、銷毀等數據全生命周期出發,對數據的每一個操作進行審計。通過數據溯源,可以保證數據的真實性、不可抵賴性,這也增強了數據共享機制的可行性。
通過本文中所設計的區塊鏈模型,能夠對機構來源、診療數據、患者行為數據、藥品數據等情況進行溯源。對機構來源進行溯源是對健康醫療數據的來源進行查詢追溯;對診療數據進行溯源是對患者的疾病史、癥狀、醫囑情況、檢查檢驗結果數據等進行溯源,通過診療數據對患者情況進行管理,通過審計日志記錄診療數據的上傳、訪問、使用等情況,保證對數據的操作均有據可循;對患者行為數據進行溯源是對患者的體檢數據、可穿戴設備采集的數據等與患者行為有關的數據進行的溯源,這部分數據是動態變化的,可以通過這些數據進行患者行為跟蹤以及趨勢、狀態等的動態分析;對藥品數據進行溯源是對患者用藥情況進行監管、對用藥效果進行分析,從而實現對藥品的流通情況進行掌控。
隨著醫療大數據、互聯網醫院等技術的應用,區塊鏈技術將為醫療健康數據的安全保護帶來新的機遇和挑戰。醫療行業和新興計算技術的結合將會顛覆傳統醫療行業的一些流程和技術措施。本文綜合考慮數據存儲、數據共享、數據溯源等數據生命周期的關鍵環節,基于區塊鏈技術設計了健康醫療數據隱私保護的模型,以期在保證數據安全的同時,增強診療數據的共享程度,進一步促進醫療行業的發展。■