一种Radius认证的方法

文档序号:7860163阅读:387来源:国知局
专利名称:一种Radius认证的方法
技术领域
本发明涉及数据通信技术领域,尤其涉及一种实现同一账号支持多种不同登录方式进行Radius认证的方法。
背景技术
交換机、路由器等网络设备将各种通信终端连接起来组成计算机网络,这些网络设备成为计算机网络中至关重要的环节,为了保证整个计算机网络的安全可靠,当管理员需要登录(Login)到这些网络设备上进行维护和管理吋,网管设备需要对登录的管理员进行身份认证和权限控制(AAA)。目前,在实际的网络应用中,用于AAA的协议主要有RADIUS和TACACS+两种协议,其中TACACS+协议虽然对这种Login用户的AAA支持较为全面,且具有良好的可扩展性,但它仅是ー个私有协议标准,并没有形成RFC国际标准。RFC2865对RADIUS协议支持Login用户的AAA做了详细地说明,可以实现对通过Console, Telnet、SSH等方式登录到网络设备上的用户进行身份认证和权限控制。根据RFC2865的说明,现有方案中,以用户通过Telnet (远程登录)方式登录(Login)为例,其认证流程如下S11,管理员通过Telnet方式登录目标网络设备上,输入登录用户名和密码。S12,目标网络设备根据配置认为需要到RADIUS服务器上认证,发起Code=I的认证请求报文(Access-Request),携带属性Service-Type (6)=1,表示为用户登录(Login)认证。S13,RADIUS服务器对用户身份认证成功后返回Code=2的认证成功报文(Access-Accept),携带属性Login-Service (15) =0,表示该用户允许使用Telnet方式登录设备,并记录管理员登录成功的日志。S14,网络设备检查授权的Login-Service与实际登录方式一致,管理员成功登录设备。其中,Login-Service (15)属性用于表示允许用户使用哪种方式来登录,如0表示Telnet,I表示Rlogin……,各厂商也可以根据需要对该属性的值进行扩展,用于支持Console、SSH、FTP等方式的登录。在本方案中,由于Access-Accept报文中携带的属性Login-Service (15) =0,表示该用户允许使用Telnet方式登录设备,由于授权的Login-Service与实际登录方式一致,管理员成功登录设备。反之,如果在前述S13步骤中,假设Access-Accept报文中携带的属性Login-Service (15)=1,表示允许该授权用户使用Rlogin方式登录设备,此时,RADIUS服务器返回Code=2的认证成功Access-Accept报文后,由于目标网络设备检查授权的Login-Service (Rlogin登录方式)与实际登录方式(Telnet登录方式)不一致,则目标网络设备拒绝管理员登录。
进ー步地,根据RFC2865的规定,属性Login-Service (15)只能出现在Access-Acc印t报文中,且只能出现0或I次,这样ー个管理员账号只能用于ー种登录方式,例如当张三通过Console ロ直接管理网络设备时使用A账号,当使用Telnet方式远程管理设备时就需要使用B账号,FTP到设备上升级软件版本时又需要使用C账号,这给网络管理员账号的管理带来了不方便。另外,根据前面的描述,如果Radius服务器允许授权用户使用的登录方式与该授权用户实际登录的方式不一致,则会出现在Radius服务器上记录用户认证成功的日志,但实际上用户登录网络设备失败的情形,不利于管理员事后对问题的回溯和分析。

