李澤琛,司廣濤,孟 靜
(曲阜師范大學 計算機學院,山東 日照276826)
傳染病的爆發導致健康和經濟危機,并將引發社會恐慌。 例如:2020 年的新型冠狀病毒,嚴重影響到全世界人民的正常生活。 為了抑制病毒蔓延,出現了基于網絡環境的健康信息監控手段,主要依靠傳感器設備采集居民健康數據,并記錄其位置信息[1-6]。
目前,基于傳感器的網絡監控技術已經應用于傳染病領域,主要工作是監控患者的健康信息和位置信息。 例如:文獻[7]、[8]提出基于無線人體區域網絡(Wireless Body Area Network,WBAN)和手機的方式,同時采集身體實時生命體征和動態社會互動信息的方法,從而對傳染源進行動態追蹤。 文獻[9]利用WBAN 采集體溫血壓等主要參數,實現了對埃博拉感染者的持續檢測和遠程監測。 然而,上述工作只是實現健康數據和位置信息的采集和分析,并沒有考慮被監測者的數據隱私問題。
近年來,多個科研小組已經對傳染病監控過程的用戶隱私問題進行了研究。 Liu Jianqing 等基于手機上的GPS 和穿戴設備采集位置數據和健康數據,利用鍵無關的內積加密機制,確保不受信任的實體只獲得健康統計數據,而非個人數據,保護了患者的健康和位置信息數據[10]。 Zhang Kuan 等利用手機上的短程通信技術來檢測智能手機用戶和其他用戶的物理距離,實現對密切接觸人群的判斷,又通過同態加密方法實現了用戶的社交網絡數據和健康數據保護,但沒有關注位置隱私問題[11]。 為實現用戶位置隱私,ALTUWAIYAN T 等通過短程無線設備記錄用戶位置,基于權重分數匹配判斷用戶是否與傳染者接觸過[12]。 SOOD S K 等人針對基孔肯雅病,提出一種綜合的數據采集和隱私保護方案,針對不同的隱私保護級別,實現了對用戶的敏感信息、健康數據和位置數據的采集與保護[13]。
可見,已有研究工作更多地關注受監測者的健康數據采集、分析和尋找密切接觸者。 雖然部分工作實現了用戶健康數據以及位置信息的保護,但都沒有同時實現對監控者的健康數據監測、位置軌跡跟蹤、數據隱私保護和疑似收治。此外,現有工作的監測人群是大眾,沒有直接針對接觸者進行跟蹤監測的工作。 因此,本文提出一種針對傳染病接觸者的狀態監控與數據采集、隱私保護和疑似病例收治的系統模型。 基于該模型,本文設計了具體的個人信息、健康數據和位置數據的隱私保護方法,并通過建立和醫院之間的協同機制,實現疑似患者的及時收治。
本文設計了一種針對接觸者的實時監控系統模型,如圖1 所示。 該模型包括三個實體:接觸者、健康中心和醫院。 系統的運轉概括為七個關鍵步驟:
(1)注冊。 接觸者在健康中心進行注冊,開啟自身健康監控。 合法醫院在健康中心注冊,以便提供服務。
(2)健康和位置信息上傳。 受監控者每隔一段時間,通過數據采集設備將自己的健康信息和位置信息發送給健康中心。
(3)數據存儲與初步分析。 健康中心收集被監控者健康信息和位置信息,分別存儲在健康信息數據庫和位置信息數據庫,并對健康數據進行初步的診斷。
(4)醫院分配。 健康中心一旦發現疑似患者,便為其分配醫院。
(5)疑似患者收治。 醫院接收到健康中心發送的疑似患者信息后,向患者發送收治請求。同時,疑似患者驗證醫院的合法性。
(6)醫院將診斷結果發送給健康中心。
(7)一旦疑似患者確診,健康中心相關人員將提取其位置運動軌跡,尋找新的接觸者。

