劉志豪,馬金剛,李逢天,生 慧
(山東中醫(yī)藥大學,濟南 250355)
在目前的醫(yī)療機構中,醫(yī)療數據主要面臨數據泄露和數據篡改兩大方面的風險。患者的電子病歷中包含著大量的隱私信息,如患者的病情信息、消費記錄等,這些信息會集中存儲在醫(yī)院的服務器上,而大多數醫(yī)院對信息安全的重視程度不高,醫(yī)院網站漏洞數不勝數,使攻擊者可以輕而易舉得到醫(yī)院的數據庫、患者的信息,從而造成用戶的隱私泄露,即存在數據泄露風險。同時,若攻擊者對數據進行蓄意破壞、篡改,會嚴重阻礙醫(yī)療系統的可用性,即存在數據篡改風險。
區(qū)塊鏈技術(Blockchain technology)是一種去中心化的分布式存儲技術,具有不可篡改、去信任、匿名性等特點,可以實現網絡中去中心化信用的數據共享、協調與協作。本文提出的基于區(qū)塊鏈技術設計的醫(yī)療數據存儲平臺可有效解決上述問題。
區(qū)塊鏈技術也稱為分布式賬本技術,其本質上是一種去中心化的數據庫技術,特點是去中心化、不可篡改等。
(1)去中心化。區(qū)塊鏈是一種分布式數據存儲結構,且沒有中心節(jié)點,所有節(jié)點都保存全部的、相同的區(qū)塊信息,完全實現去中心化,很大程度上保證了分布式數據庫開放透明、安全可信、不可篡改的特點。
(2)不可篡改性。區(qū)塊鏈中存儲的交易信息每一條都有相對應的哈希值,若想篡改區(qū)塊鏈中的一條記錄,不僅要修改此區(qū)塊的哈希值,還要修改后續(xù)所有區(qū)塊的哈希值。除非能同時修改系統中超過51%的區(qū)塊,否則對單個區(qū)塊上數據庫的修改是無效的。
(3)去信任。因為數據庫和整個系統的運作是完全公開透明的,且系統中所有節(jié)點之間無需信任也可以進行交易,所以在系統的規(guī)則和時間范圍內,節(jié)點之間無法彼此欺騙,即節(jié)點之間去信任。
(4)匿名性。由于節(jié)點間的交換遵循固定的算法,其數據的交互是無需信任的,因此交易雙方無須公開身份就可以讓雙方產生信任,即區(qū)塊鏈技術具有匿名性。
近幾年里,各醫(yī)療機構都經歷過黑客攻擊或數據泄露,患者因此遭受經濟威脅、精神痛苦和社會輿論等,利用區(qū)塊鏈技術去中心化和不可篡改性的特點不僅可以避免類似事件的發(fā)生,還可以大大提高醫(yī)療服務效率。
區(qū)塊鏈包含n個隨時間排序的區(qū)塊,每個區(qū)塊都有一個指向前一區(qū)塊的指針,所有區(qū)塊通過這個指針形成一個鏈,因此稱為區(qū)塊鏈。而第一個區(qū)塊則稱為創(chuàng)世塊,其后每個想要參與進來的節(jié)點都要下載并更新一份從創(chuàng)世塊延續(xù)下來的數據包。隨著醫(yī)療數據的積累,基于區(qū)塊鏈的醫(yī)療數據存儲,其數據量會迅速上升,區(qū)塊承載的數據會越來越多,這便對區(qū)塊鏈數據庫的存儲空間有了更高的要求。如果每一個節(jié)點的數據都完全同步,區(qū)塊鏈數據的存儲空間容量要求就勢必會成為一個限制其發(fā)展的關鍵問題,會直接影響醫(yī)療部門更新數據信息和醫(yī)患對數據獲取實時性的需求[1]?;谏鲜鰡栴},本文設計了一個結合區(qū)塊鏈和云存儲技術的醫(yī)療數據存儲平臺。
由于區(qū)塊鏈的存儲容量有限,無法存儲患者的全部醫(yī)療數據,因此,本設計中區(qū)塊鏈只保存醫(yī)療數據的元數據和摘要、數據提供者公鑰、數據提供者簽名以及該醫(yī)療記錄在云數據庫中的引用,而具體的醫(yī)療記錄保存在云數據庫中?;趨^(qū)塊鏈存儲技術和云數據庫的醫(yī)療數據存儲平臺體系結構,如圖1所示。

