华为培训Radius协议.docx

上传人:b****3 文档编号:10669959 上传时间:2023-05-27 格式:DOCX 页数:21 大小:25.36KB
下载 相关 举报
华为培训Radius协议.docx_第1页
第1页 / 共21页
华为培训Radius协议.docx_第2页
第2页 / 共21页
华为培训Radius协议.docx_第3页
第3页 / 共21页
华为培训Radius协议.docx_第4页
第4页 / 共21页
华为培训Radius协议.docx_第5页
第5页 / 共21页
华为培训Radius协议.docx_第6页
第6页 / 共21页
华为培训Radius协议.docx_第7页
第7页 / 共21页
华为培训Radius协议.docx_第8页
第8页 / 共21页
华为培训Radius协议.docx_第9页
第9页 / 共21页
华为培训Radius协议.docx_第10页
第10页 / 共21页
华为培训Radius协议.docx_第11页
第11页 / 共21页
华为培训Radius协议.docx_第12页
第12页 / 共21页
华为培训Radius协议.docx_第13页
第13页 / 共21页
华为培训Radius协议.docx_第14页
第14页 / 共21页
华为培训Radius协议.docx_第15页
第15页 / 共21页
华为培训Radius协议.docx_第16页
第16页 / 共21页
华为培训Radius协议.docx_第17页
第17页 / 共21页
华为培训Radius协议.docx_第18页
第18页 / 共21页
华为培训Radius协议.docx_第19页
第19页 / 共21页
华为培训Radius协议.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

华为培训Radius协议.docx

《华为培训Radius协议.docx》由会员分享,可在线阅读,更多相关《华为培训Radius协议.docx(21页珍藏版)》请在冰点文库上搜索。

华为培训Radius协议.docx

华为培训Radius协议

华为培训Radius协议

课程BA0004Radius协议ISSUE1。

0HuaweiTechnologies(copyright)BA0004Radius协议ISSUE1。

0课程说明1课程说明课程介绍本教材为宽带产品工程师培训公共课程。

本课程介绍Radius协议。

课程目标完成本课程学习,学员能够?

掌握Radius协议的基本概念掌握Radius协议的工作过程?

掌握Radius包各个字段的含义参考资料《RFC2865》《RFC2866》《RFC2869》BA0004Radius协议ISSUE1。

0第1章概述2第第1章概述1.1背景90年代中期以来,Inter业务量的增长已构成数据业务的主要增长因素,IP成为电信网是不争的事实。

但是目前的IP网络还不是一个电信级的网络,它的可运营、可管理特性同PSTN相比还存在较大差距。

从可运营性方面来说,针对个人用户,IP网络目前仅仅解决了一个上网的问题,用户仅能收发一些电子邮件和从网络上搜索一些信息而已,还不能提供个性化的业务以吸引更多个人用户上网,如Portal、个性化业务管理、本地特色内容业务、内容过滤、看广告上网等等。

同时,不可忽视的是,提高IP网络的可管理性是当前宽带网络发展急需解决的问题。

从可管理性方面来说,对用户实施业务管理的前提就是解决用户的认证、授权和计费问题,即众所周知的AAA。

目前,电信运营商和服务提供商所采用的认证方式主要有本地认证、Radius认证和不认证;而计费策略更是丰富多采,常见的有不计费(包月)、按时长计费、按流量计费、按端口计费等等。

目前在所有这些认证计费方式中,以采用RadiusServer进行集中认证计费应用的最为普及和广泛。

Radius是RemoteAuthenticationDialInUserService的简称,即远程验证拨入用户服务。

当用户想要通过某个网络(如电话网)与NAS(NetworkAessServer网络接入服务器)建立连接从而获得访问其他网络的权利时,NAS可以选择在NAS上进行本地认证计费,或把用户信息传递给Radius服务器,由Radius进行认证计费;Radius协议规定了NAS与Radius服务器之间如何传递用户信息和记账信息;Radius服务器负责接收用户的连接请求,完成验证,并把传递服务给用户所需的配置信息返回给NAS。

BA0004Radius协议ISSUE1。

0第1章概述31.2AAA和Radius介绍图1-1PSTN,ISDN用户通过NAS上网示意图如图用户lqz,lst要求得到某些服务(如SLIP,PPP,tel),但必须通过NAS,由NAS依据某种顺序与所连服务器通信从而进行验证。

