郭子菁,羅玉川,蔡志平,鄭騰飛
國防科技大學 計算機學院,長沙410073
醫學技術與信息技術的不斷融合突破,為醫療數據的產生提供了源源不斷的動力,也為大數據技術在醫療領域的應用和發展奠定了穩固的基石。醫療數據具有數據量龐大、增長速度快、數據結構多樣化和應用價值高等特點,屬于大數據的一種。采集、治理及分析這些醫療大數據,有效發掘數據中的潛在價值,在推動臨床科研的進步、臨床決策支撐以及藥物研發等方面都起到了積極的推動作用[1]。因此,健康醫療大數據建設在國內外都受到高度重視,一些發達國家已經搭建了相對成熟的平臺,我國由于起步晚而目前專注于數據采集階段,對于數據的分析處理能力較弱。
然而,在享受從醫療數據中獲得有價值的信息為臨床科研、健康管理、公共衛生等方面的研究注入新的活力的同時,也不可避免地帶來隱私泄漏的問題。例如,從2019年7月中旬到2019年9月初,Greenbone Networks 分析了全球數千個在線醫療服務系統,發現2 400 多萬份來自不同國家的患者數據記錄可以在互聯網上被訪問或輕易下載[2]。泄漏的患者數據記錄中包含著詳細的個人和醫療細節:姓名、出生日期、檢查日期、調查項目、主治醫師、檢測結果的圖像信息等。這些數據可被攻擊者利用,發布個人姓名和圖像以此來損害一個人的聲譽;將泄漏的數據與其他數據關聯起來,從而實現網絡釣魚和社交工程;閱讀并自動處理數據來搜索有價值的身份信息,例如利用證件號碼用來盜用身份。
如何在不泄漏患者隱私的前提下,提高醫療數據的利用率,挖掘其中蘊藏的價值,是目前制約其發展的一個重要因素。因此,在醫療健康大數據的全生命周期中,需要在充分利用數據的同時嚴密防范隱私泄漏,力圖在數據利用和隱私保護二者之間找到一個平衡。
(1)醫療大數據的來源及特征
隨著醫療領域信息化的推進,醫療健康方面的電子數據正以前所未有的速度爆發式增長,其類型也多種多樣,其中包括患者疾病診療數據、身體健康數據以及醫療臨床實驗數據等。這些類型復雜的規模巨大的醫療數據匯聚起來而呈現出大數據的特性,也就共同構成了醫療大數據。主要歸納了醫療大數據的來源以及特點,如圖1所示。

Fig.1 Sources and characteristics of big data in healthcare圖1 醫療健康大數據來源及特點
醫療健康大數據的來源可被劃分為以下四類:
臨床大數據:這部分數據主要產生于患者就醫過程中,構成了醫療健康大數據的基礎內容。患者在就醫過程中產生了一系列包含其隱私的數據。首先需提供姓名、年齡、住址、電話等詳細的個人信息,在診療過程中由醫生根據經驗判斷直接記載或經由各種醫療器械檢測產生的電子病歷數據、醫學圖像數據以及使用藥物記錄等都是臨床數據的一部分。此外,在就醫過程中還會涉及到相關費用信息、醫保使用情況等,這些信息也會被記錄下來,在大數據條件下,這些數據經由系統分析,能夠產生新的價值。但是,這其中也直接包含著大量個人信息,一旦被非法第三方獲取,則直接對患者隱私造成威脅。
健康大數據:隨著生活智能化,可穿戴式設備、手機應用滲透到人們的生活中,其獲取的信息能幫助每個人監測并記錄詳細的個人體征數據;在各大網站中瀏覽、咨詢關于疾病、健康等相關內容的行為會暴露出個人偏好數據。這些數據通過互聯網與醫療機構相連接,構成電子健康檔案內容,用以時刻監控每個人健康情況。這些記錄著個體詳細健康狀況的實時數據,通過網絡匯集,就導致了可能暴露健康狀況、位置、個人喜好等一系列敏感信息。
生物大數據:得益于高通量測序技術的快速發展,生命科學相關研究機構數據產出能力也日益增強,能夠產生包括基因組學、轉錄組學、蛋白組學、代謝組學等不同組學的龐大數據集。這些生物數據中潛在的巨大價值,不僅有效地推動了生物科研領域的發展,也在農業、健康和醫學等領域得以應用。但是,基因檢測數據與病理數據相結合時,很容易匹配到具體的個體,在隱私泄漏的同時還極易引起基因歧視而給患者帶來雙重傷害。
經營運營大數據:在各個醫療機構經營運營過程中,也會相應地產生大量數據,例如,運營的成本核算數據、藥品、耗材、器械采購數據、藥物研發數據、消費者購買行為數據等。數據中涉及藥物或相關器械交易記錄也往往暴露了用戶的身體狀況、財政狀況等隱私信息,在隱私保護中也是不可忽視的內容。
醫療大數據符合大數據的共同特征——規模大、增長快、結構多樣、價值巨大。此外,醫療大數據還具有其他獨有的性質。
高度敏感性:醫療大數據中常常直接記錄著病人的詳細個人信息以及身體健康狀況,相較于其他數據具有更高的敏感性,對隱私保護的要求更高。
不完整性:由于醫療健康數據的采集和處理過程常常無法做到緊密銜接,因此醫療數據庫中的數據雖然規模龐大,但仍然難以全面記錄下所有的疾病信息。此外,由于電子病歷尚未全面普及,大量數據來源于人工記錄,記錄內容的偏差和殘缺,言語表達的不確定性,資料保管的不到位,都是醫療健康大數據不完整性的源頭。
時間性:患者的就診、發病過程在時間上有一個進度變化,醫療檢測的波形、圖像數據等都具有一定的時序性。患者的健康狀況不是一成不變的,而是始終處于動態變化中,這也就意味著其敏感屬性的對應值在隨時間變化。
(2)全生命周期的醫療大數據隱私保護
對醫療大數據而言,從其采集、存儲、共享到分析的過程中,均涉及到多方用戶,每一個環節都存在嚴重的隱私泄漏憂患,需要采取相應的技術手段來應對。同時也有一部分隱私問題是始終貫穿于所有環節的,可以通過采取適當的管理措施來解決。本文主要從醫療大數據生命周期的幾個環節分別闡述存在的隱私泄漏挑戰以及相應的隱私保護技術,最后從醫療大數據的管理層面提出一些合理的建議(圖2)。

