Radius协议原理与应用-20020404-C

合集下载

RADIUS协议解析远程身份验证与访问控制协议的工作机制

RADIUS协议解析远程身份验证与访问控制协议的工作机制

RADIUS协议解析远程身份验证与访问控制协议的工作机制RADIUS(Remote Authentication Dial-In User Service)是一种常用于网络身份验证和访问控制的协议。

它为网络管理员提供了一种集中式的方式来验证和授权用户对网络资源的访问。

本文将深入探讨RADIUS协议的工作机制及其在远程身份验证和访问控制中的应用。

一、RADIUS协议概述RADIUS协议是由Livingston Enterprises公司提出的一种开放式标准。

它使用客户端/服务器模型,其中客户端负责向用户提供身份验证界面,服务器则负责身份验证和访问控制。

RADIUS协议提供了一种可扩展的方式来支持大规模网络环境中的用户身份验证和授权。

二、RADIUS服务器的工作原理RADIUS服务器是RADIUS协议中的关键组件。

它负责接收来自客户端的身份验证请求,并将该请求转发给适当的身份验证服务器。

RADIUS服务器与身份验证服务器之间通常使用安全的传输协议进行通信,以确保身份验证过程的安全性。

在RADIUS协议中,身份验证请求由客户端发送到RADIUS服务器。

服务器首先检查该请求的有效性,例如检查请求中是否包含有效的用户名和密码等信息。

然后,服务器将该请求转发给具有身份验证功能的服务器,例如LDAP服务器、Active Directory服务器等。

身份验证服务器对请求中的用户名和密码进行验证,并将验证结果返回给RADIUS服务器。

一旦RADIUS服务器接收到身份验证服务器的响应,它将向客户端发送一个成功或失败的身份验证结果。

如果身份验证成功,RADIUS服务器还可以向客户端返回一些附加信息,如用户权限、使用限制等。

三、RADIUS协议的访问控制机制除了身份验证功能外,RADIUS协议还提供了一种灵活的访问控制机制。

通过RADIUS协议,网络管理员可以为不同用户或用户组提供个性化的访问控制策略。

在访问控制方面,RADIUS服务器接收来自客户端的访问请求,并根据预先配置的策略来决定是否授权该请求。

Radius协议

Radius协议

Radius协议Radius协议RADIUS主要用于对远程拨入的用户进行授权和认证。

它可以仅使用单一的“数据库”对用户进行认证(效验用户名和口令)。

它主要针对的远程登录类型有:SLIP、PPP、telnet和rlogin等。

其主要特征有:1.客户机/服务器(C/S)模式一个网络接入服务器(以下简称NAS)作为RADIUS的客户机,它负责将用户信息传入RADIUS服务器,然后按照RADIUS服务器的不同的响应来采取相应动作。

另外,RADIUS服务器还可以充当别的RADIUS服务器或者其他种类认证服务器的代理客户。

2.网络安全(Network Security)NAS和RADIUS服务器之间的事务信息交流由两者共享的密钥进行加密,并且这些信息不会在两者之间泄漏出去。

3.灵活认证机制(Flexible Authentication Mechanisms)RADIUS服务器支持多种认证机制。

它可以验证来自PPP、PAP、CHAP和UNIX系统登录的用户信息的有效性。

4.协议可扩展性(Extensible Protocol)所有的认证协议都是基于“属性-长度-属性值”3元素而组成的。

所以协议是扩展起来非常方便。

在目前很多比较高版本的Linux中,它们都把RADIUS的安装程序包含在系统源码中。

这样使得我们可以很容易地通过免费的Linux系统学习RADIUS授权、认证的原理和应用。

RADIUS协议原理要弄清楚RADIUS协议为何能实现授权和认证,我们必须应该从四个方面去认识RADIUS协议:协议基本原理、数据包结构、数据包类型、协议属性。

下面我们就来详细地介绍这些内容。