说明lst通过拨号进入NAS,然后NAS按配置好的验证方式(如PPPPAP,CHAP等)要求lst输入用户名,密码等信息。

lst端出现提示,用户按提示输入。

NAS得到用户的这些信息后,把这些信息传递给响应验证或记账的服务器,并根据服务器的响应来决定用户是否可以获得他所要求的服务。

AAA是验证,授权和记账(Authentication,Authorization,andAounting)的简称。

它是运行于NAS上的客户端程序。

它提供了一个用来对验证,授权和记账这三种安全功能进行配置的一致的框架。

AAA的配置实际上是对网络安全的一种管理。

这里的网络安全主要指访问控制。

包括哪些用户可以访问网络服务器?

具有访问权的用户可以得到哪些服务?

如何对正在使用网络资源的用户进行记账?

下面简单介绍一下验证,授权,记账的作用。

?

验证(Authentication):

验证用户是否可以获得访问权。

可以选择使用Radius协议。

?

授权(Authorization):

授权用户可以使用哪些服务。

BA0004Radius协议ISSUE1。

0第1章概述4?

记账(Aounting):

记录用户使用网络资源的情况。

AAA的实现可采用Radius协议。

Radius协议规定了NAS与Radius服务器之间如何传递用户信息和记账信息,即两者之间的通信规则。

Radius服务器负责接收用户的连接请求,完成验证,并把传递服务给用户所需的配置信息返回给NAS。

用户获得授权后,在其正常上线、在线和下线过程中,Radius服务器还完成对用户帐号计费的功能。

BA0004Radius协议ISSUE1。

0第2章Radius协议5第第2章Radius协议相关概念一个网络允许外部用户通过公用网对其进行访问,于是用户在地理上可以极为分散。

大量分散用户从不同的地方可以对这个网络进行随机的访问。

用户可以把自己的信息传递给这个网络,也可以从这个网络得到自己想要的信息。

由于存在内外的双向数据流动,网络安全就成为很重要的问题了。

对用户的管理就成为网络接入服务器或路由器的任务。

管理的内容有哪些用户可以获得访问权,获得访问权的用户可以允许使用哪些服务,如何对使用网络资源的用户进行记费。

AAA很好的完成了这三项任务。

Radius通过建立一个唯一的用户数据库,存储用户名,用户的密码来进行验证;存储传递给用户的服务类型以及相应的配置信息来完成授权。

2.1客户服务器模式图2-2用户,NAS,Radius服务器的关系Radius采用客户/服务器(Client/Server)结构NAS上运行的AAA程序对用户来讲为服务器端,对Radius服务器来讲是作为客户端。

?

Radius的客户端通常运行于接入服务器(NAS)上,Radius服务器通常运行于一台工作站上,一个Radius服务器可以同时支持多个Radius客户(NAS)。

?

Radius的服务器上存放着大量的信息,接入服务器(NAS)无须保存这些信息,而是通过RADUIS协议对这些信息进行访问。

这些信息的集中统一的保存,使得管理更加方便,而且更加安全。

?

Radius服务器可以作为一个代理,以客户的身份同其他的Radius服务器或者其他类型的验证服务器进行通信。

用户的漫游通常就是通过Radius代理实现的。

BA0004Radius协议ISSUE1。

0第2章Radius协议62.2业务流程说明RadiusAess-Request

(2)Aess-Aept/Aess-Reject

(3)认证(端口)1812Aounting-Request(start)

(5)Aounting-Response(start)

(6)Aess-Request

(2)Aess-Challenge计费(端口)1813NASUserdial-in

(1)configuser

(4)disconnect

(7)Aounting-Request(stop)

(8)Aounting-Response(stop)

(9)disconnectuser

(10)图2-3用户——NAS——Radius认证计费流程1.用户拨入后

(1),所拨入的设备(比如NAS)将拨入用户的用户的信息(比如用户名、口令、所占用的端口等等)打包向Radius服务器发送

(2)。

2.如果该用户是一个合法的用户,那么Radius告诉NAS该用户可以上网,同时传回该用户的配置参数

(3);否则,Radius反馈NAS该用户非法的信息

(3)。

