(二) 差分隱私直觀理解


差分隱私是為了在敏感數據上進行數據分析而發展起來的一套機制,通過混淆數據庫查詢結果,來實現數據在個人層面的隱私性,並且保證查詢結果近似正確。這篇文章通過一些例子簡要介紹差分隱私的提出動機和思想,主要參考Dwork的The Algorithmic Foundations of Differential Privacy[1]和CUHK的CSCI 5520[2]

1.差分隱私的直觀理解(intuitively)

假如我們現在有一個學生表,有三個字段:姓名、性別、考試通過情況。

其中呢,姓名和性別是可以公開的,考試通過情況是個人隱私。我們開放這個數據的查詢,但是不想暴露個人的隱私信息——考試通過情況。

現在呢有人想訪問一些關於這個數據的信息,要查詢Orhan的成績是什么。這個查詢會直接返回隱私信息,我們當然會拒絕這種形式的查詢。

用戶查詢“多少個學生通過了這個考試”,我們認為這種查詢涉及到的是總體的信息,沒有涉及到個人的隱私信息,可以響應這個查詢。

但是查詢“有多少個女生沒通過這個考試”,乍一看好像沒有泄露敏感信息,但是在上面這個數據例子中,是會泄露的,因為只有兩個女生(這個信息是公開的),查詢響應會是2,能夠推導出Aisha和Erica沒有通過。

再來看一個常見的例子,醫院開放了它們的醫療數據給研究者用於做各種統計分析,為了保護患者隱私,通常會移除數據中的姓名、身份證號等再發布。但是,就算移除了身份信息,利用一些在外部得到的附加數據,也可能會泄露個人的敏感信息,比如通過把開放的醫療數據表與其他渠道得到的帶有某人屬性(生日、性別等)的數據表進行比對,就能夠在原表中鎖定對應的個人,從而得到敏感信息。

所以我們需要一種機制,能夠對用戶查詢提供有用的響應,又能夠保護數據中的個人隱私。然而現實是,又提供完全精確的查詢響應,又能夠完全保護隱私,這種條件成立的場景很少見。但是,我們可以通過隨機化或近似查詢的響應,放松一點精確性,但是數據有較好的隱私性。

結合上面第一個例子,我們可以設計一種隨機機制,當張三對數據發起請求查詢q,我們不返回給他一個真實的響應A,而是返回A+N,這里N是一個隨機變量,它有如下PMF(概率質量函數:離散隨機變量在各特定取值上的概率):

如果查詢q的真實響應是A,返回給張三的結果也是A的概率是25%,返回范圍在[A-1, A+1]內的概率是55%(25%+30%),返回范圍在[A-2, A+2]內的概率是73%,以此類推。

當張三發起請求“有多少個女生沒通過這個考試”,我們通過以上機制返回響應1,那張三就比較難斷定真實的響應是0,1還是2。假如張三在發起查詢前,通過查詢整體的通過率,可以認為每個人未通過考試的概率是40%,這個是張三現在對這個數據的認識。那返回給他有1個女生沒有通過考試的結果后,張三的認識會有什么變化呢,比如,張三可以認為Aisha未通過考試的概率是多少呢?(答案是張三對數據的認識基本沒什么變化,分析如下)

讓AF和EF分別表示Aisha和Erica未通過考試,我們想要計算

由貝葉斯公式

其中,

通過平均AF和BF的各種情況,得到

最終得到

我們可以從以上的計算中看到,張三知道“有多少個女生沒通過這個考試”的近似查詢結果后,認為Aisha未通過考試的概率從原來的40%變化為了43%。我們可以認為在查詢前后,張三對數據中個人隱私的“認知”或者“知識”幾乎沒有發生變化,對精確的查詢結果加上隨機變量噪聲的近似方式,加強了數據的隱私性。

 

2.隱私的定義

下面我們用數學語言來描述“在查詢前后對單個人的隱私認知幾乎不發生變化”(semantic privacy),即語義隱私,然后給出一種差分隱私的定義(differential privacy),最后證明這兩種隱私定義的關系。

我們先約定一些符號:

[公式] 是一個集合,數據庫的每一行在這個集合里取值,比如 [公式] 是所有的三元組(姓名,性別,考試通過情況)組成的集合,我們固定數據庫的行數為 [公式] ,那么一個數據庫 [公式] 是冪集 [公式] ( [公式] 的所有子集組成的集合)中的一個元素。查詢是一個函數 [公式] ,輸入數據庫 [公式] ,輸出某些值。

