安全多方計算(5):隱私集合求交方案彙總分析

學習&轉載文章:安全多方計算(5):隱私集合求交方案彙總分析

前言

隨着數字經濟時代的到來,數據已成爲一種基礎性資源。然而,數據的泄漏、濫用或非法傳播均會導致嚴重的安全問題。因此,對數據進行隱私保護是現實需要,也是法律要求。隱私集合求交(Private Set Intersection, PSI)作爲解決數據隱私保護的方案之一,受到廣泛關注和研究。

隱私集合求交使得持有數據參與方通過計算得到集合的交集數據,而不泄露任何交集以外的數據信息,其功能如圖1所示。作爲安全多方計算中的一個重要分支,其不僅具有重要的理論意義,也具有廣泛的應用場景。例如:隱私保護位置共享[1]、在線廣告的有效轉換率衡量以及基於人類基因組序列[2]的親子鑑定、疾病預測和血統測試等。

圖片

圖1 隱私集合求交功能示意圖

PSI分類

隱私集合求交的研究主要聚焦在兩個參與方,因此,本文主要針對兩方隱私集合求交進行闡述。兩方PSI可根據參與方的數據集大小分爲三類,如圖2所示。根據雙方數據集大小差異可將其分爲對稱數據集非對稱數據集(非平衡),對於對稱數據集,又可分爲大數據集和小數據集。本文針對對稱數據集及不同場景的需求,介紹與之對應的隱私集合求交方案。

圖片

圖2 隱私集合求交分類示意圖

  • 小集合:百
  • 大集合:百萬
  • 非對稱:100億

PSI方案介紹

基於DH的PSI方案

基於DH的PSI方案[3]流程如圖3所示,該方案基於DH密鑰交換的思路,實現兩次可以交換加密順序的加密操作,使得參與雙方對於交集數據,得到完全相同的不可逆密文。

圖片

圖3 基於DH的PSI方案流程示意圖

基於DH的PSI方案主要分爲以下3個步驟:

這裏所謂說的“公鑰加密”,公鑰是:\((H(x)^a)^b\)

  1. Alice選擇隨機數\(s\)作爲私鑰。對於每一個數據\(x\),Alice首先對其進行哈希操作,再基於其哈希值使用私鑰對其加密,生成密文,並將此密文發送給Bob。

  2. Bob選擇隨機數\(b\)作爲私鑰,對於每一個數據\(y\),Bob首先對其進行哈希操作,再基於其哈希值使用私鑰對其加密,並將此密文發送給Alice。對於接收到Alice的密文,Bob使用私鑰對其進行二次加密。

  3. Alice對於接收到的密文,基於私鑰對其進行二次加密

結論:若Alice和Bob擁有相同的數據,則兩次加密得到的密文一致。

  • 以上實際上就是基於DH實現的OPRF。

基於DH的PSI方案思想簡單,易於實現,但也具有一定的侷限性,例如:基於公鑰加密實現PSI功能會產生較大的計算開銷。因此,適用於數據量較小的場景

  • 基於公鑰加密的PSI會產生較大的計算開銷。

基於OT的PSI方案

預備知識

不經意傳輸(Oblivious Transfer, OT)[4]是安全多方計算最基礎的協議之一,在之前的文章中已做了詳細介紹安全多方計算(1):不經意傳輸協議

本部分我們僅使用了2選1的不經意傳輸協議,其功能如圖4所示。Alice有兩條消息,Bob可以通過比特\(b\)獲取消息,而無法獲得的任何消息。Alice無法獲得關於\(b\)的任何信息,即:Alice不知道Bob獲取了哪條消息。

圖片

圖4 不經意傳輸功能示意圖

方案詳解

在本部分,我們簡述經典的基於OT的PSI方案,其流程如圖5所示。該方案的核心思想爲執行多次二選一的不經意傳輸協議,並結合僞隨機函數,使得參與雙方對於交集數據得到相同的隨機數

圖片

圖5 基於OT的PSI方案流程示意圖

基於OT的PSI方案主要分爲以下4個步驟:

  1. Alice生成隨機數\(w\);Bob生成隨機數\(r_0\),並基於與本方數據的僞隨機函數值生成\(r_1\).

  2. Alice與Bob基於\(w\)\(r_0,r_1\)執行次二選一的不經意傳輸,其中\(\lambda\)爲比特長度。

  3. Alice基於多次不經意傳輸結果生成\(q\),Bob計算\(r_0\)的哈希值。

  4. Alice計算本方數據的隨機值。

結論:若Alice和Bob擁有相同的數據,則兩份數據得到相同的隨機值,即\(\boldsymbol{x}_{\boldsymbol{j}}=\boldsymbol{y}_{\boldsymbol{i}} \leftrightarrow H\left(q \oplus\left(F\left(x_{j}\right) \cdot w\right)\right)=H\left(r_{0}\right)\)

  • 我們以兩種極端情況論述方案的正確性:

圖片

圖6 基於OT的PSI方案正確性驗證

  • 普通情況,假設\(w=010\),則\(q=r_0[1]||r_1[2]||r_0[3]=r_0[1]||r_0[2]\oplus F(y_i)[2]||r_0[3]=r_0\oplus F(y_i)[2]\),即\(q \oplus\left(F\left(x_{j}\right) \cdot w\right.)=r_0\oplus F(y_i)[2]\oplus F(x_j)[2]=r_0\)
    • 以上推到不完全正確,歡迎交流~

基於OT的PSI方案規避了大量的公鑰加密,使用效率更高的對稱加密完成大部分操作,但通信開銷較大適用於數據量較大的場景。

經典的基於OT的PSI方案仍具有很大的計算開銷及通信開銷,但是OT的擴展協議爲構建高效的PSI方案提供了理論支撐。在3.3中,我們以OPRF爲例,介紹基於OT擴展協議的高效PSI方案。

基於OPRF的PSI方案

預備知識

不經意僞隨機函數(Oblivious Pseudorandom Function, OPRF)[5]屬於不經意傳輸的擴展協議,它允許執行少量的基礎OT,通過輕量級的對稱加密來實現大量的OT實例,OPRF的功能如圖7所示。

對OPRF的定義是不對的,OPRF可以有多種方式實現,其中OT/OTE只是其中之一。

Alice生成僞隨機函數的密鑰\(k\),可基於\(k\)獲得本方數據\(x\)的僞隨機函數值\(F_k(x)\)。Bob以本方數據\(y\)作爲OPRF協議的輸入,協議執行完成後,Bob可得到\(y\)的僞隨機函數值\(F_k(y)\),但無法獲得關於\(k\)的任何信息。

圖片

圖7 不經意僞隨機函數功能示意圖

方案詳解

在本部分,我們簡述基於OPRF的PSI方案[6],其總體流程如圖8所示。爲便於闡述,我們將Alice作爲數據擁有者,記爲DO(Data Owner);Bob作爲請求者,記爲Re(Requester)。

圖片

圖8 基於OPRF的PSI方案總體流程示意圖

我們將基於OPRF的PSI方案分爲以下步驟進行闡述:

  1. 請求者(Bob)將數據映射:映射過程如圖9所示。首先,請求者隨機生成\(m\)\(w\)列的二進制矩陣\(A\in (0,1)\),其中\(m\)爲數據集大小。對於每個數據,請求者計算其僞隨機函數值,並將僞隨機函數值與二進制矩陣A相結合,獲取二進制比特串。同時,將對應位置標記爲數據位(如圖9中藍色部分)。然後基於二進制比特串執行哈希操作,得到數據映射值【留着待比較】。
    • \(v_i\)映射到\(A\)中,以下面爲例:\(v_1[1]=3\),則選擇\(A_1[v_1[1]]=A[v_1[1],0]=0\)

圖片

圖9 請求者數據映射流程圖

  1. 請求者(Bob)生成矩陣\(B\):請求者生成一個\(m\)\(w\)列的全1矩陣\(D\in (1)\),將第1步標記的數據位部分置爲0【這裏是兩個數據\(x_1,x_2\)】。然後將矩陣\(A\)與矩陣\(D\)執行異或操作得到矩陣\(B\)。因此,矩陣\(A、B\)具有如下特性:矩陣\(A、B\)對於(標記的)數據位的比特值相同;對於(沒有標記的)非數據位的比特值相反。這一步主要是爲了二選一的不經意傳輸做準備。

