1997 年,馬薩諸塞州開始向醫學研究人員提供州僱員的健康記錄時,政府刪除了患者的姓名、地址和社會安全號碼。當時的州長威廉·韋爾德向公眾保證,不可能在記錄中識別出個別患者。
幾天之內,麻省理工學院的一名研究生寄給韋爾德辦公室一個信封。裡面裝著州長的健康記錄。
關於支援科學新聞
如果您喜歡這篇文章,請考慮訂閱以支援我們屢獲殊榮的新聞報道。 訂閱。 透過購買訂閱,您將有助於確保有關塑造我們當今世界的發現和想法的具有影響力的故事的未來。
儘管該州刪除了所有明顯的識別符號,但它保留了每個患者的出生日期、性別和郵政編碼。透過將此資訊與選民登記記錄進行交叉引用,拉坦婭·斯威尼(Latanya Sweeney)能夠精確定位韋爾德的記錄。
斯威尼的工作以及過去 15 年中其他引人注目的隱私洩露事件,引發了人們對所謂匿名資訊的安全性的質疑。
“我們已經瞭解到,人類關於什麼是隱私的直覺並不是特別好,”位於加利福尼亞州山景城的微軟研究院矽谷分部的弗蘭克·麥克雪裡(Frank McSherry)說,“計算機在從一個天真的人可能認為無害的東西中提取個人資料方面越來越複雜。”
隨著人們對這些隱私問題的認識不斷提高,許多組織已經收緊了他們的敏感資料,不確定在不危及個人隱私的情況下,他們可以釋出什麼(如果有的話)。但是,這種對隱私的關注也付出了代價,使研究人員無法獲得大量潛在的寶貴資料。
像馬薩諸塞州釋出的那樣的醫療記錄,可以幫助揭示哪些基因會增加患阿爾茨海默氏症等疾病的風險,如何減少醫院的醫療錯誤,或哪種治療方法對乳腺癌最有效。政府持有的來自人口普查局調查和納稅申報表的資訊可以幫助經濟學家制定最能促進收入平等或經濟增長的政策。而來自 Facebook 和 Twitter 等社交媒體網站的資料可以為社會學家提供前所未有地瞭解普通人如何生活的機會。
問題是:我們如何在不洩露私人資訊的情況下獲取這些資料?經過十年的發展,現在已經開始提供真正的解決方案。
這種方法被稱為“差分隱私”,它允許在釋出資料的同時滿足高標準的隱私保護要求。差分隱私資料釋出演算法允許研究人員詢問有關敏感資訊資料庫的幾乎任何問題,並提供經過“模糊處理”的答案,以便它們實際上不會洩露任何個人資料——甚至不會洩露個人是否在資料庫中。
微軟研究院矽谷分部的辛西婭·德沃克(Cynthia Dwork)說:“我們的想法是,如果您允許使用您的資料,您就不會承擔額外的風險。”德沃克在 2005 年與麥克雪裡、以色列本古裡安大學的科比·尼西姆(Kobbi Nissim)和賓夕法尼亞州立大學的亞當·史密斯(Adam Smith)一起提出了差分隱私的概念。
卡內基梅隆大學的阿夫裡姆·布魯姆(Avrim Blum)喜歡說,差分隱私保留了“似是而非的推諉”。他說:“如果我想假裝我的個人資訊與實際情況不同,我可以這樣做。差分隱私機制的輸出幾乎完全相同,無論它是否包含真實的我和假裝的我,所以我可以合理地否認任何我想否認的事情。”
這種隱私標準可能看起來高得無法實現——而且事實上,沒有有用的差分隱私演算法能夠給出完全相同的資訊,無論它是否包含真實的您或假裝的您。但是,如果我們允許演算法在兩種情況下給出幾乎完全相同的資訊,那麼確實存在有用且高效的演算法。這個“幾乎”是一個精確校準的引數,是對隱私的可衡量量化。個人或社會機構可以決定此引數的哪個值代表可接受的隱私損失,然後可以選擇差分隱私演算法來保證隱私損失小於所選引數。
隱私專家已經開發出各種專門的差分隱私演算法來處理不同型別的資料和有關資料的問題。雖然這項工作的很大一部分是技術性的,非專業人士難以理解,但研究人員正在開始構建標準化的計算機語言,這將允許非專業人士透過編寫簡單的計算機程式,以差分隱私的方式釋出敏感資料。
已經有一個實際應用使用了差分隱私:人口普查局的一個名為OnTheMap的專案,該專案允許研究人員訪問該機構的資料。此外,差分隱私研究人員還收到了來自 Facebook 和聯邦資助的加利福尼亞大學聖地亞哥分校的 iDASH 中心 的初步詢問,該中心的主要任務是找到研究人員共享生物醫學資料而不損害隱私的方法。
賓夕法尼亞大學的計算機科學家亞倫·羅斯(Aaron Roth)說:“差分隱私是一種有前途且令人興奮的技術。”
大海撈針
對於隱私問題,一個更簡單的解決方案似乎是隻釋出“彙總”資訊——關於大量人群的陳述。但即使是這種方法也容易出現隱私洩露。
假設您想確定我是否患有糖尿病,並且您知道我屬於一個健康資料庫。您可以透過簡單地減去兩個彙總級別問題的答案來找到答案:“資料庫中有多少人患有糖尿病?”以及“資料庫中不叫埃麗卡·克萊裡奇的人有多少患有糖尿病?”
顯然,這兩個問題在組合時會侵犯我的隱私。但並不總是容易發現哪些問題組合會構成隱私洩露。從總體上來說,發現此類組合是計算機科學家所謂的“NP-hard”問題,這意味著可能沒有高效的計算機演算法可以捕獲所有此類攻擊。
當攻擊者可以訪問有關資料庫中個人的外部資訊時,從彙總統計資料中提取私人資訊會變得更加容易。
2008 年,一個研究小組展示了從全基因組關聯研究中釋出彙總資訊的危險,全基因組關聯研究是揭示疾病與特定基因之間聯絡的主要研究工具之一。這些研究通常涉及對 100 到 1,000 名患有相同疾病的患者的測試組進行基因組測序,然後計算該組中大約 100,000 個不同突變的平均頻率。如果一個突變在該組中的出現頻率遠高於一般人群,則該突變被標記為可能導致或促成該疾病的原因。
由當時的加州大學洛杉磯分校研究生尼爾斯·霍默(Nils Homer)領導的研究小組表明,在許多情況下,如果你知道一個人的基因組,你就可以在合理懷疑的情況下弄清楚這個人是否參加了特定的全基因組測試組。在霍默的論文發表後,美國國立衛生研究院推翻了一項政策,該政策是當年早些時候制定的,要求公開張貼所有美國國立衛生研究院資助的全基因組關聯研究的彙總資料。
也許更令人驚訝的是,研究人員在 2011 年表明,有可能從亞馬遜的產品推薦系統中收集到有關購買的個人資訊,該系統以“購買此商品的客戶也購買了 A、B 和 C”的形式進行彙總級別陳述。透過觀察推薦如何隨時間變化,並將它們與客戶對購買商品的公開評論進行交叉引用,研究人員在某些情況下能夠推斷出特定客戶在特定日期購買了特定商品——甚至在客戶釋出該商品的評論之前。
在所有這些案例中,所採取的隱私措施似乎是足夠的,直到它們被違反。但是,即使隱私失敗的清單不斷擴大,一種不同的資料釋出方法也正在形成,這種方法帶有先驗的隱私保證。為了實現這個目標,研究人員已經迴歸基本:他們問,保護隱私到底意味著什麼?
雙重世界隱私
如果研究人員研究一個健康資料庫並發現吸菸與某種形式的癌症之間存在聯絡,差分隱私不會保護公眾吸菸者被貼上癌症風險升高的標籤。但是,如果一個人的吸菸是隱藏在資料庫中的秘密,差分隱私將保護該秘密。
麥克雪裡說:“‘差分’指的是兩個世界之間的差異——一個世界允許您的敏感資料包含在資料庫中,另一個世界不允許。”這兩個世界不能完全相同,但它們可以足夠接近,以至於它們實際上是無法區分的。他說,這就是差分隱私的目標。
差分隱私側重於資訊釋出演算法,這些演算法接收有關資料庫的問題並給出答案——不是精確的答案,而是以規定的方式隨機更改過的答案。當對一對僅在一個個體(X 人)方面不同的資料庫(A 和 B)提出相同的問題時,演算法應給出基本相同的答案。
更準確地說,對於演算法可能給出的任何答案,對於兩個資料庫,獲得該答案的機率應該幾乎完全相同;也就是說,這兩個機率的比率應受某個接近 1 的數字 R 限制。R 越接近 1,攻擊者就越難弄清楚他獲得的是關於資料庫 A 還是資料庫 B 的資訊,並且 X 人將得到更好的保護。畢竟,如果攻擊者甚至無法弄清楚他獲得的資訊是否包含 X 人的資料,他當然就無法弄清楚 X 人的資料是什麼。
(差分隱私研究人員通常更喜歡用 R 的對數來表示,他們將其表示為 Ɛ。此引數用於量化執行演算法時洩露了多少隱私:Ɛ 越接近 0,該演算法在保護隱私方面就越好。)
為了瞭解如何構建差分隱私演算法,讓我們來看一個最簡單的此類演算法。它側重於提問者僅限於“計數查詢”的情況;例如:“資料庫中有多少人具有屬性 P?”
假設一個此類問題的真實答案是 157。差分隱私演算法將對真實答案“新增噪聲”;也就是說,在返回答案之前,它將根據預定的機率集隨機地從 157 中加上或減去某個數字。因此,它可能會返回 157,但也可能會返回 153、159 甚至 292。提出問題的人知道演算法正在使用哪個機率分佈,因此她大致瞭解真實答案可能被扭曲了多少(否則演算法給出的答案對她來說將完全無用)。但是,她不知道演算法實際添加了哪個隨機數。
必須謹慎選擇正在使用的特定機率分佈。為了瞭解哪種分佈將確保差分隱私,假設一個窺探的提問者試圖找出我是否在資料庫中。他問:“資料庫中有多少人叫 Erica Klarreich?”假設他得到的答案是 100。由於 Erica Klarreich 是如此罕見的名字,提問者知道真實答案几乎肯定是 0 或 1,留下兩種可能性
(a)答案是 0,演算法添加了 100 的噪聲;或
(b)答案是 1,演算法添加了 99 的噪聲。
為了保護我的隱私,選擇 99 或 100 的機率必須幾乎完全相同;這樣,提問者將無法有意義地區分這兩種可能性。更準確地說,這兩個機率的比率應最多為預先選擇的隱私引數 R。對於 99 和 100 以及任何一對連續數字,都應如此;這樣,無論新增什麼噪聲值,提問者都無法弄清楚真實答案。
實現此目標的機率分佈是拉普拉斯分佈,它在 0 處達到峰值,並逐漸向兩側遞減。拉普拉斯分佈恰好具有我們需要的屬性:存在某個數字 R (稱為分佈的寬度),使得對於任何兩個連續的數字,它們的機率的比率是 R。
每個可能的寬度都有一個拉普拉斯分佈;因此,我們可以調整寬度以獲得我們想要的精確隱私度的拉普拉斯分佈。如果我們需要高度的隱私,相應的分佈將相對較寬且平坦;遠離 0 的數字將幾乎與接近 0 的數字一樣可能,從而確保資料被足夠的噪聲模糊,以保護隱私。
隱私和效用之間不可避免地存在張力。你想要的隱私越多,你必須新增的拉普拉斯噪聲就越多,並且對研究資料庫的研究人員來說,答案的效用就越低。對於拉普拉斯分佈,新增的噪聲的預期量是 Ɛ 的倒數;因此,例如,如果你選擇的隱私引數為 0.01,你可以預期演算法的答案將被大約 100 的噪聲模糊。
資料集越大,給定量的模糊對效用的影響就越小:在數百萬的答案中新增 100 的噪聲會比在數百的答案中新增 100 的噪聲模糊得多。Dwork 說,對於網際網路規模的資料集(即數億個條目),該演算法已經為許多實際設定提供了足夠好的準確性。
拉普拉斯噪聲演算法只是差分隱私的開端。研究人員已經提出了許多更復雜的差分隱私演算法,其中許多演算法在某些情況下比拉普拉斯噪聲演算法具有更好的效用-隱私權衡。
Dwork 說:“人們不斷找到更好的做事方法,並且還有很大的改進空間。”她說,當涉及到比網際網路規模更適中的資料集時,“開始有針對許多工的演算法出現。”
使用差分隱私演算法,無需仔細分析問題以確定它是否試圖侵犯個人的隱私;該保護會自動構建到演算法的功能中。由於窺探問題通常歸結為與特定人員相關的小數字,而非窺探問題檢查大群體的總體行為,因此,使有關個人的答案變得毫無意義的相同新增噪聲量將僅對許多合法的研究問題的答案產生微小的影響。
使用差分隱私,困擾其他資料釋出的各種問題(例如,攻擊者將資料與外部資訊交叉引用)消失了。該方法的數學隱私保證不取決於攻擊者是否擁有有限的外部資訊或資源。
McSherry 說:“差分隱私假設對手是無所不能的。即使攻擊者在 100 年後帶著 100 年的思想、資訊和計算機技術回來,他們仍然無法弄清楚你是否在資料庫中。差分隱私具有面向未來的特性。”
一個基本原語
到目前為止,我們一直側重於有人針對單個數據庫提出單個計數查詢的情況。但現實世界要複雜得多。
研究人員通常希望提出關於資料庫的許多問題。並且在你的一生中,你的個人資訊的片段可能會進入許多不同的資料庫,其中每個資料庫可能會在不諮詢其他資料庫的情況下發布資料。
差分隱私提供了一種精確而簡單的方法來量化如果你所屬的資料庫的研究人員提出多個問題,你遭受的累積隱私損失。例如,如果你的敏感資料在兩個資料集中,並且這兩個資料集的管理者分別使用隱私引數為 Ɛ1 和 Ɛ2 的演算法釋出這些資料,那麼你洩露的總隱私量最多為 Ɛ1+ Ɛ2。如果管理者允許對單個數據庫提出多個問題,則同樣適用此加法關係。如果研究人員針對資料庫提出 m 個問題,並且每個問題都使用隱私引數 Ɛ 回答,那麼損失的總隱私量最多為 mƐ。
因此,從理論上講,資料集的管理者可以允許研究人員提出任意多個計數查詢,只要他為每個答案新增足夠的拉普拉斯噪聲,以確保洩漏的總隱私量少於他預先選擇的隱私“預算”。
儘管我們將注意力限制在計數查詢上,但事實證明,此限制並不重要。研究人員喜歡提出的許多其他問題型別可以根據計數查詢重新表達。例如,如果你想生成 2012 年前 100 個嬰兒名字的列表,你可以提出一系列形式為“有多少嬰兒的名字以 A 開頭?”(或 Aa、Ab 或 Ac)的問題,並逐步完成所有可能性。
Roth 說:“機器學習中的早期結果之一是,原則上可以學習的所有內容幾乎都可以透過計數查詢來學習。計數查詢不是孤立的玩具問題,而是一種基本原語”——即可以構建許多更復雜演算法的構建塊。
但是這裡有一個問題。我們希望允許的問題越多,每個問題被允許從隱私預算中使用的隱私就越少,並且必須為每個答案新增的噪聲就越多。考慮嬰兒名字問題。如果我們確定總隱私預算 Ɛ 為 0.01,並且有 10,000 個名稱要詢問,則每個問題的個人隱私預算僅為 Ɛ/10,000 或 0.000001。新增到每個答案的預期噪聲量將為 10,000/Ɛ 或 1,000,000,這個量將淹沒真實答案。
換句話說,獨立地為每個問題新增拉普拉斯噪聲的樸素方法在它可以提供有用答案的問題數量方面受到限制。為了解決這個問題,計算機科學家開發了一套更強大的原語——演算法構建塊,它們透過考慮資料庫的特定結構和問題型別,可以比樸素方法更準確地回答更多問題。
例如,2005 年,Smith 注意到嬰兒名字問題具有特殊的結構:從資料庫中刪除一個人的個人資訊只會更改資料庫中 10,000 個名稱中的一個的答案。由於此屬性,我們可以對每個名稱答案僅新增 1/Ɛ 的拉普拉斯噪聲,而不是 10,000/Ɛ,結果將保持在我們的 Ɛ 隱私預算內。此演算法是一種原語,可以應用於任何“直方圖”查詢——即詢問有多少人屬於幾個互斥的類別中的每一個,例如名字。
當 Smith 在差分隱私研究的早期將此見解告訴 Dwork 時,“我內心有什麼東西在說‘哇!’,”Dwork 說。“我意識到,我們可以利用查詢或計算的結構來獲得比我意識到的更高的準確性。”
自那時以來,計算機科學家已經開發了大量此類原語庫。並且由於加法規則解釋了當演算法組合時隱私引數會發生什麼,因此計算機科學家可以將這些構建塊組裝成複雜的結構,同時跟蹤由此產生的演算法使用了多少隱私。
位於加利福尼亞州聖何塞的 IBM Research Almaden 的 Moritz Hardt 說:“該領域的一項成就是提出可以使用相對較小的噪聲處理大量查詢的演算法。”
為了使非專家更容易訪問差分隱私,一些小組正在努力建立一種差分隱私程式語言,該語言會將所有演算法原語的底層數學抽象到使用者不必考慮的層。
McSherry 建立了一種初步的此類語言,名為 PINQ,他說:“如果你是資料集的管理者,只要他們執行使用此語言編寫的查詢,你就不必擔心人們如何處理你的資料集。” “該程式可以證明查詢是正確的。”
一種不可再生的資源
由於簡單的加法 Ɛ 規則對當你所屬的各個資料庫以差分隱私方式釋出資訊時你損失的總隱私量給出了精確的上限,因此加法規則將隱私變成了“可替代的貨幣”,McSherry 說。
例如,如果你要決定你可接受的終生隱私損失總量,你可以決定如何“花費”它——或許是用它來換取金錢,或者用來支援你欽佩的研究專案。每次你允許你的資料在差異隱私資料釋出中使用時,你都會確切知道你的隱私預算還剩下多少。
同樣,敏感資訊資料集的管理者可以決定如何花費她已決定釋放的隱私量——也許透過邀請研究專案的提案,這些提案不僅要描述研究人員想要提出的問題以及原因,還要說明該專案將消耗多少隱私。然後,管理者可以決定哪些專案能夠最有效地利用資料集預定的隱私預算。一旦這個預算用完,該資料集就可能停止進一步研究。
“隱私是一種不可再生的資源,”麥克謝里說。“一旦被消耗,它就消失了。”
關於哪個Ɛ值代表可接受的隱私損失的問題,最終是社會的問題,而不是計算機科學家的問題——而且每個人可能會給出不同的答案。儘管給像隱私這樣無形的東西定價的前景可能令人望而生畏,但存在一個相關的類比。
“還有另一種具有相同屬性的資源——你生命中的時間,”麥克謝里說。“它們是有限的,一旦你使用了它們,它們就消失了。然而,由於我們有貨幣和勞動力市場,作為一個社會,我們已經弄清楚瞭如何為人們的時間定價。我們可以想象同樣的事情發生在隱私上。”
經允許轉載自西蒙斯科學新聞,它是SimonsFoundation.org的一個編輯獨立部門,其使命是透過報道數學以及計算、物理和生命科學領域的研究進展和趨勢來增進公眾對科學的理解。