差分隱私技術在火山引擎的應用實踐

陶然陶然發表於2022-06-06

   一、背景

  1.1 隱私洩漏場景

  隨著使用者自身隱私保護意識的提升和《資料安全法》、《個人資訊保護法》等國家法律法規的陸續施行,如何在收集、使用使用者資料的過程中保障使用者的隱私安全、滿足監管要求,成為了挑戰性的問題。在網際網路廠商的日常業務中,常見的使用者隱私洩露場景有:

  (1)資料統計查詢: 對使用者資料進行統計查詢的結果直接向客戶返回(如客群洞察等業務),存在通過差分攻擊從統計結果中獲取個體資訊的可能性。

  例如,某網際網路公司為外部客戶提供客群畫像服務,客戶分別查詢群體 A 和群體 B(群體 B 與群體 A 相比,僅多出一名使用者甲)的居住地分佈,如果第二次查詢結果中居住在南京鼓樓的人數比第一次報告中多 1,那麼可以推斷出甲的居住地在南京鼓樓,洩露了甲的隱私資訊。

  (2)使用者資料採集: 手機 APP、移動終端通常會採集多種使用者資訊(如地理位置,健康狀態等)以提升服務質量和使用者體驗。然而,直接採集可能會導致使用者隱私的洩露,同時也受到法律法規的嚴格限制。

  例如,使用者甲在某專科醫院看病時開啟了位置定位,網際網路廠商通過收集使用者甲的地理位置,可能會推斷出使用者甲患有某種疾病,從而造成使用者甲的隱私洩露。

  因此,對於廣大網際網路廠商來說,研發高質量的隱私保護服務,以解決統計釋出、資料採集等場景中的使用者隱私洩露問題,同時保證資料的可用性,從而滿足監管要求,為業務賦能,成為了重要的工作。

  1.2 去標識化與差分隱私

  傳統的隱私保護手段往往通過解耦、泛化等方法去除使用者記錄的識別符號資訊(如姓名、身份證號、裝置 ID 等),或通過匿名化技術(如 K-匿名、L-多樣性等)對使用者記錄的準識別符號(如街道、郵編等)進行泛化、壓縮,使得攻擊者無法直接或間接地把處理過的資料與使用者準確地重新關聯。然而,傳統方法的安全性與攻擊者所掌握的背景知識密切相關,並且難以對隱私保護水平進行定量分析。例如上文中的查詢場景,由於攻擊者有背景知識存在(知道員工甲是否在查詢範圍中),傳統的匿名化方法無法起到預期的作用。

  為解決這些問題,差分隱私(Differential Privacy,簡稱 DP) [1]技術應運而生。該技術提供了一種嚴格、可證明的隱私保護手段,且其保護強度不依賴於攻擊者所掌握的背景知識。由於這些特點,差分隱私一經提出便得到了學術界和工業界的廣泛認可和應用。特別地,差分隱私的通用定義為:

  則稱演算法 M 提供 ε-DP,其中 S 是由演算法 M 所有可能的輸出構成的集合,引數 ε 稱為隱私預算。通過調整隱私預算 ε 的取值,可以控制差分隱私保護的程度。ε 越小,新增或刪除一條記錄對結果的影響程度越小,隱私保護強度也就越大,計算結果的可用性越低,反之亦然。因此,在實際應用中,根據不同場景和需求,設定合理的 ε 取值以達到隱私保護和資料可用性之間的平衡,是差分隱私技術應用的關鍵問題之一。

  1.3 基於差分隱私的保護服務

  為了解決查詢統計以及使用者資料採集場景中隱私洩露問題,火山引擎安全研究團隊基於差分隱私技術,依託自研的 Jeddak 資料安全隱私計算平臺,分別研發了面向查詢保護的 DPSQL 服務(Differentially Private SQL Query Service)以及面向採集保護 LDPDC 服務(Locally Differentially Private Data Collection Service),在保障查詢和採集過程中使用者隱私的基礎上,實現了資料的高可用目標。以下分別對兩個服務進行介紹。

   二、DPSQL 查詢保護服務

  DPSQL 採用中心化差分隱私(Centralized Differential Privacy,簡稱 CDP,適用於資料管理者可信的場景)[1]模式,以中介軟體的形式接收 SQL 統計查詢請求,返回滿足差分隱私的查詢結果。由於現實場景中查詢請求的多樣性,DPSQL 服務構建面臨以下關鍵挑戰:

  如何相容不同型別資料庫的查詢方言,以降低使用成本、保障客戶的查詢體驗?

  如何在複雜 SQL 語句情況下計算合適的差分隱私噪聲,兼顧隱私保護效果與保證資料效用?

  以下將從服務架構和關鍵設計兩個方面闡述 DPSQL 的應對措施,並對落地應用進行簡要介紹。

  2.1 服務架構

  DPSQL 服務包含三個元件:

  DPSQL 核心服務:以原始 SQL 統計查詢語句作為輸入,輸出滿足差分隱私的結果,其中包括 SQL 解析與重寫、差分隱私加噪等模組;

  後設資料管理服務:維護資料庫的後設資料及資料表屬性特徵,以便於對資料表屬性進行敏感度分析;

  隱私預算管理服務:維護每個資料表的隱私預算分配與消耗記錄,提供隱私預算餘量查詢、報表和審計功能,以便於對查詢請求進行隱私控制。

  一個典型的查詢請求處理流程如下:

  首先,核心服務接受客戶提交的 SQL 查詢語句,對該語句進行解析和重寫,以便於計算隱私噪聲(如將 AVG 計算改為 SUM/COUNT);

  然後,核心服務呼叫後設資料管理服務,計算重寫後的 SQL 查詢所對應的資料表敏感度,同時在資料庫上執行重寫後的 SQL 查詢,得到原始的查詢結果;

  最後,核心服務呼叫隱私預算管理服務得到為該查詢分配的隱私預算,並結合敏感度在原始的查詢結果中新增噪聲並返回。

  2.2 關鍵設計

  針對前文所述 SQL 方言相容以及查詢噪聲計算的挑戰,團隊在 DPSQL 中實現了多源異構的 SQL 解析與重寫機制,以及自適應的 差分隱私加噪機制。

  2.2.1 多源異構資料庫 SQL 解析與重寫機制

  採用靈活可擴充套件的 SQL 解析機制(parser),可支援多種 SQL 方言,與傳統資料庫查詢無差別。

  採用定製化的 SQL 重寫機制(rewriter),可支援多種語法特徵,例如聚合函式、多層子查詢、join、group by 等。

  2.2.2 自適應的差分隱私加噪機制

  根據 SQL 查詢包含的聚合函式型別,自適應地為查詢分配隱私預算,降低隱私預算的消耗;

  根據 SQL 查詢的聚合函式型別,高效分析聚合函式在多表連結查詢、多層子查詢等場景下的敏感度,分配合適的差分隱私加噪演算法,提高服務效能和查詢結果的可用性。

  2.3 落地應用

  目前,DPSQL 服務已接入火山引擎的客戶資料平臺,為銀行、車企、零售等行業客戶提供隱私保護的使用者群體洞察服務。

   三、LDPDC 採集保護服務

  LDPDC 服務以本地化差分隱私(Local Differential Privacy)[2]為核心技術,為使用者提供端上的 LDP-SDK,實現端上的資料的擾動處理。同時,配套提供了服務端的計算服務,對 LDP-SDK 採集的資料進行彙總分析。同樣地,LDPDC 面臨以下挑戰:

  如何在滿足使用者個性化隱私保護需求的同時,降低通訊開銷?

  如何針對分析任務,降低採集資料中的噪聲,提高資料可用性?

  同樣的,以下從服務架構和關鍵設計兩個方面闡述 LDPDC 的應對措施,並對落地應用進行簡要介紹。

  3.1 服務架構

  LDPDC 服務兩個模組構成:

  客戶端:內建 LDP-SDK,包含個性化的擾動機制,用以接受使用者個性化的隱私保護需求設定,並據此對使用者資料進行擾動處理,從而為使用者提供差分隱私保護;

  服務端:收集彙總客戶端傳輸的資料,提供定製化的降噪聚合機制,用於對彙總的資料進行降噪聚合處理,提高資料可用性。處理後的資料可應用於推薦系統、統計查詢、機器學習等資料分析服務;

  3.2 關鍵設計

  針對端上擾動和匯聚噪聲降低的挑戰,LDPDC 設計了個性化的擾動機制和定製化的降噪聚合機制。

  3.2.1 個性化的擾動機制

  為使用者提供隱私保護強度配置選項(低、中、高三擋),滿足使用者對自身資料的個性化隱私保護需求。

  提供高效的資料壓縮和互動機制(如 GRR 機制、OLH 機制等),減少客戶端與服務端之間的資訊傳輸量和互動次數,降低通訊開銷。

  3.2.2 定製化的降噪聚合機制

  針對不同型別的個人資料,使用定製化的降噪聚合機制,以保證所收集到資料的高效用。

  提供無偏性處理機制,使得加噪聚合後的統計資訊理論上等於真實資料的統計資訊。

  提供一致性處理機制,使得聚合後的統計資訊能夠與公開的背景知識保持一致,如將小於 0 的頻數置為 0 等。

  3.3 落地應用

  目前,LDPDC 服務將開始在地理位置採集等服務中進行應用,輔助業務部門對於使用者資訊採集進行合規治理,為廣告推薦等服務提供策略支援。

   四、結語

  DPSQL 服務和 LDPDC 服務是差分隱私技術在火山引擎實際應用場景中的成功實踐。未來,差分隱私相關服務將出現在火山引擎雲安全系列產品矩陣中,服務於火山雲客戶。火山引擎安全研究團隊將繼續探索業務場景,深入挖掘使用者資料隱私保護需求,研究前沿隱私保護技術的落地應用,為使用者的資料隱私安全提供強力保障。

  引用文獻

  [1] Dwork C., Mcsherry F., Nissim K., et al. Calibrating Noise to Sensitivity in Private Data Analysis [A]. Theory of Cryptography, Third Theory of Cryptography Conference, TCC 2006, New York, NY, USA, March 4-7, 2006, Proceedings: 265–284.

  [2] Kasiviswanathan S.P., Lee H.K., Nissim K., et al. What Can We Learn Privately? [A]. 49th Annual IEEE Symposium on Foundations of Computer Science, FOCS 2008, October 25-28, 2008, Philadelphia, PA, USA: 531–540.

來自 “ 位元組跳動技術團隊 ”, 原文作者:安全研究;原文連結:https://mp.weixin.qq.com/s/qE_xLv67itvAGs1rAlmvZw,如有侵權,請聯絡管理員刪除。

相關文章