圖片

圖10 矩陣B生成示意圖

  1. 數據擁有者(Alice)獲得矩陣\(C\):這一步的核心思想是請求者與數據擁有者執行\(w\)次不經意傳輸,其執行過程如圖11所示。通過1、2步,請求者已獲得\(A、B\)矩陣;在第3步,數據擁有者生成長度爲\(w\)的二進制比特串【如何生成?】。在每一次OT執行中,請求者以\(A、B\)矩陣的第\(i\)列作爲輸入;數據擁有者以比特串\(s\)的第\(i\)位{\(s[i]\)}作爲輸入,\(s[i]=0\),則數據擁有者得到\(A\)的列;若\(s[i]=1\),則數據擁有者得到\(B\)的列,最終數據擁有者得到矩陣\(C\)。矩陣\(A、B、C\)具有如下特性:此三個矩陣對於(標記的)數據位的比特值相同;而通過不經意傳輸,矩陣\(C\)的非數據位已被置亂。

image-20221222125934886

圖11 不經意傳輸執行示意圖

  1. 數據擁有者(Alice)將數據映射,映射過程如圖12所示。對於每個數據,這一步與第1步的流程類似,其目的是爲了對於參與雙方的交集數據生成完全相同的隨機映射值。首先數據擁有者計算其本方數據的僞隨機函數值,並將僞隨機函數值與第3步得到的二進制矩陣C相結合,獲取二進制比特串\(C_1[v_i[1]]||...||C_w[v_i[1]]\),然後基於二進制比特串執行哈希操作,得到數據映射值【發送過去比較】。

圖片

圖12 數據擁有者數據映射流程圖

  1. 數據擁有者(Alice)將其本方所有數據映射值發給請求者,請求者對比兩方數據映射值確定交集數據,而其不會獲得數據擁有者的任何非交集數據信息。至此協議完成。

總結

本文介紹了基於兩方對稱數據集的三種隱私集合求交方案,其中基於DH的PSI方案適用於小數據的場景;基於OT的PSI方案適用於大數據集的場景,但其依然有較大的通信開銷,因此,介紹了基於OPRF的PSI方案,其在計算開銷和通信開銷方面均具有良好的表現。

方案 效率 適合數據集
基於DH的PSI 計算開銷大 小數據集
基於OT的PSI 通信開銷大 大數據集
基於OPRF的PSI 計算和通信均好

隨着隱私計算技術的發展,多方及外包隱私集合求交方案也在被逐漸關注與研究,我們在後續文章中進行介紹。

參考文獻

[1] NARAYANAN A, THIAGARAJAN N, LAKHANI M, et al. Location Privacy via Private Proximity Testing[C]//Proceedings of the Network and Distributed System Security Symposium, NDSS 2011, San Diego, California, USA, 6th February - 9th February 2011. 2011.

[2] SHAFIN K, PESOUT T, LORIG-ROACH R, et al. Nanopore sequencing and the Shasta toolkitenable efficient de novo assembly of eleven human genomes[J]. Nature Biotechnology, 2020(Suppl.2).

[3] Meadows C. A more efficient cryptographic matchmaking protocol for use in the absence of a continuously available third party[C]//1986 IEEE Symposium on Security and Privacy. IEEE, 1986: 134-134.

[4] RABIN M O. How to Exchange Secrets by Oblivious Transfer[J]. Technical Memo TR-81, 1981.

[5] FREEDMAN M J, ISHAI Y, PINKAS B, et al. Keyword Search and Oblivious PseudorandomFunctions[C]//KILIAN J. Theory of Cryptography. Berlin, Heidelberg: Springer Berlin Heidelberg,2005: 303-324.

[6]CHASE M, MIAO P. Private Set Intersection in the Internet Setting from Lightweight Oblivious PRF[C]//MICCIANCIO D, RISTENPART T. Advances in Cryptology – CRYPTO 2020. Cham: Springer International Publishing, 2020: 34-63.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章