同態加密實現資料隱私計算,能讓你的小祕密更加祕密

華為雲開發者社群發表於2021-12-03
摘要:同態加密作為實現資料隱私計算的關鍵技術,在雲端計算、區塊鏈、隱私計算等領域均存在著廣泛的應用需求和一些可行的應用方案。

本文分享自華為雲社群《同態加密在聯邦計算中的應用》,作者:生也有涯 知也無涯。

1 什麼是同態加密

同態加密(Homomorphic encryption)是一種加密形式,它允許人們對密文進行特定形式的代數運算得到仍然是加密的結果,將其解密所得到的結果與對明文進行同樣的運算結果一樣。換言之,這項技術令人們可以對加密的資料進行處理,得出正確的結果,而在整個處理過程中無需對資料進行解密。同態加密的實現效果如圖所示。

同態加密實現資料隱私計算,能讓你的小祕密更加祕密

第一個構造出全同態加密(Fully Homomorphic Encryption)[Gen09]的Craig Gentry給出的定義如下:

A way to delegate processing of your data, without giving away access to it.

由上圖可以看出,同態加密與一般的加密方案的不同之處在於,它關注的是資料處理安全。同態加密提供了一種對加密資料進行處理的功能

有點抽象?我們舉個實際生活中的例子。有個叫Alice的使用者買到了一大塊金子,她想讓工人把這塊金子打造成一個項鍊。但是工人在打造的過程中有可能會偷金子啊,畢竟就是一克金子也值很多錢的說… 因此能不能有一種方法,讓工人可以對金塊進行加工(delegate processing of your data),但是不能得到任何金子(without giving away access to it)?當然有辦法啦,Alice可以這麼做:

  • Alice將金子鎖在一個密閉的盒子裡面,這個盒子安裝了一個手套。
  • 工人可以帶著這個手套,對盒子內部的金子進行處理。但是盒子是鎖著的,所以工人不僅拿不到金塊,連處理過程中掉下的任何金子都拿不到。
  • 加工完成後。Alice拿回這個盒子,把鎖開啟,就得到了金子。

這個盒子的樣子大概是這樣的:

同態加密實現資料隱私計算,能讓你的小祕密更加祕密

這裡面的對應關係是:

  • 盒子:加密演算法
  • 盒子上的鎖:使用者金鑰
  • 將金塊放在盒子裡面並且用鎖鎖上:將資料用同態加密方案進行加密
  • 加工:應用同態特性,在無法取得資料的條件下直接對加密結果進行處理
  • 開鎖:對結果進行解密,直接得到處理後的結果

資料來源:https://www.zhihu.com/question/27645858/answer/37598506

2 同態加密在聯邦計算中的應用

隨著區塊鏈、隱私計算等新興領域的發展及其對隱私保護的更高要求,同態加密也被應用到了更為豐富的領域。華為可信智慧計算TICS在聯邦資料分析中引入同態加密,以保證計算過程的安全。

引入同態加密之前,TICS採用傳統的對稱和非對稱加密相結合的演算法,保證資料傳輸過程的安全。密文資料到聚合器(aggregator)節點進行多方計算時需要先解密,計算完成後再加密傳輸出去,實現了資料傳輸的安全,但是不能保證計算的安全,因此需要引入同態加密。

引入同態加密前的計算過程:

同態加密實現資料隱私計算,能讓你的小祕密更加祕密

引入同態加密後的計算過程:

同態加密實現資料隱私計算,能讓你的小祕密更加祕密

在TICS中使用同態加密

聯盟管理頁面,管理員開啟“高階別隱私保護” 。 當開啟之後,sql語句中如果存在Paillier同態加密演算法支援的運算, 則該運算會採用同態密文計算,其他的計算過程不變。

建立作業,執行對應sql作業。

執行作業,可以看到TICS系統的DAG圖中,展示了同態加密的全部過程。 輸出結果與非同態場景一致。

同態加密實現資料隱私計算,能讓你的小祕密更加祕密

 

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

相關文章