?? rfc2869.txt
字號:
如果通過其它途徑如Called-Station-Id或Calling-Station-Id確定了身份,NAS在每一個Access-Request報文中必須包含這些身份屬性。盡管這種方法將節省一個來回,但是不通用。在某些情況下(如認證和計費是基于Called-Station-Id或Calling-Station-Id),用戶的身份可能不需要,因此NAS就不必向認證對等端方發送EAP-Request/Identity報文。當NAS不需要發送EAP-Request/Identity報文時,NAS將向RADIUS服務器發送一個RADIUS Access-Request報文,其中攜帶EAP-Message屬性,意味著EAP-Start。通過攜帶一個2字節的EAP-Message屬性(沒有數據)來指明EAP-Start。需要注意的是:由于Access-Request報文中沒有攜帶User-Name屬性,這種方法同RFC2865種描述的RADIUS不兼容,同時也不適用于代理的情況,如漫游和共享使用網絡。如果RADIUS服務器支持EAP,它必須用Access-Challenge報文響應,報文中攜帶EAP-Message屬性。 如果RADIUS服務器不支持EAP,它必須用Access-Reject報文響應。 EAP-Message屬性攜帶包括一個封裝的EAP報文,此EAP報文被繼續傳送給認證端。如果NAS沒有向認證對等端發起一個EAP-Request/Identity報文,那么Access-Challenge報文通常會包含一個EAP-Message屬性,此屬性中封裝有一個EAP-Request/Identity報文,請求撥號接入終端確定自己的身份。此時NAS以Access-Request報文作為響應,報文中包含屬性EAP-Message,此屬性中封裝有EAP-Response報文。會話一直繼續,直到收到一個RADIUS Access-Reject報文或Access-Accept報文。 一旦收到一個RADIUS Access-Reject報文,不管有還是沒有一個EAP-Failure報文封裝在屬性EAP-Message中,都將導致NAS向認證對等端發送一個LCP Terminate Request報文。如果收到一個RADIUS Access-Accept報文,并且報文中攜帶有一個封裝有EAP-Success報文的EAP-Message屬性,那么認證階段就結束。 RADIUS Access-Accept/EAP-Message/EAP-Success報文中必須包含所有期望的由Access-Accept帶回的屬性。 對于上面所描述的方案,NAS從來不需要對EAP進行操作。另外一種替代方案是EAP-Request/Identity報文總是由NAS向認證對等端發送。 對于代理RADIUS請求,有兩種處理方法。如果基于Called-Station-Id來確定域,那么RADIUS服務器可以代理最初的RADIUS Access-Request/EAP-Start。如果域是基于用戶身份來確定的,那么本地RADIUS服務器必須用一個RADIUS Access-Challenge/EAP-Identity報文響應。從認證對等端返回的響應必須被代理給最終的認證服務器。 對于代理RADIUS請求,NAS可能收到一個Access-Reject報文,此報文是對Access-Request/EAP-Identity報文的響應。如果請求報文被代理給一個不支持EAP-Message擴展的RADIUS服務器,上述情況就會發生。一旦收到一個Access-Reject報文,NAS就必須向認證對等端發送一個LCP Terminate Request報文,終端連接。重傳如同RFC 2284所描述的那樣,EAP認證者(NAS)負責認證對等端和NAS之間的報文重傳。因此一旦一個報文從認證對等端傳到NAS的過程中丟失(反之亦然),NAS將重傳。這類似于RFC2865中所描述的RADIUS,RADIUS客戶端負責RADIUS客戶端和RADIUS服務器之間的報文重傳。需要注意的是在某些情況下有必要調整重傳策略和認證超時時間。例如,如果使用智能卡,那么就必須給用戶留出額外的時間以便用戶找到卡且輸入卡的代號。由于NAS通常不了解所需要的參數,因此這些參數需要RADIUS服務器提供。這個問題可以這樣解決:在Access-Challenge報文內包含Session-Timeout和Password-Retry屬性。如果在Access-Challenge報文中包含Session-Timeout屬性和EAP-Message屬性,Session-Timeout的值指出了NAS在向撥號接入用戶重傳EAP-Message報文,等待EAP-Response報文的最長時間(以秒為單位)。分片利用EAP-Message屬性,RADIUS服務器可能將一個大于NAS和認證對等端之間鏈路MTU的EAP報文封裝在屬性內。由于RADIUS服務器不可能利用MTU發現來確定鏈路MTU,因此可以在一個攜帶EAP-Message屬性的Access-Request報文中再攜帶Framed-MTU屬性,由此可以給RADIUS服務器提供信息。舉例下面的例子給出了認證對等端、NAS和RADIUS服務器之間的會話。例中使用One Time Password(OTP)進行認證。用OTP認證,只是為了演示的目的,實際也可以用其它認證協議。若用其它認證協議,行為在某些方面可能不同。Authenticating Peer NAS RADIUS Server------------------- --- ------------- <- PPP LCP Request-EAP authPPP LCP ACK-EAPauth -> <- PPP EAP-Request/ IdentityPPP EAP-Response/Identity (MyID) -> RADIUS Access-Request/ EAP-Message/ EAP-Response/ (MyID) -> <- RADIUS Access-Challenge/ EAP-Message/EAP-Request OTP/OTP Challenge <- PPP EAP-Request/ OTP/OTP ChallengePPP EAP-Response/OTP, OTPpw -> RADIUS Access-Request/ EAP-Message/ EAP-Response/ OTP, OTPpw -> <- RADIUS Access-Accept/ EAP-Message/EAP-Success (other attributes) <- PPP EAP-SuccessPPP AuthenticationPhase 結束,NCP Phase 開始 如果NAS首先向RADIUS服務器發送一個EAP-Start報文給服務器,那么會話過程如下:Authenticating Peer NAS RADIUS Server------------------- --- ------------- <- PPP LCP Request-EAP authPPP LCP ACK-EAPauth -> RADIUS Access-Request/ EAP-Message/Start -> <- RADIUS Access-Challenge/ EAP-Message/Identity <- PPP EA-Request/ IdentityPPP EAP-Response/Identity (MyID) -> RADIUS Access-Request/ EAP-Message/ EAP-Response/ (MyID) -> <- RADIUS Access-Challenge/ EAP-Message/EAP-Request OTP/OTP Challenge <- PPP EAP-Request/ OTP/OTP ChallengePPP EAP-Response/OTP, OTPpw ->RADIUS Access-Request/ EAP-Message/ EAP-Response/ OTP, OTPpw -> <- RADIUS Access-Accept/ EAP-Message/EAP-Success (other attributes) <- PPP EAP-SuccessPPP AuthenticationPhase 結束,NCP Phase 開始 如果客戶端EAP認證失敗,會話過程如下:Authenticating Peer NAS RADIUS Server------------------- --- ------------- <- PPP LCP Request-EAP authPPP LCP ACK-EAPauth -> Access-Request/ EAP-Message/Start -> <- RADIUS Access-Challenge/ EAP-Message/Identity <- PPP EAP-Request/ IdentityPPP EAP-Response/Identity (MyID) -> RADIUS Access-Request/ EAP-Message/ EAP-Response/ (MyID) -> <- RADIUS Access-Challenge/ EAP-Message/EAP-Request OTP/OTP Challenge <- PPP EAP-Request/ OTP/OTP ChallengePPP EAP-Response/OTP, OTPpw -> RADIUS Access-Request/ EAP-Message/ EAP-Response/ OTP, OTPpw -> <- RADIUS Access-Reject/ EAP-Message/EAP-Failure <- PPP EAP-Failure (客戶端終端連接) 如果RADIUS服務器或者代理不支持EAP-Message,會話過程如下:Authenticating Peer NAS RADIUS Server------------------- --- ------------- <- PPP LCP Request-EAP authPPP LCP ACK-EAPauth -> RADIUS Access-Request/ EAP-Message/Start -> <- RADIUS Access-Reject <- PPP LCP Terminate (用戶中斷連接) 如果本地RADIUS服務器支持EAP-Message,而遠端RADIUS服務器不支持,會話過程如下:Authenticating Peer NAS RADIUS Server------------------- --- ------------- <- PPP LCP Request-EAP authPPP LCP ACK-EAPauth -> RADIUS Access-Request/ EAP-Message/Start -> <- RADIUS Access-Challenge/ EAP-Message/Identity <- PPP EAP-Request/ IdentityPPP EAP-Response/Identity(MyID) -> RADIUS Access-Request/ EAP-Message/EAP-Response/ (MyID) -> <- RADIUS Access-Reject (proxied from remote RADIUS Server) <- PPP LCP Terminate (User Disconnected) 如果認證對等不支持EAP,但需要對用戶用EAP認證,會話過程如下:Authenticating Peer NAS RADIUS Server------------------- --- ------------- <- PPP LCP Request-EAP authPPP LCP NAK-EAPauth -> <- PPP LCP Request-CHAP authPPP LCP ACK-CHAPauth -> <- PPP CHAP ChallengePPP CHAP Response -> RADIUS Access-Request/ User-Name,
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -