EAP認證流程

Download Report

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來提供訊息完整性的保
護