Fig.2 Full life cycle of big data in healthcare privacy-perserving model圖2 全生命周期醫療大數據隱私保護模型
數據采集:數據采集是醫療健康大數據生命周期中的基礎環節。隨著信息技術發展,醫療健康滲透到人們生活中方方面面,醫療數據可能來自于醫療機構的信息系統、可穿戴設備、網絡等。在數據采集階段,需要做的就是將各種不同來源的醫療健康大數據匯集在一起,為后續的存儲、共享以及分析奠定數據基礎。與典型的數據采集不同,醫療數據的采集中直接包含著患者提交的私人信息,即醫療數據具有高度的敏感性。由于醫療健康大數據極其敏感,如何在數據可用的情況下高效地隱藏可能泄漏用戶隱私的內容,是目前亟待解決的問題。
數據存儲:數據存儲階段關注的是大規模醫療健康數據的存儲管理中的隱私風險。醫療健康大數據因其龐大的數據規模,在采集后需要在云平臺進行存儲。存儲在云平臺的數據,其存儲者和所有者是完全分離的,而云存儲服務提供商并不是完全可信的,因此,存儲在云平臺的醫療數據并不安全,面臨著被不可信的第三方偷窺或者篡改的風險。
數據共享:存儲在不同醫療機構的數據通過數據共享,才能達到效益最大化,但在大數據環境下,數據共享帶來便利的同時,給患者也帶了風險。當患者的數據存儲在云平臺上,患者并不知道誰訪問了共享賬戶中的數據,因此有很高的數據泄漏風險,并且數據泄漏后無法追蹤,對于隱私保護而言是一個較大的挑戰。
數據分析:醫療大數據只有通過分析才能更好地推動疾病診斷、藥物研發等醫療領域的發展,也能更好地為患者提供服務。即使經過了匿名化、加密等處理,醫療數據在一系列聚類、關聯等數據分析之后,患者的敏感信息仍然有可能會暴露出來。隱私安全不僅需要防止原始數據中的敏感信息泄漏,也需要考慮到數據挖掘與分析預測的結果。
數據采集是數據生命周期中最基礎的步驟,醫療健康大數據的采集為科研和機構間的合作提供了便利,但同時也給數據隱私帶來了潛在的威脅。
在此階段存在的風險是基于數據集成融合的鏈接攻擊或其他更復雜的基于知識背景的攻擊。患者的診療數據、藥品或醫療器械的購買記錄、互聯網上的相關社交信息等醫療數據能夠服務于數據分析,同時也一定程度地反映出用戶的行為活動。如果攻擊者從網絡傳輸中攔截這些數據,并綜合利用其他外部信息,從而能夠推斷出個體身份,這給保護患者隱私帶來了嚴重的挑戰[3]。
傳統的醫療數據隱私保護主要采用匿名技術,最根本的思想是隱藏數據與個體之間的聯系,但簡單的刪除數據中的個體屬性極易通過鏈接攻擊來破解[4]。應對這一攻擊手段,k-anonymity[5]被提出,其理念是讓數據中的準標識符(不可辨認的屬性可對應多個個體,例如,出生日期和郵政編碼)可以匹配至少k個個體,這意味著一個特定的信息不能區別其他k-1 個人信息數據集。為了抵抗基于k-anonymity的同質性攻擊和背景知識攻擊,l-diversity 模型[6]被提出,它在k-anonymity的基礎上,要求每個敏感屬性至少包含l個表現良好的值。t-closeness[7]是l-diversity模型的進一步細化,l-diversity 模型通過減少數據表示的粒度來保護隱私,通過考慮屬性值的分布來區別對待不同的屬性值,這是一種為了獲得一些隱私而導致數據挖掘有效性損失的權衡。
但是,現有的匿名技術有一個普遍的缺陷——過分依賴攻擊者的背景知識假設,并且對其隱私保護水平無法提供嚴格有效的證明。差分隱私引入醫療領域有效地解決了匿名技術存在的這些問題。應用差分隱私保護模型時就不必考慮攻擊者已經獲取的背景知識,其次,差分隱私提供了嚴格的數學定義和度量隱私泄漏的方法,這個特點使得能夠比較使用不同參數進行處理的數據集的可用性程度[4]。
數據匿名性在一定程度上為數據的隱私性提供了保障,在典型的匿名保護方法k-anonymity、l-diversity、t-closeness模型的基礎上,一些更適用于醫療大數據的匿名技術被提出。
針對數據規模大的問題,Song 等人提出隨機k匿名方法[8]。由于尋找匿名等價的過程非常耗時,因此采用兩步聚類的方法將原始數據集劃分為等價類。首先將原始數據集分成幾個不同的子數據集,然后在子數據集中形成等價類,從而大大降低了尋找匿名等價類的計算代價,并且匿名數據集的信息損失小得多,數據的可用性得到了更好的保障。
收集的醫療健康數據通常具有多種不同類型的敏感屬性,因此,在操作高維度數據時,這些不同類型的敏感屬性之間的關聯與混合同樣值得重視。在這種情況下,(a,k)-匿名隱私保護方法將更加有效[9]。Li 等人以(a,k)-anonymity 模型作為數據采集的隱私保護方案,提出了一種新的基于匿名的醫療保健服務的數據采集方法[10],采用客戶端-服務器-用戶模型進行分析。在客戶端,利用(a,k)-anonymity的概念來生成匿名元組以抵抗可能的攻擊,并采用自下而上的聚類方法來創建滿足基本匿名隱私級別的聚類。在服務器端,通過泛化技術降低通信成本,通過基于upgmaa 的聚類組合方法壓縮匿名數據,使數據滿足更深層次的隱私級別。
由于醫療大數據具有不完整性,為了避免這一特點帶來的信息可用性的降低,裴孟麗在l-diversity的基礎上提出了匿名算法DAIMDL(data anonymity for incomplete medical data based onl-diversity)[11]。DAIMDL 算法在聚類基礎上對數據記錄進行分組,優化分組后,對劃分好的各數據組進行泛化。聚類階段,基于信息熵的距離計算進行聚類,保證簇內信息距離最小,簇間信息距離最大;泛化階段,對劃分好的各數據組進行泛化,最后得到每個分組內準標識符屬性取值相同的各等價類。病人信息經過DAIMDL算法處理可避免數據表中不完整數據記錄的丟棄,減少醫療數據的信息損失。同時對醫療數據中的敏感屬性進行多樣化分布,各等價類分組中不同敏感屬性值不少于l種,得到的醫療數據集滿足l-diversity匿名模型的要求[6]。
考慮到醫療大數據的持續更新特性,數據在不斷更新、插入和刪除,繼續沿用靜態匿名技術,則無疑會產生新的隱私泄漏的可能。常見的隱私保護模型有基于l-diversity多樣性的針對增量數據集的安全匿名方法,但是它只能解決數據的插入操作。文獻[12]提出了m-invariance 方法,可以針對數據的插入和刪除進行動態發布,通過滿足m-invariance 相關規則以外,加入了偽元組的概念,最大程度保護了隱私。同時在數據發布時,還發布了一張輔助表,用來記錄插入偽元組的統計信息。Shi等人進一步考慮到目標具體的準標識屬性和敏感屬性都會變化的情況(例如疾病痊愈或惡化、身體指標改變等),提出了一種動態更新方案[13]。該方案應用拉普拉斯噪聲機制對結果集的敏感屬性進行保護,并將準標識屬性和敏感屬性分別保存,根據它們的權限給接收方不同的結果,找到一個既能保證信息的可用性,又能實現隱私保護的最佳集群。
匿名技術較好地防止了患者的敏感數據泄漏,同時保證了數據的真實性,在實際應用中受到廣泛關注,但其中還存在改進的空間。隱私性和可用性間的平衡問題,目前的研究主要集中于減少信息損失,如何找到一個合理的平衡點是需要進一步深入研究的問題。目前采用的匿名化方法多為貪婪式算法,執行效率并不高,因此需要研究高效的匿名化算法以應對日益劇增的超大容量數據的發布問題。度量和評價標準問題目前還沒有統一的匿名化技術度量和評價標準,因此需要致力于該項研究,給匿名化技術一種更為客觀合理的評價。此外,如何高效實現個性化匿名,如何根據實際應用快速準確地選擇數據表的準標識符,如何解決分布式環境下多數據表的匿名化等都是值得深人思考和研究的問題。
差分隱私[14]較匿名化的隱私模型而言,可成功抵御大部分隱私攻擊并能提供可證明的隱私保證。它在最大化醫療數據可用性的同時,還保證患者隱私的泄漏在預期控制范圍內。差分隱私技術在數據集中添加的噪聲量由查詢函數的敏感度決定,與數據集的大小無關。對于規模龐大的醫療數據,如果能夠將查詢函數的敏感度控制在較低的范圍內,就可以通過添加少量的噪聲來達到隱私保護的目的,極大程度上保護了醫療數據可用性。這使差分隱私成為了一種十分有前景的醫療數據隱私保護模型。
差分隱私技術旨在保護數據隱私的條件下,同時也確保數據查詢的精確性。Li 等人[15]首先開發了一種啟發式分層查詢方法,然后提出了一種用于差分隱私的私有分區算法,以減少計算開銷和查詢錯誤。差分隱私在醫療領域的研究多集中于電子健康記錄和基因數據[16-17]。在文獻[16]中,作者首先對數據進行加密,然后使用差分噪聲機制對其進行干擾,從而保護了基因組和分布的臨床數據的隱私。此外,他們還致力于整合生物學和床邊(i2b2)框架的信息學,并在降低網絡開銷的同時增強了其隱私性。同樣,作者在文獻[17]中也采用了傳統的差分隱私保護方法和雙向解密方法來保護基因組數據不被任何攻擊者攻擊。作者提高了i2b2框架在電子基因組數據記錄中的保密性和執行時間。此外,作者在文獻[18]中開發了一種不同的私有聚合策略,該策略聚合了健康設備數據,也為其用戶提供了及時的激勵。該策略結合了差分隱私、Boneh-Goh-Nissim加密系統和Shamir秘密共享,提高了用戶的安全性和隱私性。該模型采用Java的JPBC庫開發,保證了計算量的降低。
針對醫療健康大數據的差分隱私應用研究還存在不少發展空間。隨著技術發展和使用需求,人體傳感器或可穿戴設備的尺寸越來越小。因此,需要輕量級和復雜性更低的差分隱私算法來適應這種設備。差分隱私在醫療健康大數據生命周期中多個環節都能起到不可小覷的作用,對醫療系統來說是一個至關重要的解決方案。
醫療大數據因其規模巨大且增長迅速,而主要依托云平臺進行存儲[19]。但是云服務提供者并不完全可信,進而使與患者密切相關的醫療健康數據面臨著被不可信的第三方偷窺甚至篡改的風險。為了應對以上安全問題,主要使用加密存儲技術以保證數據即使被偷窺也不泄漏其中蘊含的信息,使用審計技術來驗證數據完整性,以確保數據不被篡改。
為了保護數據的機密性,必須使用適當的加密方案。使用傳統的對稱加密方法對醫療健康大數據進行加密,雖然在加解密速度上有所保證,但因為醫療大數據存儲系統面對著大量用戶,也導致了傳統的對稱加密算法的密鑰分發過程過于復雜,所以對稱加密并不適用于對醫療健康大數據進行加密。非對稱加密方法,其密鑰相較易于管理,但對于不斷增長的醫療健康大數據而言,計算開銷過大,也同樣不適用。數據加密為數據中的隱私帶來了保障的同時,也為用戶和云平臺帶來了不小的計算開銷,在一定程度上限制了加密數據的使用以及共享,從而可能導致數據中隱藏價值的浪費。因此,適用于醫療健康大數據和云平臺特點的加密方法現已成為存儲隱私保護的一個重要研究內容。
Narayan等人[20]將公鑰和私鑰結合使用設計出基于屬性的加密(attribute-based encryption,ABE)方案。密鑰由具有訪問權限的第三方管理。該技術通過PEKS(public-key encryption with keyword search)加密算法允許安全的關鍵字搜索。數據使用高效的對稱密鑰加密技術進行加密,并使用基于屬性的加密使對稱密鑰可被授權用戶訪問。私鑰通過安全鏈接(如SSL)與用戶通信,從而防止竊聽者了解有關私鑰的任何信息。
為了減小計算復雜度并更好地滿足用戶的個性化需求,Choe 等人[21]提出對患者數據進行選擇性加密,以減少計算負擔,僅對患者選擇的項目應用加密。同時也提出了一些適當的密鑰管理所需的特性:患者和醫生所持有的密鑰數量不應很大;密鑰存儲簡單,消耗空間復雜度低;密鑰的更新在時間復雜度上要方便高效;密鑰中不應包含任何一方的私人信息;當密鑰過期或用戶離開組時,應該跟蹤并撤銷所有的密鑰。
Yang等人提出了一種基于癥狀匹配的跨域動態匿名認證組密鑰管理系統(cross-domain dynamic anonymous authenticated group key management with symptom-matching for e-health social system,CD-AGKMS),克服了移動設備效率不高、計算量大的局限性[22]。該技術改善了來自不同醫療領域的患者無法相互驗證身份并建立安全討論組的情形,支持建立基于癥狀匹配的群組。對電子健康系統而言,建立癥狀相同的患者群聊,共享疾病相關信息具有重要意義。該技術實現了基于癥狀匹配的患者匿名身份驗證:為了建立安全的組密鑰,所有參與的患者必須進行匿名身份驗證。患者的真實身份不會泄漏給組內的其他患者,所有的患者都被證實有相同的癥狀。一個重要的特征是在認證過程中不會顯示癥狀的明文信息。該技術還能夠進行動態患者和組管理:系統提供了時間控制的患者撤銷機制。根據估計的治療時間,為每個患者分配一個有效的時間段,該時間段隱式嵌入到患者的部分秘密密鑰中。當有效時間過期時,用戶的密鑰將被撤銷。此外,組密鑰管理系統允許患者動態加入或離開組。當成員關系更改以保護新的組會話時,將生成新的組會話密鑰。這一方案不需要沉重的雙線性配對計算,與其他現有的群組密鑰協商(group key agreement,GKA)方案相比更具有效性和安全性。
為了更高效更安全地對加密數據進行搜索,使用可搜索對稱加密(searchable symmetric encryption,SSE)[23],強制對外包加密的數據進行關鍵字搜索,避免了解密過程,從而在不增加數據泄漏的風險的基礎上提高了查詢效率。SSE 的中心思想是部署一個隱藏的索引表作為元數據,促進對加密數據的搜索[24]。數據所有者需要基于預處理的消息-關鍵字對創建索引表。要執行搜索,用戶將提供一個搜索令牌,服務器將使用該令牌通過索引進行搜索。如果找到匹配,則將匹配的加密數據返回給用戶。
當客戶機希望在所有連接的數據庫上執行全局查詢時,進一步的挑戰將是如何有效地同時在所有獨立管理的數據庫上執行查詢并獲得聚合的查詢結果。這一問題在現有的算法中未得到有效解決。一種可能的解決方案是讓分布在網絡中的部分集中服務器收集和聚合并行計算的查詢,并將聚合的結果返回給查詢者。但是,可能需要在這些服務器上小心地部署強大的安全和恢復機制,以保護它們免受拒絕服務攻擊。此外,不同醫療數據在敏感性上的區分對于隱私控制也是至關重要的。一種簡單的方法是根據敏感性將記錄分割成多個部分,并使用不同的密鑰對每個部分進行加密,然而,細粒度的分割會使密鑰管理任務復雜化。
醫療數據存儲在云服務器中,盡管基于云的系統提供了一些好處,但它也存在一些安全問題。一旦數據被外包,缺乏控制,或者更準確地說,缺乏數據的所有權會危及數據的完整性。有很多原因會使外包數據的完整性面臨風險。云服務,就像任何其他Web 服務一樣,必須處理可能損害客戶端關鍵數據的軟件和硬件故障。在完整性設計過程中(圖3),CSP(cryptographic service provider)可能會有意地選擇覆蓋任何數據錯誤,以用于否認它們。為了節省存儲空間,CSP可能傾向于使用離線方法存儲一些很少訪問的數據,甚至可能刪除這些數據。這些原因導致云用戶經常使用一種有效的方式對外包數據執行數據完整性審計。