3.如果该用户合法,MAS就根据从Radius服务器传回的配置参数配置用户

(4)。

如果用户非法,NAS反馈给用户出错信息并断开该用户连接

(4)。

4.如果用户可以访问网络,Radius客户要向Radius服务器发送一个记费请求包表明对该用户已经开始记费

(5),Radius服务器收到并成功记录该请求包后要给予响应

(6)。

5.当用户断开连接时(连接也可以由接入服务器断开)

(7),Radius客户向Radius服务器发送一个记费停止请求包,其中包含用户上网所使用网络资源的统计信息(上网时长、进/出的字节/包数等)

(8),RadiusBA0004Radius协议ISSUE1。

0第2章Radius协议7服务器收到并成功记录该请求包后要给予响应

(9)。

2.3网络安全Radius协议的加密是使用MD5加密算法进行的,在Radius的客户端(NAS)和服务器端(RadiusServer)保存了一个密钥(key),Radius协议利用这个密钥使用MD5算法对Radius中的数据进行加密处理。

密钥不会在网络上传送。

Radius的加密主要体现在两方面2.3.1包加密在Radius包中,有16字节的验证字(authenticator)用于对包进行签名,收到Radius包的一方要查看该签名的正确性。

如果包的签名不正确,那么该包将被丢弃,对包进行签名时使用的也是MD5算法(利用密钥),没有密钥的人是不能构造出该签名的。

包的签名与加密详细说明如下包的签名指的是Radius包中16字节的Authenticator,我们称其为"验证字"。

?

认证请求包RequestAuth=Authenticator,认证请求包的验证字是一个不可预测的16字节随机数。

这个随机数将用于口令的加密。

?

认证响应包ResponseAuth=MD5(Code+ID+Length+Authenticator+Attributes+Key)。

?

记费请求包RequestAt=MD5(Code+ID+Length+16ZeroOctets+Attributes+Key)。

?

记费响应包ResponseAt=MD5(Code+ID+Length+RequestAt+Attributes+Key)。

2.3.2口令加密在认证用户时,用户的口令在NAS和RadiusServer之间不会以明文方式传送,而是使用了MD5算法对口令进行加密。

没有密钥的人是无法正确加密口令的,也无法正确地对加密过的口令进行解密。

BA0004Radius协议ISSUE1。

0第2章Radius协议81.口令加密称共享密钥(key)为Key;16字节的认证请求验证字(Authenticator)为Auth;将口令(Password)分割成16字节一段(最后一段不足16字节时用0补齐),为p

1、p2等;加密后的口令块为c

(1)、c

(2)等。

下面运算中b

1、b2为中间值b1=MD5(Key+Auth)c

(1)=p1xorb1b2=MD5(Key+c

(1))c

(2)=p2xorb2…………bi=MD5(Key+c(i-1))c(i)=pixorbi那么加密后的口令为c

(1)+c

(2)+。

+c(i)。

上面是协议规定的算法,也有的Radius服务器为了实现起来简单,修改了上述的算法,具体的讲,b1的算法同上,但bi=b2=b1(i>=1),其他运算不变。

当用户的口令长度不超过16字节时,两种算法的结果是一样的。

2.口令加密与口令验证过程当用户上网时,NAS决定对用户采用何种验证方法。

下面分别在本地验证和Radius验证两种情况下介绍用户与NAS之间的PAP和CHAP验证方式。

1)NAS本地认证PAP验证(PasswordAuthenticationProtocol密码验证协议)用户以明文的形式把用户名和密码传递给NAS。

NAS根据用户名在NAS端查找本地数据库,如果存在相同的用户名和密码表明验证通过,否则表明验证未通过。

图2-4本地PAP认证?

CHAP验证(ChallengeHandshakeAuthenticationProtocol挑战握手验证协议)当用户请求上网时,服务器产生一个16字节的随机码用户()PPPNAS(RadiusClient)Username,Password验证结果我查……我验……用户()PPPNAS(RadiusClient)Username,Password验证结果我查……我验……BA0004Radius协议ISSUE1。

0第2章Radius协议9(challenge)给用户(同时还有一个ID号,本地路由器的hostname)。

用户端得到这个包后使用自己独用的设备或软件对传来的各域进行加密,生成一个SecretPassword传给NAS。

