天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 論文百科 > 論文創(chuàng)新 >

join和join in的區(qū)別_radius協(xié)議的共享密鑰_wangpengqi的專欄

發(fā)布時間:2016-08-03 14:02

  本文關(guān)鍵詞:radius協(xié)議,由筆耕文化傳播整理發(fā)布。


從事Radius協(xié)議開發(fā)有段時間了,小弟不怕才疏學(xué)淺,賣弄一下,從radius協(xié)議談?wù)剬ι矸菡J(rèn)證的認(rèn)識,也總結(jié)一下自己。

 

一.radius協(xié)議原理

 

        RADIUS(Remote Authentication Dial In User Service) 用戶遠(yuǎn)程撥入認(rèn)證服務(wù),它主要針對的遠(yuǎn)程登錄類型有:SLIP、PPP、telnet和rlogin等。radius協(xié)議應(yīng)用范圍很廣,包括普通電話、上網(wǎng)業(yè)務(wù)計費(fèi),對VPN的支持可以使不同的撥入服務(wù)器的用戶具有不同權(quán)限。

 

RADIUS典型應(yīng)用環(huán)境如下:

 

radius典型應(yīng)用

 

 

 

 

RADIUS數(shù)據(jù)包分為5個部分:

(1)       Code:1個字節(jié),用于區(qū)分RADIUS包的類型:常用類型有:

接入請求(Access-Request),Code=1;接入允許(Access-Accept),Code=2;接入拒絕(Access-Reject),Code=3;計費(fèi)請求(Accounting-Request),Code=4等。

(2)Identifier:一個字節(jié),用于請求和應(yīng)答包的匹配。

(3)Length:兩個字節(jié),表示RADIUS數(shù)據(jù)區(qū)(包括Code, Identifier, Length, Authenticator, Attributes)的長度,單位是字節(jié),最小為20,最大為4096。

(4)Authenticator:16個字節(jié),用于驗證服務(wù)器端的應(yīng)答,另外還用于用戶口令的加密。RADIUS服務(wù)器和NAS的共享密鑰(Shared Secret)與請求認(rèn)證碼(Request Authenticator)和應(yīng)答認(rèn)證碼(Response Authenticator),共同支持發(fā)、收報文的完整性和認(rèn)證。另外,用戶密碼不能在NAS和RADIUS 服務(wù)器之間用明文傳輸,而一般使用共享密鑰(Shared Secret)和認(rèn)證碼(Authenticator)通過MD5加密算法進(jìn)行加密隱藏。

(5)Attributes:不定長度,最小可為0個字節(jié),描述radius協(xié)議的屬性,如用戶名、口令、IP地址等信息都是存放在本數(shù)據(jù)段。

各個屬性的詳細(xì)編碼信息,以及數(shù)據(jù)格式,限于篇幅,這里不作具體介紹,,感興趣的,可以參看RFC文檔,或與我交流。

 

二.radius協(xié)議實(shí)現(xiàn)

 

目前,開源軟件包freeRadius , tinyRadius,可以下載到其實(shí)現(xiàn)的源碼。freeRadius是目前功能最強(qiáng)大的開源RADIUS 服務(wù)器軟件,采用C語言實(shí)現(xiàn),采用了多進(jìn)程,進(jìn)程池的處理方法,擁有很好的吞吐處理能力,同時,提供了連接各種數(shù)據(jù)庫的應(yīng)用接口,方便用戶根據(jù)自己的需要進(jìn)行適當(dāng)?shù)臄U(kuò)展。值得一提的是,它采用模塊化處理,用戶可以定做適合自己的認(rèn)證計費(fèi)處理模塊。

freeRadius的功能強(qiáng)大,也造成了它模塊的龐大,不易維護(hù),對安裝環(huán)境有一些要求。tinyRadius采用Java開發(fā),短小精悍,能接收各種標(biāo)準(zhǔn)協(xié)議中的數(shù)據(jù)包,可以快速的完成對RADIUS數(shù)據(jù)包的封裝與解包,我們可以自己的需要進(jìn)行某些處理,具有很大的自由度,唯一的缺陷是單線程,沒有數(shù)據(jù)庫接口。

 

三.radius協(xié)議對安全的考慮

 

RADIUS采用UDP協(xié)議基于以下幾點(diǎn)原因:

1.  NAS和RADIUS服務(wù)器大多在同一個局域網(wǎng)中,使用UDP更加快捷方便。

