涂子璇,劉樹波,熊星星,趙 晶,蔡朝暉
(武漢大學計算機學院,武漢 430072)
(?通信作者電子郵箱liu.shubo@whu.edu.cn)
隨著越來越多的可穿戴設備投入市場,可穿戴設備以其便攜、可穿戴、易移動和長續航等特點正逐步為社會大眾所接受和使用,滿足了各類人群的健康管理要求。日常使用的可穿戴設備主要分為兩類:一類是針對大眾健康監測類設備,如智能手環、智能手表等,作為運動和健康管理的輔助產品;另一類是針對某種慢性疾病的設備,如血糖儀、血壓計等設備,作為慢性疾病的臨床參考。可穿戴設備實時采集和定期向服務器發送用戶的健康數據,這些數據被服務提供商或醫學機構等第三方通過數據挖掘等技術為人們提供更健康的生活方式,但同時也可能泄漏用戶隱私[1],例如用戶的健康狀況、地理位置等。
可穿戴設備中除了用戶基本信息如姓名、年齡等記錄型數據,還含有大量的需要實時采集和定期發布的數據,如心跳、血壓、血糖等。這些用戶敏感數據大多是數值型數據,而且數據有一定的波動范圍。人群特征值屬性和醫療臨床數值范圍的統計,這些都會用到均值發布。例如健康機構統計用戶群的每日平均步數反映用戶整體運動情況,醫療機構定期收集糖尿病患者的平均血糖情況研究治療方案的效果。這些數值型均值數據流本身的實時性、連續性和波動性等特點給實時分析和安全發布帶來了很多挑戰。
差分隱私[2]是當前比較先進的隱私保護方法。它通過使用隨機噪聲來確保整體的數據保持其統計特性,不會因為個體數據的變化而變化,從而抵御差分攻擊保護用戶個人隱私。關于差分隱私流數據發布的研究有文獻[3-6]等,這些研究都是基于對數據流進行計數統計的差分隱私發布,對均值數據流的連續性不能進行很好地度量。目前很少有差分隱私均值發布的研究,文獻[7]研究本地化差分隱私數值型靜態數據的均值估計,不適用于流式均值數據發布。
本文主要研究可穿戴設備中數值型流數據的均值統計。均值統計和計數統計有兩點不同:一是全局敏感度不同(見第2 章),即對數據集中增加或減少一條記錄在進行統計操作后造成的影響不同,從而加入的隨機噪聲也不相同,因此適用于計數統計的隱私保護方法不一定適用于均值發布;二是數據波動范圍不同,可穿戴設備中常見的數值型數據本身范圍有限制,即數值有上界和下界。相較于計數統計,在經過均值統計之后,均值流數據的波動范圍更小。根據均值流數據的數據波動小這一特點,對數據進行采樣,達到節省隱私預算的目的。
基于上述情況,本文提出了一種基于卡爾曼濾波(Kalman Filter,KF)誤差可調的自適應采樣流數據差分隱私均值發布方法。本文的主要工作有以下兩點:
1)針對可穿戴設備流數據隨時間在一定范圍內波動不大的特點,研究流數據的差分隱私均值發布。引入差分隱私流數據均值發布的全局敏感度,通過結合卡爾曼濾波的采樣間隔自適應的方法以降低隱私預算開銷和減少預測誤差,提高發布數據的可用性。
2)改進均值流算法自適應采樣中的反饋誤差,解決已有針對計數統計的自適應采樣算法對數據波動過于敏感的問題,進一步降低發布數據的誤差,提高可用性。
關于可穿戴設備安全方面的研究目前主要集中在訪問控制[8]、無線通信安全[9]、信息加密[10]等。在隱私數據發布方向,傳統的醫療數據的隱私保護方有k-匿名、l-多樣性[11]等,然而這些方法缺乏對自身隱私保護能力的量化標準和對攻擊者能力的界定,且需要一定的背景知識。基于數學模型的差分隱私解決了這些問題[2],文獻[12]研究適合健康體域網的差分隱私保護,主要針對心電圖數據,不具有普適性;文獻[13]提出一種可穿戴設備多維數值型數據的均值統計方案,但該方法無法滿足流數據的發布。
基于差分隱私的流數據發布,已有一些學者展開了研究。文獻[3]研究二進制流的持續計數發布,該方法對發布每個時間點出現“1”的個數進行擾動然后發布。該方法僅對用戶的單點進行隱私保護。文獻[4]建立一個時間序列的狀態空間模型降低擾動誤差的影響,結合比例積分微分(Proportion Integral Differential,PID)過程控制進行自適應采樣;但是保護的是用戶整個時間序列的計數統計值,并不能直接運用到均值統計發布中。文獻[5]提出的方法保護滑動窗口內所有事件隱私,比較當前點的計數總和與上一個發布值的相似性來決定是否發布;但該方法在窗口內的隱私預算分配采用指數遞減的方法存在一定的問題。文獻[6]研究時空數據流的計數發布,在文獻[5]的基礎上加入動態分組和自適應隱私預算分配,得到了進一步優化;但該方法不適用于均值統計發布,不能解決本文研究的問題。
目前的差分隱私算法主要圍繞計數統計展開[3-6]。計數統計的全局敏感度是1,而均值統計的全局敏感度[14](詳細見第2 章)受被統計的數據集上下界影響。對于均值統計的流數據差分隱私發布,一些計數統計的方法可以借鑒。最直觀的方法是在每個時間戳的每個均值估計上添加拉普拉斯噪聲[15],這個方法使每個點分到的隱私預算很小,從而導致非常高的擾動誤差,而且忽略了數據流的連續性。文獻[16-17]在拉普拉斯噪聲基礎上加入卡爾曼濾波保證了數據的時序關聯以及降低誤差,但仍存在隱私預算分配問題。文獻[18]為了節省隱私預算,在卡爾曼濾波的基礎上進行固定間隔采樣,缺點是無法動態適應數據集自身的波動情況,可能造成較大的預測誤差。
據以上分析可知:已有針對可穿戴設備數據差分隱私發布研究中缺少關于流數據發布方面的研究;且普適性差分隱私流數據發布研究主要針對計數統計,不適用于均值統計。而可穿戴設備中存在大量數值型流數據,因此,本文提出了一種基于卡爾曼濾波誤差可調的自適應采樣流數據均值發布方法。
差分隱私模型最初用于保護統計數據庫中個體的隱私信息,對數據進行一定的函數操作后,數據集中單個記錄的插入或者刪除操作對函數操作結果影響極小。首先引入鄰近數據集的概念。對于傳統的靜態數據,如果有兩個數據集D和D',只存在一條記錄不同,即|DΔ |D'=1,則稱D和D'為鄰近數據集。對于動態數據流,鄰近數據集的定義與之類似。給定兩個數據流D和D',只存在一個用戶不同,則D和D'為鄰近數據流。
定義1ε-差分隱私[19]。給定兩個鄰近數據流D、D'和一個隨機算法A,若算法A對這兩個鄰近數據流的所有可能輸出O均滿足不等式(1),則稱算法A滿足基于用戶的ε-差分隱私。

參數ε被稱為隱私預算,表示隱私保護程度。參數ε越小,則算法A在鄰近數據流輸出相同結果的概率越接近,隱私保護程度越高。
定義2全局敏感度[2]。對任意一個函數f:D→Rd,函數的全局敏感度定義為數據集增加或刪除一條記錄對函數結果的最大影響,即:

全局敏感度的大小和函數本身有關。特別地,對于計數統計函數Δf=1。而對于數值型數據,假設數據含有n條記錄,變化范圍是[MIN,MAX],則該數據集的均值函數的全局敏感度。
定義3Laplace 機制[3]。給定數據集D,對任意一個函數f:D→Rd,其全局敏感度為Δf,若隨機算法A滿足式(3),則算法提供ε-差分隱私。

性質1序列組合性[3]。對于一個數據集D,給定m個隨機算法Ai(1 ≤i≤m),若每個Ai滿足εi-差分隱私,且,那么序列Ai(D)滿足ε-差分隱私。
下面針對可穿戴設備的數據流特點和均值發布的特點,為其設計合適的差分隱私數據發布方法。可穿戴設備如智能手環或血糖儀等實時采集用戶的健康醫療數據,這些實時數據如表1 所示,大多是一些數值型數據,如某次運動測得的心率、飯后血糖含量,且具有一定的范圍。受信任的服務器收集了大量用戶的健康醫療數據進行匯聚,并發布給第三方如健康服務廠商或者臨床醫療機構以進行市場分析或醫療方案優化。若這些數據被不可信的第三方獲取,則用戶的健康信息等隱私安全無法得到保證。因此受信任的服務器在發布用戶的可穿戴設備流數據時要對數據進行差分隱私保護。

表1 可穿戴設備數值型實時數據Tab.1 Numerical real-time data of wearable devices
本文研究數值型流數據的均值發布方法。基于可穿戴設備的實時數據均值發布場景,服務器在每一個時間戳為所有用戶建立數據庫Dk。假設單變量的離散數值型流數據集合為X={xk},xk表示在時刻k下對原始數據庫Dk進行統計得到的原始統計數據x,其中0 ≤k<T,T是時間流的長度。特別地,本文的應用場景下X是一個均值序列,例如可穿戴設備收集的某個地區用戶每天的睡眠時長,或某醫療機構心臟病患者的心率、糖尿病患者的血糖平均值。設定原始均值流數據X經過差分隱私發布算法之后數據為Release={rk}。
目前針對數值型數據的差分隱私統計發布方法主要是將數值型數據根據范圍進行分類,從而將數值型數據轉化為分類型數據進行計數統計,沒有普適的針對數值型流數據均值發布算法。針對可穿戴設備數值型數據的均值發布流數據隨時間在一定范圍內波動不大的特點,采用采樣的方法可以有效降低隱私預算開銷。參考文獻[4],本文針對原始均值流數據,提出了一種基于卡爾曼濾波誤差可調的自適應采樣的流數據均值發布方法。
本節介紹可穿戴設備流數據均值發布方法,如圖1 所示。現有一個含有長度為T的單變量數值型數據流D={Dk},Dk表示當前時刻k所有n個用戶從可穿戴設備中采集到的原始數值型數據集。對每個時間戳的原始數據進行均值統計得到對應的xk。假設該數據型單變量的變化范圍是[MIN,MAX],則均值函數的全局敏感度。
下面描述流數據均值發布方法的步驟:第一步,對于每一個時間點k,根據自適應采樣部分確定該點是不是采樣點。如果該點是采樣點,則對采樣點用Laplace 機制進行擾動。第一步得到的數據可能與原始數據誤差較大,且相鄰時間節點的連續性無法度量。因此第二步采用卡爾曼濾波模型增加時間的相關性,對含噪數據進行預測和修正得到先驗估計和后驗估計。第三步是把第二步中先驗估計和后驗估計的絕對誤差作為自適應采樣部分的反饋參數計算下一個采樣間隔,即通過數據隨時間的波動情況自適應調整采樣間隔。第四步,采樣點的發布值為第二步濾波中的后驗估計,非采樣點的發布值為濾波得到的先驗估計,即上一個采樣點的發布值。在該方案中,采樣點的隱私預算是均勻分配的,當采樣點用完,即隱私預算消耗完時方案會停止采樣。

圖1 流數據均值發布框架Fig.1 Framework of stream data average publishing
算法1 描述了流數據均值發布方法的算法實現過程。已知現有的均值流序列為X={xk},長度為T,采樣點個數為M(M<T),則每個采樣點分配到的隱私預算是。均值統計的全局敏感度是,對采樣點加入服從分布的噪聲。由于數值型均值流數據的波動范圍小,文獻[4]基于計數統計的反饋誤差衡量方法調節的采樣間隔對數據流的微小波動敏感,容易使隱私預算提前消耗完。本文方案對自適應采樣中的反饋誤差衡量方法進行了改進,減小了預測誤差。后續結果表明本文的均值流數據發布(Average Stream Data Publishing,ASDP)算法的性能優于基于卡爾曼的差分隱私算法和原有針對計數統計的差分隱私時序監測的濾波和自適應采樣(Filtering and Adaptive Sampling for differential private Time-series monitoring,FAST)算法。
算法1 ASDP算法。