发明内容
有鉴于此,本发明提供ー种Radius认证的方法。通过本发明,可以使网络管理员以同一账号实现多种不同登录方式的认证。
为实现本发明目的,本发明实现方案具体如下ー种Radius认证的方法,用于实现同一账号支持多种不同登录方式,其中所述方法包括S21,网络管理员以某种登录方式登录目标网络设备,输入登录用户名和密码;S22,目标网络设备根据配置认为需要到RADIUS服务器上认证,发起Code=I的认证请求报文(Access-Request),携带属性Service-Type (6)=1,表示为Login用户认证,同时携带表示用户登录方式的属性Login-Service (15)相应的參数;S23,RADIUS服务器对用户身份进行认证,并检查管理员用户实际使用的登录方式是否属于其允许使用的登录方式,如果是,则返回Code=2的认证成功报文(Access-Accept)。进ー步地,RADIUS服务器允许管理员用户使用的登录方式,具体为根据实际管理需要,事先设置的Console、Telnet、SSH、Rlogin、FTP登录方式中的ー种或多种。进ー步地,当RADIUS服务器对用户身份认证失败,或检查到管理员实际使用的登录方式不属于其允许使用的登录方式,则返回Code=3的认证拒绝报文(Access-Reject)。本发明同时提供ー种Radius认证的方法,用于实现同一账号支持多种不同登录方式,其中所述方法包括S31,网络管理员以某种登录方式登录目标网络设备,输入登录用户名和密码;S32,目标网络设备根据配置认为需要到RADIUS服务器上认证,发起Code=I的认证请求报文(Access-Request),携带属性Service-Type (6) =1,表示为Login用户认证;S33,RADIUS服务器对用户身份进行认证,如果通过,则返回Code=2的认证成功报文(Access-Accept),并携带RADIUS服务器允许用户登录的所有登录方式对应属性Login-Service (15)參数。进ー步地,RADIUS服务器允许管理员用户使用的登录方式,具体为事先设置的Console、Telnet、SSH、Rlogin、FTP等登录方式中的一种或多种。进ー步地,所述步骤33之后还包括目标网络设备收到Access-Acc印t报文后,检查管理员用户登录的方式是否为允许用户登录方式中的ー种,如果是,则管理员成功登录目标网络设备,否则,则目标网络设备拒绝管理员登录。
进ー步地,在所述步骤33中,如果用户身份认证失败,贝U返回Code=3的认证失败报文(Access-Accept),目标网络设备收到Access-Reject报文后拒绝管理员用户登录。与现有的技术方案相比,本发明可以实现一个网络管理员账号用于多种不同的登录方式进行Radius认证,且当实际登录方式与授权的登录方式不一致导致的网络管理员登录失败直接体现为RADIUS服务器的用户认证失败日志,极大地方便了网络管理员的账号管理。


图I是本发明实施例I同一账号支持多种不同登录方式认证的方法流程图。图2是本发明实施例2同一账号支持多种不同登录方式认证的方法流程图。
具体实施方式

