安全性證明

敵手模型

image
1、根據敵手是否指示參與方行事
(1)半誠實模型
參與方即使被腐敗,也會正常執行協議,但中間會手機相關信息(比如中間結果等),並試圖利用這些信息學習協議中的保密信息。
(2)增強半誠實模型
在半誠實的基礎上,敵手可以更改參與者的起始輸入,並正常執行程序。
(3)惡意模型
參與方會根據敵手的指示執行協議,偏離原本協議。

2、根據參與方何時處於敵手的控制
(1)靜態腐敗模型
協議執行前,確定好被腐敗的參與方,協議執行過程中,敵手不會腐敗其他參與方,即誠實的一直是誠實的,腐敗的一直是腐敗的。
(2)自適應腐敗模型
在協議執行中,敵手可以根據需求選擇何時腐敗哪個參與者,腐敗後的參與者一直保持腐敗模式。
(3)主動安全模型
在協議執行中,誠實的參與方可能在一點時間被敵手腐敗,腐敗的參與方也有可能變誠實。

UC安全模型

由來

大多數OT協議獲得的是半仿真安全性(half- simulation),即只允許對其中一個敵手構建可行的仿真器,使得OT協議不能與其他協議組合使用。(也就是說,針對OT協議是安全的,如何和別的協議一起用,就不一定安全。)

所以具有全仿真安全性(fully- simulation)的OT就出來了,即允許針對兩個不同的敵手分別構建仿真器,使得OT協議可以與其他協議組合使用,但不允許協議間並行組合。

但在多方計算和當前複雜的網絡下,並行組合協議能帶來更高的安全性和性能,比如利用並行協議節省通信輪數。

所以提出了通用可組合(universally composability,UC)安全模型,爲協議提供任意組合使用時的安全性。

原理

理想協議(ideal protocol):
給定一個協議,比如完成一次兩方通信,假設存在一個理想函數(ideal protocol)\(F\)可以安全的實現該協議。

具體來說,即使\(F\)將從Alice處獲得要傳輸的數據\(x\),並將\(x\)輸出給Bob,這裏的兩方和\(F\)間的通信是在安全信道上完成的,這樣兩方和\(F\)間就實現了兩方安全信息傳輸。

把我們把該協議叫做理想協議(ideal protocol)\(\rho ^F\)

真實世界(real world):
然而現實中,不存在這樣的理想協議,我們需要一個真實的協議\(\pi\)來實現\(F\)的功能,並期待\(\pi\)的安全性不亞於理想協議\(F\),即若存在一個敵手可以在真實協議\(\pi\)中做任何事,那麼該敵手也可以在理想協議\(\rho ^F\)中做任何事。

\(F\)具有理想安全性,所有敵手也無法對真實協議\(\pi\)做任何攻擊。這就要求對於任意的敵手ADV(real adversary),總是存在一個理想敵手SIM(ideal adversary或者simulator),使得真實協議\(\pi\)與真實敵手ADV交互(真實世界,real world)和理想協議\(F\)與理想敵手SIM的交互(理想世界,ideal world)是不可區分的。
image

通過做遊戲證明安全性。

區分遊戲是令UC模型中的參與者ENV(環境,environment)猜測整個協議執行中是與理想世界交互還是與真實世界交互的,這裏的ENV可以看作是某個惡意場景下當前誠實參與方的外部環境。

如果沒有任何ENV能以不可忽略的優勢成功區分真實世界和理想世界的話,我們就是真實協議\(\pi\)可UC安全模擬理想函數\(F\)(理想協議\(\rho ^F\)),即\(\pi\)具有UC安全性!

符號表示:
1、\(EXEC_{\pi,ADV,ENV}(n,x)\):表示ENV和ADV交互,並在輸入爲\(x\in (0,1)^*\)上運行\(\pi\)時輸出1比特的隨機變量,n是安全參數。
2、\(IDEAL_{F,SIM,ENV}(n,x)\):表示ENV和F、SIM交互時,在同樣輸入\(x\in(0,1)^*\)上輸出1比特的隨機變量。
3、\(EXEC_{\pi,ADV,ENV}\):表示\((0.1)\)上概率分佈集合\((EXEC_{\pi,ADV,ENV}(n,x))\)
4、\(IDEAL_{F,SIM,ENV}=(IDEAL_{F,SIM,ENV}(n,x))\)

定義:
\(\pi\)可UC安全模擬的理想函數\(F\)的定義爲:
image

在上述定義中,所有算法都是由交互式圖靈機(interactive Turing machines ,ITM)實現的,此外,相對於量子(quantum)這一概念,此定義中的算法都是傳統的(classical)。若在定義中限制ADV、SIM和ENV爲多項式間算法,即可得到計算的傳統UC安全性(computational classical UC security),同樣,若限制ADV、SIM和ENV爲無限算法(unbounded),即可得到統計的傳統UC安全性(statistical classical UC security)