3.2.1 卡爾曼濾波
在流數據均值發布方法中,卡爾曼濾波能夠提高數據之間的時序關聯性和過濾部分噪聲,同時為后續的自適應采樣部分提供反饋誤差。
卡爾曼濾波(KF)[20]是一種利用線性狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法。該算法中有兩個重要的常量參數Q和R。從文獻[4]中可知,Q與原始均值序列的方差相關,R與加入的噪聲數據方差相關。因此,在本文的發布方法中:Q取原始均值流數據的方差;R為Laplace 噪聲的方差,即。基于上述取值,對均值流數據的后驗估計效果可以達到最優。
針對均值序列的卡爾曼濾波差分隱私算法如算法2 所示。首先,對原始均值流進行加噪。第3)~4)行是對數據的預測,即上一個時間點的發布數據作為當前時間點的先驗估計。第5)~7)行對數據進行修正,得到當前時間點的后驗估計,第8)行將后驗估計作為發布值進行發布。在算法1中,若當前時間k為采樣點,則對其進行預測和修正,后驗估計作為發布值rk;若該點為非采樣點,則該點發布值rk為該點的先驗估計,即上一個采樣點的發布值。用上一個采樣點發布值替代非采樣點的發布值造成的誤差稱為預測誤差。合理地調整采樣間隔可以減小預測誤差。
算法2 卡爾曼濾波。

3.2.2 自適應采樣
本節介紹可穿戴設備數值型流數據均值發布方法中采樣自適應的目的以及具體針對均值發布的自適應采樣改進方法。
對于流數據均值發布的隱私預算分配,若對每個時間點進行擾動,則每個點分到的隱私預算較小,噪聲較大。隨著時間的增長,添加的噪聲也在不斷累積,數據的可用性低,采樣可以減少隱私預算分配。只在選定的采樣點上加入擾動噪聲進行發布,非采樣點不進行擾動,即只在采樣點分配隱私預算。均值流數據的數據波動不大,適合進行采樣。常見的采樣方法有固定間隔采樣和自適應采樣。固定間隔采樣不能動態地根據數據流變化情況調整采樣間隔,可能造成較大的預測誤差。因此本方案對原始均值流進行自適應采樣,使用PID控制器[21]捕捉數據流的動態變化,然后根據PID和當前采樣間隔計算下一采樣間隔,從而來確定下一個采樣點。
PID 控制器是最常見的反饋控制形式,用來度量采樣效果隨時間的變化。PID 的輸入為反饋誤差。在過濾機制中,反饋誤差用來衡量先驗估計和后驗估計的差距以表示數據的變化情況。當后驗估計和先驗估計相差較大時,表明數據變化較快,則應提高采樣頻率。在文獻[4]中,PID 的反饋誤差為相對誤差。但在均值流數據中,數據本身波動范圍較小,且隨時間波動變化相較于計數統計后得到的流數據也較小,若采用相對誤差作為反饋誤差,則算法對數據的波動過于敏感,采樣頻率過高從而過度采樣,提前消耗完隱私預算。因此本方案采用式(4)所示的絕對誤差作為反饋誤差。
定義4用kn(0 ≤kn≤T)表示第n個采樣點(0 ≤n≤M)對應的時間戳,和分別為濾波機制得到的后驗估計和先驗估計,則本方案定義的反饋誤差為:

自適應采樣算法的過程如算法3 所示。若當前時間戳為采樣點,則從卡爾曼濾波算法中計算反饋誤差,再根據反饋誤差計算PID 誤差。再結合上一步采樣間隔I自適應調整下一步采樣間隔I'。
算法3 自適應采樣。

式(5)是更新采樣間隔的方法:

