首页 > 编程知识 正文

radius认证上网,opengauss认证

时间:2023-05-04 15:20:04 阅读:118492 作者:2795

资料来源: http://ping 2008.blog.51cto.com/473024/108493

1. AAA和Radius概述

AAA是认证、授权和会计的简称。 这是一个在NAS上运行的客户端程序,为配置身份验证、授权和计费三种安全功能提供了一致的框架。 AAA的配置实际上是对网络安全的管理,这里的网络安全主要是访问控制,包括哪些用户可以访问网络服务器,哪些用户有权访问网络服务器,以及哪些服务简要介绍验证、授权和记账的作用。

验证:用户是否可以选择使用RADIUS协议

“授权”:授权用户可用的服务

记录计费:用户使用网络资源的情况

可采用RADIUS协议实现AAA的RADIUS是remoteauthenticationdialinuserservice的简称,旨在管理大量使用串行端口和调制解调器的分布式用户。 现在是2.Radius应用介绍

RADIUS业务复合的典型客户端/服务器模型。 在路由器或NAS上运行的AAA程序对用户来说是服务器端,对RADIUS服务器来说是客户端。 RADIUS通过创建唯一的用户数据库来验证用户名用户的密码,并存储传递给用户的服务类型和相应的配置信息,以便完成授权。 当用户连接到internet时,路由器决定用户采用什么样的身份验证方法。 以下是两种用户和路由器之间(本地验证)的验证方法CHAP和PAP。 33558 www.Sina.com/(passwordauthenticationprotocol ) :用户以明文形式将用户名和密码传递给路由器,NAS则根据用户名在NAS端传递本地数据库否则,表示认证未通过http://www.Sina.com/challengehandshakeauthenticationprotocol。 当用户请求连接到internet时,路由器会向用户生成16字节的随机代码,客户端得到此包后,使用其自己的设备或软件对传入的域进行加密,并生成resppocol 根据原始16字节的随机代码进行加密,并将结果与Response进行比较,如果相同则表示验证通过,否则表示验证失败。

如果用户配置的是RADIUS身份验证而不是上述本地身份验证,则进程略有不同。 *端口的PAP认证

用户以明文形式将用户名和密码传递给路由器,路由器将用户名和加密密码放入认证请求包的相应属性中传递给RADIUS服务器,然后根据RADIUS服务器的响应结果允许用户连接互联网吗

*端口上的CHAP验证

当用户请求连接到互联网时,路由器将向用户生成16字节的随机代码,用户在得到此包后,用自己的设备或软件对每个传入的域进行加密,并生成响应以生成NAS NAS将发送来的CHAP ID和Response分别作为用户名和密码,并将原始的16字节随机代码发送到RADIUS服务器。 RADIU根据用户名在NAS端查找数据库,得到与用户端用于加密的相同密码,根据发送来的16字节随机码进行加密,与发送来的Password相比,相同的证明无法通过

RADIUS协议的认证端口1812计费端口1813。

由于TCP是一种必须建立连接才能传输数据的方法,因此在大量用户使用时,RADIUS需要重传机制和备用服务器机制,因为RADIUS的实时性较差,而且RADIUS位于UDP中。 附件radius :远程用户拨号认证系统

由RFC2865、RFC2866定义,是目前使用最广泛的AAA协议。

RADIUS协议最初由Livingston公司提出,其初衷是对拨号用户进行认证和计费。 此后,多次改进,形成了通用的认证计费协议。

Merit Network,Inc .成立于1966年,是密歇根大学的一家非营利性公司,经营着维持该校的互联网互联MichNet。 1987年,Merit赢得了美国国家科学基金会(NSF )的招标,获得了NSFnet (即互联网前身)的运营合同。 NSFnet是基于IP的网络,MichNet基于自己的网络协议,因此Merit如何将MichNet自己的网络协议发展为IP协议,以及MichNet上的大量拨号

1991年,Merit决定招标拨号服务器供应商。 几个月后,一家叫Livingston的公司提出了一个名字叫RADIUS的提案,并获得了它

