多方計算時,每次結果竟然都存在著巨大隱患,此文告訴你可以這樣解決!
多次計算時的防泄露難題
聯邦多方計算場景,一方對于另一方的運行中數據是無法感知的, 通過MPC算法或者TEE安全硬件, 可以保證數據計算過程中的安全性。
但是當計算完成后,得到的結果中卻包含了潛在的安全風險。
假設某機構希望從政務數據庫中,獲取某省市所有市民的稅收總和,進行各省市的實力分析和統計。這類計算請求正常來說是合理的,因為做過聚合之后, 各市民的實際稅收金額就被合并掩蓋了。
select sum(xxx) from ...
但是當執行第二次統計作業時, 如果機構將交集中的某個人員進行剔除后, 發現稅收的總和下降了x元,那么即可馬上推斷出該人員的稅收, 而這個過程對于計算方、數據提供方是無法很好感知的。
華為差分隱私解決方案
針對這種問題, 華為云tics服務聯合德國慕尼黑可信技術實驗室, 推出了基于多方sql作業的差分隱私算法應用, 對于大規模的聚合類計算,可以實現對內部個體的數據保護。
以下是官方在產品文檔里已公布的差分隱私算法應用方式:
TICS數據聯盟管理者在聯盟管理中,選擇打開“結果差分隱私”。
聯盟中的數據提供方進行數據集發布時,將敏感數值數據勾選為“敏感”的字段分類, 并進行發布。
以下是TICS產品文檔中對字段分類的解釋
唯一標識:指用于標識某個事物實體身份的字段。例如身份證、工號、公司代碼等。勾選后,會通過一定的語法限制和運行期校驗,保護數據集內的id總集,確保無法被惡意逆推。
敏感:指會參與統計、計算的敏感數據。例如薪水、納稅、用電量。勾選后,其他參與方只能使用敏感進行不可逆推的四則運算、聚合計算(sum/avg)、條件過濾(where)。TICS會保護唯一標識和敏感數據不被成對地明文泄露,同時會對敏感數據的求和計算添加差分噪聲,以保護敏感數據不被泄露。
非敏感:指不參與數值分析,也和唯一身份無關的數據。例如等級、公司類型。
發起方執行聚合類型的作業。
以統計各行業稅收總和為例,sql可以如下
Select industry, sum(tax_bal), sum(electric_bal) from 數據提供方.tax a join 作業發起方.power_data b on a.id = b.id group by industry
經過規則校驗和審批后, 作業發起方通過平臺安全計算,得到了如下的結果:
接著作業發起方再執行一個sql,這個sql中過濾掉了某個id,試圖用差值去計算這個個體的稅收值。
Select industry, sum(tax_bal), sum(electric_bal) from 數據提供方.tax a join 作業發起方.power_data b on a.id = b.id where a.id <> '123400558' group by industry
123400558這個id對應個體屬于互聯網,實際稅收值為274
那讓我們看一下發起方第二次執行該作業時,會得到什么結果
66539.583321490225131 - 66078.857559963717677 = -461
可以看到并不會像使用者預期的那樣得到實際的274差值,而是一個負數,總聚合結果有誤差,但在可以接受的范圍內。
從上面可以看到,tics成功通過差分隱私算法,保護了大數量統計情況下的個體數據安全。
華為可信智能計算服務 TICS 官網鏈接:
https://www.huaweicloud.com/product/tics.html
歡迎參與最新版的體驗。
tics服務交流社區:
https://bbs.huaweicloud.com/forum/forum-1348-1.html
EI企業智能 云安全 可信智能計算服務 TICS 智能數據
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。