• 沒有找到結果。

系統分析後的結果

第四章 系統介面與模擬結果

4.2 系統分析後的結果

在 4.1 節中我們以圖解說明了我們這個系統分析 Woo and Lam Authentication Protocol 的執行過程。因此在這一小節中會探討我們系統分析後得到的資料究竟 有什麼功用?

在圖 4.12 的 Hacker 區塊中有三類資訊。分別是 DirectAttack 的訊息、

pieceTogether 的訊息和 Relationship 的訊息。在這個例子中,DirectAttack 和 pieceTogether 的訊息是一樣。

B 在 2.3 裡要傳送給對方的{Nb}Kbs 攔截下來,這時候 Attacker 就已經成功 的取得了{Nb}Kbs 了。

最後 Attacker 將 1.4 裡 B 要傳送給受信任的第三者的資料攔截下來,接 著偽裝成受信任的第三者將 2.3 拿到的{Nb}Kbs 傳送給 B,而這時候 Attacker 也就成功的偽裝成 A 來跟 B 溝通了。

2. 第二個訊息是說找到第五個 Message 的{Nb}Kbs 和第三個 Message 的 {Nb}Kas 只有加密的 key 不一樣,所以可以經由多個 Run 來取得 {Nb}Kas。經由多個 Run 去取得{Nb}Kas 之後,認證協定也是會繼續執 行到第五個 Message。另外因為 Nb 是隨機的,所以第五個 Message 的 {Nb}Kbs 是無法利用其他 Run 取得第三個 Message 的{Nb}Kas,況且既 然是同一個 Run,Attacker 早在攔截下第三個 Message 的時候就已經成 功取得{Nb}Kas 了。因此拿第五個 Message 的{Nb}Kbs 去取得第三個 Message 的{Nb}Kas 是一件非常沒有意義的事情,所以這段訊息就不加 以理會。

z pieceTogether 的訊息:

1. 第一個訊息說明系統找到第三個 Messgae 的{Nb}Kas 和第五個 Message 的{Nb}Kbs 只有加密的 key 不一樣,所以可以經由多個 Run 來取得 {Nb}Kbs。在 4.1 節我們提到 pieceTogether 代表的是圖 3.2 右邊的圓,

而這個圓代表的意義在 3.3 節我們也提到用來分析的 Item 可以經由一個 或一個以上的 Run 取得。因此第三個 Message 的{Nb}Kas 可以找出一 個 Run 或一個 Run 以上來取得,當拿到之後再經由多個 Run 來成功取 得第五個 Message 的{Nb}Kbs。

流程如下:

1.1 I(M) -> B : M M 代表任何人 1.2 B - > I(M) : Nb

1.3 I(M) -> B : anything

1.4 B -> I(S) : {m, anything}Kbs

2.1 N -> I(O) : N N, O 代表任何人 2.2 I(O) -> N : Nb

2.3 N -> I(O) : {Nb}Kns

3.1 I(N) -> B : N N 指的是 2.1 的 N 3.2 B -> I(N) : Nb’

3.3 I(N) -> B : {Nb}Kns

3.4 B -> I(S) : {N, {Nb}Kns}Kbs 3.5 S -> I(B) : {Nb}Kbs

1.5 I(S) -> B : {Nb}Kbs

首先假設 Attacker 要攻擊 B,一開始 Attacker 偽裝成任何一個人跟 B 溝 通,當拿到 B 傳送過來的 Nb 後。接著只要有其他人(N)要跟別人(O)溝通的 時候,就偽裝成別人(O)將 B 的 Nb 傳送回去藉此拿到{Nb}Kns。

接著 Attacker 偽裝成 N 跟 B 溝通,並且將 2.3 拿到的{Nb}Kns 在 3.3 的 時候傳送給 B 一樣藉此拿到{Nb}Kbs。

最後將 3.5 拿到的{Nb}Kbs 回到原本的 Run 也就是 1.5 的時候傳送給 B,而此時 Attacker 也就成功的偽裝成他想偽裝的人來跟 B 溝通了。

在這個例子中,其實 2.1~2.3 和 3.1~3.5,Attacker 就已經可以成功的偽 裝成 N 來跟 B 溝通了,可是因為我們 pieceTogether 找出的是一個 Run 或一

個 Run 以上,所以才可以再加上 1.1~1.5 這樣多一個 Run 的攻擊方式。當然 如果要在多加一個 Run 甚至多個 Run 也是可以的。

在[7]一文中,也有提到類似這樣的攻擊方法,不過他們找到的攻擊方 法總共需要五個 Run 才可以攻破此認證協定,而我們的這個方法找到了只 需要三個 Run 就可以攻破的攻擊流程。

2. 第二個訊息是說找到第五個 Message 的{Nb}Kbs 和第三個 Message 的 {Nb}Kas 只有加密的 key 不一樣,所以可以經由多個 Run 來取得 {Nb}Kas。經由多個 Run 去取得{Nb}Kas 之後,認證協定也是會繼續執 行到第五個 Message。另外因為 Nb 是隨機的,所以第五個 Message 的 {Nb}Kbs 是無法利用其他 Run 取得第三個 Message 的{Nb}Kas,況且既 然是同一個 Run,Attacker 早在攔截下第三個 Message 的時候就已經成 功取得{Nb}Kas 了。因此拿第五個 Message 的{Nb}Kbs 去取得第三個 Message 的{Nb}Kas 是一件非常沒有意義的事情,所以這段訊息就不加 以理會。

z Relationship 的訊息:

1. 可以經由 Message 4 的資料取得 Message 5 的 "{Nb}Kbs" 這筆資料 2. 可以控制 Message 5 的 "{Nb}Kbs" 這筆資料

3. 可以經由 Message 3 的資料取得 Message 4 的 "{A, {Nb}Kas}Kbs" 這筆 資料

4. 可以控制 Message 4 的 "{A, {Nb}Kas}Kbs" 這筆資料

5. 可以經由 Message 2 的資料取得 Message 3 的 "{Nb}Kas" 這筆資料 6. 可以控制 Message 3 的 "{Nb}Kas" 這筆資料

從 2、4 和 6 我們可以知道這些資料都是可控制的資源,而從 1、3 和 5 可以知道經由上一個 Message 的所有 Item(因為他們都是可控制的資源)可以 取得該 Item。而且觀看認證協定我們可以發現,2、4 和 6 的這三個資料剛 好是認證協定的第五、第四和第三個 Message,也就是說如果今天要攻擊第 五個 Message 的"{Nb}Kas",除了從攔截下來的所有 Item 和可控制的資源中 找這個 Item 之外,只要取得第三個 Message 的"{Nb}Kbs"或第四個 Message 的"{A, {Nb}Kas}Kbs"就可以取得這個 Item 了,而這也就是 1、3 和 5 這三 個訊息彼此間的關係。

相關文件