Fig.3 Basic process of integrity audit圖3 完整性審計基本流程
在訪問時檢查數據完整性是確保數據擁有的常見方法,但考慮到存儲在云上的數據量,在訪問時檢查數據完整性難以實現。此外,讓云提供商或數據所有者審計數據完整性是不恰當的,因為無法保證中立的審計。在這些復雜的、大量的醫療數據存儲系統中,數據可能會不時地翻新,為靜態數據檔案設計的數據審計協議不適合在目前的情況下使用。在這個場景中,需要專門的審計服務定期審計云中的數據完整性。近年來,在不需要訪問整個數據的情況下,通過遠程服務器檢測數據的完整性引起了研究者的廣泛關注。

Table 1 Comparison of partial audit protocol performance表1 部分審計協議性能對比
Gope等人認為患者對于自己的信息應該擁有掌控權,主張審計日志應該被患者訪問和理解[34]。每個患者都應該有權利監控自己的審計數據,并明確誰訪問了自己的信息,訪問了哪些信息,訪問持續了多長時間,訪問的目的是什么。患者應該擁有記錄創建、記錄如何使用的具體實例、記錄更新并最終刪除全過程的相關信息。
然而,審計跟蹤只是一種治標不治本的措施,因為在采取應對措施之前,數據的完整性可能已經遭到破壞。但許多系統依賴日志數據的審計作為一種安全機制,當涉及較為嚴重的問題,如權限濫用、非法訪問嘗試和患者健康數據的不恰當披露時,審計跟蹤可以作為證據。現有的完整性審計技術中,獲得用戶授權的第三方審計者才能向云服務提供商發起完整性審計挑戰,在一定程度上提高了系統的安全性。但針對不同的云類型(如,公有云、私有云、混合云)下的需求,應提出更有效的驗證策略。驗證效率的進一步優化也是未來的一個研究方向,更高效實時的動態完整性驗證方案將為醫療云提供更好的管理服務。
每個用戶的醫療數據可能存儲在不同醫院的系統中,也可能保存在使用的智能手機中,而在醫療大數據背景下,這些蘊含巨大價值的數據必然走向共享、開放。比如,分級診療、遠程醫療、健康管理等新業態的產生,必然驅動數據的有序流動、合理利用和安全分享。
目前已有醫療數據共享平臺成功搭建,如美國的NHIN(National Health Information Network)[35],不同的醫療機構將患者的檢查結果、診療記錄以及藥物使用情況等醫療健康數據通過這個平臺進行共享。數據共享帶來便利的同時,也不可避免地給患者的隱私帶來了安全隱患。
針對這些問題,近年來提出了一些基于訪問控制的技術,對這些風險進行了有效的防控。訪問控制技術主要通過給不同的用戶分配不同的資源訪問權限來確保數據僅被某些有權限的特定用戶訪問。
訪問控制技術主要使用兩種身份驗證:用戶身份驗證和數據身份驗證。用戶身份驗證可以定義為用戶證明其真實性的方式,例如最常見的用戶名或帶有相關密碼的身份(ID)驗證機制[36]。用于確保數據源起源的過程是數據身份驗證,最常用的數據認證方法是數字簽名方案。
內部和外部攻擊者都可以很容易地訪問存儲在云服務器中的數據,并發起潛在的攻擊。應對這一問題,Shamir 和Tauman 開發了一種稱為hashi-signswitch 的新范式,它可以將任何簽名方案轉換為更有效的在線/離線簽名方案[36]。Chen 等人解決了上述設計中的關鍵數據暴露問題[37]。但是他們方案中trapdoor 哈希函數的散列密鑰(hash key)是受公鑰證書保護的公鑰的一部分,不能應用于ABS(attributebased signature)系統,因為簽名者是匿名的,他們的公鑰是與屬性相關的公共參數。因此,在線/離線ABS的通用設計仍然是一個開放的問題。
Liu等人為電子健康系統設計了一個高效、安全的匿名數據認證機制[38]。該機制使用一種應用離散對數的哈希函數來設計OOABS(online/offline attributebased signature)的通用方法。該設計不僅可以保護簽名者的隱私,保證簽名者的匿名性,而且可以防止攻擊者偽造簽名。在該系統中,患者可以在移動設備上對數據進行簽名,醫生和用戶在不知道簽名者的任何屬性或身份信息的情況下,對簽名者的簽名完整性和真實性進行驗證。
《睡美人》中主人公江口先后五次來到這家秘密客棧,每一次來看似有不同的快活的體驗,實則他每一次都在使自己經歷一次死亡,在《睡美人》中描述的是老人對性的一種渴望,其實也可以看作是對死亡的一種恐懼,而川端在這部作品中主要突出了“死”之無常、“死”之恐懼與“死”之悲美這三種死亡主題。
Zhang 和Liu 提倡在醫療云中使用匿名數字證書[39]。通過群簽名的簽名方案,允許一組成員匿名簽署電子病歷。當參與某個病人會診的醫生對其下一步的治療得出醫學結論時,他們會使用適當的簽名算法簽署相應電子病歷的醫學證明。證書將與相應的電子病歷一起單獨發送給病人。患者可以通過使用該醫療證書和執業者的數字簽名來驗證咨詢結果的真實性。考慮到尊重執業醫生的隱私,病人不需要知道簽名的執業醫生群體,如果在以后出現爭議,也可以打開簽名以顯示簽署咨詢結果的從業者的身份。同樣需要重視的是通信的安全性,目前用于保護在公共網絡中傳輸的信息的技術已經得到了很好的開發和部署,如安全套接字層(secure sockets layer,SSL)、傳輸層安全(transport layer security,TLS)、Internet協議安全(Internet protocol security,IPSec)等。
針對無線醫療傳感網絡(wireless medical sensor networks,WMSN)中的安全問題,Kumar等人提出了一種身份驗證協議來監測患者的健康狀況,并指出該協議可以抵御已知的安全威脅[40]。但是,He 等人在文獻[41]中提出的工作說明了該協議[40]對于一些安全威脅的抵御是很弱的。He等人還提出了一種增強的協議,以提高對已知攻擊的效率和魯棒性。Li等人進一步證明了文獻[41]協議無法檢測錯誤輸入,即在登錄階段和密碼更改階段錯誤輸入。Li 等人[42]和Wu等人[43]分別提出使用改進的智能卡和基于哈希函數的用戶認證協議來消除文獻[41]協議中的漏洞,提供了一個遠程監控病人健康狀況的平臺。在現有的認證協議中,研究人員將用戶匿名性、用戶不可跟蹤性、相互認證、對不同攻擊的攻擊彈性、傳感器節點的能量消耗等作為適合醫療技術應用的認證協議的關鍵因素。Amin 等人[44]在WMSN 中設計了一個更健壯、更人性化的患者監護系統。提出了一種降低了傳感器節點的能耗的健康監測系統體系結構,基于哈希函數的互認證和會話密鑰協商協議,為醫療專業人員提供了用戶匿名性。經過一系列驗證,該協議在OFMC(on-the-fly model-checker)和CLAtSe(constraint-logic-based attack searcher)模型中對主動攻擊和被動攻擊都是安全的,比同類現有協議具有更強的魯棒性和安全性。
近年來,人們提出了一些適用于遠程醫療信息系統的基于智能卡的密碼認證(雙因素認證)方案。Xiong 等人[45]使用Chaudhry 等人的方案作為案例研究,證明了遠程醫療信息系統中雙因素認證方案對離線字典攻擊是不安全的,并且被盜或丟失的智能卡無法撤銷。在此基礎上,Xiong提出了一種改進的雙因素匿名認證方案。利用隨機oracle模型和Burrows Abadi Needham邏輯給出了該方案的安全性分析。
大數據環境以及無線移動網絡環境為醫療大數據的訪問控制帶來了諸多挑戰。隨著計算能力的進一步提升,訪問控制的效率得到快速提升。同時,巨大的數據量用于身份驗證,從而可以實現更加精準、更加個性化的訪問控制。目前針對醫療大數據的訪問控制研究還在進一步深入,更加尊重用戶意愿的細粒度權限分配將會成為重點研究方向。
醫療數據的積累、電子病歷的推廣為機器學習應用于醫療領域奠定了良好的數據基礎。醫療大數據只有經過分析處理,才能將其中對于疾病的診斷、治療和醫學研究方面有價值的知識和規則挖掘出來。但是,有些數據表面上并無聯系,而通過數據挖掘技術,一些敏感的信息就可能被挖掘出來:獨立出現時并不涉及到個人隱私的數據,可能通過和個人信息的匹配后,足以分析出個人敏感信息。
對醫療數據進行數據挖掘,一些原本無法被識別的信息和模式可能會暴露出來并泄漏給不可信的第三方。因此需要在保護隱私前提下對數據進行分析處理,限制對大數據中敏感知識的挖掘。雖然醫療大數據經過了一系列清洗操作,使病人的相關隱私無法從數據集中直接得到,但對大量匯集的信息進行挖掘后,一些敏感信息可能會通過挖掘的結果泄漏。因此,將機器學習運用于醫療領域的過程中如何進行隱私保護是醫療健康大數據分析方面值得研究的問題。
(1)機密計算
機密計算強調在機器學習的訓練過程中對數據進行傳輸以及計算的機密性,為數據提供隱私保護。當前實現機密計算的方法有可信執行環境、同態加密和多方安全計算。
可信執行環境以硬件安全為強制保障,在計算芯片上獨立出一塊絕對安全區域,用以保障運行的數據和代碼(圖4)。基于可信執行環境——因特爾的SGX(software guard extensions)技術,一種罕見病基因數據分析系統PRINCESS(privacy-protecting rare disease international network collaboration via encryption through software guard extensions)被提出[46],在加密數據上執行安全的分布式計算,并針對川崎病進行了基于家庭的等位基因關聯研究,PRINCESS算法比同態加密和亂碼電路等替代方案能夠更快地提供安全和準確的分析。Chen等人還提出了基于SGX技術的基因數據分析框架PRESAGE(privacy-preserving genetic testing via software guard extension)[47],以及新穎的安全的基因親緣關系分析方法PREMIX(privacypreserving estimation of individual admixture)[48],但是基于硬件安全的SGX會遭受到特定算法的旁路攻擊[49]。

