差分隱私是一個數據共享手段，可以實現僅分享可以描述資料庫的一些統計特徵、而不公開具體到個人的資訊。差分隱私背後的直觀想法是：如果隨機修改資料庫中的一個記錄造成的影響足夠小，求得的統計特徵就不能被用來反推出單一記錄的內容；這一特性可以被用來保護隱私。從另一個角度來理解差分隱私，可以將其視為用於公開統計特徵的演算法的一個約束條件。該約束條件要求資料庫各記錄中的隱私資訊不被公開。例如，差分隱私的演算法被一些政府部門用於公開人口統計資訊或其它統計資料，同時保證各被統計物件的回答的保密；又如，一些公司在收集使用者行為資訊的時候可以籍此控制包括內部人員在內的訪問者可以看到的細節。 粗略地講，若觀察者無法分辨一個演算法的輸出是否使用了某一特定個體的資訊，這樣的演算法就是差分隱私的。討論差分隱私時，經常會考量資料庫中的個體是否可以被分辨出來。儘管定義時沒有直接使用攻擊的概念，差分隱私的演算法通常可以抵禦此種攻擊。 差分隱私的概念最早由密碼學家提出，因此相關研究也經常與密碼學相關聯、使用大量密碼學術語。 歷史 官方的統計機構負責收集個人和組織機構的資訊，並公開綜合資料以服務大眾。例如，收集了居住在美國的個人的資訊，併發布了基於性別、年齡、種族和勞役情況的統計表。很久以來，各統計機構在收集資訊時都會承諾保密、保證資料只用於統計學用途，但公開發布的資料不可再被用於識別單一的個人或組織。為了實現這一要求，統計機構傳統上會在釋出時隱去一部分資訊。例如，在按照行業分類統計一個城市的各行業營業額情況的表格中，如果某一格的資料僅來自一家公司，則該格資料可能會被隱去，以保證該公司的真實營業額不會因此洩露。 1950 到 1960 年代，各統計機構開始使用電子資訊處理系統，大大加快了一個機構可以製作的統計表數量。如此一來，保密資訊被不當公開的機會也因而增加了。例如，如果前述的公司被隱去的營業額資料也被統計進了該區域所有公司的總營業額，則用總數減去其他各行業的營業額，仍可得出該公司的真實營業額。更復雜的加減組合亦可能揭示更多資訊。隨著公開發布的統計表格增加，需要檢查的計算方案呈指數增長。如果資料使用者可以在互動式系統中訪問統計資料庫，則需要檢查的計算方案數可能是無上限的。 1977 年，託雷達勒紐斯用數學語言描述了在表格中隱去一格資料的過程。 1979 年，、和邁耶施瓦茨正式提出了 追蹤者 的概念。這裡的追蹤者是指一個具有使用一系列查詢並記錄結果的能力、可以透過訪問統計資料庫來獲知保密內容的攻擊者。該研究及之後的研究分析了統計資料庫輸出的隱私性質：追蹤記錄每條查詢對資料庫中個體的隱私的影響是 NP 困難的。 2003 年，和的研究顯示，對於一個統計資料庫，公開任意數量的查詢結果而不在此過程中洩露任何隱私資訊是不可能的，且僅需進行很少次數的隨機查詢就可以完全揭示整個資料庫的每個記錄。Irit Dinur and Kobbi Nissim 2003 Revealing information while preserving privacy In Proceedings of the twentysecond ACM SIGMODSIGACTSIGART symposium on Principles of database systems PODS 03 ACM New York NY USA 202210 這一現象被稱為。由此可以推知，在絕大多數情況下，如不注入一定程度的噪聲，就無法確保隱私。這一結論引出了差分隱私的研究。 2006 年，、、和的研究提出了確保隱私所需的噪聲，並提出一個新增噪聲的通用機制。 該研究贏得了 2017 年的哥德爾獎。 自此以來，後續研究進一步揭示了還有許多可以提供非常準確的統計資料、同時保證高程度隱私的方法。 動機 設想一個受信任的機構持有涉及眾多人的敏感個人資訊（例如醫療記錄、觀看記錄或電子郵件統計）的資料庫，且想提供一個全域性性的統計資料。這樣的系統被稱為統計資料庫。儘管表面看來，只有經過處理的統計特徵被髮布，但這些統計結果也有可能揭示一些涉及個人的資訊。例如，當研究人員同時使用兩個或多個分別進行過匿名化處理的資料庫時，個人資訊的匿名化手段仍然可能失效。差分隱私就是為防護這類統計資料庫再識別技術而提出的一個概念。 網飛懸賞事件 2006 年 10 月，網飛提出一筆的獎金，以獎勵可將其推薦系統改進 10 的參與者。為此，網飛釋出了一個訓練資料集供開發者訓練其系統。在釋出此資料集時，網飛提供了免責宣告：為保護客戶的隱私，可用於單個客戶的所有個人資訊已被刪除，並且所有客戶 ID 已用隨機生產的 ID 替代。 然而，網飛不是網路上唯一涉及電影評級的網站。其他很多網站，包括 IMDb，亦提供類似的功能：使用者可以在 IMDb 上註冊和評價電影，且也可以選擇匿名自己的詳細資料。德克薩斯州大學奧斯汀分校的研究員和維塔利什馬蒂科夫將網飛匿名化後的訓練資料庫與 IMDb 資料庫（根據使用者評價日期）相連，能夠網飛資料庫中的個人。這表明網飛採取的匿名化手段仍然可以洩露部分使用者的身份資訊。 馬薩諸塞州集團保險委員會（GIC）醫療資料庫事件 麻省理工學院的將匿名化的 GIC 資料庫（包含每位患者的出生日期、性別和郵政編碼）與選民登記記錄相連後，可以找出馬薩諸塞州州長的病歷。 元資料與流動資料庫 MIT 的德蒙喬耶等人引入了（意為）概念，顯示出 4 個時空點、近似地點和時間就足以唯一性識別一個 150 萬人流動資料庫中的 95 使用者。該研究進一步表明，即使資料集的解析度較低，這些約束仍然存在，即粗糙或模糊的流動資料集和元資料也只提供很少的匿名性。 ε 差分隱私 2006 年德沃克等人的文章提出了 ε 差分隱私的概念：用數學語言定義了統計資料庫的資料隱私損失。（這裡的 統計資料庫 是指在承諾保密的條件下收集的一組資料，這些資料僅用於產生統計資料，且在此過程中不損害資料提供者的隱私。） 這一定義背後的想法是：如果在統計資料公開的時候，如果一個人的資料不再資料庫裡，那他的隱私就不會被洩露。因此，差分隱私旨在為每一個體提供與把對應資料移除可以帶來的隱私幾乎相同的隱私。也就是說，在這樣的資料庫上執行的統計函式（例如求和、求平均等）不能過於依賴任何個體的統計資料（即不能依賴任何單一記錄）。 當然，每個個體在統計結果中的貢獻取決於所使用的查詢請求了多少資料。如果一個數據庫只含有一個人的資料，那這個人的貢獻就是 100。如果資料庫裡含有一百人的資料，則每個人可能只貢獻 1。差分隱私的關鍵在於，查詢請求的資料越少，就要新增越多的噪聲，以保證同等程度的隱私。正如 2006 年論文的標題所說的那樣：在隱私資料分析中用靈敏度標定噪聲。 在提出差分隱私的數學定義的同時，這篇論文還提出了一個基於新增拉普拉斯噪聲（即該噪聲服從拉普拉斯分佈）的機制，該機制滿足差分隱私的定義。 定義 令 ε 為一正實數，而 mathcal A 為一隨機演算法，以一資料庫為該演算法的輸入。 令 textrm im mathcal A 為演算法 mathcal A 的像。若對所有的僅有一個記錄（例如一個人的資料）不同的兩個資料庫 D_1 和 D_2，以及 textrm im mathcal A 的所有子集 S， Pr mathcal AD_1 in S leq expleft varepsilonright cdot Pr mathcal AD_2 in S 則稱該演算法 mathcal A 可以提供 varepsilon 差分隱私。其中，取機率的隨機性來自於演算法 mathcal A。 差分隱私的定義提供了模組化設計和分析差分隱私機制的方法。差分隱私具有以下性質：可組合性、對後續過程的穩健性，以及在具有相關性的資料上可以自然地退化。 可組合性 可（自）組合性是指（有可能是按照特定順序排列的）多個差分隱私機制的輸出仍然是差分隱私的。 順序組合（串聯）：如果要查詢一個 ε 差分隱私機制 t 次，而該機制對於多次查詢的隨機性是獨立的，則所有結果是 varepsilon t 差分隱私的。更一般地，若有 n 個獨立的機制 mathcal M_1dotsmathcal M_n，分別為 varepsilon_1dotsvarepsilon_n 差分隱私的，則任意一個它們的函式 g mathcal M_1dotsmathcal M_n 是 left sumlimits_i1n varepsilon_iright 差分隱私的。 並行組合（並聯）：如果前述多個機制實施在一個數據庫的不相交的子集上，則函式 g 是 max_i varepsilon_i 差分隱私的。 對後續過程的穩健性 對任何定義在 mathcal A 的像上的確定或隨機的函式 F，若 mathcal A 是 ε 差分隱私的，則 F mathcal A 也是。 可組合性和穩健性一同保證了差分隱私機制的模組化設計和分析是可行的。這些性質也促成了 隱私損失預算 的概念。如果訪問敏感資料的一組機制各自都是差分隱私的，則它們的組合、外加任意的後續過程也都是差分隱私的。 組隱私 一般而言，ε 差分隱私可以保障兩個僅相差一個記錄的資料庫之間的隱私。也就是說，任何擁有任意外部資訊的攻擊者都無法知道任何一個個體在資料庫中的資訊。但這一定義也可以自然地擴充套件到兩個資料庫之間相差至多 c 個記錄的情況。組隱私希望保證任何擁有任意外部資訊的攻擊者都無法知道 c 個個體是否在資料庫中有資訊。這也是成立的，因為如果 c 個記錄不同，則機率擴張的上界是 exp varepsilon c 而不是 exp varepsilon，也就是說，對於相差至多 c 個記錄的資料庫 D_1 和 D_2： Pr mathcal AD_1in Sleq exp varepsilon ccdotPr mathcal AD_2in S 因此，使用 ε 而非 varepsilonc 即可實現想要的效果（保護 c 個記錄）。也就是說，現在每 c 個條目都被 ε 差分隱私的機制保護（而對於每一個條目而言，該機制則是 varepsilonc 差分隱私的）。 滿足 ε 差分隱私的機制 因為差分隱私是一個基於機率論的概念，任何差分隱私機制都是隨機的。其中一些，例如下述的拉普拉斯機制，依賴於在一個查詢需要計算的函式上新增一定的噪聲。其它機制，例如和後驗抽樣則使用一種由需求決定的機率分佈來抽樣的方法。 靈敏度 令 d 為一正整數，mathcal D 為一組資料庫，而 f colon mathcal D rightarrow mathbb Rd 為一函式。把函式 f 的 靈敏度 記作 Delta f，其定義是 Delta fmax lVert f D_1f D_2 rVert_1 其中最大值取在 mathcal D 中任意兩個相差至多一個條目的資料庫 D_1 和 D_2 上，而 lVert cdot rVert_1 表示 ell_1 範數。 在下面的醫療資料庫的例子裡，如果把 Q_i 作為函式 f，則該函式的靈敏度是 1，因為改變資料庫中任意一個記錄會使函式的值改變 0 或 1。 有一些方法可以為低靈敏度的函式建立差分隱私的演算法。 拉普拉斯機制 拉普拉斯機制新增拉普拉斯噪聲（即服從拉普拉斯分佈的噪聲。該種噪聲可以用以下機率密度函式表示：text noiseypropto exp ylambda，其均值為 0，標準差為 sqrt 2 lambda）。假設演算法 mathcal A 可以看作一個實值函式，而 mathcal T_mathcal Axf xY，其中 Y sim text Laplambda，而 f 是原本要在資料庫上進行的一個查詢（也是一個實值函式）。mathcal T_mathcal Ax 可以被視為一個連續隨機變數，其中 frac mathrm pdfmathcal T_mathcal AD_1xtmathrm pdfmathcal T_mathcal AD_2xtfrac text noisetf D_1text noisetf D_2 且至多為 efrac f D_1f D_2lambdaleq efrac Delta flambda。把 frac Delta flambda 作為隱私係數 varepsilon。這樣，mathcal T 就是一個差分隱私的機制（參考前面的定義）。類似地，其它形式的噪聲，例如高斯噪聲等，也可以使用。使用其它噪聲時的隱私係數需要進行相應的推導。如果在下面的醫療資料庫例子裡使用拉普拉斯機制，根據前面的推導，若需使 mathcal A 滿足 varepsilon 差分隱私，則應令 lambda1varepsilon。 根據這個定義，差分隱私可以看作是資料庫的統計資料公開機制（例如，負責釋出統計查詢結果的程式）上的一個條件，而不是對資料庫本身的要求。直觀上說，這意味著對於任意兩個相近似的資料庫，一個差分隱私的演算法在它們上的運算結果都會是大致相似的。這樣的定義也意味著單一記錄的存在與否不會大程度地影響演算法的輸出。 例如，假設有一個醫療資料庫 D_1，每條記錄是一個二元組 姓名，X，其中 X 是一個布林值，表示一個人是否患有糖尿病。 姓名 糖尿病（X） 張三 1 李四 1 王五 0 趙六 0 孫七 1 周八 0 假設一個惡意使用者（通常被稱作 ）想要知道孫七有沒有糖尿病。假設他已經知道該資料庫裡孫七位於第幾行。又假設使用者只能使用一個特定的查詢 Q_i，該查詢只可以返回 X 這一列的前 i 行數值的和。為了找出趙六的具體數值，敵手可以執行 Q_5 D_1 和 Q_4 D_1，然後檢視兩個數值的差。在上例種，Q_5 D_1 3 而 Q_4 D_1 2，所以它們相差 1。這意味孫七在著 糖尿病 這一列的數值一定是 1。這個例子顯示了就算不能具體地查詢每一行的數值，統計資料庫還是有可能會洩露特定個體的資訊。 繼續看這個例子。如果另有一個數據庫 D_2，其中將 孫七，1 改寫為 孫七，0，則該惡意使用者可以分辨出 D_2 和 D_1 是不同的資料庫，方法是對每個資料庫各進行一次 Q_5 Q_4 計算。但若敵手必須透過一個 varepsilon 差分隱私的演算法來獲取 Q_i 的值，如果 varepsilon 足夠小，該敵手就不能看出兩個資料庫有何差別，也就無法推斷出孫七在 糖尿病 一列的數值。 隨機化返回值 舉一個簡單的例子，這樣的例子在社會科學中尤其常見，在統計調查中經常使用諸如 你是否滿足條件 A？ 這樣的問題。不直接記錄回答，而是使用如下方法： 投一枚硬幣。 如果正面朝上，則再投一次（忽略投出的結果）。然後如實地回答問題。 如果反面朝上，則再投一次。如果正面朝上，就回答 是；如果反面朝上，就回答 否。 （注：第二次投擲看上去是多餘的。但該步驟實際上是為了防止以下情況出現：投硬幣 這一動作本身可能會被人觀察到，就算投擲結果本身沒有被公開）有賴於可證偽性，這樣做可以提升每個人的回答的保密程度。 但總體上看，如果回答的數量足夠多，最終得到的資料仍然是可用的。因為回答被記錄為 是 的人裡，可以期望有四分之一的人實際上不滿足 條件 A，而四分之三則實際上滿足。這樣，如果令 p 表示實際上滿足 A 的人的比例，則期望上，記錄中 是 所佔的比例應當是 141p 34 p 14 p2 。因此，人們可以從統計結果中估計 p 的值。 這一方法的另一個好處是，如果 條件 A 是指一個非法行為，則根據被記錄的回答 是 不能推斷回答者有罪，因為不管實際情況如何，所有人都有一定機率回答 是。 在這樣的依賴隨機化回答的例子中，（即完全公開每個人回答情況的資料庫）或許是可行的。但根據定義，差分隱私仍不允許微觀資料公開，只能透過查詢（即將多個回答合成為統計資料）進行，因為這樣的例子仍不符合差分隱私的要求：每個個體都無法否認自己參與了這一調查（即各記錄是否存在於資料庫裡）。Dwork Cynthia A firm foundation for private data analysis Communications of the ACM 541 2011 8695 supra note 19 page 91Bambauer Jane Krishnamurty Muralidhar and Rathindra Sarathy Fools gold an illustrated critique of differential privacy Vand J Ent Tech L 16 2013 701 對變換的穩定性 如果 T A 和 T B 之間的漢明距離至多是 c 倍的 A 與 B 之間的漢明距離，其中 AB 是兩個資料庫，則稱一個變換 T 是 c 穩定的。中的定理 2 表明，如果一個機制 M 是 varepsilon 差分隱私的，則組合 Mcirc T 是 varepsilon times c 差分隱私的。 利用這一性質，可以將差分隱私一般化為組隱私，因為可以用 A 和 B 之間的漢明距離 h 來表示一組記錄的大小（其中 A 裡包含這組記錄，而 B 不包含）。這時，Mcirc T 就是 varepsilon times c times h 差分隱私的。 其它定義 差分隱私的原始定義在一些實際應用中可能會太強或太弱，因此也有研究提出一些其它類似的定義。最常用的一種更弱的定義是 ε δ 差分隱私，該定義在 ε 指數倍機率的上界上再增加一個較小的數 δ。 現實世界中對差分隱私的應用 至今為止，比較知名的採用差分隱私的應用如下： 2008 年：美國普查局，應用差分隱私來發布通勤模式的統計資料。 2014 年：谷歌的 RAPPOR，用於監測功能，例如收集劫持使用者設定的惡意軟體的統計資料。 2015 年：谷歌，釋出歷史流量資料。 2016 年：蘋果宣佈計劃在 iOS 10 中使用差分隱私來改進其虛擬個人助理技術。 2017 年：微軟，用於 Windows 中的監測功能。 2019 年：Privitar Lens 是一款應用差分隱私的 API。 2020 年：領英，用於廣告商的查詢。 在資料探勘模型中使用差分隱私的實際表現已有一些初步研究。 參見 k 匿名性 參考資料 外部連結 Privacy of Dynamic Data Continual Observation and Pan Privacy by Moni Naor Institute for Advanced Study November 2009 Tutorial on Differential Privacy by Katrina Ligett California Institute of Technology December 2013 A Practical Beginners Guide To Differential Privacy by Christine Task Purdue University April 2012 Private Map Maker v02 on the Common Data Project blog Learning Statistics with Privacy aided by the Flip of a Coin by Úlfar Erlingsson Google Research Blog October 2014 Category 密碼學理論 Category 資訊隱私