了合同。
  1992年秋天,IETF的NASREQ工作组成立,随之提交了RADIUS作为草案。很快,RADIUS成为事实上的网络接入标准,几乎所有的网络接入服务器厂商均实现了该协议。
  1997年,RADIUS RFC2039发表,随后是RFC2138,最新的RADIUS RFC2865发表于2000年6月。
  RADIUS是一种C/S结构的协议,它的客户端最初就是NAS(Net Access Server)服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议认证机制灵活,可以采用PAP、 CHAP或者Unix登录认证等多种方式。RADIUS是一种可扩展的协议,它进行的全部工作都是基于Attribute-Length-Value的向量进行的。RADIUS也支持厂商扩充厂家专有属性。
  RADIUS的基本工作原理。用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account- Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。
  RADIUS还支持代理和漫游功能。简单地说,代理就是一台服务器,可以作为其他RADIUS服务器的代理,负责转发RADIUS认证和计费数据包。所谓漫游功能,就是代理的一个具体实现,这样可以让用户通过本来和其无关的RADIUS服务器进行认证,用户到非归属运营商所在地也可以得到服务,也可以实现虚拟运营。
  RADIUS服务器和NAS服务器通过UDP协议进行通信,RADIUS服务器的1812端口负责认证,1813端口负责计费工作。采用UDP的基本考虑是因为NAS和RADIUS服务器大多在同一个局域网中,使用UDP更加快捷方便。
  RADIUS协议还规定了重传机制。如果NAS向某个RADIUS服务器提交请求没有收到返回信息,那么可以要求备份RADIUS服务器重传。由于有多个备份RADIUS服务器,因此NAS进行重传的时候,可以采用轮询的方法。如果备份RADIUS服务器的密钥和以前RADIUS服务器的密钥不同,则需要重新进行认证。
  由于RADIUS协议简单明确,可扩充,因此得到了广泛应用,包括普通电话上网、ADSL上网、小区宽带上网、IP电话、VPDN(Virtual Private Dialup Networks,基于拨号用户的虚拟专用拨号网业务)、移动电话预付费等业务。最近IEEE提出了802.1x标准,这是一种基于端口的标准,用于对无线网络的接入认证,在认证时也采用RADIUS协议。
  ★协议结构
  -------------------------------------------------
  8 bit| 16 bit | 32 bit
  -------------------------------------------------
  Code | Identifier | Length
  -------------------------------------------------
  Authenticator (16 bytes)
  -----------------------------------------------
  Code ― 信息类型如下所述:
  1、请求访问(Access-Request);
  2、接收访问(Access-Accept);
  3、拒绝访问(Access-Reject);
  4、计费请求(Accounting-Request);
  5、计费响应(Accounting-Response);
  11、挑战访问(Access-Challenge);
  12、服务器状况(Status-Server — Experimental);
  13、客户机状况(Status-Client — Experimental);
  255、预留(Reserved)
  Identifier ― 匹配请求和响应的标识符。
  Length ― 信息大小,包括头部。
  Authenticator ― 该字段用来识别 RADIUS 服务器和隐藏口令算法中的答复。
  2. radius 的基本消息交互流程
  radius 服务器对用户的认证过程通常需要利用nas 等设备的代理认证功能,radius 客户端和radius 服务器之间通过共享密钥认证相互间交互的消息,用户密码采用密文方式在网络上传输,增强了安全性。radius 协议合并了认证和授权过程,即响应报文中携带了授权信息。
  基本交互步骤如下:
  (1) 用户输入用户名和口令;
  (2) radius 客户端根据获取的用户名和口令,向radius 服务器发送认证请求包(access-request)。
  (3) radius 服务器将该用户信息与users 数据库信息进行对比分析,如果认证成功,则将用户的权限信息以认证响应包(access-accept)发送给radius 客户端;如果认证失败,则返回access-reject 响应包。
  (4) radius 客户端根据接收到的认证结果接入/拒绝用户。如果可以接入用户,则radius 客户端向radius 服务器发送计费开始请求包
  (accounting-request),status-type 取值为start;
  (5) radius 服务器返回计费开始响应包(accounting-response);
  (6) radius 客户端向radius 服务器发送计费停止请求包(accounting-request),status-type 取值为stop;
  (7) radius 服务器返回计费结束响应包(accounting-response)。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。