[公式] 為附加到查詢q的隨機機制,輸入一個數據庫 [公式] ,得到一個隨機化的查詢結果(對應上個例子的A+N這個操作)

[公式] 為數據庫隨機變量,[公式] 表示數據庫第 [公式] 行內容

[公式] 為定義在數據庫行上的映射,比如輸出考試通過情況 [公式]

[公式] 表示概率分布

定義1 一個定義域為 [公式] 的機制 [公式] ,如果對於每個 [公式] ,每個數據庫 [公式] ,每種 [公式] ,每種可能的 [公式] 的輸出 [公式] ,都滿足

則說機制M滿足ε-語義隱私。

我們來看一個極端的設定,當 [公式] ,得到

也就是說在得到 [公式] 的查詢響應y前后, [公式] 在第 [公式] 行上的概率是完全相同的,也可以說在第 [公式] 行上的先驗概率和后驗概率是相同的,觀察 [公式] 的響應后不會揭露第 [公式] 行任何的附加信息。滿足這種情況的機制 [公式] 有極好的隱私性,但是也不會提供關於這個數據庫的任何信息了。所以,一般讓ε 取一個比較小的數,比如0.05,讓 [公式] 滿足這種條件就可以了,前后的概率仍然相似,又能通過 [公式] 獲得一些有用的信息。

下面我們定義差分隱私,差分隱私比語義隱私在使用上更方便,並且差分隱私蘊含語義隱私。

定義2 如果對於每一對只有一行不相同的數據庫 [公式] 和 [公式] ,以及每種可能的 [公式] 的輸出 [公式] ,都滿足

則說機制M滿足ε-差分隱私。

我們再來看當 [公式] 的情況,得到

然后調換 [公式] 和 [公式] 的角色,我們可以得到另一個方向的不等式,結合通過這兩個不等式只有得到

因為這個等式對所有的 [公式] 都成立,只有 [公式] 和輸入沒半毛錢關系才行,也就是說獨立於輸入,那這個查詢自然不會反映這一對輸入的數據庫的信息。也是一般讓ε 取一個比較小的數,得到一些折中。

通過調換[公式] 和 [公式] 的角色,我們也能得到

直白地說,就是只有一行不同的兩個數據庫,進行查詢機制 [公式] 后,這兩個數據庫分別得到的結果有相似的概率分布。

那語義隱私與差分隱私有什么關系呢?可以證明,如果 [公式] 是滿足ε-差分隱私的,則[公式] 是滿足ε-語義隱私。證明過程可參考[2]

而且使用差分隱私的定義比語義隱私要更方便,要驗證一個機制是滿足差分隱私,我們只需要證明對於每一對只有一行不同的數據庫,這個機制的不能充分區分它們,而不是像語義隱私,要考慮每個數據庫、每一行、每種 [公式] 的先驗和后驗概率。

 

3.拉普拉斯機制

拉普拉斯機制是一種滿足差分隱私的機制,主要是應用在計數查詢(查詢返回的是非負整數組成的向量,為了討論方便,只考慮查詢返回為一個非負整數的情況)

拉普拉斯機制定義為 [公式] ,其中 [公式] 是對數據庫 [公式] 的真實計數查詢, [公式] 是概率分布為拉普拉斯分布的隨機變量,拉普拉斯分布為

其中 [公式] 是整數,

[公式] 是歸一化系數。

這個機制正是第一節我們討論的那個加入噪聲的例子,我們就來證明,拉普拉斯機制是ε-差分隱私的。

讓 [公式] 和 [公式] 為一對只有一行不相同的數據庫,由於 [公式] 是計數查詢,所以

對於每一個 [公式] ,

其中上述式子中的不等式使用絕對值不等式公式可以容易得到。

所以,拉普拉斯機制是ε-差分隱私的。

總結

首先通過描述個人隱私泄露的例子,引出了一種加入噪聲的保護機制(其實就是拉普拉斯機制)。通過查詢前后對單個人數據的認知變化,開始形式化地定義語義隱私、差分隱私,以及兩種隱私的關系,最后,正式介紹在計數查詢上的拉普拉斯機制,以及證明了拉普拉斯機制就是滿足ε-差分隱私的。后續,我們將更加充分和正式地開始對差分隱私進行探討。

參考

https://zhuanlan.zhihu.com/p/402402476

  1. ^The Algorithmic Foundations of Differential Privacy https://www.cis.upenn.edu/~aaroth/Papers/privacybook.pdf
  2. ^abhttp://www.cse.cuhk.edu.hk/~andrejb/csci5520/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM