【摘要】 在大資料時代背景下,如何在保護資料安全隱私的前提下充分發揮資料的價值,成了一個亟待解決的問題,同態加密作為實作資料隱私計算的關鍵技術,在云計算、區塊鏈、隱私計算等領域均存在著廣泛的應用需求和一些可行的應用方案,
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拿回這個盒子,把鎖打開,就得到了金子,
這個盒子的樣子大概是這樣的:

這里面的對應關系是:
- 盒子:加密演算法
- 盒子上的鎖:用戶密鑰
- 將金塊放在盒子里面并且用鎖鎖上:將資料用同態加密方案進行加密
- 加工:應用同態特性,在無法取得資料的條件下直接對加密結果進行處理
- 開鎖:對結果進行解密,直接得到處理后的結果
2 同態加密在聯邦計算中的應用
隨著區塊鏈、隱私計算等新興領域的發展及其對隱私保護的更高要求,同態加密也被應用到了更為豐富的領域,華為可信智能計算TICS在聯邦資料分析中引入同態加密,以保證計算程序的安全,
引入同態加密之前,TICS采用傳統的對稱和非對稱加密相結合的演算法,保證資料傳輸程序的安全,密文資料到聚合器(aggregator)節點進行多方計算時需要先解密,計算完成后再加密傳輸出去,實作了資料傳輸的安全,但是不能保證計算的安全,因此需要引入同態加密,
引入同態加密前的計算程序:

引入同態加密后的計算程序:

在TICS中使用同態加密
聯盟管理頁面,管理員開啟“高級別隱私保護” , 當開啟之后,sql陳述句中如果存在Paillier同態加密演算法支持的運算, 則該運算會采用同態密文計算,其他的計算程序不變,
創建作業,執行對應sql作業,
執行作業,可以看到TICS系統的DAG圖中,展示了同態加密的全部程序, 輸出結果與非同態場景一致,

本文由華為云發布,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/453838.html
標籤:其他
下一篇:最大似然估計基礎介紹
