Radius相关名词术语

一、Radius相关名词术语

1.       RADIUS(Remote Authentication Dial In User Service,远程用户拨号认证协议)

RADIUS是一个为计算机访问使用网络服务提供集中认证、授权和计费管理(AAA)的网络协议。RADIUS最初是由Livingston公司在1991年提出,作为拨号用户访问访问网络服务器的认证和计费协议,后来被采纳作为IETF标准。

由于RADIUS协议的应用广泛性,受到普遍支持,经常被ISP服务商和公司作为管理访问Internet、内网、无线网、集成e-mail网络访问服务的管理协议。这些网络可能包括普通电话上网、ADSL上网、小区宽带上网、IP电话、VPN(Virtual Private Networks,虚拟专用网络)等。

RADIUS主要特征:基于C/S体系结构的协议;基于UDP协议传输机制;支持PAP、CHAP等多种协议认证方式;使用MD5加密技术;支持AAA(集中认证、授权和计费管理)模型;可扩展。

2.       AAA(Authentication, Authorization, and Accounting)

AAA模型主要解决这三个问题:你是谁?你可以享受什么服务? 你在享受服务的同时需要做点什么?

Authentication 验证一个人或一台机器的身份的过程;Authorization 使用一系列的规则来限制用户在系统中的行为;Accounting 度量并记录用户在访问期间使用过的资源,可能包括时间、流量等,数据可以用于计费、趋势预测、资源利用率分析等活动。    

3.       IETF相关组织机构:

IETFInternet Engineering Task Force,互联网工程任务组)

       IETF是松散的、自律的、志愿的民间学术组织,由为互联网技术工程及发展做出贡献的专家自发参与和管理,成立于1985年底, 它与W3C、ISO/IEC 等标准化团体紧密合作,主要任务是负责Internet相关技术协议规范的研发和制定。

       IETF体系结构分为三类,一个是互联网架构委员会(IAB),第二个是互联网工程指导委员会(IESG),第三个是在八个领域里面的工作组(Working Group)。

IAB成员由IETF参会人员选出,主要是监管各个工作组的工作状况,它必须非常认真的考虑Internet是什么,它正在发生什么变化以及我们需要它做些什么等问题。

互联网工程指导委员会(IESG)主要的职责是接收各个工作组的报告,对他们的工作进行审查,然后对他们提出的各种各样的标准、各种各样的建议提出指导性的意见,甚至从工作的方向上、质量上和程序上给予一定的指导。

标准制定工作具体由工作组承担,工作组分成八个领域,分别是Internet路由、传输、应用领域等。

       第四领域:操作与管理研究领域(ops—Operations and Management Area)这个研究领域中比较重要的研究内容包括AAA(授权、认证、审计)、v6ops(IPv6运维)、rap(资源预留)、dnsop(DNS运维)以及各种MIB的研究。

Radext (RADIUS EXTensions) WorkGroup http://www.ietf.org/html.charters/radext-charter.html

 

ISCO (Internet Society,互联网协会)

  ISCO是一个国际的,非盈利性的会员制组织,其作用是促进互联网在全球范围的应用。实现方式之一便是对各类互联网组织提供财政和法律支持,特别是对IAB管理下的IETF提供资助。

 

IAB (Internet Architecture Board,互联网架构委员会)

IAB是ISOC的技术咨询团体,承担ISCO技术顾问组的角色;IAB负责定义整个互联网的架构和长期发展规划,通过IESG向IETF提供指导并协调各个IETF工作组的活动,在新的IETF工作组设立之前IAB负责审查此工作组的章程,从而保证其设置的合理性,因此可以认为IAB是IETF的最高技术决策机构。

4.       RFC(Request For Comments,请求评议)

RFC是由IETF出版,在计算机网络工程中,用于描述与Internet及其相关系统有关的技术方法、行为、研究、创新的备忘录。RFC是一系列以编号排定的文件,包含了关于Internet的几乎所有重要的文字资料。

一个RFC文件在成为官方标准前一般至少要经历4个阶段【RFC2026】:英特网草案、建议标准、草案标准、因特网标准。

5.       UDP(User Datagram Protocol,用户数据报协议)

UDP是OSI参考模型中一种无连接的传输层协议,是Internet协议集的核心成员之一。UDP 协议基本上是IP协议与上层协议的接口,与 TCP 不同,UDP 并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等。

UDP协议有如下的特点:

  1、UDP传送数据前并不与对方建立连接,即UDP是无连接的,在传输数据前,发送方和接收方相互交换信息使双方同步。

  2、UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息(如TCP所采用的序号),而且报文不一定按顺序到达的,所以接收端无从排起。

  3、UDP对接收到的数据报不发送确认信号,发送端不知道数据是否被正确接收,也不会重发数据。

  4、UDP传送数据较TCP快速,系统开销也少。

5、由于缺乏拥塞控制(congestion control),需要基于网络的机制来减小因失控和高速UDP流量负荷而导致的拥塞崩溃效应。换句话说,因为UDP发送者不能够检测拥塞,所以像使用包队列和丢弃技术的路由器这样的网络基本设备往往就成为降低UDP过大通信量的有效工具。

从以上特点可知,UDP提供的是无连接的、不可靠的数据传送方式,是一种尽力而为的数据交付服务。

由于UDP 比较简单,UDP 头包含很少的字节,比TCP负载消耗少。UDP适用于不需要TCP可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。UDP是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)、动态主机配置协议(DHCP)、路由信息协议(RIP)和某些影音串流服务等等。

6.        NAS(Network Access Server,网络访问服务器)

       NAS表示控制访问远程网络资源的入口设备。客户端连接到NAS,NAS则连接到网络资源,并请求客户端提供的访问证书信息是否有效。基于该请求的响应,NAS判断允许或拒绝客户端对受保护资源的访问。

NAS本身并不知道什么样的客户端可以连接访问,什么样的访问证书有效,它只是将客户端发送的有关访问证书请求发送到被请求的资源去判断。

7.       PPP (Point to Point Protocol,点到点协议)

PPP协议是用于在两个网络节点之间建立直接连接的数据链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。

它能够提供连接认证、传输加密和压缩服务。大多数的ISP(Internet service providers)提供商都使用PPP协议作为客户拔号接入Internet的协议。PPP作为数据链路层协议既支持用于同步链路连接,也支持异步链路连接。PPP协议被设计成可以配合多种网络层协议(比如IP、IPX、NBF和AppleTalk)工作,并被设计用于代替数据链路层的非标准协议SLIP。

PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。PPP协议包含这样几个部分:链路控制协议LCP(Link Control Protocol);认证协议;网络控制协议NCP(Network Control Protocol)。

PPP链路建立的过程包括创建PPP链路、用户验证、调用网络层协议三个阶段。在链路创建阶段,只是对验证协议进行选择,用户验证将在第2阶段实现。PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。

利用以太网(Ethernet)资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoE (Point-to-Point Protocol over Ethernet)。利用以太网(Ethernet)资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoE。PPPoE即保护了用户方的以太网资源,又完成了ADSL的接入要求,是目前ADSL接入方式中应用最广泛的技术标准。同样,在ATM(异步传输模式,Asynchronous Transfer Mode)网络上运行PPP协议来管理用户认证的方式称为PPPoA。它与PPPoE的原理相同,作用相同;不同的是它是在ATM网络上,而PPPoE是在以太网网络上运行,所以要分别适应ATM标准和以太网标准。PPPoA和PPPoE是PPP协议的两种封装形式。

IETF RFC 1661中描述了PPP协议,从1990年7月起,以RFC文档的形式发布了很多关于PPP一些的文章,包括各种各样的身份认证,加密和压缩方法以及PPP协议与其他网络协议的交互。

8.       PAP(Password Authentication Protocol,口令认证协议)