還有量子UC安全,這裏不介紹,具體見論文!

OT理想函數

下面給出2-1 OT理想函數的定義:
image

攻陷場景

即上面提到的“參與者何時處於敵手的控制(被敵手攻陷)”的三種場景:
(1)靜態腐敗模型
(2)自適應腐敗模型
(3)主動安全模型

這裏主要靜態攻陷(static corruption),即(1)靜態腐敗模型,敵手只能在協議執行前確定攻陷方式與目標,而不可以在協議執行過程中適應性(adaptive)變動目標攻陷對象。

下面針對UC模型下OT協議安全性,我們考慮四種靜態攻陷場景:
(1)當只有R被攻陷時
(2)當只有S被攻陷時

(3)當S和R都被攻陷時
(4)當S和R都不被攻陷時

UC安全性證明的難點在於構造前兩種場景下的仿真器,而後兩種場景下的仿真器往往是相應調用前兩種場景下的仿真器而得到的。

UC安全協議構造

image

下面只介紹2-1 OT協議的UC安全分析,以此作爲UC安全的一個實例介紹,其他請見論文。

DH密鑰交換協議:
image
總結一下:

  • Alice to Bob:\(A=g^a(mod p)\)
  • Bob to Alice:\(B=g^b(mod p)\)
  • 最後兩方得到:\(k=g^{ab}(mod p)=A^b(mod p)=B^b (mod p)\)

DH協議基於的是離散對數問題

使用LWE問題實現類似DH密鑰交換協議:

來源【A simple provably secure key exchange scheme based on the learning with errors problem】

image
image
image
總結一下:

  • Alice to Bob:\(p_A=As_A+e_A(mod q)\)
  • Bob to Alice:\(p_B=s_B^TA+e_B^T(mod q)\)
  • Alice計算:\(k_A=p_Bs_A=s_B^TAs_A+e_B^Ts_A\approx s_B^TAs_A=k\)
  • Bob計算:\(k_B=s_B^Tp_A=s_B^TAs_A+s_B^Te_A\approx s_B^TAs_A=k\)

將其運算放在環上,就可以實現基於RLWE問題的密鑰交換協議。

基礎

下面給出三個組件:基於RLWE問題的密鑰交換協議哈希函數\(H\)具有特睡性質的對稱加密方案\((E,D)\)。根據前兩個組件可以獲得一個隨機OT協議,即滿足發送者S輸出兩個隨機密鑰,而接受者只知其一。最後一個組件可將這個隨機OT轉換爲一個UC安全可抗靜態攻陷的標準OT協議!

多項式環介紹:
image

UC安全符號介紹:

  • \(S,R\)分別表示OT協議中的發送者和接收者。
  • \(A,S,Z\)分別表示UC安全中敵手、仿真器、運行環境
  • \(S^*\)表示只有發送着被攻陷(腐敗)時,即\(S\)完全被\(A\)控制。

基於RLWE問題的密鑰交換(協商)協議

image
密鑰協商的目的是爲了實現Alice和Bob之間共享一個密鑰。
image
總結一下:

  • Alice:通過調和函數\(rec()\)得到密鑰\(k_A\)\
  • Bob:通過模數取整函數\(\left \lfloor . \right \rceil_{q,2}\),得到密鑰\(k_B\)
  • 協議的正確性:\(k_A\approx k_B\)

但存在問題:當模數\(q\)是奇數時,在逐係數調用\(\left \lfloor . \right \rceil_{q,2}\)時導致兩方的共享密鑰的每個比特存在偏差。另外就是大多數的RLWE方案中的模數\(q\)都是大奇數。

改進方法:
(1)爲了避免\(q\)爲奇數產生的偏差,則將域擴展爲\(R_{2q}\),使用隨機雙倍函數dbl( randomized doubling function)
\(Z_q\to Z_{2q}\)\(dbl(x)=2x-\overline{e}\),其中\(\overline{e}\)\((-1,0,1)\)中分別以概率\(p_{-1}=p_1=1/4,p_0=1/2\)進行採樣。

(2)由於dbl()的輸出會作爲模數取整和交叉取整函數的輸入,所以模數取整和交叉取整函數也需要改進爲支持\(Z_{2q}\)上的計算:
image

(3)爲了保證修改後調和機制的正確性,需要對調和函數做出修改,使得Alice仍然可以通過調和函數恢復均勻分佈的共享密鑰:
image

修改後的正確性:
image

哈希函數

