摘 要:RADIUS是一個(gè)英文縮寫,其具體含義是Remote Authentication Dial In User Service,中文意思是“遠(yuǎn)端用戶撥入驗(yàn)證服務(wù)”,是一個(gè)AAA協(xié)議,即集authentication(認(rèn)證)、authorization(授權(quán))、accounting(計(jì)費(fèi))三種服務(wù)于一體的一種網(wǎng)絡(luò)傳輸協(xié)議。文章將從Radius服務(wù)器的功能原理及交互過(guò)程對(duì)其進(jìn)行介紹。
關(guān)鍵詞:協(xié)議;UDP;NAS;客戶端
Radius是一種C/S結(jié)構(gòu)的可擴(kuò)展協(xié)議,它是以Attribute-Length-Value向量進(jìn)行工作的,其協(xié)議認(rèn)證機(jī)制也非常靈活,當(dāng)用戶提供用戶名和原始密碼時(shí),Radius可支持點(diǎn)對(duì)點(diǎn)協(xié)議PPP、密碼認(rèn)證協(xié)議PAP、提問(wèn)握手認(rèn)證協(xié)議CHAP及其他認(rèn)證機(jī)制。NAS設(shè)備可以是它的客戶端,任何運(yùn)行該軟件的計(jì)算機(jī)都可以成為Radius的客戶端。目前,該服務(wù)器應(yīng)用于各類寬帶上網(wǎng)業(yè)務(wù)。
1 Radius服務(wù)器的功能原理
(1)寬帶用戶撥號(hào)上網(wǎng)時(shí)接入NAS,NAS設(shè)備使用“訪問(wèn)請(qǐng)求”數(shù)據(jù)包向Radius服務(wù)器提交用戶的請(qǐng)求信息,該信息包括用戶名、密碼等。用戶的密碼會(huì)經(jīng)過(guò)MD5加密,雙方會(huì)使用不會(huì)通過(guò)網(wǎng)絡(luò)進(jìn)行傳播的“共享密鑰”。同時(shí),Radius服務(wù)器會(huì)對(duì)用戶名和密碼的合法性進(jìn)行檢驗(yàn),提出質(zhì)疑時(shí),就會(huì)要求進(jìn)一步對(duì)用戶、對(duì)NAS設(shè)備進(jìn)行驗(yàn)證。如果驗(yàn)證不通過(guò),就會(huì)返回“拒絕訪問(wèn)”的數(shù)據(jù)包,以此來(lái)拒絕用戶的訪問(wèn);驗(yàn)證合法,就會(huì)給NAS設(shè)備返回“接受訪問(wèn)”的數(shù)據(jù)包,即用戶通過(guò)了認(rèn)證。允許訪問(wèn)時(shí),NAS設(shè)備會(huì)向Radius服務(wù)器提出“計(jì)費(fèi)請(qǐng)求”,Radius服務(wù)器響應(yīng)“接受計(jì)費(fèi)”的請(qǐng)求,開始對(duì)用戶計(jì)費(fèi),用戶從此刻開始了上網(wǎng)。
(2)“重傳機(jī)制”是Radius協(xié)議的特色功能之一。一般情況下,Radius服務(wù)器分為主備用設(shè)備,這項(xiàng)功能是為NAS設(shè)備向主用Radius服務(wù)器提交請(qǐng)求卻沒(méi)有收到返回信息時(shí)而準(zhǔn)備的,備用的Radius服務(wù)器會(huì)進(jìn)行重傳,如果備用Radius服務(wù)器的密鑰和主用Radius服務(wù)器的密鑰不相同時(shí),是需要重新進(jìn)行認(rèn)證的。NAS設(shè)備進(jìn)行重傳的時(shí)候,對(duì)于有多個(gè)備用Radius服務(wù)器的網(wǎng)絡(luò),一般采用輪詢的方法。
(3)NAS設(shè)備和Radius服務(wù)器之間的通信協(xié)議是“UDP協(xié)議”,Radius服務(wù)器有1812和1813端口,其中1812端口是認(rèn)證端口,1813端口是計(jì)費(fèi)端口。因?yàn)镹AS設(shè)備和Radius服務(wù)器大多數(shù)是在同一個(gè)局域網(wǎng)中,采用UDP協(xié)議進(jìn)行通信則更加快捷方便,而且無(wú)連接的UDP協(xié)議會(huì)減輕Radius服務(wù)器的壓力,增加安全性。
(4)漫游和代理也是Radius服務(wù)器的功能之一。“漫游”功能是代理的一個(gè)具體實(shí)現(xiàn),作為Radius服務(wù)器的代理,負(fù)責(zé)轉(zhuǎn)發(fā)Radius認(rèn)證和計(jì)費(fèi)的數(shù)據(jù)包,這樣用戶可以通過(guò)本來(lái)和其無(wú)關(guān)的Radius服務(wù)器進(jìn)行認(rèn)證,即用戶可以在非歸屬運(yùn)營(yíng)商的所在地得到服務(wù),實(shí)現(xiàn)了漫游功能。
2 Radius服務(wù)器的交互過(guò)程
2.1 NAS等設(shè)備的代理認(rèn)證功能
該功能是用于實(shí)現(xiàn)Radius服務(wù)器對(duì)用戶的認(rèn)證過(guò)程的,因?yàn)轫憫?yīng)的報(bào)文中攜帶了授權(quán)信息,所以Radius協(xié)議合并了認(rèn)證和授權(quán)過(guò)程。Radius客戶端和Radius服務(wù)器之間是通過(guò)共享密鑰認(rèn)證相互之間交互的消息的,為了增強(qiáng)安全性,用戶密碼是采用密文方式在網(wǎng)絡(luò)上進(jìn)行傳輸?shù)摹?/p>
2.2 撥號(hào)認(rèn)證交互信息及過(guò)程
(1)用戶通過(guò)撥號(hào)軟件輸入用戶名和密碼。
(2)收到這些信息后,Radius客戶端會(huì)向Radius服務(wù)器發(fā)送“訪問(wèn)請(qǐng)求”包。
(3)因?yàn)橛脩魯?shù)據(jù)庫(kù)中保存著已增加認(rèn)證的用戶名、密碼等信息,Radius服務(wù)器會(huì)將收到的用戶信息與用戶數(shù)據(jù)庫(kù)中的信息進(jìn)行比對(duì),如果收到的用戶信息在數(shù)據(jù)庫(kù)中不存在,就會(huì)返回“拒絕訪問(wèn)”響應(yīng)包,即認(rèn)證失??;如果收到的用戶信息在數(shù)據(jù)庫(kù)中存在且比對(duì)后正確,就會(huì)將用戶的權(quán)限信息以“接受訪問(wèn)”響應(yīng)包的形式發(fā)送給Radius客戶端,即認(rèn)證成功。
(4)根據(jù)接收到的認(rèn)證結(jié)果,Radius客戶端會(huì)判斷拒絕或者接受該用戶。如果Radius客戶端向Radius服務(wù)器發(fā)送計(jì)費(fèi)開始請(qǐng)求包,則表示可以接入該用戶。
(5)Radius服務(wù)器收到計(jì)費(fèi)請(qǐng)求后返回計(jì)費(fèi)開始響應(yīng)包。
(6)用戶下線時(shí)Radius客戶端會(huì)收到該請(qǐng)求,同時(shí)向Radius服務(wù)器發(fā)送計(jì)費(fèi)停止請(qǐng)求包。
(7)Radius服務(wù)器收到請(qǐng)求后返回計(jì)費(fèi)結(jié)束響應(yīng)包,此時(shí)計(jì)費(fèi)停止,過(guò)程結(jié)束。
3 結(jié)束語(yǔ)
通過(guò)以上分析,我們看出Radius服務(wù)器是配置網(wǎng)絡(luò)結(jié)構(gòu)中不可或缺的重要環(huán)節(jié),該環(huán)節(jié)實(shí)現(xiàn)了認(rèn)證、授權(quán)、計(jì)費(fèi)三個(gè)功能于一體,了解掌握Radius服務(wù)器的功能原理及交互過(guò)程對(duì)日常的系統(tǒng)維護(hù)及故障處理意義重大,不但能減少故障的發(fā)生,更重要的是在故障發(fā)生時(shí),可以盡量縮短故障時(shí)間,提高用戶感知度及滿意度。
作者簡(jiǎn)介:朱玲,天津大學(xué),本科,工作單位:天津聯(lián)通設(shè)備維護(hù)中心。