其中:θ表示采樣間隔變化程度,ξ表示PID容忍度值,這兩個值是經驗參數。ξ值控制采樣過程中的采樣間隔,衡量PID 誤差的容忍程度。由式(5)知,當PID 誤差Δ>ξ,表明相鄰數據的波動超出預期,則下一次的采樣間隔I'將小于當前采樣間隔I;當Δ<ξ時,表明數據波動較小,則下一次采樣間隔將增大。本文將在實驗部分研究這兩個參數的變化對實驗結果的影響。
本文用平均相對誤差(Mean Relative Error,MRE)衡量差分隱私發布的均值數據流的可用性,將多個用戶數值型數據流在經過均值統計之后的原始均值數據流和經過差分隱私發布方法得到的均值數據流計算平均相對誤差。所得誤差越小,則隱私發布數據與原始數據的統計特性越接近,可用性越高。本文所提的方法與文獻[4]方法相似,可用性理論分析和證明見文獻[22](文獻[4]的詳細版本)。
接下來從理論上分析算法的隱私性。
性質2ASDP算法滿足ε-差分隱私。
證明 ASDP算法選取M個采樣點,為每一個采樣點分配的隱私預算。在采樣間隔參數θ設置得偏小或者適中的情況下,采樣點個數恰好為M,則根據性質1 序列組合性可知算法整體消耗的隱私預算為ε,滿足ε-差分隱私;若采樣間隔θ設置不合理導致采樣點個數G小于M(即下一個采樣點時間戳超過了數據流長度T而采樣點未用完),則消耗的隱私預算為,滿足ε-差分隱私。 證畢。
實驗采用模擬數據集和真實數據集對數值型流數據均值發布方法的可行性進行評估。模擬數據集模擬可穿戴設備手環常見的心率數據,選取5 760 000條記錄,心率的數值范圍是[60,160],模擬的心率數據服從正態分布。真實數據集為加州大學歐文分校的糖尿病數據集(http://archive.ics.uci.edu/ml/data-set//Diabetes),該數據集記錄了自1989 年到1991 年糖尿病患者在早中晚餐及睡前的血糖含量數據,總共488個時間點,選取210 000 條記錄,血糖值的波動范圍是[30,400]。將這兩種數據集進行均值統計后的數據作為原始數據。
心率數據集和血糖數據集數據分布情況如表2 所示。其中心率和血糖的單位同表1 中描述單位。從標準差和最大值、最小值可以看出,血糖數據集的數據波動比心率數據大,這個性質也與健康數據數值范圍本身存在一定的背景知識限制有關。

表2 兩種數據集的數據分布特性Tab.2 Data distribution features of two datasets
實驗采用平均相對誤差(MRE)來衡量該數據發布方案的可用性。給定原始數據流X={xk}和經過發布方法得到的數據流Release={rk},在該場景下,其MRE為:

在上述兩個數據集上,改變采樣誤差容忍度ξ值,采樣間隔控制θ值和采樣點比例M/T以尋找合適的采樣參數,然后選取基礎拉普拉斯(LaPlAce,LPA)算法、KF 算法和針對計數統計的FAST 算法[4]作對比來衡量本文設計的ASDP 算法可用性。
4.2.1 不同PID容忍度ξ值下的誤差分析
本組實驗研究不同數據集對ξ值的最優值選擇問題,將心率數據集和血糖數據集截取成相同的時間流長度T=300,并設置ε=1、M=90,其他采樣參數均相同。ξ的取值范圍是從0.2%到10%以0.002為間隔,共50個取值。對于不同數據波動分布的數據集,ξ取值的選取影響方案的可用性。
圖2 展示了ξ取值對兩個不同數據集的影響。縱坐標是當前的MRE/MIN,其含義是當前的MRE數值比上實驗中最小的MRE值。原因是在ξ取值相同時,血糖數據集和心跳數據集的MRE相差較大,若直接比較MRE則呈現效果不佳。如圖2所示,心率數據集的數據波動小,在ξ=0.4%時誤差最小,在0.4%到2%誤差呈指數上升,自2%到10%平穩上升;而血糖數據集的數據波動相對大一些,在ξ=3%時誤差最小,在3%到10%接近直線上升。即對于數據波動小的數據集,ξ的取值相較數據集波動大的數據集要小,因為該方案中引入PID是用于衡量相鄰數據之間的相似性以確定采樣間隔,對應ξ的選取應該與數據集的波動大小相適應。

圖2 兩種數據集不同ξ值下的平均相對誤差比值比較Fig.2 Comparison of MRE ratio between two datasets under different ξ
4.2.2 采樣參數θ值和采樣點比例M/T的誤差分析
本組實驗研究采樣參數θ值和采樣點比例M/T對可用性的影響,在血糖數據集上進行實驗,設置ξ=3%,ε=1,T=300。θ表示自適應采樣間隔變化的幅度,M表示采樣點個數。
從圖3(a)中可知,θ在10~20時,該方案的效果比較好;當θ=1 時,采樣間隔過小導致采樣頻繁,過早用完采樣點,在實際應用中不可取;當θ>20 時,即隨著采樣間隔逐漸增大,相鄰點的預測誤差增大從而導致誤差增大。

圖3 自適應采樣的參數選擇Fig.3 Parameter selection of adaptive sampling
采樣點的變化規律與采樣間隔變化規律類似。每個采樣點分配的隱私預算為ε/M。當采樣點比較少時,每個采樣點加入的噪聲偏小但相鄰點間的預測誤差較大;當采樣點較多時,每個采樣點加入的噪聲偏大而相鄰點間的預測誤差小。如圖3(b)所示,當M/T的比例在0.2~0.6 時,該方案能夠達到很好的效果;比例超過0.6后誤差逐漸增大。
4.2.3 隱私預算對可用性的影響
實驗設置隱私預算ε的范圍是0.1~1.0,間隔為0.1。將ASDP算法與LPA 算法、KF算法和FAST算法分別在兩種數據集中進行實驗。對于LPA算法和KF算法,每個采樣點分配到的隱私預算為ε/T;而FAST 算法和ASDP 算法,每個點的隱私預算為ε/M。對于心跳數據集取PID 容忍度ξ=0.4%,血糖數據集ξ=3%。
如圖4 所示,在PID 容忍度ξ取到適合于該數據集波動特性的情況下,ASDP算法在心率和血糖兩種數據集下取得了類似的效果。隨著ε增大,四種發布算法的誤差在所有的數據集中都在下降,這是因為當隱私預算越小所造成的噪聲越大。

圖4 不同隱私預算下兩種數據集的誤差分析Fig.4 Error analysis of two datasets under different privacy budgets
將四種算法進行比較,由圖4(a)和(c)可以看出,隨著ε增大,ASDP 算法明顯優于LPA 算法和KF 算法。在ε=0.1 時該算法的效果明顯優于LPA 和KF;在ε>0.5 之后,該算法的效果與KF 算法的效果近似,但均優于KF 算法。這是因為該算法運用了采樣機制,因此每一個采樣點能分配到更多的隱私預算;用PID 機制衡量采樣點之間的相似性保證了采樣的可靠性。將FAST 算法和ASDP 算法單獨進行對比,結果如圖4(b)和圖4(d)所示。由圖4(b)和圖4(d)可以看出,隨著隱私預算的增大,ASDP 算法的誤差均明顯小于FAST 算法。這是由于ASDP 算法更適合可穿戴設備流數據的波動特點,反饋誤差的修改使采樣點和采樣間隔的選擇較FAST更為合理,從而減小了發布數據的誤差,提高了流數據均值發布數據的可用性。
本文針對可穿戴設備數值型流數據的均值統計發布,提出了基于自適應采樣的流數據差分隱私均值發布方法。該方法引入均值統計的全局敏感度;根據數值型數據進行均值統計之后數據波動不大的特點,采用基于卡爾曼濾波調整誤差的自適應采樣,既兼顧了流數據的實時性和連續性,又根據流數據的波動特點動態采樣,節省隱私預算;進一步改進自適應采樣的反饋誤差,解決了對數據波動過于敏感而過度采樣的問題。實驗結果表明,本文的均值發布方法有效地減少了采樣帶來的預測誤差,提高流數據均值發布數據的可用性。
本文提出的數值型流數據差分隱私均值發布方法僅考慮單維度流數據發布,未考慮多維數值型流數據發布。多維數值型流數據的差分隱私發布是接下來值得研究的方向。在每個采樣點的隱私預算分配方面,僅采用簡單的均勻分配,動態調整每個采樣點的隱私分配策略是下一步需要考慮的方向。