协议基本原理NAS提供给用户的服务可能有很多种。

比如,使用telnet时,用户提供用户名和口令信息,而使用PPP时,则是用户发送带有认证信息的数据包。

NAS一旦得到这些信息,就制造并且发送一个“Access-Request”数据包给RADIUS服务器,其中就包含了用户名、口令(基于MD5加密)、NAS的ID号和用户访问的端口号。

《Radius协议》课件

《Radius协议》课件

Radius服务器
定义
Radius服务器是Radius协议中的核心 组件,负责管理网络访问设备的认证 、授权和计费信息。
安全性
Radius服务器使用共享密钥进行身份 验证,确保通信的安全性。
功能
提供集中式管理,支持多种认证方法 ,如用户名/密码、数字证书等,并可 对用户进行授权,控制其访问权限。
客户端
THANKS FOR WATCHING
感谢您的观看
配置密钥长度
选择适当的密钥长度,以确保数据传输的安全性 。
配置加密算法
选择适当的加密算法,如AES、DES等,以确保数 据传输的安全性。
05 Radius协议的优缺点
优点
安全性高
Radius协议使用加密技 术来保护传输的数据,
确保数据的安全性。
灵活性
Radius协议支持多种认 证和授权方式,可以根 据实际需求进行灵活配
配置客户端
安装客户端软件
根据所使用的操作系统和软件版 本,按照相应的安装指南进行安
装。
配置服务器地址
输入Radius服务器的IP地址或主 机名,以便客户端能够与服务器
建立连接。
配置认证参数
根据所使用的认证方式,配置相 应的认证参数,如用户名、密码
、数字证书等。
配置共享密钥
生成共享密钥
在Radius服务器和客户端上生成相同的共享密钥 ,用于加密传输的数据。
预付费计费
Radius协议也支持预付费计费方式,用户可以预先购买一定量的使用额度,当 额度用完时自动停止服务。
客户端支持
跨平台支持
Radius协议可以在多种操作系统和设备上运行,如Windows 、Linux、Mac OS等。

Radius