圖1 醫(yī)療數據存儲平臺體系結構圖
將區(qū)塊鏈技術應用于醫(yī)療健康數據平臺后,基于區(qū)塊鏈的安全特性,醫(yī)療健康平臺可以確保安全、高效地存儲患者數據。以公鑰加密為基礎的共享訪問方式是醫(yī)療健康數據平臺的重要設計方案。醫(yī)院及權威機構保管患者公鑰,并利用公鑰將患者的醫(yī)療健康數據進行加密,患者通過私鑰訪問個人醫(yī)療健康數據[2]。同時,由于區(qū)塊鏈具有高安全性、隱私保護、高冗余存儲、去中心化等特點,因此能夠防止遭受攻擊或權限管理不當導致的數據丟失,使數據更加安全可靠[3]。
對醫(yī)療大數據的分析處理需要強大的數據存儲和計算能力。針對不同用戶,醫(yī)療數據云存儲具有不同的意義[4]?;颊呖梢栽谠茢祿熘写鎯︶t(yī)療健康數據并實現隨時隨地的訪問;研究人員可以使用云數據庫中匯集的醫(yī)療數據進行分析和計算;醫(yī)療存儲機構采用區(qū)塊鏈加云儲存方式是一種安全、經濟、便利且可以隨意改善管理的方式[5]。
雖然區(qū)塊鏈技術采用了密碼學等相關技術,但整個區(qū)塊鏈網絡在安全方面仍然存在薄弱環(huán)節(jié)。尤其是數據隱私方面,現階段還沒有健全的醫(yī)療隱私法律保護制度,民眾對個人數據也沒有較強的自我保護意識,區(qū)塊鏈的安全性仍令人擔憂[6]。
為保證醫(yī)療數據的安全存儲,基于區(qū)塊鏈的醫(yī)療數據存儲系統的數據存儲過程設計如下:
(1)醫(yī)療機構生成醫(yī)療記錄,并將醫(yī)療記錄元數據和摘要上傳至區(qū)塊鏈。醫(yī)療記錄元數據包括醫(yī)療數據ID及其在云數據庫中的URL等信息。
(2)醫(yī)療記錄安全傳輸至患者。醫(yī)療機構將醫(yī)療數據以對稱加密算法加密后傳輸給患者,對稱密鑰的分發(fā)采用公鑰加密算法進行。患者首先利用個人的私鑰解密醫(yī)療機構發(fā)送過來的會話密鑰,然后再用該會話密鑰解密醫(yī)療記錄。該過程可保證密鑰的安全分發(fā)及醫(yī)療記錄安全、快速傳遞。
(3)患者對醫(yī)療記錄加密并上傳至醫(yī)療云數據庫。患者生成新的會話密鑰并用該密鑰加密醫(yī)療記錄后上傳至云數據庫中存儲。醫(yī)療數據的所有權限歸患者所有,其他用戶的使用權限也需患者分配以控制不同用戶對數據的訪問。
上述存儲過程中醫(yī)療元數據和醫(yī)療數據分別存儲在區(qū)塊鏈和云數據庫中,可實現醫(yī)療數據的分布式存儲;患者作為醫(yī)療數據的所有者,利用自己的私鑰可保證醫(yī)療數據的隱私安全性,并具有對醫(yī)療數據權限的分配權,這為醫(yī)療數據的安全共享奠定了基礎。
在醫(yī)院中,如果使用區(qū)塊鏈技術對醫(yī)療數據進行保護,當患者、醫(yī)生在對醫(yī)療數據進行訪問或者多科室協調工作時,需要對醫(yī)療數據進行訪問和共享。傳統的數據訪問機制需要花費大量的時間及硬件資源進行審查和數據校驗,因此需要考慮對醫(yī)療數據進行訪問和共享的需求。
調查表明醫(yī)療數據中心往往建立在大型重點醫(yī)療機構,并提供接口給下屬醫(yī)療機構使用,而醫(yī)生和患者是小型在線客戶端直接與數據中心進行信息交互[7]。在調查和分析后,本研究采用了自底向上的方式,依次研究了在線客戶端、二級醫(yī)療機構和頂級數據中心的數據共享與訪問機制,在此基礎上建立一個完整的醫(yī)療衛(wèi)生信息化系統數據共享與訪問模型。大型醫(yī)療機構即頂級數據中心的職責是存儲數據,并向下屬的二級醫(yī)療機構提供數據共享接口;二級醫(yī)療機構作為區(qū)塊鏈模型中的一個節(jié)點,對頂級數據中心提供的接口進行解析,接收來自頂級數據中心的醫(yī)療數據;在二級醫(yī)療機構的基礎上再次建立二級區(qū)塊鏈模型,以在線客戶端作為節(jié)點,保障與頂級數據中心交互過程中的數據共享與訪問[8]。
本設計的醫(yī)療數據存儲平臺的安全機制是由3個維度共同保證的,如圖2所示。

