數據的隱私保護問題最早由統計學家Dalenius 在20世紀70年代末提出,他認為,保護數據庫中的隱私信息,就是要使任何用戶(包括合法用戶和潛在的攻擊者)在訪問數據庫的過程中無法獲取關於任意個體的確切信息 。
從已有的研究來看,k-anonymity及其擴展模型在隱私保護領域影響深遠且被廣泛應用。這些模 型的基本思想是將數據集里與攻擊者背景知識相關的屬性定義為准標識符,通過對記錄的准標識符值進行泛化、壓縮處理,使得所有記錄被划分到若干個等價類(Equivalence Group),每個等價類中的記錄具有相同 的准標識符,從而實現將一個記錄隱藏在一組記錄中。因此,這類模型也被稱為基於分組的隱私保護模型。
差分隱私是Dwork在2006年針對統計數據庫的隱私泄露問題提出的一種新的隱私定義。在此定義下,對數據集的計算處理結果對於具體某個記錄的變化是不敏感的,單個記錄在數據集中或者不在數據集中,對計算結果的影響微乎其微。所以,一 個記錄因其加入到數據集中所產生的隱私泄露風險被控制在極小的、可接受的范圍內,攻擊者無法通過觀察計算結果而獲取准確的個體信息。
差分隱私保護模型的思想源自於一個很朴素的觀察:當數據集 D 中包含個體 Alice時,設 對 D 進行任意查詢操作f(例如計數、求和、平均值、中位數 或其它范圍查詢等)所得到的結果為f(D),如果將 Alice的信息從 D 中刪除后進行查詢得到的結果仍然為f(D),則可以認為,Alice的信息並沒有因為被包含在數據集 D 中而產生額外的風險。差分隱私保護就是要保證任一個體在數據集中或者不在數據 集中時,對最終發布的查詢結果幾乎沒有影響。具體地說,設有兩個幾乎完全相同的數據集(兩者的區別僅在於一個記錄不同),分別對這兩個數據集進行查 詢訪問,同一查詢在兩個數據集上產生同一結果的概率的比值接近於1。
差分隱私定義

隱私保護預算
隱私保護預算\(\epsilon\)用來控制算法M在兩個相鄰數據集上獲得相同輸出的概率比值,它事實上體現了M所能夠提供的隱私保護水平。實際應用中,\(\epsilon\)的取值很小,例如0.01,0.1,或者ln2,ln3等,\(\epsilon\)越小,表示隱私保護水平越高。當\(\epsilon\)為0時,表示對於任意臨近數據集,算法都將輸出兩個概率分布完全相同的結果,這些結果也不能反映出任何關於數據集的有用的信息。因此,\(\epsilon\)的取值要考慮到安全性和可用性之間的平衡。
敏感度
敏感度是決定加入噪聲大小的關鍵參數,它指刪除數據集中任一記錄對查詢結果造成的最大改變。差分隱私中定義了兩種敏感度,即全局敏感度和局部敏感度。
函數的全局敏感度由函數本身決定,不同的函數會有不同的全局敏感度。一些函數的全局敏感度較小,因此只需要加入少量的噪聲即可掩蓋因一個記錄被刪除對查詢結果所產生的的影響。但某些函數的全局敏感度較大,必須在函數輸出中添加足夠大的噪聲才能保證隱私安全,導致數據可用性較差。因此提出了局部敏感度的概念。
但是,局部敏感度在一定程度上體現了數據集的數據分布特征,如果直接應用局部敏感度來計算噪聲量則會泄露數據集中的敏感信息,因此局部敏感度的平滑上界被用來與局部敏感度一起確定噪聲量的大小。
所有滿足這一定義的函數都可被定義為平滑上界,將局部敏感度帶入到此函數中可得到平滑敏感度,進而用於計算噪聲大小。
由於絕大部分關於差分隱私保護的研究均針對計數查詢、求和查詢等敏感度較小的函數,因此,若無特殊說明,本文中敏感度均指全局敏感度。
差分隱私的組合性質
一個復雜的隱私保護問題通常需要多次應用差分隱私才能解決。在這種情況下,為了保證整個過程的隱私保護水平控制在給定的預算\(\epsilon\)之內,需要合理地將全部預算分配到整個算法的各個步驟中。這時可以利用隱私保護算法的兩個組合性質:

實現機制
為了使一個算法滿足差分隱私保護的要求,對不同的問題有不同的實現方法,這些實現方法稱為“機制”。拉普拉斯機制和指數機制是兩種最基礎的差分隱私保護機制。其中,拉普拉斯機制適用於對數值型結果的保護,指數機制適用於非數值型結果。
Laplace機制
Laplace機制通過向確切的查詢結果中加入服從Laplace分布的隨機噪聲來實現\(\epsilon\)-差分隱私保護。記位置參數為0、尺度參數為b的Laplace分布為Lap(b),那么其概率密度函數為

噪聲(尺度)參數b取決於當我們修改一個人的數據時,查詢結果總會改變多少。一組查詢總共的“最大改變”被稱為他們的敏感度,取b=敏感度/\(\epsilon\)即能滿足\(\epsilon\)-差分隱私。
指數機制
指數機制適用於非數值型的數據,設查詢函數的輸出域為\(Range\),域中的每個值\(r\in Range\)為一個實體對象,在指數機制下,函數\(q(D,r)\rightarrow R\)稱為輸出值\(r\)的可用性函數,用來評估輸出值\(r\)的優劣程度。
