了解故障停止潛意識通道
眾所周知,隨機性可以用來創建潛意識通道(參見 Simmons 1983 年的“囚徒問題”),並且很難阻止這種潛意識通道。
對於手頭的案例,Simmons在 1993 年的“ An Introduction to the Mathematics of Trust in Security Protocols ”論文中提出了一種協議,用於防止在創建 DSA 簽名期間生成的隨機數中出現潛意識通道。在 Simmons 對 DSA 的修改中,簽名者 Alice (A) 嘗試將潛意識比特b傳達給 Bob (B),通過試圖阻止潛意識通道的守望者 (W) 進行通信。防止它的方法基本上是強制 A 在 A 生成最終簽名之前加入 W 提供給 A 的一些隨機性。潛意識自由的基本原理是 A 不能再自己選擇隨機數。
然而,後來 Desmedt 在“ Simmons 的協議並非沒有閾下通道”中表明,即使在這種情況下,也存在一種特定類型的閾下通道,我有時將其稱為故障停止閾下通道。這種類型的通道在 DSA 案例中的工作方式如下:由於 A 在生成最終簽名之前可以訪問 W 的隨機性,因此如果在合併 W 的隨機性後簽名的最後一位與b不匹配,她可以 (a) 停止簽名過程; 或者 (b) 如果在合併 W 的隨機性之後,結果簽名的最後一位與b匹配,則完成該過程. 當然,可能有更複雜的方式來決定是否繼續前進,但這似乎是總體構想。
我的疑問出現在這一點上。在這個推理之後,Desmedt 認為,為了顯示一個通道是否是無閾下通道的(即,不能在其中創建閾下通道),只應考慮 A 不停止的情況,如在在她停下來的情況下,W 檢測到一些可疑行為正在發生,因此不會發生潛意識交流(因為 W 檢測到它,這與潛意識交流的原理直接矛盾)。因此,根據這個論點,具有故障停止閾下通道的系統(假設以閾下方式傳輸的比特的一致性)在 1/2 的執行中是可檢測的。
但是,這個潛意識通道通常沒什麼用:如果我有一個設備/軟體失敗了 1/2 的時間,我會,在最好的情況下,假設它是一個非常無用的設備/軟體並會改變它對於另一個不同的設備/軟體,因此不再可能進行潛意識交流(並且可能,我認為該設備/軟體中正在發生一些奇怪的事情)。
主要問題:這是故障停止潛意識通道的預期工作方式,還是我誤解了什麼?
後續問題:如果這確實是他們的工作方式,那麼這種類型的潛意識通道在實踐中何時有意義以及如何使用它們?(注意:我不是在問故障停止通道適用於什麼樣的實際場景,儘管這當然會有所幫助。相反,我感興趣的是如何在沒有守望者檢測的情況下使用故障停止通道/高度懷疑正在發生潛意識交流並決定丟棄相關的軟體/設備。)
對主要問題的回答:是的,這確實是他們的工作方式。具體來說,為了證明一個通道是否是無閾下的,只需要關注A沒有停止的實例,這是非常合乎邏輯的。考慮一下,如果A停止,則W意識到正在發生潛意識交流,並且通道不是無潛意識的。但同樣,對於A沒有停止的情況,W仍然需要判斷是否存在閾下通道。這在“無潛意識渠道的進展報告”中有更清楚的解釋.”(具體檢查定義 3,儘管前面的部分有助於理解作者的思維過程。)
後續問題的答案:TLDR;當只需要傳輸一個閾下位時,故障停止閾下通道大致是實用的。因此,它可能僅在非常有限的情況下才有意義。Desmedt 舉的例子是,在D 日,傳達“**不會在加來著陸”的潛意識就足夠了。當需要傳輸更多比特時,它很可能不實用,因為它未被檢測到的機率呈指數下降(並且它的容量下降到 $ 0 $ 一樣快)。
可以自然地認為,當潛意識交流未被檢測到時,潛意識通道的實用性取決於其容量。通道的最大容量(在沒有通信錯誤的情況下)由其熵決定。鑑於前面的答案,我們知道只要A沒有停止,就不會檢測到故障停止閾下通道,因此我們可以使用條件熵。
使A停止的條件可以任意定義,但是為了簡單起見,我還是堅持 Desmedt 的例子(下面的計算實際上是在 Desmedt 的論文中勾勒出來的,雖然有點簡潔……)。在 Desmedt 的範例中,如果 DSA 簽名的r值的最後一位匹配,則A停止 $ b \oplus c $ , 在哪裡 $ b $ 是A和B共享的秘密(統一採樣)位,c是要傳輸的閾下位。A沒有停止的事件意味著W看到了根據協議生成的完全有效的 DSA 簽名。因此,他無法將其與完全合法的執行區分開來。這表示為 $ {w = 0} $ (即,W輸出“沒有潛意識資訊”)。
讓我們概括並假設A想要傳輸u 個比特。我表示要潛意識傳輸的位串 $ c_i $ , 對於每個 $ i \in [0,2^u-1] $ . 那麼,單次執行協議的容量為:
$ H(c_u|w = 0) = -\sum_{i\in[0,2^u-1]} p(c_i,w=0) \log \frac{p(c_i,w=0)}{p(w=0)} = -\sum_{i\in[0,2^u-1]} 2^{-2u} \log \frac{2^{-2u}}{2^{-u}}=u2^{-u} $
[注意 $ p(c_i,w=0) $ 是其中的事件 $ c_i $ 等於 $ u $ 的最低有效位 $ r $ . 然後, $ p(c_i,w=0)=2^{-u} \cdot 2^{-u} $ , 作為 $ c_i $ 和 $ w=0 $ 是獨立的隨機變數,因為 $ b $ 是隨機均勻選擇的,並且 $ r=(g^{k’ \cdot k’’} \bmod p) \bmod q $ 也是隨機均勻繪製的(因為 $ k’’ $ ,由W選擇,是。)]
現在,函式 $ f(u)=u2^{-u} $ 有一個最大值 $ 1/\ln2 $ 因此最大容量是 $ 1/\ln2 \cdot 2^{-1/\ln2}=0.5307 $ .
請注意,如果我們要分析A嘗試傳輸t個不同簽名(僅限於故障停止策略)的情況,每個簽名包括 $ u $ 潛意識資訊比特,相當於讓A嘗試傳遞 $ tu $ 單個簽名中的位,當 $ tu = 1/\ln2 $ .