通用協議(二)

定義一個安全協議及其參數

Functionality and Protocol

協議與函數的定義
定義 f 爲一個 m 方參與參與計算的函數,協議PI 爲一個m方參與的協議在真實環境下。
對於一個真實的敵手A,它可以控制少數的參與方並且能夠監聽通信信道,定義 REAL(x) 爲敵手在攻擊這個協議是獲得的輸出消息 m 。
對於一個理想模型敵手A`,同樣的它可以控制少數的參與方,並且定義IDEAL(x) 爲在理想敵手攻擊下由輸出產生的輸出。

我們定義,當協議PI能夠安全的實現函數 f 在絕大多數的誠實方的情況下,如果對於任意的可能真實敵手控制少數參與方,存在一個可能的理想敵手, 可以控制一樣的參與方,結果是REAL(x) 與 IDEAL(x) 計算不可區分。因此,安全意味着,少數族羣的影響本質上僅僅受限於自己能夠替換本地輸入(在協議執行之前),替換本地的輸出(在協議執行之後)。值得注意的是,在真實協議中,少數的參與方趨勢還能獲得一些信息,但是在安全協議中,少數的參與方什麼都獲得不到。

在這裏我們限定使用的是非私有信道,但是就算是在私有信道中,敵手的設置僅僅也僅僅是在真實的環境下不同,因爲在理想的模型中敵手本身也是什麼也無法獲得。例如對於一個消極的敵手,我們定義如下,在真實模型下,所有的參與方都應當遵循協議的執行,但是敵手可能會修改不誠實方的輸出,根據他們所有的內部狀態,相對而言,對於理想模型下,敵手不允許去修改不誠實方的輸入,但是允許修改他們的輸出。

另外,對於超過一半的參與方是不誠實的並且他們採用一種積極的敵手策略的情況下,大多數的計算功能都是不能實現的。這來源於一個不可能的結果,在兩方計算中,沒有方法能防止一方過早的終止執行。另一方面,安全多方計算在不誠實多數的情況下是安全的當且僅當過早終止協議不被認爲是安全問題。

Another Example: Two-Party Protocols Allowing Abort

一個允許中斷的兩方協議
本質上對於一個兩方協議來說,每一方都可以在協議執行時發起終止,特別是,在兩方協議中,雙方的輸出也許都依賴於對方的輸出,但是其中的一方一旦得到自己需要的內容,爲了防止自己的內容泄露,就可以終止協議的執行。即使,在兩方共同生成一個隨機字符串這樣的協議中也會存在這樣的行爲。因此在考慮存在積極敵手在兩方安全計算中時,我們並不將這種情況考慮爲違反安全的情況。所以,我們考慮一個理想模型,其中兩方均有能力關閉可信方在任何時間點。

這個兩方的理想模型如下:
1.每一方都能將自己的輸入發送給可信方,但是不誠實的方可能會替換其中輸入,或者說發送一個空的輸入給可信方,這時認爲發送空的內容就是終止這個協議。
2.當可信方收到這些內容從各個參與方之後,可信方決定相應的輸出,然後將應當給與第一方的輸出發送給第一方。
3.如果第一方是不誠實的,它就會命令可信方終止,這是顯然的,因爲不誠實的一方當然不想讓誠實的一方獲取相應輸出。如果第一方是誠實的,那麼它不做任何事情,可信方繼續執行就好。如果繼續執行,那麼可信方發送第二方應得的輸出給與第二方。
4.當收到來自可信方的輸出時,誠實方將這個輸出當做本地的輸出,但是不誠實方可能會定義它的輸出基於已知的所有內容(例如,初始化輸出和它接受到的輸出)。

一個兩方計算允許中斷被要求去模擬着個理想的模型,那就是說,安全被定義要求爲任何可能的真實敵手,存在一個理想的敵手,控制一樣的參與方,真實的概率集合和理想的概率集合是不可區分的,這意味着,每一方的有效故障在安全協議中被限制於他們的輸入與選擇中斷協議的時刻,並且他們最開始輸入的值不依賴於任何的一方。另一種處理提前中斷的方法是,只考慮一方輸出函數,即爲每次輸出值的內容都由一方來輸出,則可以預防中斷。

一個主要的定理

假設存在enhaced trapdoor permutations ,通用的安全多方計算在以下的三種模型下是可能的:
1.消極敵手,對於任意數量的不誠實參與方。
2.積極敵手,控制少量的參與方。
3.積極敵手,控制任何的壞的參與方,只要暫停執行不被認爲是違反安全的。

在以上的所有例子中,敵手的計算能力是有界的並且是非適應的,另一方面,敵手可能會竊聽到誠實方之間的通信(我們假設那這裏不存在私有信道)。但是存在廣播信道。

其他的定理

在不做任何計算機假設並且允許計算無界的敵手,但是假設存在私有信道,即爲敵手不能獲得任何的通信信息,通用的安全多方計算是可能的在下述的模型中:
1.消極的敵手,控制少數的參與方。
2.積極的敵手,控制少於三分之一的參與方。(如果儲存在廣播信道,則可以放寬到普通少數)
在這兩種情況下,敵手都是適應性的。

通常的安全多方計算是可能對抗積極的適應性的移動敵手的。這個結果沒有計算性假設,但是假設存在私有信道。

假設在RSA的困難性下,通用多方計算時可能的,允許適應性和積極的計算有界的敵手控制少於三分之一的參與方,我們假設是存在私有信道的。

An Extension and Efficiency Considerations

擴展和效率方面的考慮
Secure Reactive Computation 安全反應式的計算,這個概念比較重要,甚至在關於協議的高級主題例如UC安全中都是一個重要的概念。在上文中的結果都可以容易的擴展到一個反應式模型,每一方都與一個高等級的進程交互,高級流程自適應的像每個參與方提供一個輸入的序列,然後期望從每個參與方收到相應的輸出。也就是說,一個反應式的系統將會經歷以下的迭代方式:
1.各方被給與輸入在當前輪。
2.根據當前的輸入,各方計算當前的輪數的輸出。就是說第 j 輪的輸出是被第 j 輪的輸入確定的。

一個更通用的公式允許每輪的輸出依賴於一天個全局的狀態,全局的狀態可能是可以更新的在每一輪。全局狀態可能包括所有的輸入和先前輪數的輸出,也有可能只被個人所知曉。在一個安全反應式計算中,一個全局的狀態可能被維護通過一個祕密共享的方式。

協議的效率分析
1.協議的通訊輪數
2.協議中交互的比特位數
3.協議在本地執行的時間

Construction Paradigms

構建範式
對於計算有界和非適應性敵手的構建模式,這個構建過程需要兩個步驟:第一步,一個安全的協議對於消極的敵手提出一個安全協議(敵手控制任何數量的不誠實參與方),並且這個協議被編譯成一個滿足以下兩種安全模式中主動對手模式中的安全性,即要麼控制少數參與方,或者提前中斷不影響安全性。回憶一下,在消極敵手模型中,所有的參與方遵循描述的協議,但是在執行結束後,敵手可能會修改不誠實方的輸出根據執行過程中的內部狀態。在後面我們提及的協議中是安全的對於消極的敵手存在消極的安全,或者對於積極的敵手存在積極的安全。

From Passively Secure Protocols to Actively Secure Ones

從消極安全的協議到積極的安全協議
此處將展示如何將一個消極安全的協議轉換成一個對應主動安全的協議。通信模型在所有的協議中包括一個廣播信道,
因爲敵手無論如何都可以看到這些消息,對於主動安全協議,這些廣播信道可以使用可驗證的拜占庭協議來實現,因此
在標準的點對點模型中提供這樣的模擬。我提及的可驗證拜占庭協議典型的可以使用一個簽名協議來實現,假設每一個部分都知道可驗證的公鑰。
對於轉換本身而言,主要的思想是使用零知識協議來強制參與方以被動安全的形式來行動,我們需要確保每一方的獨立行爲(此處我認爲應該特指的是輸出問題),並且保證參與方的輸入不能依賴於誠實的參與方輸入。因此,一些初始化的步驟必須在模擬之前被執行,具體的被編譯過的協議如下所示:

1.在原始協議的模擬之前,每一方提交他們輸入(使用承諾協議)。進一步使用零知識證明他們每一方自己的輸入,並且可以通過解承諾解開。這些零知識是按照順序進行的,防止不誠信方的輸出在一定程度上依賴誠信方的輸出。
2.接下來所有的參與方聯和生成一個隨機的比特串,但是每個參與方僅僅知道自己爲這個隨機比特產生的輸出但是每個參與方都能獲得一個這個隨機比特的承諾。這些參與方各自的產生的隨機序列將被用在原始協議中。
3.進一步,當編譯這個模型時,允許敵手去控制少數的參與方,每個參與方分享它自己的輸入和隨機輸入用可驗證的祕密共享協議。這保證瞭如果有參與方提現終止了協議,其他的參與方有能力恢復出整個祕密繼續執行協議。
4.完成以上的這些步驟後,我們將繼續轉向新的協議模擬原始的協議,在每一步中,每一方都通過零知識證明來斷言傳送的消息是正確的,進一步,發送者的輸入由它的承諾決定,它的隨機輸入也是一樣的,因此下一條消息是已知的公開的字符串。發送方可以證明使用零知識證明他發送的消息確實是來源於原始協議。

總結來說,當參與方使用承諾協議,並且使用零知識證明證明自己的輸入時,就可以完全證明他們的消息確實是來自於自己的,這個過程應該主要針對的就是積極敵手對於輸出的攻擊,在真實模型和理想模型下都適用。

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

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