为了实现本发明目的,本发明采用的核心思想为将RFC2865中规定的RADIUS协议中用于表示允许用户登录(Login)方式的Login-Service (15)属性由只能在Code=2的认证成功报文(Access-Accept)中出现(Tl次改为可以在Code=I的认证请求报文(Access-Request)报文中出现0 1次,或者在Code=2的认证成功报文(Access-Accept)中出现多次。通过本发明,可以实现一个网络管理员账号用于多种不同的登录方式认证,极大地方便了网络管理员的账号管理。为使本发明技术方案更加清楚和明白,以下结合本发明具体实施例加以详细说明。实施例I如图I所示,ー种Radius认证的方法,用于实现同一账号支持多种不同登录方式,所述方法包括S21,管理员以某种登录方式登录目标网络设备,输入登录用户名和密码。具体地,所述登录方式与现有登录方式一致,具体可以为Console、Telnet、SSH、Rlogin、FTP等登录方式中的ー种,在此不赘述。S22,目标网络设备根据配置认为需要到RADIUS服务器上认证,发起Code=I的认证请求报文(Access-Request),携带属性Service-Type (6)=1,表示为Login用户认证,同时携带表示用户登录方式的属性Login-Service (15)相应的參数。与现有的方案相比,本发明将Login_Service(15)属性改在Code=I的认证请求报文(Access-Request)中出现,用来表示当前Login用户的登录方式。假设在本发明实施例中,管理员用户采用telnet的方式登录目标网络设备,则此步骤中,携帯的属性Login-Service (15) =0,表示该管理员用户使用Telnet方式登录目标网络设备。S23,RADIUS服务器对用户身份进行认证,并检查管理员用户实际使用的登录方式是否属于其允许使用的登录方式,如果是,则返回Code=2的认证成功报文(Access-Accept);否则,返回Code=3的认证拒绝报文(Access-Reject),并进入步骤25。在本步骤中,RADIUS服务器首先需要对用户身份进行认证,如果对用户身份认证成功,则进ー步检查用户的登记方式是否属于RADIUS服务器允许其使用的登录方式。其中于RADIUS服务器允许管理员用户使用的登录方式,在具体实现时,可以根据实际管理需要,事先设置为Console、Telnet、SSH、Rlogin、FTP等登录方式中的ー种或多种。当管理员用户实际登录的方式为RADIUS服务器允许其使用的登录方式时,返回Code=2的认证成功报文(Access-Accept),并记录管理员登录成功的日志。反之,如果用户身份认证失败(包括输入用户名和密码错误两种情形),或者用户实际登录的方式不是RADIUS服务器允许其使用的登录方式吋,则返回Code=3的认证拒绝报文(Access-Reject),并记录管理员登录失败的日志(包含失败原因),进入步骤25。S24,管理员成功登录设备。在本步骤中,如果管理员用户实际使用的登录方式属于Radius服务器允许使用的登录方式,管理员成功登录设备。假设用户实际通过Telnet方式登录,Radius服务器允许该用户使用Telnet方式登录设备,由于授权的登录方式与用户实际登录方式一致,因此,管理员成功登录设备。
S25,目标网络设备收到Access-Reject报文后拒绝管理员用户登录。本步骤中,当RADIUS服务器对用户身份认证失败,或者管理员实际使用的登录方式不属于其允许使用的登录方式吋,目标网络设备收到Access-Reject报文后拒绝管理员用户登录。与现有技术方案相比,本发明实施例I通过将Login-Service (15)属性改为可以在Code=I的认证请求报文(Access-Request)中出现,用来表示当前Login用户请求的登录方式。通过该实现方式,不仅可以实现同一个管理员账号用于多种不同的登录方式认证,而且当实际登录方式与授权的登录方式不一致导致的网络管理员登录失败,可以直接体现为RADIUS服务器的用户认证失败日志。实施例2如图2所示,ー种Radius认证的方法,用于实现同一账号支持多种不同登录方式,所述方法包括如下步骤S31,网络管理员以某种登录方式登录目标网络设备,输入登录用户名和密码。具体地,所述登录方式与现有登录方式一致,具体可以为Console、Telnet、SSH、Rlogin、FTP等登录方式中的ー种,在此不赘述。S32,目标网络设备根据配置认为需要到RADIUS服务器上认证,发起Code=I的认证请求报文(Access-Request),携带属性Service-Type (6) =1,表示为Login用户认证。S33,RADIUS服务器对用户身份进行认证,如果通过,则返回Code=2的认证成功报文(Access-Accept),并携带RADIUS服务器允许用户登录的所有登录方式对应属性Login-Service (15)的參数;否则,返回Code=3的认证失败报文(Access-Re ject),并进入步骤35。在本步骤中,如果Radius服务器对用户身份认证成功,则返回Code=2的认证成功报文(Access-Accept),并携带RADIUS服务器允许用户登录的所有登录方式对应属性Login-Service (15)參数。其中RADIUS服务器允许管理员用户使用的登录方式,在具体实现时,可以根据实际管理需要,事先设置为Console、Telnet、SSH、Rlogin、FTP等登录方式中的ー种或多种。譬如在本发明中,RADIUS服务器允许管理员用户使用的登录方式为Telnet、Rlogin,则返回 Code=2 的认证成功报文(Access-Accept)时,携带 Login-Service (15) =0以及Login-Service (15)=1这两个属性,并记录管理员登录成功的日志。反之,如果RADIUS服务器对用户身份认证失败(包括输入用户名和密码错误两种情形),则返回Code=3的认证失败报文(Access-Reject),并记录管理员登录失败的日志(包含失败原因),进入步骤35。S34,目标网络设备收到Access-Accept报文后,检查管理员用户登录的方式是否为允许用户登录方式中的ー种,如果是,则管理员成功登录目标网络设备,否则,进入步骤35。具体地,目标网络设备收到Access-Accept报文后,通过解析RADIUS服务器允许用户登录的所有登录方式对应属性Login-Service (15)的參数,得知Radius服务器允许管理员用户登录的所有方式。进ー步地,检查管理员实际登录的方式是否为Radius服务器允许管理员用户登录的所有方式的ー种。如果是,则允许管理员登录目标网 络设备,否则,则进入步骤35。S35,目标网络设备拒绝管理员用户登录。具体地,当RADIUS服务器对用户身份认证失败,目标网络设备收到Radius服务器返回Code=3的认证失败报文(Access-Reject),或者目标网络设备收到RADIUS服务器的Access-Acc印t报文后,检查管理员用户登录的方式非为Radius服务器允许用户的登录方式时,所述目标网络设备则拒绝管理员用户登录。与现有的技术方案相比,通过将Login-Service (15)属性改为在Code=2的认证成功报文(Access-Accept)中出现多次,用来表示当前Login用户运行使用的多个登录方式,其他认证流程仍与现有流程相同,同样可以实现ー个网络管理员账号用于多种不同的登录方式认证。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.ー种Radius认证的方法,用于实现同一账号支持多种不同登录方式,其特征在干,所述方法包括 S21,网络管理员以某种登录方式登录目标网络设备,输入登录用户名和密码; S22,目标网络设备根据配置认为需要到RADIUS服务器上认证,发起Code=I的认证请求报文(Access-Request),携带属性Service-Type (6) =1,表示为Login用户认证,同时携带表示用户登录方式的属性Login-Service (15)相应的參数; S23, RADIUS服务器对用户身份进行认证,并检查管理员用户实际使用的登录方式是否属于其允许使用的登录方式,如果是,则返回Code=2的认证成功报文(Access-Accept)。
2.如权利要求I所述的方法,其特征在干,RADIUS服务器允许管理员用户使用的登录方式,具体为根据实际管理需要,事先设置的C0nS0le、Telnet、SSH、Rl0gin、FTP登录方式 中的ー种或多种。
3.如权利要求I所述的方法,其特征在于,在所述步骤23中,当RADIUS服务器对用户身份认证失败,或检查到管理员实际使用的登录方式不属于其允许使用的登录方式,则返回Code=3的认证拒绝报文(Access-Reject)。
4.ー种Radius认证的方法,用于实现同一账号支持多种不同登录方式,其特征在干,所述方法包括 S31,网络管理员以某种登录方式登录目标网络设备,输入登录用户名和密码; S32,目标网络设备根据配置认为需要到RADIUS服务器上认证,发起Code=I的认证请求报文(Access-Request),携带属性Service-Type (6) =1,表示为Login用户认证; S33,RADIUS服务器对用户身份进行认证,如果通过,则返回Code=2的认证成功报文(Access-Accept),并携带RADIUS服务器允许用户登录的所有登录方式对应属性Login-Service (15)參数。
5.如权利要求4所述的方法,其特征在干,RADIUS服务器允许管理员用户使用的登录方式,具体为事先设置的Console、Telnet、SSH、Rlogin、FTP等登录方式中的ー种或多种。
6.如权利要求4所述的方法,其特征在于,所述步骤33之后还包括目标网络设备收到Access-Acc印t报文后,检查管理员用户登录的方式是否为允许用户登录方式中的一种,如果是,则管理员成功登录目标网络设备,否则,则目标网络设备拒绝管理员登录。
7.如权利要求4所述的方法,其特征在于,在所述步骤33中,如果用户身份认证失败,则返回Code=3的认证失败报文(Access-Accept),目标网络设备收到Access-Reject报文后拒绝管理员用户登录。
全文摘要
本发明公开了一种Radius认证的方法。通过将RFC2865中规定的RADIUS协议中用于表示允许用户登录(Login)方式的Login-Service(15)属性由只能在Code=2的认证成功报文(Access-Accept)中出现0~1次改为可以在Code=1的认证请求报文(Access-Request)报文中出现0~1次,或者在Code=2的认证成功报文(Access-Accept)中出现多次。通过本发明,可以实现同一个账号支持多种不同的登录方式认证,极大地方便了网络管理员的账号管理。
文档编号H04L12/24GK102857508SQ20121033519
公开日2013年1月2日 申请日期2012年9月11日 优先权日2012年9月11日
发明者黄学军 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1