這裏使用的哈希函數\(H\)的定義爲:
\(H: ((R_q*R_q)*(R_q*Z_2^n))*Z_2^n\to Z_2^{\rho }\),即從n比特串中導出$\rho $比特的密鑰導出函數

在安全證明總,哈希函數\(H\)將由隨機寓言機模擬,由於OT協議UC安全證明主要依賴於局部隨機寓言機。局部隨機寓言機就是在哈希函數中使用參與者的身份ID(例如sender、receiver)和會話ID(即sid),這裏使用的是將隨機OT協議中的副本作爲哈希函數的salt值(隨機值)

對稱加密方案

爲了使隨機OT轉換爲UC安全的標準OT,還需要一個具有特殊性質的對稱加密算法\((E,D)\),滿足非承諾性(non-committing)和魯棒性(robustness)

符號介紹:

  • \(K,M,C\)分別表示密鑰空間、明文空間和密文空間
  • \(k\)表示方案的安全參數
  • $\perp $表示無效輸出

image
非承諾性:即方案的密文和安全參數與隨機數是不可區分的!

image
魯棒性:即對於給定的密文,僅有一個密鑰能成功解密!

方案:
image
具有非承諾性的加密方案能夠使仿真器生成任意如同真實密文的密文,並可以當作任意明文的有效密文而被正確解密。

基於RLWE問題的UC安全OT協議

下面根據上面介紹的三個技術,先構建隨機OT協議,再聯合對稱加密方案將其轉換爲標準OT協議(協議1),並在隨機寓言機模型下證明協議1獲得可抗靜態攻陷的UC安全性

方案1:
image

隨機OT

隨機OT如圖分爲三個階段:設置、選擇、密鑰導出。其中發送者會收到兩個隨機密鑰,而接收者只知道其中的一個。

1、設置
image

2、選擇
image

3、密鑰導出
image
這裏若兩個參會方都是誠實的,則他們會得到共享的密鑰\(k_{\sigma }\)

