《Radius协议深入》由会员分享,可在线阅读,更多相关《Radius协议深入(61页珍藏版)》请在金锄头文库上搜索。
1、Radius协议深入 掌握Radius协议的基本概念掌握Radius协议的工作过程掌握Radius包各个字段的含义了解华为Radius协议扩展 学习目标 基本概念 内容提要 RadiusServer与NAS在全网中的位置 Radius RemoteAuthenticationDialInUserService客户端负责将认证等信息按照协议的格式通过UDP包送到服务器 同时对服务器返回的信息解释处理 认证端口号 1645 1812计费端口号 1646 1813 Radius的作用 AAAAuthentication Authorization Accounting验证 授权 记费PAPPassw
2、ordAuthenticationProtocol口令验证协议CHAPChallenge HandshakeAuthenticationProtocol盘问握手验证协议NASNetworkAccessServer网络接入服务器RADIUSRemoteAuthenticationDialInUserService远程验证拨入用户服务 拨入用户的远程验证服务 TCPTransmissionControlProtocol传输控制协议UDPUserDatagramProtocol用户数据报协议 名词解释 RADIUS的客户端通常运行于接入服务器 NAS 上 RADIUS服务器通常运行于一台工作站上 一
3、个RADIUS服务器可以同时支持多个RADIUS客户 NAS RADIUS的服务器上存放着大量的信息 接入服务器 NAS 无须保存这些信息 而是通过RADUIS协议对这些信息进行访问 这些信息的集中统一的保存 使得管理更加方便 而且更加安全 RADIUS服务器可以作为一个代理 以客户的身份同其他的RADIUS服务器或者其他类型的验证服务器进行通信 用户的漫游通常就是通过RADIUS代理实现的 Client Server结构 NAS Radius认证计费过程 包加密每个radius报文中都有16字节的验证字 authenticator 用于对包进行签名 协议中使用MD5对这个字段进行加密 确认包
4、的合法性 其余字段未加密 口令加密在包合法的情况下 对于携带口令的报文 要使用MD5算法对口令字段的内容加密 NAS与radius服务器之间的数据安全性 MD5是一个算法 它的运算是单向的 即从输出推算不出输入 不好意思 我只会把您的手表变成兔子 变不回去了 MD5 MD5的特点 包的签名与加密 包的签名指的是RADIUS包中16字节的Authenticator 我们称其为 验证字 认证请求包RequestAuth Authenticator 认证请求包的验证字是一个不可预测的16字节随机数 这个随机数将用于口令的加密 认证响应包ResponseAuth MD5 Code ID Length
5、Authenticator Attributes Key 记费请求包RequestAcct MD5 Code ID Length 16ZeroOctets Attributes Key 记费响应包ResponseAcct MD5 Code ID Length RequestAcct Attributes Key 包加密的具体过程 称共享密钥 key 为Key 16字节的认证请求验证字 Authenticator 为Auth 将口令 Password 分割成16字节一段 最后一段不足16字节时用0补齐 为p1 p2等 加密后的口令块为c 1 c 2 等 下面运算中b1 b2为中间值 b1 MD5
6、 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 口令加密的具体过程 我查 我验 PC与NAS之间的数据安全性之本地PAP认证 本地认证 PAP 这种认证方法是明文方式 SecretPassword MD5 ChapID Password challenge 我查 我算 我验 PC与NAS之间的数据安全性之本地CHAP认证 本地认证 CHAP 采用了MD5加密 如果用户配置了RADIUS验证 其PAP验证过程如下 采用PAP验证 用户以明文的形式把用户
7、名和他的密码传递给NAS NAS把用户名和加密过的密码放到验证请求包的相应属性中传递给RADIUS服务器 根据RADIUS服务器的返回结果来决定是否允许用户上网 用户名 密码 放行 远端PAP认证的安全性如何 Secretpassword PasswordXORMD5 Challenge Key Challenge就是Radius报文中的Authenticator 我查 我算 我验 远端PAP认证的安全性如何 Secretpassword MD5 ChapID Password challenge 我查 我算 我验 远端CPAP认证的安全性如何 基本概念 内容提要 Radius是一种流行的AA
8、A协议 同时其采用的是UDP协议传输模式 AAA协议在协议栈中位置如下 Radius协议 Radius协议在协议栈中的位置 为什么使用UDP NAS和RADIUS服务器之间传递的一般是几十至上百个字节长度的数据 用户可以容忍几秒到十几秒的验证等待时间 当处理大量用户时服务器端采用多线程 UDP简化了服务器端的实现过程 TCP是必须成功建立连接后才能进行数据传输的 这种方式在有大量用户使用的情况下实时性不好 当向主用服务器发送请求失败后 还要必须向备用的服务器发送请求 于是RADIUS要有重传机制和备用服务器机制 它所采用的定时 TCP不能很好的满足 Radius协议选择UDP作为传输层协议 R
9、adius协议包结构 Code 包类型 1字节 指示RADIUS包的类型 Identifier 包标识 1字节 用于匹配请求包和响应包 同一组请求包和响应包的Identifier应相同 Length 包长度 2字节 整个包的长度 Authenticator 验证字 16字节 用于对包进行签名 Radius协议包各个域解释 1Access Request 请求认证过程2Access Accept 认证响应过程3Access Reject 认证拒绝过程4Accounting Request 请求计费过程5Accounting Response 计费响应过程 code域 1 RADIUS的通信是用
10、请求 响应 方式进行的 即 客户发送一个请求包 服务器收到包后给予响应 2 RADIUS协议采用的是UDP协议 数据包可能会在网络上丢失 如果客户没有收到响应 那么可以重新发送该请求包 多次发送之后如果仍然收不到响应 RADIUS客户可以向备用的RADIUS服务器发送请求包 NAS Radius认证计费过程 包标识 用以匹配请求包和响应包 该字段的取值范围为0 255 协议规定 1 在任何时间 发给同一个RADIUS服务器的不同包的Identifier域不能相同 如果出现相同的情况 RADIUS将认为后一个包是前一个包的拷贝而不对其进行处理 2 Radius针对某个请求包的响应包应与该请求包在
11、Identifier上相匹配 相同 Identifier域 整个包长度 包括 CodeIdentifierLengthAuthenticatorAttributes Length域 该验证字分为两种 1 请求验证字 RequestAuthenticator用在请求报文中 必须为全局唯一的随机值 2 响应验证字 ResponseAuthenticator用在响应报文中 用于鉴别响应报文的合法性 响应验证字 MD5 Code ID Length 请求验证字 Attributes Key 加密以后你还能认出我来吗 Authenticator域 Attribute 1 属性 长度为10字节 benla
12、den 上网用户 张三上网地点 阿富汗 Attributes域 1User Name用户名2User Password用户密码3Chap PasswordChap认证方式中的用户密码4Nas IP AddressNas的ip地址5Nas Port用户接入端口号6Service Type服务类型7Framed Protocol协议类型8Framed IP Address为用户提供的IP地址9Framed IP NetMask地址掩码10Framed Routing为路由器用户设置的路由方式11Filter Id过滤表的名称12Framed MTU为用户配置的最大传输单元 常用报文属性 属性值属性
13、名称意义 13Framed Compression该连接使用压缩协议14Login IP Host对login用户提供的可连接主机的ip地址15Login Service对login用户可提供的服务16Login TCP PortTCP服务端口18Reply Message返回给用户的信息 成功 失败 24State认证服务器发送challenge包时传送的需在接下来的认证报文中回应的字符串 与Acess Challenge相关的属性 常用报文属性 属性值属性名称意义 26Vendor Specific可扩展属性27Session Timeout用户可用的在线时长 时长预付费 28Idle T
14、imeout用户在线空闲最大时长 用于闲置切断功能 32NAS Identifier标识NAS的字符串33Proxy StateNAS通过代理服务器转发认证报文时服务器添加在报文中的属性60Chap ChallengeNAS发给PPP用户的challenge信息61Nas Port Type接入端口的类型62Port Limit服务器限制NAS为用户开放的端口数 常用报文属性 属性值属性名称意义 Acct Status Type计费请求报文的类型1Start2Stop3Interim Update7Accounting On8Accounting Off9 14ReservedforTunne
15、lAccounting15ReservedforFailed 常用报文属性 属性值属性名称意义 41Acct Delay TimeRadius客户端发送计费报文耗费的时间42Acct Input Octets输入字节数43Acct Output Octets输出字节数44Acct Session Id计费会话标识45Acct Authentic用户的认证方式 是本地还是radius46Acct Session Time用户在线时长47Acct Input Packets输入包数48Acct Output Packets输出包数 常用报文属性 属性值属性名称意义 Acct Terminate C
16、ase用户下线原因1UserRequest2LostCarrier3LostService4IdleTimeout5SessionTimeout6AdminReset7AdminReboot8PortError9NASError10NASRequest11NASReboot 常用报文属性 属性值属性名称意义 基本概念 内容提要 参考样例 ISN8850与Radius对接测试 0 18993140 AAA debug Packet sendradiuspacketto192 168 10 4 1812code 1id 19length 1027517009ba002018005a2000attribute 1 User name user1attribute 2 Password 0 x4d0 xa10 x110 xbe0 xa70 xc50 x1a0 xa40 x5b0 x290 xb10 xde0 x340 x110 x4c0 xf9attribute 6 User Service 0 x2attribute 7 Framed Protocol 0 x1attribute 4 NAS