資訊與網路安全技術 第 十四章 Kerberos 認證系統  上一頁      下一頁

 

14-2 Needham-Schroeder 認證協定

內容:

  • 14-2-1 N-S 協定簡介

  • 14-2-2 N-S 協定 - 加入時間戳記

  • 14-2-3 擴展型 N-S 協定

14-2-1 N-S 協定簡介

Needham Schroeder 1978 年提出一種『多重盤問與回應』的認證協定 [110],它不但可以避免重播攻擊,也可以解決相互認證的問題。此認證協定大多承襲圖 14-1 (b) 的運作方式,但它利用隨機產生的亂數(Nonce64 bits標示每一個通訊連線,並作為測試對方所持有的會議鑰匙(盤問與回應)使用。圖 14-2 Needham-Schroeder 認證協定的運作程序,其執行步驟如下:(以訊號發送次序說明)

14-2 Needham-Schroeder 認證協定

  • Alice想要和 Bob作安全性通訊Alice送出自己與對方的身份識別 IDA IDB KDC 中心,其中加入了盤問亂數 N1,為該連線的識別。

  • KDC 利用 Alice 的共享密鑰,傳送會議鑰匙(Ks)與通往 Bob 的門票(Ticket = EKb [IDA || KS])。訊息中包含著原來 Alice 所產生的亂數 N1,如此一來,Alice 便可由此亂數來判別 KDC 所回應的是那一個請求(盤問與回應功能)。

  • Alice 得到通往 Bob 的門票EKb [IDA || KS])之後,便可以利用它向 Bob 要求通訊,並且以另一個亂數(EKs [N2])來盤問 Bob,而該亂數係利用雙方的會議鑰匙加密的。

  • Bob 利用自己的共享密鑰解開門票的內容,從中瞭解要求通訊的對象是 AliceIDA),並得到雙方的會議鑰匙(KS,同時利用會議鑰匙解開 Alice 盤問亂數(N2,然後Bob 將亂數 N2減一N2-1,並產生另一個亂數 N3,使用會議鑰匙加密後,一併回傳給 Alice,其中 N2-1 表示對 Alice 的回應,而 N3則是作為再盤問 Alice 使用。

  • Alice 收到 N2-1 之後,可以確定對方所持有的會議鑰匙與自己的相同(Bob 沒錯),一樣將亂數 N3減一(N3-1)作為回應(利用 KS加密)。

  • Bob 收到 Alice 的回應(KS[N3-1])之後,便可以確定對方所持有的會議鑰匙與自己的相同,同時確定對方身份(是 Alice 沒錯)。

  • 雙方都得到了會議鑰匙,也彼此確認所持有的鑰匙;接下來,就可以利用該會議鑰匙進行通訊。

由以上的敘述可以發現,訊號 (1) (2) KDC 分配鑰匙的運作程序;然而,訊號 (3) (5) 是執行相互認證的程序。此協定最大的特點是,每一個訊號都在執行『盤問與回應』的機制,因此,又稱為『多重盤問與回應』協定。

Needham-Schroeder 認證協定的弱點,還是在發起者傳送門票給回應者的時候(訊號 (3))。假設攻擊者攔截到門票(訊號 (3)),它可以重複傳送此訊號給回應者(重播攻擊法);縱使該門票內含舊的鑰匙,回應者並無法分辨到底哪一把才是新的鑰匙,如此一來,攻擊者就可以阻斷回應者與發起者之間的通訊。

14-3-0 三向式詢問法

14-2-2 N-S協定- 加入時間戳記

Needham-Schroeder 認證協定的問題是出現在遭受重播攻擊時,回應者無法分辨出所收到的門票是否過期,也就是無法辨別新舊鑰匙。有一個簡單的構想,是在門票上加入時間戳記 [49],當回應者收到門票時,便可利用時間戳記來判斷該門票是否過期,甚至由時間戳記可以看出所傳送的鑰匙是新的或舊的。加入時間戳記的 Needham-Schroeder 協定之運作程序如圖 14-3 所示,門票為:

Ticket = EKb [IDA || KS || T]

其中 T 是時間戳記。

14-3 加入時間戳記的Needham-Schroeder 認證協定

雖然加入時間戳記可以解決一部份的問題,但亦衍生新的問題產生。為使時間戳記保持有效,通常參與通訊的設備之間的時序必須保持同步。如圖 14-3 中,發起者、KDC 中心與回應者之間的時序必須保持同步,縱然無法達到完全同步,最起碼保持在可容許範圍內。就封閉型的分散式系統而言,尚可達成,至於開放式的分散式系統,可就困難重重。

14-2-3 擴展型 N-S 協定

我們回到原來 Needham-Schroeder 協定的問題,關鍵在於回應者遭受重播攻擊時,無法辨別新舊門票。究其原因是回應者並不知道有人欲與他進行通訊,所以一旦回應者收到門票時,便立即與對方通訊。如果發起者能事先通知他,讓他有點準備,或許就能辨別新舊鑰匙。擴展型 Needham-Schroeder 認證協定,就是利用這種觀念發展出來的 [110],其運作程序如圖 14-4 所示。

我們可以比較圖 14-4 與圖 14-2 兩者之間的差異,圖 14-4 中訊號 (1) (2) Alice 事先通知 Bob,並由 Bob 得到一個亂數 NB(由 Bob 的主密鑰加密),而且KDC 也將該亂數植入門票內(訊號 (4)),如下:

Ticket = EKb [IDA || KS || NB]

Alice 利用此門票向 Bob 要求通訊時(訊號 (5)),Bob 便能由亂數 NB中知曉到底是哪一張門票。假設,攻擊者攔截到門票(訊號 (5)),並重複發送給 BobBob 由門票內的 NB便可以分辨出新舊會議鑰匙。

14-4 擴展型 Needham-Schroeder 認證協定

主講人:粘添壽博士

 

資訊與網路安全技術

資訊與網路安全技術