• 沒有找到結果。

快速預先認証(Fast Pre-Authentication)

Fast Pre-Authentication

快速預先認証的目的,在於藉由信任的第三者- 認証伺服器(RADIUS Server)的協 助,在相同延伸服務區(ESS)提供一個安全認証與交換金鑰的方式。預先將已完成認証 的 STA 的 PMK 傳送至下一個可能相連的 AP。藉此方式,在整個預先認証的過程中,以較 少的認証封包取代完整 802.1x/EAP 的認証,以減輕認証伺服器的負荷,並加快整個過 程所花的時間(圖 3.1)。如此當 STA 漫遊至相鄰的 AP 時,可透過 PMK 快取的功能,直接 進行四向交握協定,進而加快完成重新認証聯線的過程。在此章節將介紹快速預先認証 (Fast Pre-Authentication)主要特色,包括 PMK 的重覆使用、安全通道的建立以及可 變動的 PMKID。

(1)STA 透過 Old AP 對 New AP 發出快速預先認証的要求。

(2)Old AP 在已確認 New AP 身份的情況下,將 PMK 加密傳給 New AP (3)Old AP 告知 STA 已成功完成快速預認証。

(4)STA 漫遊至 New AP 時,直接進行四手交握協定。

3.1 PMK 的重覆使用

STA 第一次與延伸服務區中的 AP 連線時,必需進行一次完整的 802.1x/EAP 認証,透 過後端認証伺服器的授權之後,STA 與 AP 之間將會擁有相同的金鑰(PMK),並透過四向 交握協定產生真正通訊加密的金鑰(PTK);因此金鑰(PMK)可視為 STA 與 AP 之間的通行証 (Token)。假設在相同延伸服務區的 AP 之間存在一種彼此信任的關係並可經由安全的管 道共用彼此保有的通行証(參閱 3.2),那麼 STA 對其中一台 AP 所擁有的通行証對其他 AP 而言亦可視為一個有效的通行証。換句話說一旦 STA 透過延伸服務區中任何一台 AP 取得認証伺服器授予的通行証,在通行証有效期限內即可憑此証漫遊於 AP 之間,而不 需每次重連時皆要經過認証伺服器的重新認証(圖 3.2)。

圖 3.2 通行証的使用 ESS

通行証 通行証 通行証

AP-1 AP-3

STA

AP-2

通行証

3.2 安全通道的建立

為了保障通行証(PMK)能夠在合法的 AP 之間傳遞,以及提供一個安全的傳送管道,

可透過信任的第三者-認証伺服器(RADIUS Server)達成此需求。在本文中的 2.7 節中曾 介紹過 Needham-Schroeder 認証協定[9]的運作原理,此外 IEEE802.11F[10]中亦提供一 種 IPSec 加密通道的方式。在本節的內容中我們將會基於上述的協定提出一些改進的方 式,以符合快速預先認証的環境。

1.在延伸服務區中的所有 AP 與認証伺服器之間都存在一組帳號(AP 的 BSSID)和預先輸 入的共享金鑰(BSSID Secret),一方面用以驗証 AP 的合法性,另一方面則可做為彼 此之間交換訊息時加密的金鑰。

2.AP 在加入延伸服務區時必需先向認証伺服器進行註冊的程序,目的是讓認証伺服器 能清楚掌握現有合法 AP 的狀態。例如 AP1 欲送資料給 AP2 時,可先向認証伺服器查 詢 AP2 的身份,此時認証伺服器會在確認兩者(AP1 與 AP2)的合法性之後,再隨機產 生 Session Ke 分別用 AP1、AP2 的共享金鑰加密後交予 AP1。

3.AP1 可透過事先得知的共享金鑰解出 Session Key,再將用 AP2 共享金鑰加密過的 Session-Key 傳給 AP2。當 AP2 獲得相同的 Session-Key,AP1 與 AP2 之間即可透過 Session-Key 進行安全的資料傳送。

4.認証伺服器在產生 Session Key 時,亦會付予一個有效期限(Lifetime)。共同保有 此把 Session Key 的 AP1 與 AP2 在有效期限內,可以快取這把金鑰,並重覆使用。

當欲使用此金鑰,而使用期限已到時,則必需再向認証伺服器查詢以取得新的加密 金鑰。

3.2 可變動的 PMKID

根據 IEEE802.11i 的定義,PMK 安全關聯(PaireWise Master Key Security Association)是經由完整 802.1x/EAP 認証之後所產生的一組資訊集合,而 PMK 安全關

聯包含了以下的資料:

1.PMK 識別碼(PMKID)

2.驗証者的位址(Authenticator MAC Address) 3.PMK 金鑰

4.有效期限(Lifetime)

5.認証與金鑰管理協定(AKMP)

其中 PMK 識別碼(PMKID)的作用,在於代表整個 PMKSA 或 PMK 金鑰本身。STA 與 AP 之間 可藉由交換比對 PMK 識別碼,即可判斷彼此之間所快取的 PMK 是否相同。

而 PMK 識別碼的運算式如下

PMKID = HMAC-SHA1-128(PMK, “PMK Name”||AA||SPA )

其中"AA"代表 Authenticator Address,亦即 AP 的 BSSID 或 MAC Address,而"SPA"

代表 Supplicant Address,亦即 STA 的 MAC Address。

由上面的式子可得知,如果 AP 將手中所快取的 PMK 傳送至其他 AP 時,因每台 AP 的 BSSID 一定不同,即使 PMK 是相同的情況下,單就 PMKID 的定義,每台 AP 所快取的 PMKID 必定不同。因此當 AP 接收其他 AP 傳遞過來的 PMK 時,必需套用自已的 BSSID 重新計算 PMK 識別碼(PMKID)(圖 3.3)。相對的 STA 在發生重新連線時,也必需針對不同的 AP 重 新計算 PMK 識別碼(PMKID),才能在 Association Request 封包中送出正確的 PMK 識別 碼。

在上述的情況下,當 STA 在同一個延伸服務區漫遊時,只需保留一個 PMKSA 的空間 即可,但缺點是每次重新連線時,都必需重新計算 PMK 識別碼。

圖 3.3 PMKID 的重新計算 ESS

AP-1 AP-3

STA

AP-2

PMKID-1 PMK PMKID-2 PMK PMKID-3 PMK

PMK

根據 AP-2 的 BSSID,算出 PMKID-2

根據 AP-3 的 BSSID,算出 PMKID-3

RADIUS Server

AP AP

STA

相關文件