遇到聯邦計算資料碰撞難題怎麼辦?不妨試一試PSI

語言: CN / TW / HK
摘要:隨著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的結果是一致的。

 

點選關注,第一時間瞭解華為雲新鮮技術~