Fig.4 Trusted executive environment圖4 可信執行環境
同態加密,可以在不提供密鑰的情況下對密文進行機密的計算,只有使用密鑰才能將其解密成明文。在對基因數據進行分析時,考慮到其敏感性,通常應用同態加密技術。例如,基于基因數據的罕見病研究框架HEALER(homomorphic computation of exact logistic regression)[50],在保護人類基因組數據的基礎上,分析小樣本量的罕見變異體。在一般基因數據分析[51]中,基因組數據所有者只提供加密的序列,公共商業云可以執行序列分析而無需解密,結果只能由數據所有者或持有解密密鑰的指定代表解密。在全基因組關聯分析計劃中[52],所有基因型和表型數據都進行完全同態加密,允許云對加密的數據執行有意義的計算。但同態加密的實際應用受限于巨大的計算開銷,現在的技術大約只能擴展到Mnist和Cifar數據集的推斷部分[53]。
多方安全計算是參與方以各自隱私數據為輸入共同計算一個函數值,各參與方無法獲得其他人的隱私數據,只能獲得計算結果。由于無需依賴可信任的第三方,安全多方計算技術被廣泛應用于生物醫療數據研究中。例如,多機構醫療健康記錄匹配算法[54]以及全基因組關聯分析算法[55]等。但在實際應用中,節點之間的通信量不容小覷,如何減小這一通信開銷,也是當下的一個研究熱點[56]。
(2)模型隱私
訓練后的模型也可能會造成訓練數據的隱私泄漏。因為機器學習的模型都會記住自己的訓練數據,從而導致發布模型會有訓練數據隱私泄漏的風險。
而差分隱私可以衡量和控制模型對訓練數據的泄漏,刻畫出單個數據樣本對模型的影響。差分隱私技術與機器學習算法結合,可確保健康數據的完全隱私(如表2)。
2019 年提出的高斯差分隱私[61]在計算復合和采樣兩種操作的隱私損失都給出了一個緊估計,在隱私損失的統計上都更加精準,從而在相同隱私預算下的噪音更小,取得的性能更好。
另一個模型隱私的研究熱點是模型遺忘(machine unlearning),即如何讓個人控制他們的數據何時可以使用,何時不能使用,也就是“被遺忘權”[62]。實現模型遺忘的最直接方法是在數據集中刪除指定的數據后重新訓練,但重新訓練的計算開銷非常高,因此需要探索的是如何耗費盡可能少的計算開銷實現模型遺忘。一種方法是在需要刪除數據時對已經訓練好的模型作進一步處理,使其與重新訓練的模型在統計意義上近似不可區分[63-64];而另一種方法是設計新的訓練方法,降低重新訓練的代價,例如在最初訓練的時候就將數據分塊,每塊數據單獨訓練出子模型,然后匯總子模型的結果,當需要刪除數據時只需要重新訓練一個子模型,這樣就能在一定程度上減少訓練成本[65-66]。
(3)聯邦學習
聯邦學習本質上是一種分布式學習框架。多個醫療機構的數據集中整合訓練往往能取得比使用一家機構數據單獨訓練的效果好,但是每個醫療機構都希望自己的數據是安全的,對數據集中整合往往帶來復雜的隱私和數據安全等問題。而通過聯邦學習,數據擁有者在不用直接提供數據的情況下,也可得到訓練模型,并且模型的訓練效果也能得到保證,與數據整合之后的訓練效果相差無幾。聯邦學習技術通過參數交換方式對醫療健康數據進行了有效的隱私保護,數據和模型保留在本地,本身不會進行傳輸,因此在數據層面不存在泄漏的可能。
Kim 等人在保證各醫院的數據不離開本地的情況下,將多家醫院的數據聯合分析出特定患者人群的表型[67]。從研究結果可知,單獨使用一家醫院的數據與聯合利用兩家醫院的數據分析得出的結果差異較大,而使用聯邦學習的方式,在數據不出醫院的情況下,在準確性和表型發現方面與集中式訓練模型相似,同時又尊重隱私。
Brisimi 等人提出了一種聯邦優化方案cPDS(cluster primal dual splitting)[68],可用于求解支持向量機問題。他們使用了波士頓醫療中心的心臟記錄電子數據集,利用cPDS來區分在目標年內患者是否可能住院,并取得了較好的結果。cPDS框架是通用的,它的優點在于可伸縮性,以及避免了數據交換,這在醫療領域是非常重要的。
NVIDIA 團隊在BraTS 數據集上應用并評估了用于腦腫瘤分割的聯邦學習系統[69]。這是第一個用于醫學圖像分析的隱私保護聯邦學習系統,并且探討了在聯邦學習系統中應用差分隱私技術來保護病人數據的可行性。雖然聯邦學習可以保證極高的隱私安全性,但通過模型反演,仍可以設法使數據重現。為了進一步提高聯盟學習的安全性,研究人員研究了使用ε-差分隱私框架的可行性。這個框架是一種正式定義隱私損失的方法,可以借助其強大的隱私保障性來保護患者與機構數據。

