一、背景
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.