李澤琛,司廣濤,孟 靜
(曲阜師范大學 計算機學院,山東 日照276826)
傳染病的爆發(fā)導致健康和經濟危機,并將引發(fā)社會恐慌。 例如:2020 年的新型冠狀病毒,嚴重影響到全世界人民的正常生活。 為了抑制病毒蔓延,出現(xiàn)了基于網絡環(huán)境的健康信息監(jiān)控手段,主要依靠傳感器設備采集居民健康數據,并記錄其位置信息[1-6]。
目前,基于傳感器的網絡監(jiān)控技術已經應用于傳染病領域,主要工作是監(jiān)控患者的健康信息和位置信息。 例如:文獻[7]、[8]提出基于無線人體區(qū)域網絡(Wireless Body Area Network,WBAN)和手機的方式,同時采集身體實時生命體征和動態(tài)社會互動信息的方法,從而對傳染源進行動態(tài)追蹤。 文獻[9]利用WBAN 采集體溫血壓等主要參數,實現(xiàn)了對埃博拉感染者的持續(xù)檢測和遠程監(jiān)測。 然而,上述工作只是實現(xiàn)健康數據和位置信息的采集和分析,并沒有考慮被監(jiān)測者的數據隱私問題。
近年來,多個科研小組已經對傳染病監(jiān)控過程的用戶隱私問題進行了研究。 Liu Jianqing 等基于手機上的GPS 和穿戴設備采集位置數據和健康數據,利用鍵無關的內積加密機制,確保不受信任的實體只獲得健康統(tǒng)計數據,而非個人數據,保護了患者的健康和位置信息數據[10]。 Zhang Kuan 等利用手機上的短程通信技術來檢測智能手機用戶和其他用戶的物理距離,實現(xiàn)對密切接觸人群的判斷,又通過同態(tài)加密方法實現(xiàn)了用戶的社交網絡數據和健康數據保護,但沒有關注位置隱私問題[11]。 為實現(xiàn)用戶位置隱私,ALTUWAIYAN T 等通過短程無線設備記錄用戶位置,基于權重分數匹配判斷用戶是否與傳染者接觸過[12]。 SOOD S K 等人針對基孔肯雅病,提出一種綜合的數據采集和隱私保護方案,針對不同的隱私保護級別,實現(xiàn)了對用戶的敏感信息、健康數據和位置數據的采集與保護[13]。
可見,已有研究工作更多地關注受監(jiān)測者的健康數據采集、分析和尋找密切接觸者。 雖然部分工作實現(xiàn)了用戶健康數據以及位置信息的保護,但都沒有同時實現(xiàn)對監(jiān)控者的健康數據監(jiān)測、位置軌跡跟蹤、數據隱私保護和疑似收治。此外,現(xiàn)有工作的監(jiān)測人群是大眾,沒有直接針對接觸者進行跟蹤監(jiān)測的工作。 因此,本文提出一種針對傳染病接觸者的狀態(tài)監(jiān)控與數據采集、隱私保護和疑似病例收治的系統(tǒng)模型。 基于該模型,本文設計了具體的個人信息、健康數據和位置數據的隱私保護方法,并通過建立和醫(yī)院之間的協(xié)同機制,實現(xiàn)疑似患者的及時收治。
本文設計了一種針對接觸者的實時監(jiān)控系統(tǒng)模型,如圖1 所示。 該模型包括三個實體:接觸者、健康中心和醫(yī)院。 系統(tǒng)的運轉概括為七個關鍵步驟:
(1)注冊。 接觸者在健康中心進行注冊,開啟自身健康監(jiān)控。 合法醫(yī)院在健康中心注冊,以便提供服務。
(2)健康和位置信息上傳。 受監(jiān)控者每隔一段時間,通過數據采集設備將自己的健康信息和位置信息發(fā)送給健康中心。
(3)數據存儲與初步分析。 健康中心收集被監(jiān)控者健康信息和位置信息,分別存儲在健康信息數據庫和位置信息數據庫,并對健康數據進行初步的診斷。
(4)醫(yī)院分配。 健康中心一旦發(fā)現(xiàn)疑似患者,便為其分配醫(yī)院。
(5)疑似患者收治。 醫(yī)院接收到健康中心發(fā)送的疑似患者信息后,向患者發(fā)送收治請求。同時,疑似患者驗證醫(yī)院的合法性。
(6)醫(yī)院將診斷結果發(fā)送給健康中心。
(7)一旦疑似患者確診,健康中心相關人員將提取其位置運動軌跡,尋找新的接觸者。
圖1 針對傳染病接觸者的遠程監(jiān)控系統(tǒng)模型
系統(tǒng)在接觸者監(jiān)控過程中存在兩種隱私泄露風險:一是來自健康中心,二是來自數據傳輸過程,如圖1 中黑色虛線框部分所示。 假定健康中心是半可信的,中心工作人員誠實地執(zhí)行保密協(xié)議,但是內部工作人員可能會出于好奇查看、進一步推理接觸者提交的各種信息,導致接觸者的敏感信息泄露。 數據傳輸過程中可能會存在竊聽攻擊,導致數據傳輸過程中的信息泄露。
針對上述安全威脅,本文的系統(tǒng)隱私設計應包括對被監(jiān)測者個人信息、健康信息和位置信息的保護,具體目標包括數據保密性、數據和用戶可靠性、數據可用性。
本文設計了基于單純手機號碼作為身份ID 的用戶注冊方法,實現(xiàn)個人信息保護。 為了便于后續(xù)醫(yī)院分配和家庭住址保護的需求,注冊時向健康中心提供一個模糊的家庭住址范圍。 注冊成功后,健康中心會返回一個偽身份ID 給接觸者,用于以后上傳數據時的身份驗證。 思路如圖2 中實線箭頭所示, 其中PKhc表示健康中心的公鑰,PKc表示接觸者的公鑰,PKh表示醫(yī)院的公鑰,Ba 表示接觸者家庭住址的模糊區(qū)域,Tel 表示接觸者的電話號碼,Hid表示醫(yī)院的身份信息。接觸者通過函數Ereg()實現(xiàn)注冊過程中相關數據加密。 健康中心通過函數Eci()實現(xiàn)對疑似患者個人信息數據進行加密。 接觸者通過函數Ehi()實現(xiàn)健康數據加密和上傳,HI 表示健康信息,Pseudo-ID 表示接觸者的偽身份。 接觸者通過函數Eadd()實現(xiàn)住址加密傳輸,Address 表示接觸者的家庭住址。
圖2 個人信息和健康數據保護框架
為防止健康中心非授權人員對健康數據的窺視,以及數據傳輸過程中的竊聽風險,本文設計了基于非對稱加密(Elliptic Curves Cryptography,ECC)的接觸者健康數據保護方法。 該方法能夠實現(xiàn)接觸者上傳健康數據到健康中心和健康中心發(fā)送接觸者的健康信息給匹配醫(yī)院過程的數據保護,如圖2 中虛線所示。 傳感器每隔一段時間自動采集接觸者的健康數據,并使用健康中心公鑰對其加密,上傳到健康中心。 健康中心收到健康信息后用私鑰解密,獲得監(jiān)控者的健康信息,并進一步分析數據,判斷接觸者是否異常。
算法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
接觸者監(jiān)控過程中需要每隔一段時間上傳一次個人位置信息。 出于對數據安全性的考慮,將用戶健康數據和位置數據分離,分別存儲在健康數據庫和位置數據庫內。 用戶的位置非常重要,一旦泄露,攻擊者容易通過其位置軌跡分析、推斷用戶身份,帶來各種安全隱患。為此,本文設計了基于非對稱加密和對稱加密相結合的雙重加密機制來實現(xiàn)接觸者位置信息的保護。
首先, 在接觸者上傳位置信息到健康中心時,設計了第一層加密機制:利用健康中心的公鑰對位置信息進行非對稱加密,該層加密能夠保證數據傳輸過程的安全。 其次,為防止健康中心未授權人員對位置信息的窺視,設計了第二層加密機制:利用會話密鑰對加密后的位置信息進行再次的對稱加密。 此時,健康中心非授權人員因為沒有會話密鑰,無法解密接觸者的位置信息。 具體流程如圖3 所示。
圖3 用戶位置信息保護
圖3 中,ksym表示用戶會話密鑰,LI 表示監(jiān)控者位置信息,Easym()函數實現(xiàn)位置信息的第一層非對稱加密,Esym()函數實現(xiàn)對位置信息的第二層會話密鑰對稱加密。 一旦疑似患者被確診,確診者便將自己的會話密鑰用健康中心公鑰加密后,傳給健康中心授權人員,由函數Ek()實現(xiàn)(虛線所示)。健康中心授權人員聯(lián)合會話密鑰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
首先,接觸者在健康中心注冊時,僅使用電話號碼和一個模糊的家庭區(qū)域位置進行注冊,因此,在假設健康中心人員沒有途徑通過電話號碼得到監(jiān)控者其他信息的條件下,健康中心人員無法推斷監(jiān)控者的真實身份信息和家庭地址,同時,也無法獲取健康數據的所有人的身份信息。 其次,在位置信息隱私保護方面,設計了雙重加密機制。 該種機制下,只有監(jiān)控者被確診,需要提取位置信息時,健康中心授權人員才能獲得用戶會話密鑰,提取出位置信息。 可見,該方法有效避免了健康中心工作人員出于好奇對用戶位置信息的窺視和身份推斷。 再次,無線傳感設備自動采集數據、加密和上傳,有效防止用戶對數據的篡改。 最后,身份驗證能夠阻擋惡意用戶進入系統(tǒng)。
首先,監(jiān)控者需要上傳健康中心的數據,全部使用健康中心的公鑰進行加密。 其他人因為沒有健康中心私鑰,無法解密獲取真實數據。其次,當接觸者或者健康中心需要傳輸數據給醫(yī)院時,都首先用醫(yī)院的公鑰進行數據加密然后再傳輸,其他人員則因為沒有醫(yī)院的私鑰,即使中途獲取數據也無法解密。最后,當醫(yī)院需要發(fā)送診斷結果給健康中心時,用健康中心的公鑰對數據進行加密再傳輸,其他用戶因為沒有健康中心的私鑰,所以無法解密接觸者的診斷結果。
為評估加密算法的實際性能,本文開展了相關實驗。 實驗中,用戶個人信息數據包含電話號碼和模糊家庭地址,大小為26 B,基于ECC 加密方法,加密時間為0.000 964 s。 用戶的健康信息可分為兩部分:一是接觸者每日常規(guī)上傳到健康中心的健康數據;二是當接觸者的健康信息異常時,健康中心打包接觸者近些天的健康數據給醫(yī)院。 本實驗中以COVID-19 的采集數據為例,對于第一部分數據,單次采集單獨上傳,測試數據大小為178 B,包含發(fā)燒、呼吸困難等14 項, 實驗評估加密時間約為0.001 001 s。第二部分數據實驗設置為近14 天的健康信息, 數據量大約為2 505 B,實驗評估加密時間為0.002 982 s,對比單次上傳,時間略有增加。針對位置信息保護,本實驗采用ECC 加密和AES 加密相結合的雙重加密方法。 由于目前沒有關于傳染病接觸者位置監(jiān)控的數據集,因此此處采用常規(guī)位置信息數據集進行測試,位置信息中包含數據采集時間、經度、緯度。本文系統(tǒng)設定位置信息采用逐條加密、逐條發(fā)送的方式。 此時,單次位置信息大小約為50 B,加密時間為0.003 963 s。 本文實驗在PC 上運行:配置2.30 GHz 主頻的Intel i5-6200U 處理器和8 GB 內存,編程環(huán)境為Python3.7。 可見,雖然加密屬于耗時較大的隱私保護方法, 但在本文提出的系統(tǒng)中,加密運算大都是用于單次或少量數據的加密,所需時間少,完全滿足實際系統(tǒng)應用需求。
本文提出了一個針對傳染病接觸者的遠程監(jiān)控系統(tǒng)模型,在實現(xiàn)用戶健康和位置狀態(tài)監(jiān)控、分析的同時,保護了監(jiān)控用戶的個人數據隱私。與已有工作相比,本文兼顧了接觸者健康監(jiān)控、數據保護和確診收治等多個方面,并適合無癥狀接觸者的長期監(jiān)控,為抑制疾病蔓延提供了一條新的途徑。 為更好理解本文工作,做以下幾點說明:(1)本文主要工作是針對接觸者進行跟蹤監(jiān)測,尋找新的密切接觸者不是本文的工作重點。(2)本文多次使用了數據加密的方法,該方法能高效保證數據在傳輸和使用過程的安全性,實驗分析也表明計算速度能夠滿足系統(tǒng)實際應用需求。但隨著數據量的增加,計算量相對較大。后續(xù)研究中,將探索新的方法,進一步降低系統(tǒng)的計算量。(3)本文還沒有對提出的監(jiān)控系統(tǒng)模型開展相應的系統(tǒng)仿真實驗。 下一步工作中,將考慮基于手機軟件、藍牙技術和聯(lián)合數據服務器的多種方法,模擬提出的系統(tǒng)架構,對相關模型和方法進行評估。