圖1 針對傳染病接觸者的遠程監控系統模型
系統在接觸者監控過程中存在兩種隱私泄露風險:一是來自健康中心,二是來自數據傳輸過程,如圖1 中黑色虛線框部分所示。 假定健康中心是半可信的,中心工作人員誠實地執行保密協議,但是內部工作人員可能會出于好奇查看、進一步推理接觸者提交的各種信息,導致接觸者的敏感信息泄露。 數據傳輸過程中可能會存在竊聽攻擊,導致數據傳輸過程中的信息泄露。
針對上述安全威脅,本文的系統隱私設計應包括對被監測者個人信息、健康信息和位置信息的保護,具體目標包括數據保密性、數據和用戶可靠性、數據可用性。
本文設計了基于單純手機號碼作為身份ID 的用戶注冊方法,實現個人信息保護。 為了便于后續醫院分配和家庭住址保護的需求,注冊時向健康中心提供一個模糊的家庭住址范圍。 注冊成功后,健康中心會返回一個偽身份ID 給接觸者,用于以后上傳數據時的身份驗證。 思路如圖2 中實線箭頭所示, 其中PKhc表示健康中心的公鑰,PKc表示接觸者的公鑰,PKh表示醫院的公鑰,Ba 表示接觸者家庭住址的模糊區域,Tel 表示接觸者的電話號碼,Hid表示醫院的身份信息。接觸者通過函數Ereg()實現注冊過程中相關數據加密。 健康中心通過函數Eci()實現對疑似患者個人信息數據進行加密。 接觸者通過函數Ehi()實現健康數據加密和上傳,HI 表示健康信息,Pseudo-ID 表示接觸者的偽身份。 接觸者通過函數Eadd()實現住址加密傳輸,Address 表示接觸者的家庭住址。

圖2 個人信息和健康數據保護框架
為防止健康中心非授權人員對健康數據的窺視,以及數據傳輸過程中的竊聽風險,本文設計了基于非對稱加密(Elliptic Curves Cryptography,ECC)的接觸者健康數據保護方法。 該方法能夠實現接觸者上傳健康數據到健康中心和健康中心發送接觸者的健康信息給匹配醫院過程的數據保護,如圖2 中虛線所示。 傳感器每隔一段時間自動采集接觸者的健康數據,并使用健康中心公鑰對其加密,上傳到健康中心。 健康中心收到健康信息后用私鑰解密,獲得監控者的健康信息,并進一步分析數據,判斷接觸者是否異常。
算法1 描述了圖2 中對接觸者個人信息和健康數據進行保護的偽代碼。
算法1 Privacy-protection algorithm on personal information and health data
1.user registration:Ereg(PKhc,(Tel,Ba,PKc)),and obtain the pseudo-ID from health center
2. for each timestamp i of data acquisition
3. Ed(PKhc,(HIi,pseudo-ID)),upload encrypted data to health center
4. if HIiis un-normal
5. Eci(PKh(Tel,HI))
6. hospital send the location request to the contact
with its Hid,contact verify the legality of the hospital by its identity ID.
7. if Hid
8. Einfo(PKh,Address)
9. end if
10. end if
11. end for
接觸者監控過程中需要每隔一段時間上傳一次個人位置信息。 出于對數據安全性的考慮,將用戶健康數據和位置數據分離,分別存儲在健康數據庫和位置數據庫內。 用戶的位置非常重要,一旦泄露,攻擊者容易通過其位置軌跡分析、推斷用戶身份,帶來各種安全隱患。為此,本文設計了基于非對稱加密和對稱加密相結合的雙重加密機制來實現接觸者位置信息的保護。
首先, 在接觸者上傳位置信息到健康中心時,設計了第一層加密機制:利用健康中心的公鑰對位置信息進行非對稱加密,該層加密能夠保證數據傳輸過程的安全。 其次,為防止健康中心未授權人員對位置信息的窺視,設計了第二層加密機制:利用會話密鑰對加密后的位置信息進行再次的對稱加密。 此時,健康中心非授權人員因為沒有會話密鑰,無法解密接觸者的位置信息。 具體流程如圖3 所示。

