通用協議(七)兩方安全計算-惡意模型

在兩方安全計算中的惡意敵手模型

一些基礎的問題

1.第一點,(惡意終止-公平性問題)沒有任何方法能強制一方參與到協議中,也就是說一種惡意的行爲包括阻止這個協議正常開始執行,或者更一般的行爲是在任何時刻終止參與,導致協議中斷。特別是,一個參與方獲得了期望的結果後,終止協議。我們強調在通信模型的設計中,我們不能將一方發送消息的前提條件設置成爲另一方發送一個正確的消息,因爲在通信中,無法保證所有的消息都是有順序的,這也暗示了可能存在的惡意行爲。因此沒有任何的兩方協議能夠防禦一方獲得期望輸出後終止協議這種行爲。換句話說,這個協議能夠展示出完美的“公平性”,即雙方共同獲得結果,這無法在兩方計算中實現,(往往在協議的設計時,我們會提及這個概念),所有我們放棄去證明這種公平的存在,但是可以相對的實現部分的公平屬性。

2.第二點,(惡意輸入問題)很明顯對於惡意的敵手來說,其輸入可能並不合法,沒有任何方法對於協議來說能夠看出哪個收到的輸出來自於聲明發送的一方。或者說,去保護惡意行爲從修改他的輸入。

綜上所述,在協議的執行中有三種問題我們是無法避免的:
第一種:參與方拒絕參與協議。
第二種:參與方替換了自己應該的輸入。
第三種:參與方提前終止協議。

因此,如果一個兩方協議是安全的,如果敵手的行爲本質上是由以上的三種三種方式限制的。這意味着,我們應該定義一個理想模型中相應的應爲,並且定義安全性,然後安全協議的執行在真實模型下可以被理想函數所模擬。(這裏其實就說明了,思維慣性我們應該會傾向於用現實模型靠向理想模型,但是實際上用理想模型靠向現實模型這是更加合理的,更加的嚴格)

實際的定義

The Ideal Model 理想模式

根據上文的討論,我們將允許在理想模型中任何都不能阻止的在現實中的事情。另一種看待這個問題的方式爲,我們假設存在一個可信第三方,但是任何的一方都無法保護確定的惡意行爲。特別的,我們允許一個惡意的敵手在理想模型中拒絕參與或者替換他的本地輸入。顯然,這兩件事都不能被可信第三方阻止。因此我們假設第一方有在可信第三方發送數據給第二參與方之前終止協議的能力。這個能力第二方並不能持有。因此在理想的模型下一個執行結果是這樣的:

input : 每一方獲得的一個輸入,定義爲u;

Sending inputs to the trusted party: 一個誠實方總是發送 u 給與可信方,一個惡意敵手可能會依據u 或者其他的擲硬幣序列,輔助輸入給與輸入或者終止協議;

The trusted party answers the first party: 可信方在此處,可以獲得一個輸入的對(x,y) ; 然後TPP會首先回復第一方內容,否則(TPP僅僅只接受到了一個輸入方內容)TPP直接回復一個終止符號。

The trusted party answers the second party:在這種情況下,第一方如果是惡意的,那麼他會依據第一方自己的輸入和可信方的輸出決定是終結這個協議還是不終結這個協議。在這種情況下,即第一方是惡意的情況下,TPP發送終結符號給第二方,否則,TPP發送第二方應得的輸出給與第二方。

Outputs:對於輸出的情來看,一個誠實方終究會輸出它從TPP處獲得的消息。一個惡意的參與方會根據自己獲得內容和初始化的內容輸出一個隨機的可在多項式時間計算函數的值。

事實上,不是一般性,我們假設所有的參與方都將輸出發送給了TPP,而不是假定他們中斷了協議。這樣的假設是可以實現的通過使得TPP使用一些默認的值以防參與方沒有參與到協議中來。因此理想模型被如下定義,算法B1 和B2 表現了所有可能的操作在模型中。B1和B2定義如下:
在這裏插入圖片描述
在這裏插入圖片描述
其中 x, y 爲B1和B2的輸入,z 是輔助輸入,r 是產生輔助輸入的一個隨機的帶。如果第一方和第二方是誠實的那麼B1輸出的就是x. B2 輸出的就是y. 同樣的,如果第一方是惡意的參與方,他決定終止這個協議,那麼他在獲得期望的輸出後做如下的操作:
在這裏插入圖片描述
v 是從TPP接收到輸出,並且整個算法B1輸出中終止符號。在這種情況下,第一方的本地輸出如下:
在這裏插入圖片描述
如果第一方沒有輸出終止符號,那麼第一方本地輸出和上文是相同的,僅僅是缺少一個終止符號而已。相似的第二方的本地輸出爲B2(y,z,r,v)這其實如果兩方都是誠實的那麼所有人的輸出都是v.

