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