<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一江春水向東流

    做一個有思想的人,期待與每一位熱愛思考的人交流,您的關(guān)注是對我最大的支持。

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks
    RADIUS主要用于對遠(yuǎn)程撥入的用戶進(jìn)行授權(quán)和認(rèn)證。它可以僅使用單一的“數(shù)據(jù)庫”對用戶進(jìn)行認(rèn)證(效驗用戶名和口令)。它主要針對的遠(yuǎn)程登錄類型有:SLIP、PPP、telnet和rlogin等。

    其主要特征有:

    1. 客戶機(jī)/服務(wù)器(C/S)模式

    一個網(wǎng)絡(luò)接入服務(wù)器(以下簡稱NAS)作為RADIUS的客戶機(jī),它負(fù)責(zé)將用戶信息傳入RADIUS服務(wù)器,然后按照RADIUS服務(wù)器的不同的響應(yīng)來采取相應(yīng)動作。另外,RADIUS服務(wù)器還可以充當(dāng)別的RADIUS服務(wù)器或者其他種類認(rèn)證服務(wù)器的代理客戶。

    2.網(wǎng)絡(luò)安全(Network Security)

    NAS和RADIUS服務(wù)器之間的事務(wù)信息交流由兩者共享的密鑰進(jìn)行加密,并且這些信息不會在兩者之間泄漏出去。

    3.靈活認(rèn)證機(jī)制(Flexible Authentication Mechanisms)

    RADIUS服務(wù)器支持多種認(rèn)證機(jī)制。它可以驗證來自PPP、PAP、CHAP和UNIX系統(tǒng)登錄的用戶信息的有效性。

    4.協(xié)議可擴(kuò)展性(Extensible Protocol)

    所有的認(rèn)證協(xié)議都是基于“屬性-長度-屬性值”3元素而組成的。所以協(xié)議是擴(kuò)展起來非常方便。在目前很多比較高版本的Linux中,它們都把 RADIUS的安裝程序包含在系統(tǒng)源碼中。這樣使得我們可以很容易地通過免費(fèi)的Linux系統(tǒng)學(xué)習(xí)RADIUS授權(quán)、認(rèn)證的原理和應(yīng)用。


    RADIUS協(xié)議原理


    要弄清楚RADIUS協(xié)議為何能實(shí)現(xiàn)授權(quán)和認(rèn)證,我們必須應(yīng)該從四個方面去認(rèn)識RADIUS協(xié)議:協(xié)議基本原理、數(shù)據(jù)包結(jié)構(gòu)、數(shù)據(jù)包類型、協(xié)議屬性。下面我們就來詳細(xì)地介紹這些內(nèi)容。

    協(xié)議基本原理

    NAS提供給用戶的服務(wù)可能有很多種。比如,使用telnet時,用戶提供用戶名和口令信息,而使用PPP時,則是用戶發(fā)送帶有認(rèn)證信息的數(shù)據(jù)包。

    NAS一旦得到這些信息,就制造并且發(fā)送一個“Access-Request”數(shù)據(jù)包給RADIUS服務(wù)器,其中就包含了用戶名、口令(基于MD5加密)、NAS的ID號和用戶訪問的端口號。

    如果RADIUS服務(wù)器在一段規(guī)定的時間內(nèi)沒有響應(yīng),則NAS會重新發(fā)送上述數(shù)據(jù)包;另外如果有多個RADIUS服務(wù)器的話,NAS在屢次嘗試主RADIUS服務(wù)器失敗后,會轉(zhuǎn)而使用其他的RADIUS服務(wù)器。

    RADIUS服務(wù)器會直接拋棄那些沒有加“共享密鑰”(Shared Secret)的請求而不做出反應(yīng)。如果數(shù)據(jù)包有效,則RADIUS服務(wù)器訪問認(rèn)證數(shù)據(jù)庫,查找此用戶是否存在。如果存在,則提取此用戶的信息列表,其中包括了用戶口令、訪問端口和訪問權(quán)限等。

    當(dāng)一個RADIUS服務(wù)器不能滿足用戶的需要時,它會求助于其他的RADIUS服務(wù)器,此時它本身充當(dāng)了一個客戶端。

    如果用戶信息被否認(rèn),那么RADIUS服務(wù)器給客戶端發(fā)送一個“Access-Reject”數(shù)據(jù)包,指示此用戶非法。如果需要的話,RADIUS服務(wù)器還會在此數(shù)據(jù)包中加入一段包含錯誤信息的文本消息,以便讓客戶端將錯誤信息反饋給用戶。

    相反,如果用戶被確認(rèn),RADIUS服務(wù)器發(fā)送“Access-Challenge”數(shù)據(jù)包給客戶端,并且在數(shù)據(jù)包中加入了使客戶端反饋給用戶的 信息,其中包括狀態(tài)屬性。接下來,客戶端提示用戶做出反應(yīng)以提供進(jìn)一步的信息,客戶端得到這些信息后,就再次向RADIUS服務(wù)器提交帶有新請求ID的 “Access-Request”數(shù)據(jù)包,和起初的“Access-Request”數(shù)據(jù)包內(nèi)容不一樣的是:起初“Access-Request”數(shù)據(jù)包 中的“用戶名/口令”信息被替換成此用戶當(dāng)前的反應(yīng)信息(經(jīng)過加密),并且數(shù)據(jù)包中也包含了“Access-Challenge”中的狀態(tài)屬性(表示為0 或1)。此時,RADIUS服務(wù)器對于這種新的“Access-Request”可以有三種反應(yīng):“Access-Accept”、“Access- Reject”或“Access-Challenge”。

    如果所有的要求都屬合法,RADIUS返回一個“Access-Accept”回應(yīng),其中包括了服務(wù)類型(SLIP, PPP, Login User等)和其附屬的信息。例如:對于SLIP和PPP,回應(yīng)中包括了IP地址、子網(wǎng)掩碼、MTU和數(shù)據(jù)包過濾標(biāo)示信息等。

    數(shù)據(jù)包結(jié)構(gòu)

    RADIUS數(shù)據(jù)包被包裝在UDP數(shù)據(jù)報的數(shù)據(jù)塊(Data field))中,其中的目的端口為1812。具體的數(shù)據(jù)包結(jié)構(gòu)如表1。


    8位 8位 16位
    code Identifier Length
    Authenticator(128位)
    Attributes…(不定長)



    · Code Code域長度為8位,具體取值見表2。其中,1、2、3用于用戶認(rèn)證,而4、5則是統(tǒng)計流量用,12、13 用于試驗階段,255作為保留。


    code 含義
    1 Access-Request
    2 Access-Accept
    3 Access-Reject
    4 Accounting-Request
    5 5Accounting-Response
    11 Access-Challenge
    12 Status-Server(experimenta)
    13 Status-client(experimenta)
    255 Reserved



    · Identifier Identifier域長度為8位,主要用于匹配請求和回應(yīng)數(shù)據(jù)包,也即是數(shù)據(jù)包的編號。

    · Length 長度為16位,取值范圍(20<=Length<=4096),此長度包括Code、Identifier、Length、 Authenticator和 Attribute五個數(shù)據(jù)域的長度總和(Code、Identifier、Length、Authenticator為定長,Attribute為變 長)。超出范圍的數(shù)據(jù)將被視為附加數(shù)據(jù)(Padding)或直接被忽略。

    · Authenticator 長度為16個字節(jié)(128位),主要用于鑒定來自RADIUS服務(wù)器的回應(yīng),同時也用于對用戶口令進(jìn)行加密。

    (1) Request Authenticator

    在“Access-Request”數(shù)據(jù)包中,Authenticator是一個16字節(jié)的隨機(jī)數(shù),稱為“Request Authenticator”。它在NAS和RADIUS服務(wù)器之間通過“共享密碼”(secret)傳輸數(shù)據(jù)的整個生命周期中是唯一的?! ?

    (2) Response Authenticator

    在“Access-Accept”、“Access-Reject”和“Access-Challenge”中的Authenticator域被稱為“Response Authenticator”。

    有下面的計算方法:

    ResponseAuth = MD5(Code+ID+Length+RequestAuth+ Attributes+Secret) ——(公式1)



    · Attributes 屬性域的數(shù)據(jù)格式如表3所示。


    8位 8位 不定長(0或多個字節(jié))
    Type Length value…



    Type指示了Atribute的類型,通用的有幾十種,如表4所示。


    Type 說明 Type 說明
    1 User-Name 5 NAS-Port-Id
    2 Password 6 Service-Type
    3 CHAP-Password 7 Framed-Protocol
    4 NAS-IP-Address … …

    數(shù)據(jù)包類型

    RADIUS數(shù)據(jù)包的類型由其Code域(頭8位)指定。

    · Access-Request(接入-請求)

    “Access-Request”數(shù)據(jù)包由NAS發(fā)出,由RADIUS服務(wù)器接收。

    其中的“User-Password”或“CHAP-Password”屬性值被默認(rèn)地以MD5方法加密。

    數(shù)據(jù)包結(jié)構(gòu)如表5所示。


    8位 8位 16位
    Code=1 Identifier-隨著Attributes的Value變化而變化,重傳時則保持不變 Length
    Authenticator(128位)—根據(jù)Identifier變化而變化
    Attributes…(不定長)



    Attributes應(yīng)該包括以下幾個屬性:

    ◆ “User-Name”
    ◆ “User-Password”或“CHAP-Password”
    ◆ “NAS-IP-Address”
    * “NAS-Identifier”
    ◆ “NAS-Port”
    ◆ “NAS-Port-Type”



    · Access-Accept

    “Access-Accept” 由RADIUS服務(wù)器發(fā)出,返回給NAS。表示用戶的信息是合法的。其中包括了必要的配置信息,以便下一步為用戶提供服務(wù)。數(shù)據(jù)包結(jié)構(gòu)如表6所示。


    8位 8位 16位
    Code=2 Identifier-和“Access-Request”的Identifier相同 Length
    Authenticator(128位)-屬于Response Authenticator,由公式1計算得到
    Attributes…(不定長)



    Access-Reject“Access-Reject”由RADIUS服務(wù)器發(fā)出,返回給NAS。表示用戶的信息是非法的。其中應(yīng)該包括一個或多個的“Reply-Message”(回復(fù)消息,包含一些便于NAS返回給用戶的一些錯誤信息)。數(shù)據(jù)包結(jié)構(gòu)如表7所示。


    8位 8位 16位
    Code=3 Identifier-和“Access-Request”的Identifier相同 Length
    Authenticator(128位)-屬于Response的Authenticator,由公式1計算得到
    Attributes…(不定長)



    屬性

    屬性如表8所示。其中,Length的計算方法為:Type+Length+Value。


    8位 8位 不定長(0或多個字節(jié))
    Type Length Value…



    Value有4種類型:

    ◆ String —— 0~253字節(jié),字符串

    ◆ Ipaddress —— 32位,IP地址

    ◆ Integer —— 32位,整數(shù)

    ◆ Time —— 32位,從00:00:00 GMT, January 1, 1970到當(dāng)前的總秒數(shù)

    從這里可看出,RADIUS協(xié)議是一個不定長的協(xié)議棧。
    posted on 2008-03-25 23:27 allic 閱讀(2051) 評論(0)  編輯  收藏 所屬分類: 電信服務(wù)技術(shù)

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日本高清免费aaaaa大片视频| 人妻免费一区二区三区最新| 精品国产污污免费网站aⅴ | 久久久久久久99精品免费| 亚洲午夜爱爱香蕉片| 人人公开免费超级碰碰碰视频| 国产美女无遮挡免费视频| 亚洲AV成人一区二区三区观看 | 久久久久免费看黄A片APP| 精品亚洲AV无码一区二区| 国产h视频在线观看免费| 亚洲日韩AV一区二区三区四区| 毛片免费观看的视频| 亚洲av无码专区在线观看下载| 国产一级淫片免费播放电影| 在线看亚洲十八禁网站| 国产成人亚洲综合| 最近免费中文字幕MV在线视频3| 亚洲阿v天堂在线| 91精品啪在线观看国产线免费| 亚洲国产综合第一精品小说| 成年网站免费视频A在线双飞| 亚洲人成人网站18禁| 亚洲AV蜜桃永久无码精品| 四虎在线视频免费观看视频| 亚洲不卡在线观看| 日韩免费毛片视频| 久久WWW免费人成—看片| 亚洲视频.com| 免费鲁丝片一级在线观看| 午夜在线免费视频 | 亚洲日韩中文字幕无码一区| 亚洲精品成人在线| 亚洲成人免费在线| 亚洲老熟女五十路老熟女bbw| 亚洲国产小视频精品久久久三级 | 久久精品国产免费观看| 美女免费精品高清毛片在线视| 亚洲国产精品福利片在线观看| 97在线观免费视频观看| 国产精品美女免费视频观看|