圖3 用戶位置信息保護
圖3 中,ksym表示用戶會話密鑰,LI 表示監控者位置信息,Easym()函數實現位置信息的第一層非對稱加密,Esym()函數實現對位置信息的第二層會話密鑰對稱加密。 一旦疑似患者被確診,確診者便將自己的會話密鑰用健康中心公鑰加密后,傳給健康中心授權人員,由函數Ek()實現(虛線所示)。健康中心授權人員聯合會話密鑰ksym和自己的私鑰SKhc,經D2()函數解密確診者的位置軌跡數據,從而尋找新的接觸者。
算法2 給出了上述位置信息保護方法的偽代碼。
算法2 Privacy-protection on location information
1. for each timestamp
2. Eli=Esym(ksym,Easym,(PKhc,LI))
3. location database←Eli
4.end for
5.if contact is confirmed in hospital
6. encrypted NCD with PKhc,then send it to health center
7.end if
8.if user receive the NCD
9. Ek(PKhc,ksym),then send the encrypted ksymto health center
10. LI←D2(SKhc,D1(ksym,Eli))
11.end if
首先,接觸者在健康中心注冊時,僅使用電話號碼和一個模糊的家庭區域位置進行注冊,因此,在假設健康中心人員沒有途徑通過電話號碼得到監控者其他信息的條件下,健康中心人員無法推斷監控者的真實身份信息和家庭地址,同時,也無法獲取健康數據的所有人的身份信息。 其次,在位置信息隱私保護方面,設計了雙重加密機制。 該種機制下,只有監控者被確診,需要提取位置信息時,健康中心授權人員才能獲得用戶會話密鑰,提取出位置信息。 可見,該方法有效避免了健康中心工作人員出于好奇對用戶位置信息的窺視和身份推斷。 再次,無線傳感設備自動采集數據、加密和上傳,有效防止用戶對數據的篡改。 最后,身份驗證能夠阻擋惡意用戶進入系統。
首先,監控者需要上傳健康中心的數據,全部使用健康中心的公鑰進行加密。 其他人因為沒有健康中心私鑰,無法解密獲取真實數據。其次,當接觸者或者健康中心需要傳輸數據給醫院時,都首先用醫院的公鑰進行數據加密然后再傳輸,其他人員則因為沒有醫院的私鑰,即使中途獲取數據也無法解密。最后,當醫院需要發送診斷結果給健康中心時,用健康中心的公鑰對數據進行加密再傳輸,其他用戶因為沒有健康中心的私鑰,所以無法解密接觸者的診斷結果。
為評估加密算法的實際性能,本文開展了相關實驗。 實驗中,用戶個人信息數據包含電話號碼和模糊家庭地址,大小為26 B,基于ECC 加密方法,加密時間為0.000 964 s。 用戶的健康信息可分為兩部分:一是接觸者每日常規上傳到健康中心的健康數據;二是當接觸者的健康信息異常時,健康中心打包接觸者近些天的健康數據給醫院。 本實驗中以COVID-19 的采集數據為例,對于第一部分數據,單次采集單獨上傳,測試數據大小為178 B,包含發燒、呼吸困難等14 項, 實驗評估加密時間約為0.001 001 s。第二部分數據實驗設置為近14 天的健康信息, 數據量大約為2 505 B,實驗評估加密時間為0.002 982 s,對比單次上傳,時間略有增加。針對位置信息保護,本實驗采用ECC 加密和AES 加密相結合的雙重加密方法。 由于目前沒有關于傳染病接觸者位置監控的數據集,因此此處采用常規位置信息數據集進行測試,位置信息中包含數據采集時間、經度、緯度。本文系統設定位置信息采用逐條加密、逐條發送的方式。 此時,單次位置信息大小約為50 B,加密時間為0.003 963 s。 本文實驗在PC 上運行:配置2.30 GHz 主頻的Intel i5-6200U 處理器和8 GB 內存,編程環境為Python3.7。 可見,雖然加密屬于耗時較大的隱私保護方法, 但在本文提出的系統中,加密運算大都是用于單次或少量數據的加密,所需時間少,完全滿足實際系統應用需求。
本文提出了一個針對傳染病接觸者的遠程監控系統模型,在實現用戶健康和位置狀態監控、分析的同時,保護了監控用戶的個人數據隱私。與已有工作相比,本文兼顧了接觸者健康監控、數據保護和確診收治等多個方面,并適合無癥狀接觸者的長期監控,為抑制疾病蔓延提供了一條新的途徑。 為更好理解本文工作,做以下幾點說明:(1)本文主要工作是針對接觸者進行跟蹤監測,尋找新的密切接觸者不是本文的工作重點。(2)本文多次使用了數據加密的方法,該方法能高效保證數據在傳輸和使用過程的安全性,實驗分析也表明計算速度能夠滿足系統實際應用需求。但隨著數據量的增加,計算量相對較大。后續研究中,將探索新的方法,進一步降低系統的計算量。(3)本文還沒有對提出的監控系統模型開展相應的系統仿真實驗。 下一步工作中,將考慮基于手機軟件、藍牙技術和聯合數據服務器的多種方法,模擬提出的系統架構,對相關模型和方法進行評估。