Transcript EAP認證流程
802.16 PKM協定 • PKM協定提供憑證交換、認證、密鑰的管理(產生、傳遞、 生命週期參數等),MS/SS透過PKM協定通過BS的授權,同 時從BS取得密鑰和加密相關資料。MS/SS和BS也利用PKM 協定進行週期性重新授權以及密鑰更新的動作。 • PKM協定包含 授權訊息交換:授權狀態機(Authorization state machine) 金鑰訊息交換:TEK狀態機(TEK state machine) • 授權狀態機與TEK狀態機之間有主從關係 TEK狀態機由授權狀態機來啟動。在運作上一(授權狀 態機)對多(TEK狀態機),必須經過授權成功後才會進 行TEK金鑰,所以當授權狀態機更換AK時,即使TEK狀態機 的密鑰尚未過期,也須進行更換。 802.16 PKM協定 • 802.16d安全認證機制命名為PKMv1,其支援RSA協定。 只 提供設備單向認證。即由基地台(BS)檢驗設備(SS),設備無 法檢驗基地台,這是安全上的漏洞,在安全上會出現連上 假基地台的問題。 • 802.16e安全認證機制命名為PKMv2,其支援RSA協定以及 EAP協定。提供基地台(BS)和設備(MS)相互認證(Mutual Authenication)功能。 802.16 PKM協定 PKMv1提供 • 設備單向認證,即由基地台(BS)檢驗設備(SS)。 設備無法檢驗基地台,這是安全上的漏洞,在安全上會出 現連上假基地台的問題。 PKMv2提供 • Single EAP認證 設備認證或使用者認證 • Double EAP認證 設備和使用者同時認證 • 結合EAP協定,提供多種EAP認證方法 如:EAP-TLS、EAP-TTLS、EAP-SIM、EAP-AKA…..等 • 由於行動性的問題,加入認證金鑰轉移(AK-transfer) 處理基地台換手的問題 PKM RSA/EAP 認證協定 PKMv1支援RSA協定,而PKMv2支援RSA協定及EAP協定 PKM RSA/EAP 認證協定 • PKM RSA認證協定使用X.509數位憑證來做認證。X.509數位 憑證內含用戶台的公鑰(Public Key)以及用戶台的MAC位址 (憑證持有者的身分)。 • 使用RSA認證的用戶台持有兩張憑證, 用戶台製造商的憑證 用戶台本身的憑證。由製造商出廠時設定,以製造商的私 鑰簽署。用戶台憑證產生時,會配發一組公鑰(載於數位 憑證)與私鑰(存放用戶台) PKM RSA/EAP 認證協定 PKM EAP 認證協定 • PKM EAP利用IETF RFC 3748(Extensible Authentication Protocol )所定義的EAP認證協定來提供用戶端(使用者和設 備)的認證 • 802.16e並沒有限制EAP方法以及憑證型態。 營運者可以自己選擇不同的EAP方法和憑證型態。若EAP方 法選擇EAP-TLS,則憑證型態可以使用X.509數位憑證。 PKMv1 協定 • 金鑰功能介紹: 1. AK:用來產生KEK和HMAC-digest 2. KEK(金鑰加密金鑰):用來加密BS傳送給SS的TEK金鑰 以避免TEK金鑰在傳輸過程中被惡意擷取 3. HMAC-digest(訊息驗證金鑰):經由SHA演算法對整個訊 息封包做計算。 如此BS與SS可確認連線兩端是否擁有正確的AK值 =>是否為合法的SS或BS PKMv1 程序 PKMv1授權訊息交換的程序如下: • 1. SS傳送認證訊息給BS => 驗證SS的身分 • 2. SS傳送授權請求訊息給BS =>BS取得的SS公鑰 • 3. 憑證驗證成功後,BS產生AK,並用SS公鑰將AK加密後, 回傳SS授權回覆封包 • 4. SS收到授權回復後,利用本身的私鑰解密取得AK,並且 對每個SAID啟動一個TEK狀態機進行金鑰訊息交換。 目的在為每一個連線產生個別的TEK加密金鑰並且定期更 新TEK金鑰 • 5. BS確認金鑰請求封包無誤後,BS產生兩把TEK金鑰(新鑰 和舊鑰,而新的TEK比舊的TEK序號大1。兩把TEK金鑰的生 命週期有重疊的部分),用KEK將兩把TEK加密後,連同AK 序號、SAID、TEK生命週期、序號、提供DES CBC mode加 授權回覆封包內容包括 a.加密後AK、AK生命週期及序號 b.同意SS採用之加密認證技術(SAID) c.PKM相關設定 (主要為認證階段的Timer與更新Key階段等待與逾時時間參 數設定),可用來確保在認證與換Key的過程中,兩端等待 時間週期的一致 P.S. 通過授權後,SS的授權狀態機定期向BS要求重新授權 以便在AK生命週期結束前更新AK。 同時,SS會為每個SAID啟動各別的TEK狀態機。BS會提供兩 把TEK密鑰給SS,而TEK狀態機將定期向BS更新TEK密鑰。 AK管理 • AK金鑰較不常更換。其生命週期最短為一天,最長為七十 天,而預設值則為七天。 • 為避免在重新授權期間造成服務中斷,SS須在AK的生命週 期結束前的期限(Grace Time)內,向BS提出授權申請。 以便在舊的AK過期前SS能獲得新的AK • 在過渡期間內,BS可根據SS送來的Key Request訊息內的AK 序號判斷SS使用哪一把AK來計算HMAC-digest。 情境1 :SS使用舊AK來計算Key Request訊息內的HMAC-digest =>BS也會使用舊的AK來驗證計算Key Request訊息。 同時利用舊的AK來產生KEK以及計算KEY Reply訊息內的 HMAC-digest。 • 情境2:SS使用新AK來計算Key Request訊息內的HMAC-digest BS和SS之間的AK管理示意圖 TEK管理 • TEK因直接對資料加密,為避免被破解,須經常更換。其 生命週期設定最短為30分鐘,最長為七天,預設值則為12 小時。 • BS選擇TEK的原則如下: 1. BS可以使用新舊兩把TEK密鑰來解密資料。 根據Generic MAC Header內的encryption key sequence來判 斷SS用哪把TEK加密。 2. BS使用兩把有效TEK金鑰中的舊TEK來加密資料。 • SS選擇TEK的原則如下: 1. SS可以使用新舊兩把TEK密鑰來解密資料 根據GenericMAC Header內的encryption key sequence來判 斷BS用哪把TEK加密。 BS和SS之間的AK管理示意圖 備註 • SAID : 一個在SS和BS之間共同使用的ID ,用來識別兩者之間 的安全關係 • 對於每個SAID,BS必須維持兩把有效的TEK金鑰,新TEK比 舊TEK的序號多1,而兩把TEK金鑰的生命週期有重疊的部 分 • PKMv1協定運作時,用來解開基地台傳來的授權金鑰 (Authorization Key;AK) • PKMv2協定運作時,用來解開基地台傳來的授權金鑰 pre-PAK(Primary Authorization Key) PKMv2 協定 • PMKv2的認證機制採用基於RSA以及EAP兩種認證方法, PKMv1只定義BS對SS設備做認證,PKMv2協定則略作補強 ,PKMv2 RSA定義了SS和BS相互認證。 • 802.16e加進了移動與漫遊功能,因此除了原先對裝置 (Device)的認證外,亦須增加對使用者(Subscriber)的認證, PKMv2 EAP結合AAA提供了一個更為彈性的架構,可對裝 置做認證,亦可對使用者做認證,或對兩者同時做認證, 以適用於不同的商業模式需求。 • PKMv2協定同樣由PKMv2授權狀態機與TEK狀態機來控制授 權訊息交換與金鑰訊息交換兩部分 基於RSA雙向授權認證機制 SS和BS的雙向認證模式有兩種,一種是只進行雙向認證,另 一種是進行雙向認證後再進行EAP認證。 相互認證是由PKMv2授權狀態機所控制,程序如下: • 1. BS驗證SS的身分 • 2. SS驗證BS的身分 • 3. BS產生AK,並將AK傳送給SS,AK將用來產生金鑰加密金 鑰(Key Encryption Key;KEK)和訊息驗證金鑰(HMAC-digest) • 4. BS提供SA和SAID給SS。 RSA簽章流程 • SigSS(SigBS):用SS(BS)私鑰簽署RSA簽章,驗證訊息完整性 基於RSA雙向授權認證機制流程 1. SS傳送認證訊息給BS(SS製造商的X.509憑證) 2. SS傳送PKMv2 RSA-Request給BS,內容包含: • SS產生的亂數(MS_Random) • 製造商發給SS的X.509憑證,內含SS的公鑰 • Primary SAID 3. BS收到PKMv2 RSA-Request後 • 驗證SS的憑證 • 驗證PKMv2 RSA-Request封包的完整性(SigSS) • 回覆PKMv2 RSA-Reply給SS,內容包含: • MS_Random:此數值為PKMv2 RSA-Request內的 MS_Random。 • BS產生的亂數(BS_Random) 基於EAP認證機制 • • • • • • • • 在EAP的架構下,MS為請求者(Supplicant),BS只扮演中 繼 者的角色,將EAP訊息轉送給認證者(Authenticator) 認證者為AAA client,負責將EAP封包利用RADIUS協定轉 送 給AAA伺服器 EAP訊息交換的動作只在MS和AAA伺服器內交換 IEEE只定義MS和BS之間的PKM協定,BS和Authenticator 以 及Authenticator和AAA伺服器之間的議題由WiMAX論壇定 義 當只須對使用者做認證或只須對裝置做認證時,須使用 標準 • 在EAP的架構下,MS為請求者(Supplicant),BS只扮演中繼 者的角色,將EAP訊息轉送給認證者(Authenticator) • 認證者為AAA client,負責將EAP封包利用RADIUS協定轉送 給AAA伺服器 • EAP訊息交換的動作只在MS和AAA伺服器內交換 • IEEE只定義MS和BS之間的PKM協定,BS和Authenticator以 及Authenticator和AAA伺服器之間的議題由WiMAX論壇定 義 • 當只須對使用者做認證或只須對裝置做認證時,須使用標 準的EAP,即單層EAP;但當兩者都要做認證,且分別用不 同的認證伺服器時(如兩個認證伺服器分別位於不同的CSN) ,就要用到雙層EAP(Double EAP),即AuthenticatedEAPafter-EAP機制 雙層EAP認證流程 • 1. MS與BS間透過SBC請求與回覆來協商使用PKMv1或 PKMv2、認證政 • 策、MAC模式以及PKMv2中是使用單層EAP或雙層EAP。 • 2. MS發出PKMv2 EAP start訊息,此訊息內沒有任何參數, BS收到後進 • 入EAP交換程序。 • 3. MS和AAA伺服器進行第一次EAP認證,此時BS為中繼角 色,MS和BS • 的EAP訊息利用放在PKMv2 EAP Transfer內,此時由於尚未 獲得AK, • 所以PKMv2 EAP Transfer沒有CMAC digest的保護。 雙層EAP認證流程 • 4. 若步驟3 EAP認證成功,BS將EAP-Success訊息透過PKMv2 EAP Complete內送給MS,同時等待MS送來PKMv2 Authenticated EAP • start訊息。 • 5. 當MS收到PKMv2 EAP Complete時,MS和AAA伺服器各自 從EAP交換的訊息中,產出相同的MSK,做為將來產出其 他金鑰的基礎。 • 由於之前認證者都只扮演中繼者的角色,並未檢查EAP 封包的內容,故須依賴AAA伺服器將產出的MSK傳送給認 證者(BS)。 • MS與認證者再各自由MSK來產生PMK和EAP Integrity Key(EIK)。 雙層EAP認證流程 • 6. MS收到PKMv2 EAP Complete後,發出PKMv2 Authenticated EAP • start訊息進行第二次EAP認證。 • 此訊息由CMAC digest提供完整性確認 • CMAC_KEY_*由第一次EAP認證過程中得到的EIK提供 • BS收到PKMv2 Authenticated EAP start後利用 CMAC_KEY_*進行訊息完整性確認,確認成功後BS啟動第 二次EAP認證。 雙層EAP認證流程 • 7. MS和AAA伺服器進行第二次EAP認證,BS為中繼角色, MS和BS的EAP訊息利用放在PKMv2 Authenticated EAP Transfer內,由CMAC提供訊息完整性的保護。 • 8. 若步驟7 第二次EAP認證成功,BS將EAP-Success訊息透過 PKMv2 Authenticated EAP Complete內送給MS,結束第二次 EAP認證。 • 9. 第二次EAP認證成功後,MS和AAA伺服器各自從第二次 EAP交換的訊息中,產出相同的第二把MSK2,AAA伺服器 將產出的MSK2傳送給認證者(BS),MS和認證者(BS)再各自 由MSK2來產生成第二把對主金鑰PMK2。MS和認證者(BS) 利用PMK和PMK2各自產生相同的AK。 雙層EAP認證流程 • 10. ~12.MS和BS進行3方SA-TEK交握,確認彼此擁有相同的 AK以及協商加密方法。 • 13. ~14.MS和BS進行TEK金鑰的請求。 • 認證成功後,MS和BS會根據PMK和PMK2的生命週期進行 重新認證的程序。重新認證的程序與初始認證程序一樣, 不同的是重新認證程序的第一次EAP認證的PKMv2封包會 利用前一個雙層EAP認證得到的AK來提供訊息完整性的保 護