百科解釋
AAA是驗證、授權和記賬(Authentication、Authorization、Accounting )三個英文單詞的簡稱。其主要目的是管理哪些用戶可以訪問網絡服務器,具有訪問權的用戶可以得到哪些服務,如何對正在使用網絡資源的用戶進行記賬。具體為:
1、 驗證(Authentication): 驗證用戶是否可以獲得訪問權限;
2、 授權(Authorization) : 授權用戶可以使用哪些服務;
3、 記賬(Accounting) : 記錄用戶使用網絡資源的情況。
目前RADIUS(Remote Authentication Dial In User Service)協(xié)議是唯一的AAA標準,在IETF的RFC 2865和2866中定義的。RADIUS 是基于 UDP 的一種客戶機/服務器協(xié)議。RADIUS客戶機是網絡訪問服務器,它通常是一個路由器、交換機或無線訪問點。RADIUS服務器通常是在UNIX或Windows 2000服務器上運行的一個監(jiān)護程序。RADIUS 協(xié)議的認證端口是1812 ,計費端口是1813。
RADIUS協(xié)議的主要特點
概括的來說,RADIUS 的主要特點如下:
1、 客戶/服務模式(Client/Server)
RADIUS是一種C/S結構的協(xié)議,它的客戶端最初就是網絡接入服務器NAS(Network Access Server),現在運行在任何硬件上的RADIUS客戶端軟件都可以成為RADIUS的客戶端?蛻舳说娜蝿帐前延脩粜畔ⅲㄓ脩裘诹畹龋﹤鬟f給指定的RADIUS服務器,并負責執(zhí)行返回的響應。
RADIUS服務器負責接收用戶的連接請求,對用戶身份進行認證,并為客戶端返回所有為用戶提供服務所必須的配置信息。
一個RADIUS服務器可以為其他的RADIUS Server或其他種類認證服務器擔當代理。
2、 網絡安全
客戶端和RADIUS服務器之間的交互經過了共享保密字的認證。另外,為了避免某些人在不安全的網絡上監(jiān)聽獲取用戶密碼的可能性,在客戶端和RADIUS服務器之間的任何用戶密碼都是被加密后傳輸的。
3、 靈活的認證機制
RADIUS服務器可以采用多種方式來鑒別用戶的合法性。當用戶提供了用戶名和密碼后,RADIUS服務器可以支持點對點的PAP認證(PPP PAP)、點對點的CHAP認證(PPP CHAP)、UNIX的登錄操作(UNIX Login)和其他認證機制。
4. 擴展協(xié)議
所有的交互都包括可變長度的屬性字段。為滿足實際需要,用戶可以加入新的屬性值。新屬性的值可以在不中斷已存在協(xié)議執(zhí)行的前提下自行定義新的屬性。
RADIUS的工作過程
RADIUS協(xié)議旨在簡化認證流程。其典型認證授權工作過程是:
1、用戶輸入用戶名、密碼等信息到客戶端或連接到NAS;
2、客戶端或NAS產生一個“接入請求(Access-Request)”報文到RADIUS服務器,其中包括用戶名、口
令、客戶端(NAS)ID 和用戶訪問端口的ID。口令經過MD5算法進行加密。
3、RADIUS服務器對用戶進行認證;
4、若認證成功,RADIUS服務器向客戶端或NAS發(fā)送允許接入包(Access-Accept),否則發(fā)送拒絕加接
入包(Access-Reject);
5、若客戶端或NAS接收到允許接入包,則為用戶建立連接,對用戶進行授權和提供服務,并轉入6;若
接收到拒絕接入包,則拒絕用戶的連接請求,結束協(xié)商過程;
6、客戶端或NAS發(fā)送計費請求包給RADIUS服務器;
7、RADIUS服務器接收到計費請求包后開始計費,并向客戶端或NAS回送開始計費響應包;
8、用戶斷開連接,客戶端或NAS發(fā)送停止計費包給RADIUS服務器;
9、RADIUS服務器接收到停止計費包后停止計費,并向客戶端或NAS回送停止計費響應包,完成該用戶的
一次計費,記錄計費信息。
流媒體中的AAA系統(tǒng)
AAA服務器是本流媒體系統(tǒng)中非常重要的一個部分,它完成接入認證、授權以及計費的功能。目前,由于RADIUS協(xié)議仍然是唯一的AAA協(xié)議標準,因此我們的系統(tǒng)中AAA服務器的實現仍采用RADIUS協(xié)議,實現RADIUS協(xié)議中提供的AAA服務功能。同時系統(tǒng)提供用戶和計費信息的存儲與管理等功能。
我們的AAA系統(tǒng)主要包括認證、計費服務器外,還包括用戶和計費信息的存儲、用戶和計費策略管理等。在整個AAA系統(tǒng)中,RADIUS服務器之間以及RADIUS認證服務器與客戶端通訊遵循RADIUS協(xié)議標準;用戶信息和計費信息保存在 MySQL 數據庫中。
1、 用戶認證
用戶在申請享受服務時,需要得到用戶信息的認證。在本系統(tǒng)中,客戶端發(fā)送AAA認證數據包給服務器,數據包包含用戶ID和password,服務器對數據包進行驗證給出結果。驗證過程加密傳輸。
2、 用戶服務授權
在本系統(tǒng)中,不同的用戶可以享受不同的服務。AAA服務器在通過用戶的認證請求后,按照該用戶的權限來決定用戶是否可以享受申請的服務內容。
3、 服務計費
系統(tǒng)提供基本的計費信息和計費算法,支持一定的計費策略,并保存計費過程產生的中間數據。系統(tǒng)達到實時計費的要求。計費的最小單位為分,并且能夠保證用戶不會透支費用。
4、 用戶信息管理
主要功能包括用戶注冊、費用管理查詢、權限設置等。管理平臺可以對用戶信息數據庫和計費信息數據庫進行管理。一般用戶只能查詢本帳號的基本情況,如用戶基本信息和帳戶余額,可修改本人的基本信息;管理員能查詢和修改用戶的基本信息、為用戶充值、查詢用戶余額、完成計費策略的編輯、訪問和修改。