2014-03-26 25 views
0

我用wikipedia article其它來源中理解這個協議的工作,有兩個問題:兩個問題上李約瑟,施羅德(Kerberos的)對稱的協議

1)愛麗絲讓她初步查詢到服務器後,她作爲響應的一部分收到:

(新會話密鑰+ Alice's ID) - 用Bob的安全密鑰加密。

由於這個特定協議中的安全密鑰是對稱的,愛麗絲知道這個「數據包」的全部內容,她現在不能去找出鮑勃的安全密鑰嗎?

2)維基文章解釋本協議的致命弱點是重放攻擊「如果一個攻擊者使用一個較舊的,受損價值」爲會話密鑰,他們可以重新包裝爲:

(中會話密鑰+ Alice's ID) - 用Bob的安全密鑰加密

並使用它與Bob發起會話。

也許我只是錯過了一些東西,但僅僅因爲攻擊者擁有會話密鑰並不意味着他們有Bob的安全密鑰。他們如何生成上述數據包?

+0

此問題似乎是無關緊要的,因爲它應在security.stackexchange.com或crypto.stackexchange.com上詢問。 – jww

回答

0

攻擊者(M)不需要使用K_B重新打包任何東西,它只記錄從A到B的所有先前通信。稍後,它將{K_AB,A} K_B重新發送給B.沒有現成B不知道該會話密鑰不新鮮。它開始與A的新會話。由於A不期望從B發出任何分組,所以在此會話中來自B的所有分組都被丟棄。但是M一直回覆B,認爲A正在回覆。

請注意,此會話中的其餘通信不需要K_B,而只需要K_AB。新的隨機數B用K_AB加密(M已經知道並且可以用來解密新的隨機數)。 M可以解密從A到B的舊信息,更新隨機數值(根據此會話的新隨機數)並使用K_AB重新包裝。這樣M可以使B重做它在之前的會話中所做的動作順序。

這有什麼用?比如說,B是銀行,A在前一個會話中使用B發送了10美元到M的數據。M可以稍後重複以前的通信以重複從A到M的轉移。