近年來,隨著大資料、人工智慧、雲端計算等數字技術的蓬勃發展,新技術帶來了新業態和新的增長。然而,隱私洩露、網路欺詐、流量欺詐等現象的存在也成為資料要素健康流通的阻礙,為網際網路治理帶來挑戰,因此構建一個安全的資料協作技術環境顯得十分必要且緊迫。而隱私計算可以在資料不洩露的前提下,對資料進行計算並得到計算結果,在創造更好的資料底層環境的同時,體現資料深層價值,深入推動行業傳統資料業務轉型。
然而什麼是隱私計算?有專家認為,隱私計算是指在保護資料本身不對外洩露的前提下實現資料分析計算的技術集合。從技術機制來看,隱私計算涉及三大技術體系的聯合創新:其一是人工智慧演算法;其二是分散式系統和底層硬體;其三是密碼學設計。
對於隱私計算而言,一般目前有幾種比較主要的方法,包括安全多方計算(MPC),其提出者是唯一的中國籍圖靈獎獲得者姚期智教授(Paul Yao)。但在提出時由於計算機的算力非常有限,故僅存在於理論的模型,但隨著計算機計算能力的整體提升以及叢集/雲端計算的發展,使得安全多方計算成為現實;另外一種比較主流的是聯邦學習,聯邦學習本質上是人工智慧的一種;第三種則是可信執行環境(TEE),即透過軟硬體方法在中央處理器中構建一個安全的區域,保證其內部載入的程式和資料在機密性和完整性上得到保護。
圖1 安全多方計算示意
本文主要討論的是另一種與上述方法均存在差異的隱私計算方法(不是演算法),即差分隱私(Difference Privacy)。那什麼是差分隱私?簡而言之,差分隱私就是利用一些隨機化的方法,在兩個鄰近的資料集的查詢結果中新增一些隨機化的內容,使得攻擊者無法透過查詢結果的差異來推測其中存在的隱私資訊。
那什麼是鄰近的資料集?嚴格的意義上而言,所謂臨近資料集就是僅相差一條資料記錄的兩個資料集。那麼什麼又是推測結果呢?實際上推測就是我們不用透過直接訪問含有隱私內容的資料,而僅僅是透過兩次或多次查詢資料集中的其它資訊而間接計算得到相關結果。
有點抽象!舉個簡單的例子,如在一個單位裡有99個員工,他們都是男士,且只有2個已婚人士,而此時又來了一個美女員工,但對於其它97個未婚男士(其它兩個已婚男士沒準也關心)急於知道這個美女的婚姻狀況,於是他們可以透過統計員工資料庫中的相關婚姻資訊就能推測出這個美女到底是否為單身(注意只需要統計就行,而不用單獨、直接地訪問這位女士的個人記錄),這就是透過相鄰資料集來對某些隱私資訊進行推測(因為美女員工入職前,所有已婚員工的數量是2,待她入職後則這個數量如果不變則說明她是未婚否則是已婚)。
那如何來防止這類間接的資料攻擊呢?我們可以在查詢的結果中加入一些所謂隨機性,使得兩次的查詢結果間看上去是非常相似的,從而不能透過此類方法來進行。一般而言我們經常用的隨機化方法就是所謂拉普拉斯(Laplace)隨機化方法。
目前已經有不少開源專案都支援對於差分隱私的計算,如Facebook的Opacus框架或者Google RAPPOR演算法。
下圖是一個差分隱私的原理示意:
圖2 差分隱私原理示意
可以看出,利用隨機演算法可以對原生的查詢結果進行某種方式的混淆,從而使得攻擊者無從推測出其真實內容,達到隱私資料保護的作用。當然隨機演算法採用哪種方式,並沒有一定之規,除了拉普拉斯方法外也可以採用其它方式的隨機演算法,但其評價的標準一定是需要看混淆的差異是否足夠小,以下是一個判斷標準(此公式往往也是衡量差分隱私效果是否足夠“完美”的標準):
上述公式就不多解釋了(其中,Pr是機率函式,A是某種差分隱私計算演算法,而D1和D2是兩個相鄰資料集)。對於一些細節,大家可以參考相關文獻,總之需要記住的一點是ε(希臘字母,Epsilon)越小越好。
以上公式還有另一種常見形式,就是在機率公式後再加一個偏置,被稱為德爾塔——δ。
關於差分隱私的內容本期先簡單聊到這裡,今後聚銘網路將會給出更多關於資料安全方面的內容,敬請關注。