Adversarial-Model

擴展 Canetti-Krawczyk - 清潔會話定義

  • December 28, 2020

在擴展的 Canetti-Krawczyk (eCK) 模型中

$$ 1 $$對手 $ \mathcal{M} $ 允許進行一系列查詢,最終執行 $ Test(sid) $ 查詢,接收一個值 $ C $ 然後在某個時候不得不猜測是否 $ C $ 是會話密鑰或隨機值。為了 $ \mathcal{M} $ 為了贏得實驗,他們必須正確猜測挑戰並且測試會話必須乾淨。後者意味著以下條件都不成立:

  • $ \mathcal{A} $ 或者 $ \mathcal{B} $ 是對手控制的一方。這尤其意味著 $ \mathcal{M} $ 為該方選擇或披露長期和臨時密鑰,並代表該方執行所有通信和計算。
  • $ \mathcal{M} $ 顯示會話密鑰 $ sid $ 或者 $ sid^* $ (如果後者存在)。
  • 會議 $ sid^* $ 存在並且 $ \mathcal{M} $ 揭示兩者 $ sk_\mathcal{A} $ 和 $ esk_\mathcal{A} $ , 或兩者 $ sk_\mathcal{B} $ 和 $ esk_\mathcal{B} $
  • 會議 $ sid^* $ 不存在並且 $ \mathcal{M} $ 揭示要麼 $ sk_\mathcal{B} $ 或兩者 $ sk_\mathcal{A} $ 和 $ esk_\mathcal{A} $

第一個條件似乎表明,對手 $ \mathcal{M} $ 不允許對測試會話執行中間人攻擊 $ \mathcal{A} $ 和 $ \mathcal{B} $ .

據我所知,最初的 CK 模型並沒有做出這樣的限制,直覺上我不明白為什麼會禁止對手冒充對方。這將證明對手能夠破壞 AKE 協議的身份驗證,因此它不安全。

我誤解了定義還是模型中實際上禁止這樣做?如果允許 MITM,請指出模型定義的特定方面允許這樣做。

$$ 1 $$LaMacchia、Brian、Kristin Lauter 和 Anton Mityagin。“經過驗證的密鑰交換具有更強的安全性。” 可證明安全性國際會議。施普林格,柏林,海德堡,2007。

第一個條件似乎表明,對手 $ \mathcal M $ 不允許對測試會話執行中間人攻擊 $ \mathcal A $ 和 $ \mathcal B $ .

這是不正確的。eCK模型確實允許中間人攻擊。

有關正式 AKE 模型的更多背景資訊,請參閱此問題。快速回顧一下,在 AKE 模型(包括 eCK 模型)中,假設攻擊者控制整個網路,並且可以根據需要重新路由、更改和丟棄消息。特別是,這意味著對手幾乎可以根據定義進行中間人攻擊。然後,為了衡量攻擊者破壞協議的能力,攻擊者被給予一個測試會話(協議在某方的執行實例,比如說 $ \mathcal A $ ) 要求將其真實會話密鑰與隨機密鑰區分開來。如果對手無法做到這一點,那麼我們就說該協議是安全的。特別注意,攻擊者可以選擇一個測試會話,攻擊者自己為其創建了它發送到測試會話的所有消息(從而模擬了中間人攻擊)。eCK 模型也是如此。

然而,AKE 模型(包括 eCK)通常不僅僅是中間人攻擊,還允許攻擊者獲得系統中的許多秘密值。這可以包括由測試會話本身以外的會話派生的會話密鑰、各方持有的長期密鑰,以及會話使用的完整內部隨機性(eCK 模型允許所有這三個)。但是,一旦我們開始允許對手獲得這些額外的權力,某些不可避免的攻擊就開始成為可能。這就是所引用的報價。尤其是

$ \mathcal A $ 或者 $ \mathcal B $ 是對手控制的一方。這尤其意味著 $ \mathcal B $ 為該方選擇或披露長期和臨時密鑰,並代表該方執行所有通信和計算。

處理以下攻擊。假設對手選擇參加聚會的測試會話 $ \mathcal B $ (與聚會上的一個會話交流 $ \mathcal A $ )。現在,利用 eCK 模型中授予它的權力,攻擊者獲得了當事方的長期密鑰 $ \mathcal A $ 以及執行實例使用的所有內部隨機性 $ \mathcal A $ . 此時,對手擁有誠實會話所在的所有秘密值 $ \mathcal A $ 溝通時會使用 $ \mathcal B $ ,因此它可以簡單地模仿 $ \mathcal A $ 向 $ \mathcal B $ 允許它計算與測試會話相同的會話密鑰(在 $ \mathcal B $ )。因此它可以輕易地破壞協議。但是,請注意,鑑於對手被賦予的權力,這種攻擊是*不可避免的。*因此,為了使 eCK 模型有意義,需要禁止這些微不足道的攻擊,這就是上述限制的作用。

綜上所述,eCK 模型允許中間人攻擊,但由於它也允許攻擊者獲得額外的權力(例如在系統中獲取某些秘密值),它還必須對攻擊者施加一些約束以考慮微不足道攻擊的可能性這些權力使之成為可能。

引用自:https://crypto.stackexchange.com/questions/82127