- 隱私計算:推進數據“可用不可見”的關鍵技術
- 閆樹等
- 3219字
- 2022-05-06 17:14:40
? 其他基于密碼學的隱私計算技術
除了多方安全計算,同態加密、差分隱私、零知識證明等基于密碼學的技術也是經常被納入隱私計算體系范疇內的代表性技術。這些也都是基于密碼學理論的實現方案,大多因為通用性不足、性能差等原因的限制,沒能登上密碼學流派隱私計算的C位,但這些技術仍然值得關注和討論。
● 同態加密(Homomorphic Encryption,簡稱HE)
同態加密是一類具有特殊屬性的密碼學技術,該概念最早在1978年由Ron Rivest、Leonard Adleman和Michael L.Dertouzo提出。與一般加密算法相比,同態加密除了能實現基本的加密操作,還能實現密文上的多種計算功能,即先計算后解密可等價于先解密后計算。這個特性對于保護數據安全具有重要意義。使用同態加密算法,不持有私鑰的用戶也可以對加密數據進行處理,處理過程不會泄露任何原始數據信息。同時,持有私鑰的用戶對處理過的數據進行解密后,可得到正確的處理結果。
舉個例子來說明:Alice買到了一大塊金子,她想讓工人把這塊金子打造成一個項鏈。但是工人在打造的過程中有可能偷金子,Alice可以通過以下這種方法既讓工人加工金子又不能偷走金子。Alice將金子鎖在一個密閉的盒子里面,這個盒子安裝了一個手套。工人可以戴著這個手套,對盒子內部的金子進行處理。但是盒子是鎖著的,所以工人不僅拿不到金塊,連處理過程中掉下的任何金子也都拿不到。加工完成后。Alice拿回這個盒子,把鎖打開,就得到了項鏈。
這里面的對應關系如下:盒子——加密算法;盒子上的鎖——用戶密鑰;將金塊放在盒子里面并且用鎖鎖上——將數據用同態加密方案進行加密;加工——應用同態特性,在無法取得數據的條件下直接對加密結果進行處理;開鎖——對結果進行解密,直接得到處理后的結果。
同態加密從功能上可分為部分同態算法和全同態算法。部分同態加密(PHE)指要么支持加法同態,要么支持乘法同態,或者兩者都支持但是操作次數受限,這意味著此同態加密方案只支持一些特定的函數。但與此同時也可以降低開銷,容易實現,因此已經在實際中得到較廣泛的使用。完全同態加密(FHE),又稱全同態加密,指同時滿足同態加法運算和同態乘法運算,這意味著任意給定的函數,只要可以通過算法描述,就可以用計算機實現。但全同態計算開銷極大,目前仍處于開發階段,幾乎無法在實際中使用。但為提高全同態加密的效率,密碼學界對其研究與探索仍在不斷推進,這將使得全同態加密越來越向實用化靠近。
按照其滿足的具體運算類型,同態加密算法又可分為加法同態(例如Paillier同態)、乘法同態(例如RSA同態),以及加法乘法都滿足的全同態加密(例如Gentry同態加密)。
同態加密在分布式計算環境下的密文數據計算方面具有比較廣泛的應用領域,比如安全云計算與委托計算、匿名投票、文件存儲與密文檢索等。例如在云計算方面,如果由于安全隱患,用戶不敢將密鑰信息直接放到第三方云上進行處理,那么通過同態加密,則可以放心使用各種云服務,同時各種數據分析過程中也不會泄露用戶隱私。同時,在區塊鏈上,使用同態加密,智能合約也可以處理密文,而無法獲知真實數據,能極大地提高隱私安全性。
● 差分隱私(Differential Privacy,簡稱DP)
差分隱私是Dwork在2006年針對數據庫的隱私泄露問題提出的一種新型穩私保護機制。該機制是在源數據或計算結果上添加特定分布的噪音,確保各參與方無法通過得到的數據分析出數據集中是否包含某一特定實體來實現隱私保護。
關于差分隱私是否屬于密碼學領域,其實是有爭議的。畢竟相比于同態加密,它沒有傳統意義上的加密解密,而是通過噪聲增加隨機性。但差分隱私這一概念確實來自密碼學中關于語義安全的概念,即攻擊者無法區分出不同明文的加密結果。總的來說,我們可以把差分隱私看作密碼學中的一位“遠親”。
結合維基百科中給出的定義,差分隱私的特點是“在進行統計查詢時,在最大化數據查詢的準確性的同時最大限度減少識別其記錄的機會。具體可以這樣理解,統計查詢的目標是從數據集中抓取有效信息,而隱私卻要隱藏掉個人的信息,兩者之間存在沖突。舉個簡單的例子,假設現在有一個婚戀數據庫,2個單身8個已婚,只能查有多少人單身。剛開始的時候查詢發現,2個人單身;如果此時有一個人跑去登記了自己婚姻狀況,而再次查詢的結果是3個人單身,則可以很容易反推出新登記的人是單身。
針對上述沖突,差分隱私提供了一種方案:利用隨機噪聲向查詢結果中加入隨機性,來確保統計查詢的結果并不會因為單一個體的增減而變化。在數學上,差分隱私被定義為Pr[κ(D1)∈S]≤exp(ε)×Pr[κ(D2)∈S],其內涵是對于相差一條數據記錄的兩個數據集(D1,D2),查詢它們獲得相同結果的概率是非常接近的。此時,如果有一種算法使得攻擊者在查詢N條信息和去掉任意一條信息的其他N-1條信息時,獲得的結果是一致的,那攻擊者就沒辦法確定出第N條信息了,其對應的個體就得到了隱私保護。
按照隱私保護技術所處的數據流通環節的不同,差分隱私技術可分中心化差分隱私技術和本地化差分隱私技術。中心化差分隱私是將原始數據集中到一個數據中心,然后發布滿足差分隱私的相關統計信息,適用于數據流通環節中的數據輸出場景。本地化差分隱私則是將對數據的隱私化處理過程轉移到每個用戶上,在用戶端處理和保護個人敏感信息,更適用于數據流通環節中的數據采集場景。
差分隱私是建立在嚴格的數據理論基礎之上的定義,相對于其他傳統的隱私保護方案,有三個優點:一是不關心攻擊者所具有的背景知識;二是具有嚴謹的統計學模型,能夠提供可量化的隱私保證;三是添加噪聲不會額外增加計算開銷,保護了性能。但隨機噪聲的添加在一定程度上也會影響數據本身的可用性。在現有的落地應用中,差分隱私主要用于傳統的數據脫敏、匿名化等問題,代表性的案例如蘋果和谷歌分別在iOS和Chrome中使用差分隱私技術,在收集用戶使用信息的同時保障隱私。
● 零知識證明(Zero-Knowledge Proof,簡稱ZKP)
零知識證明由S.Goldwasser、S.Micali及C.Rackoff在20世紀80年代初首先提出,用于在不泄露關于某個論斷任何信息的情況下證明該論斷的正確性,即是“證明者”想證明他有某個能力但又不將相關信息透露出去的一種手段。近年來,零知識證明多用于增強區塊鏈技術的隱私保護上。
Jean-Jacques Quisquater和Louis Guillou用一個關于洞穴的故事來解釋零知識證明。如圖2-8所示,洞穴里有一個秘密,知道咒語的人能打開C和D之間的密門。但對任何人來說,兩條通路都是死胡同。

圖2-8 零知識證明思想原理示意圖
假設P知道這個洞穴的秘密,她想對V證明這一點,但她不想泄露咒語。下面是她如何使V相信的過程。
(1)V站在A點。
(2)P一直走進洞穴,到達C或者D點。
(3)在P消失在洞穴中之后,V走到B點。
(4)V向P喊叫,要她:從左通道出來,或者從右通道出來。
(5)P答應,若有必要則用咒語打開密門。
(6)P和V重復步驟(1)~(5)多次。
在多次重復中,若每次P都從V要求的通道中出來,則能說明P確實知道咒語,并且V不知道咒語的具體內容。
我們再用一個更直接的例子說明零知識證明這類方法的好處。如果Alice要想Bob證明自己擁有某個房間的唯一鑰匙(該房間沒有其他進入方式),那么可以有兩種方法。方法一是Alice直接將鑰匙交給Bob,如果Bob可以用鑰匙打開房間,則說明Alice確實有正確的鑰匙。方法二是Bob確定房間內有某個物體,Alice自己用鑰匙開鎖并把對應物體拿出來,從而證明自己確實有正確的鑰匙。對比之下,在方法二的證明過程中,Bob并沒有看到或拿到鑰匙,避免了鑰匙的泄露,這種方法就屬于零知識證明。
根據上述定義和示例可以說明零知識證明具有的三個重要性質:一是完備性,只要證明者擁有相應的知識,就能通過驗證者的驗證,即證明者有足夠大的概率使驗證者確信;二是可靠性,如果證明者沒有相應的知識,則無法通過驗證者的驗證,即證明者欺騙驗證者的概率可以忽略。三是零知識性,證明者在交互過程中僅向驗證者透露是否擁有相應知識的陳述,不會泄露任何關于知識的額外信息。
基于以上特性,零知識證明非常適用于交易有效性證明、供應鏈金融、數據防偽溯源等場景,可以讓驗證方既不知道數據具體內容,又能確認該內容的是否有效或合法,因此近年來,零知識證明多用于增強區塊鏈技術的隱私保護上。