簡介
AAA
AAA是驗證、授權和記賬(Authentication、Authorization、Accounting )三個英文單詞的簡稱。其主要目的是管理哪些用戶可以訪問網路伺服器,具有訪問權的用戶可以得到哪些服務,如何對正在使用網路資源的用戶進行記賬。具體為:1、 驗證(Authentication): 驗證用戶是否可以獲得訪問許可權;2、 授權(Authorization) : 授權用戶可以使用哪些服務;
3、 記賬(Accounting) : 記錄用戶使用網路資源的情況。
AAA伺服器
AAA伺服器(AAA server)是一個能夠處理用戶訪問請求的伺服器程式。提供驗證授權以及帳戶服務。AAA伺服器通常同網路訪問控制、網關伺服器、資料庫以及用戶信息目錄等協同工作。同AAA伺服器協作的網路連線伺服器接口是“遠程身份驗證撥入用戶服務 (RADIUS)”。RADIUS協定
協定概述
RADIUS(Remote Authentication Dial In User Service)協定是在IETF的RFC 2865和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回送停止計費回響包,完成該用戶的
一次計費,記錄計費信息。
新一代的AAA協定——Diameter
(1) Diameter的基礎協定
Diameter基本協定為移動IP(Mobile IP)、網路接入服務(NAS)等套用提供最基本的服務,例如用戶會話、計費等,具有能力協商、差錯通知等功能。協定元素由眾多命令和AVP(屬性值對)構成,可以在客戶機、代理、伺服器之間傳遞鑑別、授權和計費信息。但是不管客戶機、代理還是伺服器,都可以主動發出會話請求,對方給予應答,所以也叫對等實體之間的協定。命令代碼、AVP值和種類都可以按套用需要和規則進行擴展。(2)Diameter的NAS協定
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訊息請求和應答。
(3)Diameter的EAP協定
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之間。
(4)Diameter的CMS協定
Diameter CMS(Cryptographic Message Syntax ——密碼訊息語法)協定實現了協定數據的Peer-to-Peer(端到端)加密。由於Diameter網路中存在不可信的Relay(中繼)和Proxy(代理),而IPSec和TLS又只能實現跳到跳的安全,所以IETF定義了Diameter CMS套用協定來保證數據安全。(5)Diameter的MIP協定
由於未來移動通信網路正逐步向全IP網路演進,這就不可避免碰到用戶移動到外部域的問題。 Diameter MIP套用協定允許用戶漫遊到外部域,並在經過鑒權後接受外部域Server(伺服器)和Agent(代理)提供的服務。在未來移動通信中,這種情況將十分常見,因此MIP協定對於移動通信系統來說至關重要. 當用戶移動到外部域的時候,需要進行一系列的訊息交換才能安全地接入外部網路,接受其提供的服務。MIP協定的實現環境中MN和HA都可以在家鄉域或在外地域,其中比較典型的一種情況是MN在外地域而HA在家鄉域。AAA在移動通信系統中的套用
在移動通信系統中,用戶要訪問網路資源,首先要進行用戶的入網認證,這樣用戶才能訪問網路資源。鑑別的過程就是驗證用戶身份的合法性;鑑別完成後,才能對用戶訪問網路資源進行授權,並對用戶訪問網路資源進行計費管理。一般來講,鑑別過程由三個實體來完成的。用戶(Client)、認證器(Authenticator)、AAA伺服器(Authentication 、Authorization和Accounting Server)。在第三代移動通信系統的早期版本中,用戶也稱為MN(移動節點),Authenticator在NAS(Network Access Server)中實現,它們之間採用PPP協定,認證器和AAA伺服器之間採用AAA協定(以前的方式採用遠程訪問撥號用戶服務RADIUS(Remote Access Dial up User Service);Raduis(遠程訪問撥號接入用戶服務)英文原意為半徑,原先的目的是為撥號用戶進行鑑別和計費。後來經過多次改進,形成了一項通用的鑑別計費協定)。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協定。