Table 2 Combination of differential privacy technology and machine learning algorithm表2 差分隱私技術與機器學習算法結合的場景
聯邦學習的主要優點是數據可以保留在其所有者手中,同時仍然能夠對不同所有者的數據進行訓練。聯邦拓撲是靈活的或完全分散的,不需要持續的在線可用性,因為培訓可以離線進行,結果可以稍后返回。因此,在醫療領域,聯邦學習方法無疑已成為使用最廣泛的下一代隱私保護技術。然而,聯邦學習在具體實現中計算和通信開銷較大,也是當下亟待解決的問題。
如何在保證對醫療大數據的較高利用率,挖據數據價值的同時,切實保護用戶隱私,是目前醫療研究領域的關鍵問題。本文首先介紹了醫療健康大數據的復雜來源,以及其區別于一般大數據的特殊性質。然后從醫療大數據生命周期出發介紹了每個環節中存在的隱私保護問題,并對隱私保護的技術進行了分類闡述,簡要探討了各種技術的可取性以及局限性,探索了醫療大數據隱私數據保護技術進一步發展的方向。總體而言,在醫療大數據領域,更多的文獻提出了相關問題和建議,而真正將技術應用到實踐中的較少,隱私保護的細粒度、個性化需求也越來越迫切,將成為今后研究的重點內容。
在醫療健康大數據的生命周期中,采用隱私保護技術能夠在一定程度上防止隱私的泄漏。但是如果沒有科學合理的管理措施,仍會面臨人工操作不當、惡意的內部人員、基礎設施被破壞、相關法律法規不明確等技術方面難以控制的問題。
(1)建立隱私安全規范與管理標準,完善法律法規
在醫療健康大數據的全生命周期中,離不開工作人員的操作管理,例如醫療部門的醫生,能夠直接接觸到患者的私人信息以及檢測結果,這些不僅暴露了患者的身體情況,還透露其家庭住址、生活習慣等信息。為了防止患者敏感信息被惡意使用和泄漏,應該制定嚴格的管理標準,對各個環節中涉及的工作人員進行隱私安全規范培訓,并切實落實到其操作管理之中。
(2)完善醫療健康大數據隱私保護法律法規
法律具有強制性,是保障患者隱私,減少數據泄漏的有力武器。政府應加快針對醫療健康大數據隱私保護的立法工作,并進一步完善保護制度,對惡意竊取數據的行為加大打擊力度。此外,考慮到醫療健康大數據的傳輸是全球范圍內的,建立并完善一套關于醫療健康大數據保護的國際標準法律也十分重要。
(3)基礎設施實時監管
醫療健康大數據的隱私安全也依賴于生命周期中各個基礎設施的安全,例如存儲了醫療數據的云平臺,一旦損壞或被惡意攻擊,數據可能會丟失、篡改。在醫療健康大數據的全生命周期中,涉及到多種基礎設施,每一個環節的隱私安全都不容小覷,需要進行實時監管保護,在第一時間應對突發狀況。