2.  簡化了服務(wù)端的實(shí)現(xiàn)。

事實(shí)證明,采用UDP協(xié)議可行,RADIUS有自己的機(jī)制,來解決UDP丟包特點(diǎn)。

如果NAS向某個RADIUS服務(wù)器提交請求沒有收到返回信息,那么可以要求備份RADIUS服務(wù)器重傳。由于有多個備份RADIUS服務(wù)器,因此NAS進(jìn)行重傳的時候,可以采用輪詢的方法。如果備份RADIUS服務(wù)器的密鑰和以前RADIUS服務(wù)器的密鑰不同,則需要重新進(jìn)行認(rèn)證。

下面重點(diǎn)從radius協(xié)議來談下它在身份認(rèn)證中如何確保安全認(rèn)證的。

1.  Authenticator:鑒別碼,分為請求鑒別碼,回應(yīng)鑒別碼。                         

在“Access-Request”數(shù)據(jù)包中,Authenticator是一個16字節(jié)的隨機(jī)數(shù),稱為“Request Authenticator”。 在機(jī)密的整個生存周期中(如RADIUAS服務(wù)器和客戶端共享的機(jī)密),這個值應(yīng)該是不可預(yù)測的,并且是唯一的,因為具有相同密碼的重復(fù)請求值,使黑客有機(jī)會用已截取的響應(yīng)回復(fù)用戶。因為同一機(jī)密可以被用在不同地理區(qū)域中的服務(wù)器的驗證中,所以請求認(rèn)證域應(yīng)該具有全球和臨時唯一性。

為防止數(shù)據(jù)包中數(shù)據(jù)被截獲被篡改,回應(yīng)鑒別碼采用如下方式生成:

ResponseAuth = MD5(Code+ID+Length+RequestAuth+ Attributes+Secret);

回應(yīng)鑒別碼是對整個數(shù)據(jù)包進(jìn)行MD5演算產(chǎn)生的16字節(jié)索引,防止偽造服務(wù)器的回應(yīng)。

2.加密方式。PAP,CAHP,EAP以及Unix登錄認(rèn)證三種加密認(rèn)證方式。最常用的是前兩種,下面介紹下:

PAP加密,采用此加密方法時,密碼存放在User-Password屬性中。

User-Password加密方法:

1.在密碼的末尾用nulls代替填補(bǔ)形成多個十六個字節(jié)的二進(jìn)制數(shù);

2.把密碼按16個字節(jié)為一組劃分為p1、p2等等;

 b1=MD5(Secret + Authenticator)  c(1) = p1 異或 b1

 b2 = MD5(S + c(1))     c(2) = p2 異或b2

                                .

                                .

                                .

 bi = MD5(S + c(i-1))   c (i) = pi 異或 bi

c(1)+c(2)+...+c (i)

 在接收時,這個過程被反過來,由于采用異或方式貫穿在每16個字節(jié)之間,同樣的算法再異或一次,然后配合MD5演算,從而生成原始的密碼,盡管這種加密方式是可逆的,黑客截獲到密文后,能通過一定的手段來破解出密碼,但如果共享密鑰未知的情況下,很難破解,也就只能采用蠻力破解方法。使用共享密鑰應(yīng)采用合適的長度,來防止破解,不應(yīng)過短。

 

PAP加密方法使密碼以密文的方式在網(wǎng)絡(luò)中進(jìn)行傳輸,使黑客仍有有機(jī)可乘的機(jī)會,但CHAP加密方法阻止了密碼的傳輸。

CHAP加密,采用此加密方法時,密碼存放在Chap-Password屬性中。

這種加密方法的原則是不是密碼在網(wǎng)絡(luò)中進(jìn)行傳輸,而只是傳輸一個索引值,從而增加了安全性,但這樣做的代價是,RADIUS服務(wù)端必須要知道用戶的密碼,從而再現(xiàn)密碼索引值來和發(fā)來的認(rèn)證請求中的密碼索引值比對。

Chap-Password加密方法:

Md5(chapId+password+chapChallenge);

chapId :可以是隨機(jī)產(chǎn)生的一字節(jié)碼;

chapChallenge  :NAS生成一個隨機(jī)挑戰(zhàn)字(16個字節(jié)比較合適)

              該字段有時缺失,讀取Authenticator域作為挑戰(zhàn)字。