圖2 醫(yī)療存儲平臺防篡改機制結構示意圖
第一個維度是分布式賬本技術?;趨^(qū)塊鏈技術實現的醫(yī)療數據平臺網絡具有大量節(jié)點,它創(chuàng)建了一個多點分布,網絡成員之間共享、復制和同步的數據庫。攻擊者若要實施攻擊、更改醫(yī)療記錄,必須要在短時間內改動超過51%的節(jié)點,其技術難度巨大,計算上幾乎不可能實現。
第二個維度是巨大的計算力成本。區(qū)塊鏈從創(chuàng)世塊開始,后續(xù)每一個區(qū)塊中的交易記錄都包含前一個區(qū)塊中的內容,因此區(qū)塊鏈中的數據采用鏈式結構存儲。攻擊者若想更改醫(yī)療交易記錄,那么首先需要根據當前交易內容追溯上一個區(qū)塊的位置,然后更改之前每一個區(qū)塊中的相應信息,直至完成所有節(jié)點中的備份交易記錄,而完成這些工作的前提要求其他節(jié)點必須都處于靜止狀態(tài)。由第一維度可見,更改一個區(qū)塊中的記錄于計算上是不可行的,而更改多個區(qū)塊,其難度必然更大。
第三個維度是密碼學的應用。基于區(qū)塊鏈技術的醫(yī)療信息平臺采用了大量的密碼學技術,如Hash算法、橢圓曲線、RSA加密算法等。其中Hash算法的應用最為關鍵,該算法對區(qū)塊進行SHA-256加密。SHA-256加密算法的輸入長度為256位,輸出長度是32字節(jié)的隨機散列數據。區(qū)塊鏈中用Hash算法對一個交易區(qū)塊中的交易信息進行加密,并壓縮為一串由數字和字母構成的散列字符串,該串字符串便是這個區(qū)塊的Hash值,如圖3所示。而按現有的計算機技術,很難找到高效率的解密算法[9]。

圖3 SHA-256加密算法加密流程圖
區(qū)塊鏈和云數據庫存儲為醫(yī)療大數據的安全存儲和共享提供了技術基礎,本文設計的醫(yī)療數據平臺既可以實現醫(yī)療數據的分布式存儲,又保證了患者對醫(yī)療數據的權限控制,還可以實現第三方用戶對醫(yī)療數據的共享應用?;颊摺⑨t(yī)療機構和科研機構之間可在該平臺分享醫(yī)療數據,例如共享疾病診療、遺傳、飲食、環(huán)境和生活方式等醫(yī)療健康數據,并以此為基礎挖掘、開發(fā)新的養(yǎng)生和疾病防治方式。
隨著醫(yī)療大數據的發(fā)展,區(qū)塊鏈作為系統存儲技術,將對醫(yī)療信息化的發(fā)展帶來更多的機遇和挑戰(zhàn)?,F階段對政策、標準等環(huán)節(jié)的探索和實踐,是行業(yè)發(fā)展的首要任務,針對這一顛覆性的變革,采取謹慎、循序漸進的方法也是醫(yī)療領域中區(qū)塊鏈應用的可取途徑。