Radius
key—共享密钥
secret –密码密文
将password以16bytes分段(不够补0)为p1,p2…,加密后的口 令块为c1,c2…
b1=md5(key+auth) c1=p1 xor b1
b2=md5(key+c1)
c2=p2 xor b2
….
bi=md5(key+ci-1)
ci =pi xor bi
己的需要进行扩展 • 标准化、普适
Radius协议得到众多著名网络产品厂商 的支持,已在网络接入得到广泛应用 ...
Radius概述
Radius是一种C/S结构的协议,主要负责网络 接入等的身份认证和授权、计费功能 , Radius的客户端是NAS服务器及其他运行Radius 客户端程序的计算机.Radius认证机制一般采用的 PAP\CHAP等多种方式.基本工作原理:Radius 客 户端向Radius服务器发送认证请求、计费请求的 请求数据包,Radius服务器将相关的处理结果反馈 给客户端,数据包中有关用户密码的信息是以密文 的传递的,加密方法使用MD5,加密使用的共享密 钥不经网络传播,而是分别存放在服务器和客户端。 Radius采用UDP协议进行网络通信,端口1812用于 身份认证,端口1813用于计费
Radius协议结构
0
1
2
3
01234567 01234567 01234567 01234567
|编码 |标识符 |
长度
|
|
|
| 鉴别码(16bytes)
|
|
|
|
|
| 属性 ….
属性结构
|类型 |长度 | 值….
编码:一字节,用来标识Radius数据包类型 主要键值: 1 -- access request 2 -- access accept 3 -- access reject 4 -- accounting request 5 -- accounting response 11-- access challenge … 标识符: 一字节,用来标记数据包(不同的数据包具有不同的标

PPP_PPPoE和radius协议

PPP_PPPoE和radius协议
Page 19
链路终止报文
Terminate-Request Terminate-Reply
Page 20
魔术字(Magic Number)
Config-Request ID=1 M=1 PPP封装
Config-Request ID=1 M=1
Config-Request ID=2 M=2 PPP封装
当对端正确接收到了该报文后,应该回应一个Config-Ack报文,报文内容如下:
7E FF 03 C0 21 02 04 00 17 02 06 00 0E 00 00 05 06 00 0B 42 CB 07 02 08 02 0D 03 06 7E
Page 17
链路配置报文(四)
1
Config-Request
Page 4
第1章 PPP协议 第2章 PPPoE协议 第3章 Radius协议
Page 5
PPP协议简介
PPP协议的定义: PPP协议提供了一种标准的方式在点对点的链路上传输多种网络层 协议的数据报。
PPP协议与协议栈的对应关系
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
PPP协议
2
Config-Reject
3
Config-Request
4
Config-Nak
5
Config-Request
6
Config-Ack
路由器A
多次交互
路由器B
Page 18
链路配置报文举例
假设点对点通信的一端发送了一个Config-Request报文,报文内容如下:
7E FF 03 C0 21 01 01 00 17 02 06 00 0A 00 00 05 06 00 0B 42 CB 07 02 08 02 0D 03 06 7E

radius 总结

radius 总结

从事Radius协议开发有段时间了,小弟不怕才疏学浅,卖弄一下,从RADIUS协议谈谈对身份认证的认识,也总结一下自己。

一.RADIUS协议原理RADIUS(Remote Authentication Dial In User Service)用户远程拨入认证服务,它主要针对的远程登录类型有:SLIP、PPP、telnet和rlogin等。

RADIUS协议应用范围很广,包括普通电话、上网业务计费,对VPN的支持可以使不同的拨入服务器的用户具有不同权限。

RADIUS典型应用环境如下:RADIUS数据包分为5个部分:(1)Code:1个字节,用于区分RADIUS包的类型:常用类型有:接入请求(Access-Request),Code=1;接入允许(Access-Accept),Code=2;接入拒绝(Access-Reject),Code=3;计费请求(Accounting-Request),Code=4等。

(2)Identifier:一个字节,用于请求和应答包的匹配。

(3)Length:两个字节,表示RADIUS数据区(包括Code, Identifier, Length, Authenticator, Attributes)的长度,单位是字节,最小为20,最大为4096。

(4)Authenticator:16个字节,用于验证服务器端的应答,另外还用于用户口令的加密。

RADIUS服务器和NAS的共享密钥(Shared Secret)与请求认证码(Request Authenticator)和应答认证码(Response Authenticator),共同支持发、收报文的完整性和认证。

另外,用户密码不能在NAS和RADIUS 服务器之间用明文传输,而一般使用共享密钥(Shared Secret)和认证码(Authenticator)通过MD5加密算法进行加密隐藏。

(5)Attributes:不定长度,最小可为0个字节,描述RADIUS协议的属性,如用户名、口令、IP地址等信息都是存放在本数据段。

RADIUS协议远程身份验证和授权的协议

RADIUS协议远程身份验证和授权的协议

RADIUS协议远程身份验证和授权的协议RADIUS(Remote Authentication Dial-In User Service)是一种用于远程身份验证和授权的网络协议。

它被广泛应用于各种网络环境中,包括企业网络、互联网服务提供商(ISP)以及无线接入网络等。

本文将从RADIUS协议的背景、工作原理、应用场景以及安全性等方面对该协议进行介绍。

一、背景和起源RADIUS协议最早由Livingston Enterprises开发,旨在提供一种集中式的用户身份验证和授权服务。

在过去的几十年里,随着网络的迅猛发展和用户数量的不断增加,简单的用户名和密码已经无法满足对网络资源的安全访问需求。

因此,RADIUS协议应运而生,为网络管理员提供了一种高效可靠的身份验证和授权方案。

二、工作原理RADIUS协议的工作原理可以总结为以下几个步骤:1. 认证请求:用户通过拨号或无线接入等方式向访问服务器(Access Server)发起连接请求,并提供用户名和密码等认证信息。

2. 认证请求传递:访问服务器收到认证请求后,将其转发给RADIUS服务器(RADIUS Server)进行用户身份验证。

传递过程中使用的是网络层协议(如UDP)和RADIUS协议格式规定的数据包。

3. 用户身份验证:RADIUS服务器接收到认证请求后,根据事先配置的认证策略(如用户名密码对应关系),对用户提供的用户名和密码进行验证。

如果验证通过,RADIUS服务器会向访问服务器发送认证成功的响应消息,否则发送认证失败的响应消息。

4. 会计和授权:RADIUS服务器在认证过程中还可以记录用户的账户信息、连接时间等用于会计和计费,并向访问服务器发送授权信息。

访问服务器根据授权信息为用户提供访问特定网络资源的权限。

三、应用场景RADIUS协议在各种网络环境中都有广泛的应用,以下是一些常见的应用场景:1. 企业网络:在企业内部网络中,RADIUS协议被用于实现员工远程访问网关、无线接入控制和VPN等功能。

Radius协议

Radius协议

Radius协议Radius协议是什么: Radius是Remote Authentication Dial In User Service的简称,即远程验证拨⼊⽤户服务。

当⽤户想要通过某个⽹络(如电话⽹)与⽹络接⼊服务器NAS(Network Access Server)建⽴连接从⽽获得访问其它⽹络的权⼒时,NAS可以选择在NAS上进⾏本地认证计费,或把⽤户信息传递给Radius服务器,由Radius进⾏认证计费。

Radius协议规定了NAS与Radius服务器之间如何传递⽤户信息和记账信息,Radius服务器负责接收⽤户的连接请求,完成验证,并把传递服务给⽤户所需的配置信息返回给NAS。

例如:⽤户要求得到某些服务(如SLIP,PPP, telnet),必须通过NAS,由NAS依据某种顺序与所连服务器通信从⽽进⾏验证。

⽤户通过拨号进⼊NAS,然后NAS按配置好的验证⽅式(如PPP PAP, CHAP等)要求输⼊⽤户名,密码等信息,⽤户按提⽰输⼊。

通过与NAS的连接,NAS得到这些信息。

⽽后,NAS把这些信息传递给Radius服务器,并根据服务器的响应来决定⽤户是否可以获得他所要求的服务。

什么是AAA协议Radius是AAA协议的⼀个实现,那么什么是AAA协议?AAA是鉴别,授权和记账(Authentication, Authorization, Accounting)的简称,它是运⾏于NAS上的客户端程序,提供了⼀个⽤来对鉴别,授权和记账这三种安全功能进⾏配置的⼀致的框架。

⼀个⽹络允许外部⽤户通过公⽤⽹对其进⾏访问,从⽽⽤户在地理上可以极为分散。

⼤量分散⽤户通过Modem等设备从不同的地⽅可以对这个⽹络进⾏随机访问。

⽤户可以把⾃⼰的信息传递给这个⽹络,也可以从这个⽹络得到⾃⼰想要的信息。

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

⼤量的modem形成了Modem pools。

对modem pool的管理就成为⽹络接⼊服务器或路由器的任务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

资料编码产品名称宽带产品使用对象工程师/合作方工程师/用户产品版本所有版本编写部门固网宽带技术支持部资料版本V1.0Radius协议原理与应用拟制:尹启龙日期:2002-02-02 审核:陈锐日期:2005-03-07 审核:日期:批准:任远日期:2005-03-07华为技术有限公司版权所有侵权必究目录第1章 AAA和RADIUS介绍 (1)第2章 RADIUS协议 (3)2.1 引论 (3)2.2 客户服务器模式 (3)2.3 用户<->NAS<->Radius业务流程说明 (4)2.4 网络安全 (4)2.4.1 包签名: (5)2.4.2 口令加密: (5)2.5 AAA在协议栈中的位置 (8)2.6 良好的可扩展性 (8)第3章标准RADIUS协议 (9)3.1 标准Radius协议包结构 (9)3.2 常用标准Radius属性说明 (12)3.3 华为公司宽带产品Radius标准属性 (13)第4章华为公司的Radius扩展协议——Radius+ v1.1 (16)4.1 Radius+简介 (16)4.1.1 扩展Radius+的目的 (16)4.1.2 可靠性、安全性与Radius相同 (16)4.2 Radius+报文 (16)4.2.1 Radius+认证报文 (16)4.2.2 Radius+计费报文 (21)4.2.3 Radius+新增报文 (25)第5章华为NAS设备与Radius Server对接应用实例 (29)5.1 组网图 (29)5.2 用户认证计费应用实例分析 (29)5.2.1 合法用户 (29)5.2.2 非法用户 (33)修订记录日期修订版本描述作者2002-02-02 V1.0 初稿完成尹启龙关键词:RADIUS AAA PAP CHAP PPP NAS TCP UDP。

摘要:Radius是Remote Authentication Dial In User Service的简称,即远程验证拨入用户服务。

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

本文即针对Radius协议的基本原理和应用做详细介绍。

缩略语清单:RADIUS:Remote Authentication Dial-In User Service ——远程验证拨入用户服务,一种实现远程AAA的协议。

AAA:Authentication,Authorization,and Accounting ——验证、授权、计费。

PAP:Password Authentication Protocol——口令验证协议。

CHAP:Challenge-Handshake Authentication Protocol——挑战握手验证协议。

PPP: Point-to-Point Protocol——点到点协议,一种链路层协议。

NAS:Network Access Server——网络接入服务器。

TCP:Transmission Control Protocol——传输控制协议。

UDP:User Datagram Protocol——用户数据报协议。

Radius协议原理与应用Radius协议原理与应用文档密级:内部公开第1章 AAA和RADIUS介绍图1 PSTN,ISDN用户通过NAS上网示意图如图:用户 lqz, lst 要求得到某些服务(如SLIP, PPP,telnet),但必须通过NAS, 由 NAS依据某种顺序与所连服务器通信从而进行验证。

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

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

通过与NAS 的连接,NAS得到这些信息。

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

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

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

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

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

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

包括哪些用户可以访问网络服务器?具有访问权的用户可以得到哪些服务?如何对正在使用网络资源的用户进行记账?下面简单介绍一下验证, 授权,记账的作用。

验证(Authentication): 验证用户是否可以获得访问权。

可以选择使用RADIUS协议。

授权(Authorization) :授权用户可以使用哪些服务。

Radius协议原理与应用Radius协议原理与应用文档密级:内部公开记账(Accounting) :记录用户使用网络资源的情况。

AAA的实现可采用 RADIUS 协议。

RADIUS 是Remote Authentication Dial In User Service 的简称,用来管理使用串口和调制解调器的大量分散用户。

网络接入服务器简称NAS(Network Access Server) 。

当用户想要通过某个网络(如电话网)与 NAS建立连接从而获得访问其他网络的权利(或取得使用某些网络资源的权利)时, NAS起到了过问用户(或这个连接)的作用。

NAS负责把用户的验证,授权,记账信息传递给RADIUS服务器。

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

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

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

第2章 RADIUS协议2.1 引论RADIUS 协议常用的认证端口号为1812或1645,计费端口号为1813或1646。

一个网络允许外部用户通过公用网对其进行访问,于是用户在地理上可以极为分散。

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

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

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

大量的modem形成了Modem pools。

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

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

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

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

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

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

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

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

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

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

2.3 用户<->NAS<->Radius业务流程说明1812)1813)图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),RADIUS服务器收到并成功记录该请求包后要给予响应(9)。

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

密钥不会在网络上传送。

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

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

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

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

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

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

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

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

相关文档
最新文档