下面證明該OT協議的安全性:
1、接受者R的安全性
因爲在協議執行過程中,接收者\(R\)只發送\((B,c\)給發送着\(S\),所以接收者的安全性要求:

  • \((B,c)\)不能泄露出任何有關\(\sigma\)的信息

具體來講,當\(\sigma=0\)時,\(B_0=B\);當\(\sigma=1\)時,\(B_1=B\)

當S收到\((B,c)\)後,爲每個\(j\in(0,1)\)運行\(rec(W_j,c)\):若\(\sigma=0\),則\(B=B_0=b'\),故\(W_0=2B_0s=2b's,W_1=2(B_0-T)s=2(b'-T)s\);若\(\sigma=1\),則\(B=B_1=b'+T\),故\(W_0=2B_1s=2(b'-T)s,W_1=2(B_1-T)s=2b's\).

由於\(T\)時均勻隨機抽取的,即\(b'+T\)\(b'-T\)都是均勻隨機的,所以接收者的安全由下面定義可證:
image

證明(1):
\(\sigma =0\),則\(B=B_0=b'=as'+e'\);當\(\sigma =1\),則\(B=B_1=b'+T\)
根據DRLWE問題,有\((a,B_0)=(a,b')\approx (a,u')\),其中\(u\)是隨機選取的,\(\approx\)表示兩個分佈不可區分;對於\((a,B_1)=(a,b'+T)\),其中\((a,b'+T)\)均勻分佈在\(R_q*R_q\)上。故\((a,B_0)\)\((a,B_1)\)在計算上是不可區分的。

證明(2):
若敵手知道\(s'\),就能計算出\(b'\),即計算出\(B_0\),即可區分\(B_0,B_1\),從而知道\(\sigma\),而\(c=<\overrightarrow{v}>_{2q,2}\)和接收者的密鑰\(s'\)有關,下面需要證明根據\(c\)不能發現\(s'\)

思路:

  • 在DRLWE假設下,證明\(c\)和一個均勻隨機數在計算上是不可區分的
  • 由DRLWE和SRLWE的等價困難性得到\(c\)是獨立於\(\sigma\)的:即讓敵手參與下圖定義的一系列Game,從而證明敵手只能以可忽略的優勢進行區分,進而證明\(c\)是獨立於\(\sigma\)的。
    image

這裏令\(E_i\)表示敵手在\(Game i\)中猜測\(x^*\)這件事
定義敵手\(S^*\)區分\(c\)和一個均勻隨機數的交叉取整值時的優勢爲:
image

下面開始做遊戲:
image
Game 0中的\(b'\)\(A\)是從RLWE分佈中隨機取的。

image
Game 1中的\(A\)是從環分佈\(U(R_q^2)\)中隨機採樣的,Game0和Game1中的\((a,A)\)兩個分佈是不可區分的!

image
image

Game 2中的\((a,b'),(A,v)\)是從環分佈\(U(R_q^2)\)中隨機採樣的,Game1和Game2中的\((a,b'),(A,v)\)兩個分佈是不可區分的!
image
image

證明(3):
也是通過反證,因爲\(W\)是和\(B\)有關的,可以規約求證(1)
image

2、發送方S的安全性
發送方的安全性在於,協議結束後,接收者能正確收到他所選的消息\(M_{\sigma}\),而不知道其他消息\(M_{1-\sigma}\)。爲了使用對稱加密算法加密發送着的信息,密鑰將由哈希函數\(H\)輸出,即哈希函數將由隨機寓言即來模擬,接收者只能詢問寓言機\(k_{S_0},k_{S_1}\)而獲得\(k_0,k_1\)

然而,接收者只能通過計算\(\left \lfloor \overrightarrow{v}\right \rceil_{2q,2}\)獲得\(k_{S_\sigma}\),若想獲得\(k_{S_{1-\sigma}}\),必須知道\(k_{S_{1-\sigma}}\)。若接收者知道了\(s\),則可知道\(k_{S_{1-\sigma}}\),那意味着解決了SRLWE問題,這是不能的;另外若接收者可以找到一個點\(k'_{S_{1-\sigma}}\),滿足\(k'_{S_{1-\sigma}}\neq k_{S_{1-\sigma}}\),且\(H(k'_{S_{1-\sigma}})=H(k_{S_{1-\sigma}})\),則接收者也能得到\(k_{S_{1-\sigma}}\),但是哈希函數出現碰撞的概率是可忽略的!

所以現在要知道接收者能夠以壓倒性的概率正確猜出\(k_{S_{1-\sigma}}\)。發送者的安全性以一系列的Game完成,其中第一個game是由仿真器運行的協議副本,最後一個Game是僞造的,這時敵手的優勢是可忽略的。
image

安全性證明是由任意兩個相鄰的Game是計算不可區分而獲得到,最後一個Game中,可以證明敵手儘可以可忽略的優勢贏得Game。

所以,若在DRLWE問題下,不存在(計算有限)敵手可以同時輸出兩個密鑰\(k_0,k_1\),則發送者是安全的
image

下面開始做遊戲:
image
Game0中,\(b',v\)從RLWE分佈中採樣,Game1中,\(b',v\)從環分佈\(U(R_q)\)中採樣,這兩個分佈在計算上是不可區分的。

image
image

標準OT

在隨機OT中加入對稱加密算法,即在哈希函數之後,條件一個傳輸階段和取回階段,傳輸階段S發送由\((E,D)\)生成的關於\((M_0,M_1)\)的密文給R。取回階段R可以正確恢復出自己的選擇消息。
image

UC安全的OT

若該協議能在隨機寓言機模型下UC安全模擬OT理想函數,並能抵抗靜態攻陷行爲,需要滿足以下條件:
image
下面證明以上條件成立!

在隨機寓言機模型中的靜態攻陷場景下證明協議是安全的,需要分四種情況,即

\(A\)表示敵手,對於每個\(A\),可以構造一個仿真器\(S\),即利用理想函數在理想世界中模擬環境的真實情況,從而滿足沒有環境\(Z\)可以區分是在理想世界還是真實世界交互。
證明中:\(S\)先運行一個\(A\)的副本,每個\(S\)收到來自\(Z\)的輸入信息都會寫入\(A\)的輸入帶;每個\(A\)寫入在其輸出帶上的輸出消息都複製到\(S\)的輸出帶上;\(S\)在理想世界自行運行隨機寓言機以回覆敵手的詢問。

1、當只有S被攻陷時
image
模擬器能抽取發送者的輸入\((M_0,M_1)\)
image
模擬器的具體構造如下:
image

不可區分性論證:
環境\(Z\)基於觀察到的\((B,c),M_{\sigma}\),作爲區分參與真實世界和理想世界之前的區分遊戲。根據下面兩個條件可以得出不存在區分者\(Z\)可以區分真實觀察和由仿真器生成的仿真觀察。
image

總的來說,就是證明即使在S被攻陷後,協議也是安全的。


待補充
2、當只有R被攻陷時

3、當S和R同時被攻陷

4、當S和R都不被攻陷時

推薦文章:
1、A new paradigm for cryptographic protocols-2001【首次提出】
2、Universally composable security with global setup-2007【擴展UC】
3、Long-term security and universal composability-2007【使用UC】
4、Secure Multiparty Computation and Secret Sharing【使用UC】
5、The simplest protocol for oblivious transfer【高效的UC安全OT協議】

參考

1、面向隱私保護的集合交集計算綜述
2、格上不經意傳輸協議的分析與設計

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