PAP是PPP中的基本认证协议,采用一种简单的明文验证方式。NAS(网络接入服务器,Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。

9.       CHAP(Challenge-Handshake Authentication Protocol,挑战握手认证协议)

CHAP是由PPP服务器对远程客户端身份进行验证的一种认证方案,由RFC1994定义。CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。CHAP协议基本过程采取一个三步握手的方式。首先,在链路建立以后认证者发送一个随机挑战信息给对方。然后,接收方根据此挑战信息和共享的密钥信息,使用单向HASH函数计算出响应值,然后发送挑战响应给认证者。第三,认证者也进行相同的计算,验证自己的计算结果和接收到的结果是否一致,一致则认证通过,否则认证失败。

因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第三方冒充远程客户进行攻击。

CHAP 被各种网络访问服务器和客户端供应商广为采用。运行路由和远程访问的服务器支持 CHAP,以便能够对要求使用CHAP的远程访问客户端进行身份验证。这种认证方法的优点即在于密钥信息不需要在通信信道中发送,而且每次认证所交换的信息都不一样,可以很有效地避免监听攻击。 

CHAP缺点:密钥必须是明文信息进行保存,而且不能防止中间人攻击。 使用CHAP的安全性除了本地密钥的安全性外,网络上的安全性在于挑战信息的长度、随机性和单向HASH算法的可靠性。Microsoft实现了各种挑战握手认证协议,称为MS-CHAP。    

10.  EAP(Extensible Authentication Protocol,扩展认证协议)

EAP是一个直接在数据链路层上支持PPP或者IEEE 802无线网络协议的通用认证框架,可以支持多种认证方法。它由RFC3748定义,目前更新到RFC5247。

EAP并不在链路建立阶段指定认证方法,而是把这个过程推迟到认证阶段。这样认证方就可以在得到更多的信息以后再决定使用什么认证方法。这种机制还允许PPP认证方简单地把收到的认证报文透传给后方的认证服务器,由后方的认证服务器来真正实现各种认证方法。

       EAP不是一种特定的认证机制,而是一种认证的框架。它提供一些通用的功能和选择认证的协商机制。这种机制目前包含了大约40种EAP认证方法。在IETF RFCs标准中定义的EAP认证方法包括EAP-MD5, EAP-OTP, EAP-GTC, EAP-TLS, EAP-IKEv2, EAP-SIM, and EAP-AKA。此外,还存在其它一些特定软件商的认证方法和协议。通常在无线网络中能够操作使用的现代认证方法包括EAP-TLS, EAP-SIM, EAP-AKA, PEAP, LEAP and EAP-TTLS等。EAP认证方法在无线局域网中的认证需求在RFC4071中描述。

11.  MD5(Message-Digest algorithm 5,信息-摘要算法5)

       MD5用于确保信息传输完整一致,是计算机广泛使用的哈希算法之一(又译摘要算法、杂凑算法),主流编程语言普遍已有MD5实现。MD5的典型应用是对一段信息产生信息摘要(Message-Digest),以防止被篡改。将数据(如汉字)运算为另一固定长度值是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。

       弱点:MD5较老,散列长度通常为128位,随着计算机运算能力提高,找到“碰撞”是可能的。因此,在安全要求高的场合不使用MD5。

12.  Diameter

       Diameter意思为直径,意味着Diameter协议是RADIUS(半径)协议的升级版本,被IETF的AAA工作组作为下一代的AAA协议标准。该协议包括基本协议,NAS(网络接入服务)协议、EAP(扩展认证)协议、MIP(移动IP)协议,CMS(密码消息语法)协议等。Diameter协议支持移动IP、NAS请求和移动代理的认证、授权和计费工作。该协议的实现和RADIUS类似,也是采用AVP,属性值对(采用Attribute-Length-Value三元组形式)来实现,但是其中详细规定了错误处理,failover机制,采用TCP协议,支持分布式计费,克服了RADIUS的许多缺点,是最适合未来移动通信系统的AAA协议。

       Diameter并不直接与Radius后向兼容,而是提供了一种Radius向Diameter升级的途径。Diameter与Radius的主要区别如下:

       基于TCP、SCTP而非UDP的可靠传输协议;

       提供基于IPsec或者TLS等的网络层或传输层的安全性;

       对RADIUS协议提过渡支持,尽管Diameter并不完全与RADIUS兼容;

       为键值对(attribute-value pairs ,AVPs)和identifiers提供更大的地址空间;

       C/S架构的协议,除了支持一些服务器端的初始化信息以外;

       能够使用有状态和无状态两种模型;

       使用DNS、SRV和NAPTR动态发现节点;

       具有性能协商机制(Capability negotiation);

       支持应用层确认机制,定义了故障转移方法和状态机(state machines);

       支持错误告知;

       更好的漫游支持;

       更容易的扩展机制;

       基于32位边界(Aligned on 32-bit boundaries);

对user-sessions和计费提供基础支持。

二、术语相互关系说明

1.       RADIUS与IETF

Radius协议的制定和发展由IETF有关组织和工作组领导,以RFC标准的形式出版公布。IETF主要由ISCO (Internet Society,互联网协会)等资助。

Radius属于八个领域工作组中的第四领域:操作与管理研究领域(ops—Operations and Management Area)。这个研究领域中比较重要的研究内容包括AAA(授权、认证、审计)、v6ops(IPv6运维)、rap(资源预留)、dnsop(DNS运维)以及各种MIB的研究。

目前的工作组为:Radext (RADIUS EXTensions) WorkGroup,主要针对Radius协议的扩展进行研究和标准制定。

2.       RADIUS与AAA

RADIUS是一个为计算机访问使用网络服务提供集中认证、授权和计费管理(AAA)的网络协议,也是应用最早、应用最为广泛的AAA认证协议。经常被ISP服务商和公司作为管理访问Internet、内网、无线网等网络访问认证服务的管理协议。

3.       RADIUS与PPP

PPP协议是点到点的数据链路层协议,是目前广域网上应用最广泛的协议之一。它的优点在于简单、具备用户验证能力、可以解决IP分配等。而Radius是在PPP协议基础之上的网络应用层协议,制定发展了符合AAA服务模型的框架标准。

4.       RADIUS与UDP

UDP是OSI参考模型中一种无连接的传输层协议, Radius协议是基于UDP传输层协议发展起来的应用层协议。因此,基于Radius协议的应用具有简单、传输数据快速、系统消耗小等UDP传输协议带来的一系列优点。同时,Radius协议应用也具有UDP协议所带来的固有缺陷,如提供的是无连接、不可靠、无序的数据传输服务,缺乏拥塞控制和错误检查机制等。

5.       RADIUS与MD5、PAP、CHAP

Radius协议支持PAP、CHAP等多种协议认证方式。PAP是PPP中的基本认证协议,采用一种简单的明文验证方式,安全性差。CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密,协议基本过程采取一个三步握手的方式进行。通过向客户端重复发送挑战口令可以防止再现攻击,相对更加安全。

MD5是CHAP认证方式普遍使用的加密算法。MD5的典型应用是对一段信息产生信息摘要(Message-Digest),以防止被篡改。MD5缺点是算法较老,散列长度通常为128位,随着计算机运算能力提高,找到“碰撞”是可能的。因此,在安全要求高的场合不使用MD5。

6.       RADIUS与EAP

EAP是一个直接在数据链路层上支持PPP或者IEEE 802无线网络协议的通用认证框架,可以支持多种认证方法。它提供一些通用的功能和选择认证的协商机制。这种机制目前包含了大约40种EAP认证方法。

RFC3579实现了Radius协议与EAP认证框架的结合,使Radius协议认证更灵活,更具有扩展性。通过向Radius服务器发送EAP数据包,NAS可以支持EAP的各种认证方法,而不用依靠Radius服务器端的特定认证方法。EAP最初发展是与PPP协议一起使用,目前它还支持IEEE802的系列无线网络协议。   

7.       RADIUS与Diameter

Diameter意思为直径,意味着Diameter协议是RADIUS(半径)协议的升级版本,被IETF的AAA工作组作为下一代的AAA协议标准。Diameter并不直接与Radius后向兼容,而是提供了一种Radius向Diameter升级的途径。

该协议的实现和RADIUS类似,也是采用AVP,属性值对(采用Attribute-Length-Value三元组形式)来实现,但是其中详细规定了错误处理,failover机制,采用TCP协议,支持分布式计费,克服了RADIUS的许多缺点,是最适合未来移动通信系统的AAA协议。

Diameter与Radius的主要区别如下:

       基于TCP、SCTP而非UDP的可靠传输协议;

       提供基于IPsec或者TLS等的网络层或传输层的安全性;

       对RADIUS协议提过渡支持,尽管Diameter并不完全与RADIUS兼容;

       为键值对(attribute-value pairs ,AVPs)和identifiers提供更大的地址空间;

       C/S架构的协议,除了支持一些服务器端的初始化信息以外;

       能够使用有状态和无状态两种模型;

       使用DNS、SRV和NAPTR动态发现节点;

       具有性能协商机制(Capability negotiation);

       支持应用层确认机制,定义了故障转移方法和状态机(state machines);

       支持错误告知;

       更好的漫游支持;

       更容易的扩展机制;

       基于32位边界(Aligned on 32-bit boundaries);

对user-sessions和计费提供基础支持。

 

三、参考来源

[1] RADIUS – Wikipedia, http://en.wikipedia.org/wiki/RADIUS

[2] IETF– Wikipedia, http://en.wikipedia.org/wiki/IETF

[3] User Datagram Protocol – Wikipedia, http://en.wikipedia.org/wiki/User_Datagram_Protocol

[4] UDP_百度百科, http://baike.baidu.com/view/30509.htm

[5] Network_Access_Server– Wikipedia, http://en.wikipedia.org/wiki/Network_Access_Server

[6] point-to-point_百度百科http://baike.baidu.com/view/2091682.html?tp=0_01

[7] Point-to-Point_Protocol– Wikipedia, http://en.wikipedia.org/wiki/Point-to-Point_Protocol

[8] Password_authentication_protocol – Wikipedia, http://en.wikipedia.org/wiki/Password_authentication_protocol

[9] Challenge-handshake_authentication_protocol – Wikipedia, http://en.wikipedia.org/wiki/Challenge-handshake_authentication_protocol

[10] Extensible_Authentication_Protocol – Wikipedia, http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol

[11] MD5 – Wikipedia, http://en.wikipedia.org/wiki/MD5

[12] MD5_百度百科http://baike.baidu.com/view/7636.htm

[13] Diameter– Wikipedia, http://en.wikipedia.org/wiki/Diameter_(protocol)

[14] Diameter_百度百科http://baike.baidu.com/view/1267566.html

posted @ 2014-01-18 22:17  sxjd  阅读(615)  评论(0)    收藏  举报