3.共享密鑰(Secret):共享密鑰在密碼加密以及數(shù)據(jù)包的鑒別碼部分都參與了運(yùn)算,即使RADIUS數(shù)據(jù)包被截獲,但不知道共享密鑰,很難破解用戶的密碼偽造數(shù)據(jù)。共享密鑰應(yīng)采用合適的長度,不應(yīng)過短,寬大密碼范圍能有效提供對窮舉搜尋攻擊的防衛(wèi),隨著密鑰長度的增加,其破解花費(fèi)的時間將大大增加。

4.為防止非法用戶的重放攻擊,造成服務(wù)器癱瘓。如果在一個很短的時間片段里,一個請求有相同的客戶源IP地址、源UDP端口號和標(biāo)識符,RADIUS服務(wù)器會認(rèn)為這是上一個重復(fù)的請求,將直接丟棄,不做任何處理。

 

 

四.總結(jié)

 

radius協(xié)議本身比較易掌握,在應(yīng)用中,可以結(jié)合其自身的密碼方式,實(shí)現(xiàn)滿足企業(yè)需要的更高強(qiáng)度的強(qiáng)認(rèn)證,比如結(jié)合各種令牌卡,手機(jī)短信等等。對協(xié)議進(jìn)行開發(fā),離不開各種抓包工具,像sniffer,tcpdump,ethereal等抓包工具的使用。

外部用戶要訪問某局域網(wǎng)絡(luò)中計算機(jī)設(shè)備,其訪問方式有多種,比如采用VPN撥號,Telnet等等。如用戶Telnet登陸時,產(chǎn)生用戶名和密碼信息,而NAS服務(wù)器AAA配置中指定了采用RADIUS作為認(rèn)證服務(wù)器,則將其封裝成RADIUS請求數(shù)據(jù)包發(fā)送到RADIUS服務(wù)器進(jìn)行身份認(rèn)證,RADIUS服務(wù)器通過NAS和用戶進(jìn)行交流,以提示用戶認(rèn)證通過與否,以及是否需要Challenge身份認(rèn)證。

 

其工作原理為:用戶接入NAS (Net Access Server),NAS一般為路由器等設(shè)備,NAS向RADIUS服務(wù)器使用Access-Request數(shù)據(jù)包提交用戶信息,包括用戶名、密碼等相關(guān)信息,其中用戶密碼是經(jīng)過MD5加密的,雙方使用共享密鑰,這個密鑰不經(jīng)過網(wǎng)絡(luò)傳播;RADIUS服務(wù)器對用戶名和密碼的合法性進(jìn)行檢驗,必要時可以提出一個Challenge,要求進(jìn)一步對用戶認(rèn)證,也可以對NAS進(jìn)行類似的認(rèn)證;如果合法,給NAS返回Access-Accept數(shù)據(jù)包,允許用戶進(jìn)行下一步工作,否則返回Access-Reject數(shù)據(jù)包,拒絕用戶訪問;如果允許訪問,NAS向RADIUS服務(wù)器提出計費(fèi)請求Account-Require,RADIUS服務(wù)器響應(yīng)Account-Accept,對用戶的計費(fèi)開始,同時用戶可以進(jìn)行自己的相關(guān)操作。

RADIUS還支持代理和漫游功能。簡單地說,代理就是一臺服務(wù)器,可以作為其他RADIUS服務(wù)器的代理,負(fù)責(zé)轉(zhuǎn)發(fā)RADIUS認(rèn)證和計費(fèi)數(shù)據(jù)包。所謂漫游功能,就是代理的一個具體實(shí)現(xiàn),這樣可以讓用戶通過本來和其無關(guān)的RADIUS服務(wù)器進(jìn)行認(rèn)證。

RADIUS能夠?qū)崿F(xiàn)其功能依賴于它自身的數(shù)據(jù)包結(jié)構(gòu)。RADIUS采用的是UDP傳輸協(xié)議,認(rèn)證和計費(fèi)監(jiān)聽端口一般分別為:1812,1813。

以太網(wǎng)上的RADIUS封裝后的包結(jié)構(gòu)如下:

 

以太幀頭

IP包頭

UDP包頭

RADIUS數(shù)據(jù)包

以太網(wǎng)FCS

 

 

在這里我們關(guān)心的是紅色RADIUS數(shù)據(jù)包部分。

RADIUS數(shù)據(jù)包的格式如下:

 

radius數(shù)據(jù)包格式


  本文關(guān)鍵詞:radius協(xié)議,由筆耕文化傳播整理發(fā)布。



本文編號:82289

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/shangbiaozhuanli/82289.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶7275d***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com