AAA伺服器
AAA伺服器
AAA是驗證、授權和記賬(Authentication、Authorization、Accounting)三個英文單詞的簡稱,是一個能夠處理用戶訪問請求的伺服器程序,提供驗證授權以及帳戶服務,主要目的是管理用戶訪問網路伺服器,對具有訪問權的用戶提供服務。
AAA伺服器通常同網路訪問控制、網關伺服器、資料庫以及用戶信息目錄等協同工作。同AAA伺服器協作的網路連接伺服器介面是“遠程身份驗證撥入用戶服務(RADIUS)”。
如何對正在使用網路資源的用戶進行記賬?具體為:
1、驗證(Authentication):驗證用戶是否可以獲得訪問許可權。
2、授權(Authorization):授權用戶可以使用哪些服務。
3、記賬(Accounting):記錄用戶使用網路資源的情況。
RADIUS協議
協議概述
RADIUS(Remote Authentication Dial In User Service)協議是在IETF的RFC2865和2866中定義的。RADIUS是基於UDP的一種客戶機/伺服器協議。RADIUS客戶機是網路訪問伺服器,它通常是一個路由器、交換機或無線訪問點。RADIUS伺服器通常是在UNIX或Windows 2000伺服器上運行的一個監護程序。RADIUS協議的認證埠是1812,計費埠是1813。
RADIUS協議的主要特點
概括的來說,RADIUS的主要特點如下:
1、客戶/服務模式(Client/Server)
RADIUS是一種C/S結構的協議,它的客戶端最初就是網路接入伺服器NAS(Network Access Server),運行在任何硬體上的RADIUS客戶端軟體都可以成為RADIUS的客戶端。客戶端的任務是把用戶信息(用戶名,口令等)傳遞給指定的RADIUS伺服器,並負責執行返回的響應。
RADIUS伺服器負責接收用戶的連接請求,對用戶身份進行認證,並為客戶端返回所有為用戶提供服務所必須的配置信息。
一個RADIUS伺服器可以為其他的RADIUS Server或其他種類認證伺服器擔當代理。2、網路安全客戶端和RADIUS伺服器之間的交互經過了共享保密字的認證。另外,為了避免某些人在不安全的網路上監聽獲取用戶密碼的可能性,在客戶端和RADIUS伺服器之間的任何用戶密碼都是被加密後傳輸的。
3、靈活的認證機制
RADIUS伺服器可以採用多種方式來鑒別用戶的合法性。當用戶提供了用戶名和密碼后,RADIUS伺服器可以支持點對點的PAP認證(PPP PAP)、點對點的CHAP認證(PPP CHAP)、UNIX的登錄操作(UNIX Login)和其他認證機制。
4.擴展協議
所有的交互都包括可變長度的屬性欄位。為滿足實際需要,用戶可以加入新的屬性值。新屬性的值可以在不中斷已存在協議執行的前提下自行定義新的屬性。
RADIUS的工作過程
RADIUS協議旨在簡化認證流程。其典型認證授權工作過程是:
1、用戶輸入用戶名、密碼等信息到客戶端或連接到NAS。
2、客戶端或NAS產生一個“接入請求(Access-Request)”報文到RADIUS伺服器,其中包括用戶名、口令、客戶端(NAS)ID和用戶訪問埠的ID。口令經過MD5演演算法進行加密。
3、RADIUS伺服器對用戶進行認證。
4、若認證成功,RADIUS伺服器向客戶端或NAS發送允許接入包(Access-Accept),否則發送拒絕加接入包(Access-Reject)。
5、若客戶端或NAS接收到允許接入包,則為用戶建立連接,對用戶進行授權和提供服務,並轉入6;若接收到拒絕接入包,則拒絕用戶的連接請求,結束協商過程。
6、客戶端或NAS發送計費請求包給RADIUS伺服器。
7、RADIUS伺服器接收到計費請求包后開始計費,並向客戶端或NAS回送開始計費響應包;
8、用戶斷開連接,客戶端或NAS發送停止計費包給RADIUS伺服器。
9、RADIUS伺服器接收到停止計費包后停止計費,並向客戶端或NAS回送停止計費響應包,完成該用戶一次計費,記錄計費信息。
Diameter基礎協議
Diameter基本協議為移動IP(Mobile IP)、網路接入服務(NAS)等應用提供最基本的服務,例如用戶會話、計費等,具有能力協商、差錯通知等功能。協議元素由眾多命令和AVP(屬性值對)構成,可以在客戶機、代理、伺服器之間傳遞鑒別、授權和計費信息。但是不管客戶機、代理還是伺服器,都可以主動發出會話請求,對方給予應答,所以也叫對等實體之間的協議。命令代碼、AVP值和種類都可以按應用需要和規則進行擴展。
DiameterNAS協議
Diameter的NAS協議既是Network Access Service(網路接入服務)協議。由NAS客戶機處理用戶MN的接入請求(RegReq),將收到的客戶認證信息轉送給NAS伺服器;伺服器對客戶進行鑒別,將結果(Success/Fail)發給客戶機;客戶機通過RegReply將結果發回給MN,並根據結果對MN進行相應處理。
NAS作為網路接入伺服器,在其用戶埠接收到呼叫或服務請求時便開始與AAA伺服器之間進行消息交換,有關呼叫的信息、用戶身份和用戶鑒別信息被打包成一種AAA消息發給AAA伺服器。實際上,移動IP中的FA可以看成是通過空中的MPPP鏈路接收移動終端MN的服務連接請求的NAS伺服器,它作為AAA伺服器的客戶機,在兩者之間交換NAS消息請求和應答。
DiameterEAP協議
Diameter EAP(Extensible Authentication Protocol——可擴展鑒別協議)協議提供了一個支持各種鑒別方法的標準機制。EAP其實是一種框架,一種幀格式,可以容納各種鑒別信息。EAP所提供的多回合鑒別是PAP和CHAP所不具備的。
EAP協議描述用戶、NAS(AAA客戶機)和AAA伺服器之間有關EAP鑒別消息的請求和應答的關係,完成一次對鑒別請求的應答,中間可能需要多次消息交換過程。在移動終端MN移動的環境下,MN與FA之間的鑒別擴展採用EAP,即把FA看做是一個NAS,它作為Diameter AAA的客戶機,Diameter AAA伺服器作為EAP的後端伺服器,兩者之間載送EAP分組。端到端的EAP鑒別發生在用戶和它的H-AAA之間。
DiameterCMS協議
Diameter CMS(Cryptographic Message Syntax——密碼消息語法)協議實現了協議數據的Peer-to-Peer(端到端)加密。由於Diameter網路中存在不可信的Relay(中繼)和Proxy(代理),而IPSec和TLS又只能實現跳到跳的安全,所以IETF定義了Diameter CMS應用協議來保證數據安全。
DiameterMIP協議
由於未來移動通信網路正逐步向全IP網路演進,這就不可避免碰到用戶移動到外部域的問題。Diameter MIP應用協議允許用戶漫遊到外部域,並在經過鑒權後接受外部域Server(伺服器)和Agent(代理)提供的服務。在未來移動通信中,這種情況將十分常見,因此MIP協議對於移動通信系統來說至關重要.當用戶移動到外部域的時候,需要進行一系列的消息交換才能安全地接入外部網路,接受其提供的服務。MIP協議的實現環境中MN和HA都可以在家鄉域或在外地域,其中比較典型的一種情況是MN在外地域而HA在家鄉域。
在移動通信系統中,用戶要訪問網路資源,首先要進行用戶的入網認證,這樣用戶才能訪問網路資源。鑒別的過程就是驗證用戶身份的合法性;鑒別完成後,才能對用戶訪問網路資源進行授權,並對用戶訪問網路資源進行計費管理。一般來講,鑒別過程由三個實體來完成的。用戶(Client)、認證器(Authenticator)、AAA伺服器(Authentication、Authorization和Accounting Server)。在第三代移動通信系統的早期版本中,用戶也稱為MN(移動節點),Authenticator在NAS(Network Access Server)中實現,它們之間採用PPP協議,認證器和AAA伺服器之間採用AAA協議(以前的方式採用遠程訪問撥號用戶服務RADIUS(Remote Access Dial up User Service);Radius(遠程訪問撥號接入用戶服務)英文原意為半徑,原先的目的是為撥號用戶進行鑒別和計費。後來經過多次改進,形成了一項通用的鑒別計費協議)。
RADIUS是一種C/S結構的協議,它的客戶端最初就是NAS(Net Access Server)伺服器,任何運行RADIUS客戶端軟體的計算機都可以成為RADIUS的客戶端。RADIUS協議認證機制靈活,可以採用PAP、CHAP或者Unix登錄認證等多種方式。RADIUS是一種可擴展的協議,它進行的全部工作都是基於Attribute-Length-Value的向量進行的。RADIUS的基本工作原理是:用戶接入NAS,NAS向RADIUS伺服器使用Access-Require數據包提交用戶信息,包括用戶名、密碼等相關信息,其中用戶密碼是經過MD5加密的,雙方使用共享密鑰,這個密鑰不經過網路傳播;RADIUS伺服器對用戶名和密碼的合法性進行檢驗,必要時可以提出一個Challenge,要求進一步對用戶認證,也可以對NAS進行類似的認證。如果合法,給NAS返回Access-Accept數據包,允許用戶進行下一步工作,否則返回Access-Reject數據包,拒絕用戶訪問;如果允許訪問,NAS向RADIUS伺服器提出計費請求Account-Require,RADIUS伺服器響應Account-Accept,對用戶的計費開始,同時用戶可以進行自己的相關操作。
RADIUS是最常用的認證計費協議之一,它簡單安全,易於管理,擴展性好,所以得到廣泛應用。但是由於協議本身的缺陷,比如基於UDP的傳輸、簡單的丟包機制、沒有關於重傳的規定和集中式計費服務,都使得它不太適應當前網路的發展,需要進一步改進。
隨著新的接入技術的引入(如無線接入、DSL、移動IP和乙太網)和接入網路的快速擴容,越來越複雜的路由器和接入伺服器大量投入使用,對AAA協議提出了新的要求,使得傳統的RADIUS結構的缺點日益明顯。3G網路正逐步向全IP網路演進,不僅在核心網路使用支持IP的網路實體,在接入網路也使用基於IP的技術,而且移動終端也成為可激活的IP客戶端。如在WCDMA當前規劃的R6版本就新增以下特性:UTRAN和CN傳輸增強;無線介面增強;多媒體廣播和多播(MBMS);數字許可權管理(DRM);WLAN-UMTS互通;優先業務;通用用戶信息(GUP);網路共享;不同網路間的互通等。在這樣的網路中,移動IP將被廣泛使用。支持移動IP的終端可以在註冊的家鄉網路中移動,或漫遊到其他運營商的網路。當終端要接入到網路,並使用運營商提供的各項業務時,就需要嚴格的AAA過程。AAA伺服器要對移動終端進行認證,授權允許用戶使用的業務,並收集用戶使用資源的情況,以產生計費信息。這就需要採用新一代的AAA協議——Diameter。此外,在IEEE的無線區域網協議802.16e的建議草案中,網路參考模型里也包含了鑒別和授權伺服器ASA Server;以支持移動台在不同基站之間的切換。可見,在未來移動通信系統中,AAA伺服器佔據了很重要的位置。
經過討論,IETF的AAA工作組同意將Diameter協議作為下一代的AAA協議標準。Diameter(為直徑,意為著Diameter協議是RADIUS協議的升級版本)協議包括基本協議,NAS(網路接入服務)協議,EAP(可擴展鑒別)協議,MIP(移動IP)協議,CMS(密碼消息語法)協議等。Diameter協議支持移動IP、NAS請求和移動代理的認證、授權和計費工作,協議的實現和RADIUS類似,也是採用AVP,屬性值對(採用Attribute-Length-Value三元組形式)來實現,但是其中詳細規定了錯誤處理,failover機制,採用TCP協議,支持分散式計費,克服了RADIUS的許多缺點,是最適合未來移動通信系統的AAA協議。