遇到聯邦計算資料碰撞難題怎麼辦?不妨試一試PSI
摘要:隨著MPC、隱私計算等概念的流行,諸多政府機構、金融企業開始考慮參與到多方計算的場景中,擴充套件資料的應用價值。
本文分享自華為雲社群《使用PSI解決聯邦計算的資料碰撞問題》,作者:breakDraw。
聯邦計算場景
隨著MPC、隱私計算等概念的流行,諸多政府機構、金融企業開始考慮參與到多方計算的場景中,擴充套件資料的應用價值。
以下面這個場景為例,銀行可能希望獲取水電局和自己銀行內儲戶的資料,來綜合計算得到各公司的信貸評分等級。
那麼銀行可能希望執行如下sql,來得到信貸評分。
select0.5*c.資助金額*0.3+0.4*a.貼息金額*0.3+0.2*a.標的金額*0.3+(0.05*b.水費繳納金額+0.05*b.汽費繳納金額+0.05*b.電費繳納金額)*0.1
frompartyA.taxa.partyB.amountb
ona.id=b.id
問題
上述聯邦計算場景中,需要做join操作,來進行水電局和銀行資料的關聯。傳統方案中,會在TEE中進行碰撞操作,得到關聯資料,再進行計算。
但水電局的使用者數量是非常多的,而銀行的儲戶數量相對來說是有限的。因此實際關聯數量是以銀行儲戶數量為準。
如果將水電局的資料如果全部上傳到TEE中,則軟硬體之間的傳輸代價會非常大,且這個過程將非關聯記錄的敏感資料也會一併帶上來。
另外銀行的儲戶身份也可能是高敏感隱私。
解決
使用PSI方案(隱私保護集合交集)可以有效地解決上述兩個問題。
PSI通常具有以下三個特點:
- 半可信場景:資料雙方不願意暴露所有資料,僅希望求得資料集合交集
- 資料最小化:除了資料集合交集以外的資料不能洩露給任意一方
- 安全雙方計算:參與計算的雙方需要共同實現一套安全的計算協議,以保證資料的安全性。
具體流圖如下:
該過程可保證A方和B方的id在純密文的場景下進行碰撞,得到關聯id集合,並以此為依據輸出。
應用
當前tics的聯邦計算業務已支援psi的應用。
聯盟管理頁面,管理員開啟“高級別隱私保護”。當開啟之後,如果滿足PSI-JOIN的sql語句,tics便會選用psi的方式構建執行計劃,進行join碰撞,再繼續後續的計算。
建立作業,執行對應包含sql-join作業
執行作業,可以看到tics系統的DAG圖中,展示了psi的全部過程。輸出結果與直接做join的結果是一致的。
「其他文章」
- 帶你掌握 C 中三種類成員初始化方式
- 實踐GoF的設計模式:工廠方法模式
- DCM:一個能夠改善所有應用資料互動場景的中介軟體新秀
- 手繪圖解java類載入原理
- 關於加密通道規範,你真正用的是TLS,而非SSL
- 程式碼重構,真的只有複雜化一條路嗎?
- 解讀分散式排程平臺Airflow在華為雲MRS中的實踐
- 透過例項demo帶你認識gRPC
- 帶你聚焦GaussDB(DWS)儲存時遊標使用
- 傳統到敏捷的轉型中,誰更適合做Scrum Master?
- 輕鬆解決研發知識管理難題
- Java中觀察者模式與委託,還在傻傻分不清
- 如何使用Python實現影象融合及加法運算?
- 什麼是強化學習?
- 探索開源工作流引擎Azkaban在MRS中的實踐
- GaussDB(DWS) NOT IN優化技術解密:排他分析場景400倍效能提升
- Java中觀察者模式與委託,還在傻傻分不清
- Java中的執行緒到底有哪些安全策略
- 一圖詳解java-class類檔案原理
- Java中的執行緒到底有哪些安全策略