百科解釋
RADIUS:Remote Authentication Dial In User Service,遠程用戶撥號認證系統(tǒng) 由RFC2865,RFC2866定義,是目前應用最廣泛的AAA協(xié)議。 RADIUS協(xié)議最初是由Livingston公司提出的,原先的目的是為撥號用戶進行認證和計費。后來經(jīng)過多次改進,形成了一項通用的認證計費協(xié)議。 創(chuàng)立于1966年Merit Network, Inc.是密執(zhí)安大學的一家非營利公司,其業(yè)務是運行維護該校的網(wǎng)絡互聯(lián)MichNet。1987年,Merit在美國NSF(國家科學基金會)的招標中勝出,贏得了NSFnet(即Internet前身)的運營合同。因為NSFnet是基于IP的網(wǎng)絡,而MichNet卻基于專有網(wǎng)絡協(xié)議,Merit面對著如何將MichNet的專有網(wǎng)絡協(xié)議演變?yōu)镮P協(xié)議,同時也要把MichNet上的大量撥號業(yè)務以及其相關專有協(xié)議移植到IP網(wǎng)絡上來。 1991年,Merit決定招標撥號服務器供應商,幾個月后,一家叫Livingston的公司提出了建議,冠名為RADIUS,并為此獲得了合同。 1992年秋天,IETF的NASREQ工作組成立,隨之提交了RADIUS作為草案。很快,RADIUS成為事實上的網(wǎng)絡接入標準,幾乎所有的網(wǎng)絡接入服務器廠商均實現(xiàn)了該協(xié)議。 1997年,RADIUS RFC2039發(fā)表,隨后是RFC2138,最新的RADIUS RFC2865發(fā)表于2000年6月。 RADIUS是一種C/S結構的協(xié)議,它的客戶端最初就是NAS(Net Access Server)服務器,現(xiàn)在任何運行RADIUS客戶端軟件的計算機都可以成為RADIUS的客戶端。RADIUS協(xié)議認證機制靈活,可以采用PAP、 CHAP或者Unix登錄認證等多種方式。RADIUS是一種可擴展的協(xié)議,它進行的全部工作都是基于Attribute-Length-Value的向量進行的。RADIUS也支持廠商擴充廠家專有屬性。 RADIUS的基本工作原理。用戶接入NAS,NAS向RADIUS服務器使用Access-Require數(shù)據(jù)包提交用戶信息,包括用戶名、密碼等相關信息,其中用戶密碼是經(jīng)過MD5加密的,雙方使用共享密鑰,這個密鑰不經(jīng)過網(wǎng)絡傳播;RADIUS服務器對用戶名和密碼的合法性進行檢驗,必要時可以提出一個Challenge,要求進一步對用戶認證,也可以對NAS進行類似的認證;如果合法,給NAS返回Access-Accept數(shù)據(jù)包,允許用戶進行下一步工作,否則返回Access-Reject數(shù)據(jù)包,拒絕用戶訪問;如果允許訪問,NAS向RADIUS服務器提出計費請求Account- Require,RADIUS服務器響應Account-Accept,對用戶的計費開始,同時用戶可以進行自己的相關操作。 RADIUS還支持代理和漫游功能。簡單地說,代理就是一臺服務器,可以作為其他RADIUS服務器的代理,負責轉發(fā)RADIUS認證和計費數(shù)據(jù)包。所謂漫游功能,就是代理的一個具體實現(xiàn),這樣可以讓用戶通過本來和其無關的RADIUS服務器進行認證,用戶到非歸屬運營商所在地也可以得到服務,也可以實現(xiàn)虛擬運營。 RADIUS服務器和NAS服務器通過UDP協(xié)議進行通信,RADIUS服務器的1812端口負責認證,1813端口負責計費工作。采用UDP的基本考慮是因為NAS和RADIUS服務器大多在同一個局域網(wǎng)中,使用UDP更加快捷方便。 RADIUS協(xié)議還規(guī)定了重傳機制。如果NAS向某個RADIUS服務器提交請求沒有收到返回信息,那么可以要求備份RADIUS服務器重傳。由于有多個備份RADIUS服務器,因此NAS進行重傳的時候,可以采用輪詢的方法。如果備份RADIUS服務器的密鑰和以前RADIUS服務器的密鑰不同,則需要重新進行認證。 由于RADIUS協(xié)議簡單明確,可擴充,因此得到了廣泛應用,包括普通電話上網(wǎng)、ADSL上網(wǎng)、小區(qū)寬帶上網(wǎng)、IP電話、VPDN(Virtual Private Dialup Networks,基于撥號用戶的虛擬專用撥號網(wǎng)業(yè)務)、移動電話預付費等業(yè)務。最近IEEE提出了802.1x標準,這是一種基于端口的標準,用于對無線網(wǎng)絡的接入認證,在認證時也采用RADIUS協(xié)議。 ★協(xié)議結構 ------------------------------------------------- 8 bit| 16 bit | 32 bit ------------------------------------------------- Code | Identifier | Length ------------------------------------------------- Authenticator (16 bytes) ----------------------------------------------- Code ― 信息類型如下所述: 1、請求訪問(Access-Request); 2、接收訪問(Access-Accept); 3、拒絕訪問(Access-Reject); 4、計費請求(Accounting-Request); 5、計費響應(Accounting-Response); 11、挑戰(zhàn)訪問(Access-Challenge); 12、服務器狀況(Status-Server — Experimental); 13、客戶機狀況(Status-Client — Experimental); 255、預留(Reserved) Identifier ― 匹配請求和響應的標識符。 Length ― 信息大小,包括頭部。 Authenticator ― 該字段用來識別 RADIUS 服務器和隱藏口令算法中的答復。 2. radius 的基本消息交互流程 radius 服務器對用戶的認證過程通常需要利用nas 等設備的代理認證功能,radius 客戶端和radius 服務器之間通過共享密鑰認證相互間交互的消息,用戶密碼采用密文方式在網(wǎng)絡上傳輸,增強了安全性。radius 協(xié)議合并了認證和授權過程,即響應報文中攜帶了授權信息。 基本交互步驟如下: (1) 用戶輸入用戶名和口令; (2) radius 客戶端根據(jù)獲取的用戶名和口令,向radius 服務器發(fā)送認證請求包(access-request)。 (3) radius 服務器將該用戶信息與users 數(shù)據(jù)庫信息進行對比分析,如果認證成功,則將用戶的權限信息以認證響應包(access-accept)發(fā)送給radius 客戶端;如果認證失敗,則返回access-reject 響應包。 (4) radius 客戶端根據(jù)接收到的認證結果接入/拒絕用戶。如果可以接入用戶,則radius 客戶端向radius 服務器發(fā)送計費開始請求包 (accounting-request),status-type 取值為start; (5) radius 服務器返回計費開始響應包(accounting-response); (6) radius 客戶端向radius 服務器發(fā)送計費停止請求包(accounting-request),status-type 取值為stop; (7) radius 服務器返回計費結束響應包(accounting-response)。
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責聲明 | 關于詞典 | 幫助