NAS根据用户名查找自己本地的数据库,得到和用户端进行加密所用的一样的密码,然后根据原来的16字节的随机码进行加密,将其结果与SecretPassword作比较,如果相同表明验证通过,如果不相同表明验证失败。

SecretPassword=MD5(ChapID+Password+challenge)图2-5本地CHAP认证2)Radius认证如果用户配置了Radius验证而不是本地验证,过程略有不同。

?

PAP验证用户以明文的形式把用户名和他的密码传递给NAS,NAS把用户名和加密过的密码放到验证请求包的相应属性中传递给Radius服务器。

Radius服务器对NAS上传的帐号进行验证并返回结果来决定是否允许用户上网。

Secretpassword=PasswordXORMD5(Challenge+Key)(Challenge就是Radius报文中的Authenticator)用户()PPP、、CHAPIDUsernameSecretPassword验证结果、主机名、ChallengeCHAPIDNAS(RadiusClient)我查……我算……我验……用户()PPP、、CHAPIDUsernameSecretPassword验证结果、主机名、ChallengeCHAPIDNAS(RadiusClient)我查……我算……我验……BA0004Radius协议ISSUE1。

0第2章Radius协议10图2-6RadiusServerPAP认证?

CHAP验证当用户请求上网时,NAS产生一个16字节的随机码给用户(同时还有一个ID号,本地路由器的hostname)。

用户端得到这个包后使用自己独有的设备或软件对传来的各域进行加密,生成一个SecretPassword传给NAS。

NAS把传回来的CHAPID和SecretPassword分别作为用户名和密码,并把原来的16字节随机码传给Radius服务器。

Radius根据用户名在服务器端查找数据库,得到和用户端进行加密所用的一样的密码,然后根据传来的16字节的随机码进行加密,将其结果与传来的Password作比较,如果相同表明验证通过,如果不相同表明验证失败。

Secretpassword=MD5(ChapID+Password+challenge)图2-7RadiusServerCHAP认证用户()PPPChallengeUsername,SecretPassword验证结果RadiusServerUsername,Password验证结果NAS(RadiusClient)KeyKey我查……我算……我验……用户()PPPChallengeUsername,SecretPassword验证结果RadiusServerUsername,Password验证结果NAS(RadiusClient)KeyKey我查……我算……我验……用户()PPPUsername,SecretPassword,Challenge,CHAPIDRadiusServerCHAPID,Username,SecretPassword验证结果、授权、主机名、ChallengeCHAPID验证结果、授权NAS(RadiusClient)我查……我算……我验……用户()PPPUsername,SecretPassword,Challenge,CHAPIDRadiusServerCHAPID,Username,SecretPassword验证结果、授权、主机名、ChallengeCHAPID验证结果、授权NAS(RadiusClient)我查……我算……我验……BA0004Radius协议ISSUE1。

0第2章Radius协议112.4AAA在协议栈中的位置图2-8AAA在协议栈中的位置Radius协议为什么要采用UDP呢?

NAS和Radius服务器之间传递的是一般几十上百个字节长度的数据,并且Radius要求特别的定时器管理机制。

用户可以容忍几十秒的验证等待时间。

当处理大量用户时服务器端采用多线程,UDP简化了服务器端的实现过程。

TCP是必须成功建立连接后才能进行数据传输的,这种方式在有大量用户使用的情况下实时性不好。

Radius要有重传机制和备用服务器机制,它所采用的定时,TCP不能很好的满足。

2.5良好的可扩展性Radius协议具有很好的扩展性。

Radius包是由包头和一定数目的属性(Attribute)构成的。

新属性的增加不会影响到现有协议的实现。

通常的NAS厂家在生产NAS时,还同时开发与之配套的Radius服务器。

为了提供一些功能,常常要定义一些非标准的(RFC上没有定义过的)属性。

关于各个厂家有那些扩展的属性,一般可以从相应的Radius服务器的字典(dictionary)文件中找到。

BA0004Radius协议ISSUE1。

0第3章标准Radius协议12第第3章标准Radius协议3.1标准Radius协议包结构图3-9Radius包格式各个域的含义如下。

Code包类型;1字节;指示Radius包的类型。

1Aess-request认证请求2Aess-aept认证响应3Aess-reject认证拒绝4Aounting-request计费请求5Aounting-response计费响应*11Aess-challenge认证挑战Identifier包标识;1字节,取值范围为0~255;用于匹配请求包和响应包,同一组请求包和响应包的Identifier应相同。

Length包长度;2字节;整个包中所有域的长度。

Authenticator16字节长;用于验证Radius服务器传回来的请求以及密码隐藏算法上。

该验证字分为两种?

请求验证字---RequestAuthenticator用在请求报文中,必须为全局唯一的随机值。

?

响应验证字---ResponseAuthenticatorBA0004Radius协议ISSUE1。

0第3章标准Radius协议13用在响应报文中,用于鉴别响应报文的合法性。

响应验证字=MD5(Code+ID+Length+请求验证字+Attributes+Key)Attributes属性图3-10属性格式3.2常用标准Radius属性说明Type属性名说明1User-Name

1、对于PPP用户,若用户名带ISP,该项用Username@PPP格式上报用户名;否则用Username格式上报用户名;

2、对于VLAN方式,用HCID@VLAN方式上报HCID号,其中,对HCID进行编码,将其转换为字符串2User-PasswordPPP用户密码3CHAP-PasswordPPP用户的CHAP过程密码4NAS-IP-AddressISN的接口IP地址5NAS-PortA、VLANPORT槽位号(12位)+端口号(8位)+VLANID(12位)B、ADSLNASPORT标明端口属性、实际物理端口属性6Service-Type服务类型7Framed-Protocol通信协议类型8Framed-IP-Address服务器下发的用户地址,为0XFFFFFFFF时需要从本地地址池中分配9Framed-IP-Netmask服务器分配的地址掩码18Reply-Message返回给用户的提示信息26Vendor-Specific私人自定义属性27Session-Timeout预付费时长28Idle-Timeout超时中断时间32NAS-IdentifierNAS标识符40At-Status-Type用于识别计费包41At-Delay-Time用于上报发送该计费包花费的时间BA0004Radius协议ISSUE1。

0第3章标准Radius协议1442At-Input-Octets输入字节数,用于兼容Radius协议43At-Output-Octets输出字节数,用于兼容Radius协议44At-Session-Id上报连接号给计费服务器45At-Authentic用户如何实现认证1==Radius;2==Local;3==Remote46At-Session-Time连接时间47At-Input-Packets输入报数48At-Output-Packets输出报数49At-Terminate-Cause上报断开原因52At-Input-Gigwords输入吉比特53At-Output-Gigwords输出吉比特55Event-Timestamp事件时戳标准参考时间为1970/01/0100:

00:

0085At-Interim-Interval实时计费间隔时间87NAS-Port-Id用字符串来描述的端口信息,统一格式port=XX;slot=XX;frame=XX;VLAN=XX;VPI=XX;VCI=XX;88Framed-Pool用字符串来描述的地址池60CHAP-ChallengeCHAP认证过程中的挑战值61NAS-Port-TypeNas端口类型?

User-Name要求小于28字符。

如果是PPP用户,则用户名的内容是由用户输入的。

例如用户输入的用户名格式是“USERNAME@ISP”。

如果是Portal认证,Aess-Request中的用户名从Session-Control(Trigger-Request)中的用户名取得。

Web认证时,Vlan认证也可以有用户名。

?

User-Password,CHAP-Password,CHAP-Challenge如果PPP用户进行PAP认证,User-Password中包含加密后的用户密码,如果PPP用户进行CHAP认证,CHAP-Password中包含CHAP密码,CHAP-Challenge中包含CHAP挑战值。

它们的意义和加密方法同标准Radius协议。

为了安全,在Portal认证时,Session-Control(Trigger-Request)和Aess-Request报文中不含口令信息。

?

Framed-ProtocolBA0004Radius协议ISSUE1。

0第3章标准Radius协议15同协议规定。

任何类型的PPP,包括窄带的PPP、PPPoA、PPPoE,该值都为1(PPP)。

但是如果直接是VLAN,或者在ATMPVC上的1483B/R,则不能叫PPP,该属性不发送或者另外定义一个值。

?

Framed-IP-Address如果Client已知连接(客户)的IP地址,必须在所有的报文中带上。

特别在Portal认证的情况,必须带上IP地址。

Server将以IP地址找到Aess-Request

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2