Malicious adversaries in the ideal model

定義太長,此處直接拷貝書上的內容:
在這裏插入圖片描述
此處的定義和之前的定義類似,不同的是,這裏假定了參與方的初始化輸出不變。接下來依然是幾個純定義公式:
在這裏插入圖片描述
如圖中定義,如果第一方是誠實的,那麼整個理想模型的視圖如下(其實這裏文中並沒有稱之爲視圖,但是其實本質上就是整個理想模型的視圖),例如在公式7.13 中,如果第一方是誠實的,那麼第一方按照正常函數執行輸出,第二方按照B2算法執行,輸出爲第二方的輸出結果。類似的,如果第二方是誠實的,第一方是不誠實的,那麼理想協議如7.14 所示,因爲第一方不誠實,所以會在第一方獲得期望的輸出後,直接中斷協議,所以第二方的無法獲得內容,協議因此中斷,所以輸出終止符號。第一方由算法B1給出輸出視圖。此處,其實B1是可能使用替換書輸入來調用誠實參與方的。如果第一方爲惡意敵手卻沒有中斷這個協議的執行,那麼我們可以看出來式子7.15 其實就是這種描述。在這些所有的情況下,TPP計算 f(B1(x,z,r), y) 並且P1輸出一個字符串取決於,第一方的給與TPP的輸入和整個x, z , r. 同樣的,等式7.13表現出了第二方惡意行爲。

Execution in the Real Model

進一步,我們考慮現實模型,在現實模型中,沒有可信第三方的幫助。在這種情況下,惡意的一方會採取任何可行的策略。也就是說,是可以由概率多項式時間算法實現的任意操作,例如獲取輔助輸入。特別是,敵手參與方可以中斷協議在任何的地方,此時另一方卻沒有任何的輸出。與理想協議中類似,我們將採用算法來描述各方的策略。
定義如下所示:
在這裏插入圖片描述
和之前使用的策略類似,在現實模型下,敵手的行爲以及環境定義如上圖,還是很容易理解的。在真實模型下存在兩個參與方,分別使用概率多項式算法A1 和A2 ,A1接受輸入x 和輔助輸入z , A2 接受輸入y 和輔助輸入z.

Security as Emulation of Real Execution in the Ideal Model

安全性作爲真實執行過程的模擬在理想模型中
當我們定義了理想和現實模型之後,我們就獲得了對應的安全定義。不是一般性,這個定義斷言一個安全的兩方安全計算協議模擬一個理想模型。這是通過模擬來論證的,允許的敵手在理想模型下是能夠模擬的一個安全真實協議的執行過程的在任何的可能敵手下。就是說,在理想模型中可以模擬安全真實協議的執行。其實和之前說的一樣,理想的模型能夠模擬出現實的執行過程,那麼一定證明現實的執行過程是安全的。

Security in the malicious model 安全在惡意敵手當中

在惡意敵手模型中的安全如下:

一個重要的屬性是上述定義在惡意敵手下實現了保密計算。這就是說,所有的敵手能夠學習通過參與這個協議使用任何可能的協議,能夠本質的推斷出來僅僅從相應的輸出。也就是說各方僅僅只能從參與獲得的內容去學習推斷輸出。另一種屬性通過上文定義的是正確性,這意味着誠實方的輸出必須和誠實方輸入的內容相對應。更進一步,敵手對應的元素必須選擇不能影響誠實方的輸入。我們定義這兩種屬性是非常容易實現的使用上述定義,但是這個定義並不能被實現通過這兩個屬性。

以上內容參考《Foundations.of.Cryptography.Volume.2.Basic.Applications(Oded.Goldreich)》

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