Authentication
密鑰交換中的攻擊者
我對以下問題有疑問:
- $ X(A) \rightarrow B:(A,N_X) $
- $ B \rightarrow X(S):(B,((A,N_X,T_B),K_{BS}),N_B) $
- $ X(A) \rightarrow B:(((A,N_X,T_B),K_{BS}),(N_B,N_X)) $
根據正在交換的消息的屬性及其內容,請給出此攻擊有效的兩個很好的理由。
$ X $ 在這種情況下是攻擊者。
$ A $ 和 $ B $ 是兩個代理人的名字, $ S $ 是受信任伺服器的名稱, $ N_X $ 表示由實體創建的隨機數 $ X $ , $ T_X $ 表示實體創建的時間戳 $ X $ , $ K_{XY} $ 表示實體之間共享的密鑰 $ X $ 和 $ Y $
如果有人可以提供幫助,我將非常感謝有人與我一起逐步解決這個問題。
從此我明白了 $ B $ 將加密的消息轉發回來,並認為一切正常。攻擊者不關心驗證消息。它獲取密鑰並與 $ B $ 在哪裡 $ B $ 認為是 $ A $ 誰通過伺服器獲得了密鑰。
我只是想確保我理解正確。
我認為這個符號“ $ (A,N_X,T_B),K_{BS} $ " 不正確,必須轉錄為 " $ (A,N_X,T_B).K_{BS} $ “,可以解釋為"的結果密文 $ (A,N_X,T_B) $ 在鑰匙下 $ K_{BS} $ ”。在這些條件下,我們可以嘗試理解攻擊者 X 從冒充 A 開始,向 B 發送明文 $ (A,N_X) $
- X:冒充A:X(A)-> $ (A,N_X) $
- B:請求Server為A和B生成一個共享密鑰,但是消息被不知道Master Key的攻擊者截獲 $ K_{BS} $
- 然後,攻擊者將初始密文返回給 B,B 知道其共享密鑰,因此可以輕鬆解密 $ K_{BS} $ 與受信任的第三方。
但是有一個問題,這個協議是行不通的,因為Server沒有為A和B生成shared Key,然後B檢查Nonce和TimeStamp的存在,以及shared Key的不存在,邏輯上必須中止會話,假設主密鑰永遠不會也永遠不會發送純文字。