一种认证对接方法和系统的制作方法

文档序号:7702994阅读:576来源:国知局
专利名称:一种认证对接方法和系统的制作方法
技术领域
本发明涉及一种认证对接方法、RADIUS服务器、客户端和认证对接系统,属于数据 通信技术领域。
背景技术
先介绍几个与本发明相关的基本概念 802. lx协议是基于Client/Server (客户端/服务器端模式)的访问控制和认证 协议。它可以限制未经授权的用户/设备通过接入端口访问局域网(Local Area Network, 简称LAN)/无线局域网(Wireless Local AreaNetwork,简称WLAN)。在获得交换机或LAN 提供的各种业务之前,802. lx对连接到交换机端口上的用户/设备进行认证。在认证通过 之前,802. lx只允许基于局域网的扩展认证协议(Extensible AuthenticationProtocol over LAN,简称EAPOL)数据通过设备连接的交换机端口 ,认证通过以后,正常的数据可以顺 利地通过以太网端口。 802. lx定义了基于端口的网络接入控制协议,需要注意的是该协议仅适用于接入
设备与接入端口间点到点的连接方式,其中端口可以是物理端口 ,也可以是逻辑端口 。典型
的应用方式有交换机的一个物理端口仅连接一个终端站点(end station)。 802. lx的体系结构中包括三个部分 1. Supplicant System :用户接入设备; 2. Authenticator System :接入控制设备; 3. Authentication Sever System :认证月艮务器。 在接入控制设备(如交换机)中实现802. lx的认证系统部分;802. lx的客户端一 般安装在用户PC中,典型为Windows XP操作系统自带的客户端;802. lx的认证服务器系 统一般驻留在运营商的认证授权计费(Authentication Authorization Accounting,简称 AAA)中心,采用远程用户拨号认证系统(Remote Authentication Dial In User Service, 简称RADIUS)服务器。用户接入设备与接入控制设备间运行802. lx定义的EAPOL协议; 接入控制设备与认证服务器间同样运行扩展认证协议EAP(Extensible Authentication Protocol,简称EAP) , EAP帧中封装了认证数据,将该协议承载在其他高层次协议中,如 RADIUS,以便穿越复杂的网络到达认证服务器。接入控制设备中的每个物理端口内部有受 控端口 (Controlled Port)和非受控端口 (Uncontrolled Port)。非受控端口始终处于双 向连通状态,主要用来传递EAPOL协议帧,可保证随时接收用户接入设备发出的认证EAPOL 报文。受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。受控端口可 配置为双向受控和仅输入受控两种方式,以适应不同的应用环境。输入受控方式应用在需 要桌面管理的场合,例如管理员远程唤醒一台计算机。 RADIUS是一种在网络接入服务器(Network Access Server,简称NAS)和共享认 证服务器间传输认证、授权和配置信息的协议。RADIUS使用UDP作为其传输协议。此外 RADIUS也负责传送网络接入服务器和共享计费服务器间的计费信息。主要特征如下 Client/Server :网络接入服务器作为RADIUS的客户端,负责将用户信息传递给 指定的RADIUS服务器,然后根据返回信息进行操作。RADIUS服务器负责接收用户连接请 求,认证用户后,返回所有必要的配置信息以便客户端为用户提供服务。RADIUS服务器可以 作为其他RADIUS服务器或认证服务器的代理。 网络安全客户端与RADIUS服务器之间的通信是通过共享密钥的使用来鉴别的, 这个共享密钥不会通过网络传送。此外,任何用户口令在客户机和RADIUS服务器间发送时 都需要进行加密过程,以避免有人通过嗅探非安全网络得到用户密码。
灵活认证机制RADIUS服务器支持多种用户认证方法。当用户提供了用户名和原 始口令后,RADIUS服务器可支持点到点协议(Point-to-PointProtocol,简称PPP)、密码认 证协议(Password Authentication Protocol,简称PAP)或挑战握手认证协议(Challenge Handshake AuthenticationProtocol,简称CHAP)和其它认证机制。 协议的可扩充性所有的事务都是由不同长度的"属性_长度_值"的三元组构成
的。新的属性值的加入不会影响到原有协议的执行。 RADIUS数据包格式如下所示,各个域是自左向右传送的。
CodeIdent if ierLength
Authent icatorAttributes



1) Code :标识RADIUS包的类型;
2) Identifier :匹配请求和响应的标识符;
3) Length :总长度;
4) Authenticator :该字段用来识别RADIUS服务器和隐藏口令算法中的答复。
5) Attributes :属性可能包含多个实例,在这种情况下同种类型的各个属性的排
列应当保持一定的顺序,但是不同类型的各个属性的排列顺序是任意的。
RADIUS私有属性 上面的属性(Attribute)的数据格式有两种, 一种是标准属性、数据格式如下所
示;
Type Length Value 1 另一种是类型值为26的私有属性(Vendor-Specific),数据格式如下所示;私有
属性允许厂商扩展不适合作为通用用途的属性。
TypeLengthVendor-idValue2 1)Type :指示了 Attribute的类型;
2)Length :指明Attribute的长度; 3)Valuel有4种类型字符型String、地址类型Ip-address、整型Integer、时间
4类型Time,为属性对应的值; 4)Vendor-Id :是以网络字节顺序排列的私人企业代码;
5) Value2与Value 1类型相同。 轻量级目录访问协议(Lightweight Directory Access Protocol,简称LDAP)是 目录服务在传输控制协议/因特网互联协议(TransmissionControl Protocol/Internet Protocol,简称TCP/IP)上的实现。 在LDAP中目录是按照树型结构组织,目录由条目(Entry)组成,条目相当于关系 数据库中表的记录;条目是具有区别名(DistinguishedName,简称DN)的属性(Attribute) 集合,DN相当于关系数据库表中的主关键字(Primary Key);属性由类型(Type)和多个值 (Values)组成,相当于关系数据库中的域(Field)由域名和数据类型组成,只是为了方便 检索的需要,LDAP中的Type可以有多个Value,而不是关系数据库中为降低数据的冗余性 要求实现的各个域必须是不相关的。 LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常直观。LDAP把数 据存放在文件中,为提高效率可以使用基于索引的文件数据库,而不是关系数据库。
RADIUS和LDAP对接 LDAP提供了 一个集中的数据仓库,允许不同的名称服务共享数据,只要在LDAP服 务器上更新数据,所有服务使用的数据都得到同步更新,管理非常方便。LDAP能够快速响应 用户的查找需求,相对数据库来说,有更好的查找效率。因此LDAP服务器常被用来储存账 号和密码。 RADIUS协议由于其支持多种认证法方式、易于扩展、相对安全、易于实现等特点, 已经成为网络环境中一个事实上的AAA标准。因此目前在802. lx系统的认证模型下,通常 都是使用RADIUS服务器作为认证服务器。 下面两种情况,是最常见的使用RADIUS服务器作为认证服务器,LDAP服务器存储 账号和密码信息的情况,需要将RADIUS和LDAP进行对接。 —种情况是客户在部署RADIUS系统之前已经有较为完善的LDAP系统,存储着用 户信息。此时客户要求引入统一认证机制,要求只保留一套用户信息,其他内部系统均将验 证请求发送到LDAP系统进行认证。这就要求RADIUS认证系统必须与LDAP系统进行对接。
另一种情况是,RADIUS系统中有一套用户信息,LDAP也有一套用户信息。客户在 实施网络改造时,需要将各个分散的系统整合起来,如邮件统, 一卡通,认证计费系统等等。 而各个系统的统一首先要做的就是用户名密码的统一,LDAP是用户信息数据存储的首选系 统。这就要求RADIUS认证系统必须与LDAP系统进行对接。 RADIUS和LDAP进行对接时,为了安全考虑,RADIUS服务器通常使用非可逆加密算 法的认证类型,比如EAP,CHAP,可以防止攻击。而LDAP服务器上也一般用非可逆加密算法 存储用户密码信息。 非可逆加密是为了防止直接通过链路发送明文口令,导致用户的密码很容易在链 路上被截获而产生的,其具体实现是,由交换机或RADIUS服务器生成一串随机加密字,客 户端将用户口令信息和随机加密字一起进行MD5 (Message-digest Algorithm 5,信息摘要 算法)加密处理。之后交换机会把用户名、随机加密字和客户端加密后的口令信息一起送 给RADIUS服务器,进行相关的认证处理。在认证用户时,用户的口令不会在网上明文传送,而是使用了 MD5算法对口令进行加密。没有密钥的人是无法正确加密口令的,也无法正确 地对加密过的口令进行解密。 MD5是一个算法,它的输入是一段数据,输出是一个16字节的摘要,它的运算是单 向的,即从输出推算不出输入。 由于RADIUS和LDAP使用的加密算法不同,同时由于非可逆加密算法无法从密文
计算出明文,RADIUS服务器无法到LDAP服务器上进行用户名密码校验。 目前业界为了解决这个问题,一个方式是RADIUS服务器使用明文的认证协议,如
PAP。 认证时,RADIUS服务器获得报文中用户的明文密码后,将用户名和明文密码发送 到LDAP进行认证。根据LDAP校验结果返回认证成功或失败消息。 另一个方法是修改LDAP上的密码为明文存储。认证时,RADIUS服务器先通过LDAP 管理员身份从LDAP服务器取出该用户的明文密码信息,由于知道使用的认证协议,因此用 户相同的加密算法加密从LDAP服务器获得的用户明文密码,与报文中的密码进行比较,根 据比较的结果返回认证成功或失败消息。 但是业界目前LDAP服务器绝大部份均是使用加密方式存储。PAP直接传明文的方 式,使得用户密码极易泄露,所以这种认证方式也及不常用。而且上面两种方法均容易泄露 用户的密码信息,安全性不高。 而在专利《用户认证信息的共享方法》(专利申请号200410049175. 8)中,对这种 情况的处理则是直接认证失败,没有解决该问题。

发明内容
本发明的目的是提供一种认证对接方法、RADIUS服务器、客户端和认证对接系统, 用于解决RADIUS和LDAP在均使用非可逆加密算法对用户密码加密时无法进行对接的问 题。 为实现上述目的,本发明提供了一种认证对接方法,所述方法包括 步骤Sl,客户端向网络接入服务器发送认证请求报文,将用户密码加密并组装成
私有属性附加到认证请求报文中; 步骤S2,网络接入服务器收到所述认证请求报文后,将其中的私有属性附加到用 户认证的远程用户拨号认证系统RADIUS报文中,并向RADIUS服务器发送RADIUS报文;
步骤S3, RADIUS服务器收到所述RADIUS报文后,获取私有属性中的加密密码,并 解密出明文密码; 步骤S4, RADIUS服务器使用所述明文密码在轻量级目录访问协议LDAP服务器上 进行用户名密码校验; 步骤S5, LDAP服务器返回校验结果给RADIUS服务器,RADIUS服务器根据校验结 果通知网络接入服务器用户是否认证通过。 为了实现上述目的,本发明还提供了 一种RADIUS服务器用于收到RADIUS报文后, 获取私有属性中的加密密码,并解密出明文密码;以及使用所述明文密码在轻量级目录访 问协议LDAP服务器上进行用户名密码校验; 所述RADIUS服务器还用于收到LDAP服务器返回的校验结果后,根据校验结果通
6知网络接入服务器用户是否认证通过。 为了实现上述目的,本发明又提供了一种客户端,用于向网络接入服务器发送认 证请求报文,将用户密码加密并组装成私有属性附加到认证请求报文中。
为了实现上述目的,本发明再提供了一种认证对接系统,所述系统包括客户端、网 络接入服务器、RADIUS服务器和LDAP服务器; 所述客户端用于向网络接入服务器发送认证请求报文,将用户密码加密并组装成 私有属性附加到认证请求报文中; 所述网络接入服务器与客户端连接,用于在收到所述认证请求报文后,将其中的 私有属性附加到用户认证的远程用户拨号认证系统RADIUS报文中,并向RADIUS服务器发 送RADIUS报文; 所述RADIUS服务器与网络接入服务器连接,用于在收到所述RADIUS报文后,获取 私有属性中的加密密码,并解密出明文密码;以及使用所述明文密码在轻量级目录访问协 议LDAP服务器上进行用户名密码校验;还用于收到LDAP服务器返回的校验结果后,根据校 验结果通知网络接入服务器用户是否认证通过; 所述LDAP服务器与RADIUS服务器连接,用于进行用户名密码校验,并返回校验结 果给RADIUS服务器。 由于在RADIUS和LDAP均使用非可逆加密算法对用户密码加密时,RADIUS无法获 知LDAP密码加密算法,RADIUS和LDAP对接存在问题,本发明通过使用RADIUS报文中的私 有属性携带用户密码到LDAP服务器进行用户名密码校验,解决了目前业界RADIUS和LDAP 均使用非可逆加密算法对用户密码加密的情况下,RADIUS服务器得到的用户名密码无法在 LDAP服务器上进行校验的问题。


图1为本发明一种认证对接方法实施例一示意图
图2为本发明一种认证对接系统实施例一示意图
图3为本发明一种认证对接系统实施例二示意图
具体实施例方式
本发明的目的是提供一种认证对接方法、RADIUS服务器、客户端和认证对接系统, 用于解决RADIUS和LDAP在均使用非可逆加密算法对用户密码加密时无法进行对接的问 题。 下面结合附图对本发明进行说明,本发明提供了一种认证对接方法,图l给出了 本发明一种认证对接方法实施例一示意图,所述方法包括 步骤Sl,客户端向网络接入服务器发送认证请求报文,将用户密码加密并组装成 私有属性附加到认证请求报文中; 所述将用户密码加密的算法可以为可逆加密算法。 步骤S2,网络接入服务器收到所述认证请求报文后,将其中的私有属性附加到用 户认证的RADIUS报文中,并向RADIUS服务器发送RADIUS报文; 所述网络接入服务器可以为认证交换机,交换机具备802. lx的认证功能,并实现了私有属性透传功能。私有属性透传功能是指交换机能将客户端发出的报文中的私有属性 封装成RADIUS报文的私有属性,传给RADIUS服务器。 私有属性可以用实现一些生产厂商各自的特性功能,比如说用户接入设备的防破 解功能、自动升级功能等.目前的标准协议并没有设置机制用来在RADIUS服务器和用户接 入设备之间传递各个厂商之间的私有属性。因此不同的厂商有不同的实现。私有属性字段 通常也不公开。 例如可以在用户接入设备认证时将这些私有信息附加到EAP的回应挑战 (Response-challenge)报文中,认证交换机收到这些数据转换成RADIUS报文的私有属性 发送给RADIUS服务器。RADIUS服务器下发给用户接入设备的私有属性是通过附加在EAP 的请求挑战(Request-Challenge)报文中,此时RADIUS服务器通过Request-Challenge 通知用户接入设备将使用可逆加密算法加密的用户密码通过私有属性传递给RADIUS服务 器。在一般情况下不需要使用私有属性传递用户密码,只有在RADIUS与LDAP对接时才需 要进行这种操作。 步骤S3, RADIUS服务器收到所述RADIUS报文后,获取私有属性中的加密密码,并 解密出明文密码; 步骤S4, RADIUS服务器使用所述明文密码在LDAP服务器上进行用户名密码校 验; 步骤S5, LDAP服务器返回校验结果给RADIUS服务器,RADIUS服务器根据校验结 果通知网络接入服务器用户是否认证通过。 由于在RADIUS和LDAP均使用非可逆加密算法对用户密码加密时,RADIUS无法获 知LDAP密码加密算法,RADIUS和LDAP对接存在问题,本发明通过使用RADIUS报文中的私 有属性携带用户密码到LDAP服务器进行用户名密码校验,解决了目前业界RADIUS和LDAP 均使用非可逆加密算法对用户密码加密的情况下,RADIUS服务器得到的用户名密码无法在 LDAP服务器上进行校验的问题。 本发明还提供了一种RADIUS服务器,用于收到RADIUS报文后,获取私有属性中的 加密密码,并解密出明文密码;以及使用所述明文密码在LDAP服务器上进行用户名密码校 验; 所述RADIUS服务器还用于收到LDAP服务器返回的校验结果后,根据校验结果通 知网络接入服务器用户是否认证通过。 本发明又提供了一种客户端,用于向网络接入服务器发送认证请求报文,将用户 密码加密并组装成私有属性附加到认证请求报文中。 本发明再提供了一种认证对接系统,图2给出了本发明一种认证对接系统实施例 一示意图,所述系统包括客户端、网络接入服务器、RADIUS服务器和LDAP服务器;
所述客户端用于向网络接入服务器发送认证请求报文,将用户密码加密并组装成 私有属性附加到认证请求报文中; 所述将用户密码加密的算法可以为可逆加密算法。 所述网络接入服务器与客户端连接,用于在收到所述认证请求报文后,将其中的
私有属性附加到用户认证的RADIUS报文中,并向RADIUS服务器发送RADIUS报文; 所述网络接入服务器可以为认证交 机,交换机具备802. lx的认证功能,并实现了私有属性透传功能。 所述RADIUS服务器与网络接入服务器连接,用于在收到所述RADIUS报文后,获取 私有属性中的加密密码,并解密出明文密码;以及使用所述明文密码在LDAP服务器上进行 用户名密码校验;还用于收到LDAP服务器返回的校验结果后,根据校验结果通知网络接入 服务器用户是否认证通过; 所述LDAP服务器与RADIUS服务器连接,用于进行用户名密码校验,并返回校验结 果给RADIUS服务器。 图3给出了本发明一种认证对接系统的一个较优实施例,要实现本发明的方案至 少需要如下设备一台LDAP服务器,一台RADIUS服务器,一台支持802. lx认证和私有属性 透传功能的认证交换机,一台支持802. lx认证客户端的个人计算机(Personal Computer, 简称PC)。 本实施例的拓扑有如下特征 RADIUS服务器一台。LDAP服务器一台,交换机至少有一台,可以有多台,每台交换 机下可以连接一台或多台认证客户端PC。 本实施例按照如下步骤完成在用户认证的RADIUS报文中包括使用非可逆加密算 法加密的密码,LDAP服务器存储使用非可逆加密算法加密的密码的情况下,使用Radius报 文中的用户名密码到LDAP做用户名密码校验的功能。 步骤一 认证客户端发起认证请求,并将用户的密码进行加密组装成私有属性。加 密算法为可逆算法,既保证了信息的安全,又能在RADIUS服务器端解密出明文密码。
步骤二 认证交换机将上面的私有属性附加到用户认证的RADIUS报文中。其他的 公有属性按照协议标准进行组装,例如在公有属性中携带用户名。 步骤三RADIUS服务器收到RADIUS报文中通过私有属性上传的加密密码,并解密 出明文密码。 步骤四RADIUS服务器使用该明文密码在LDAP服务器上进行用户名密码校验。
步骤五LDAP返回校验结果。如果校验通过,RADIUS服务器通知认证交换机该用 户认证通过,用户则可以上网。如果校验不通过,则通知认证交换机该用户认证失败。
在本发明的方案中,RADIUS报文和LDAP服务器上的用户密码信息均是加密的,保 证了安全。 本发明的方案提供了丰富的认证协议支持,支持PAP、EAP、CHAP等。
本发明的方案支持所有标准实现的LDAP服务器类型。 最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种认证对接方法,其特征在于,所述方法包括步骤S1,客户端向网络接入服务器发送认证请求报文,将用户密码加密并组装成私有属性附加到认证请求报文中;步骤S2,网络接入服务器收到所述认证请求报文后,将其中的私有属性附加到用户认证的远程用户拨号认证系统RADIUS报文中,并向RADIUS服务器发送RADIUS报文;步骤S3,RADIUS服务器收到所述RADIUS报文后,获取私有属性中的加密密码,并解密出明文密码;步骤S4,RADIUS服务器使用所述明文密码在轻量级目录访问协议LDAP服务器上进行用户名密码校验;步骤S5,LDAP服务器返回校验结果给RADIUS服务器,RADIUS服务器根据校验结果通知网络接入服务器用户是否认证通过。
2. 根据权利要求1所述的方法,其特征在于,步骤SI中所述将用户密码加密的算法为 可逆加密算法。
3. 根据权利要求1或2所述的方法,其特征在于,所述网络接入服务器为认证交换机。
4. 一种RADIUS服务器,其特征在于,用于收到RADIUS报文后,获取私有属性中的加密 密码,并解密出明文密码;以及使用所述明文密码在LDAP服务器上进行用户名密码校验;所述RADIUS服务器还用于收到LDAP服务器返回的校验结果后,根据校验结果通知网 络接入服务器用户是否认证通过。
5. —种客户端,其特征在于,用于向网络接入服务器发送认证请求报文,将用户密码加 密并组装成私有属性附加到认证请求报文中。
6. —种认证对接系统,其特征在于,所述系统包括客户端、网络接入服务器、RADIUS服 务器和LDAP服务器;所述客户端用于向网络接入服务器发送认证请求报文,将用户密码加密并组装成私有 属性附加到认证请求报文中;所述网络接入服务器与客户端连接,用于在收到所述认证请求报文后,将其中的私有 属性附加到用户认证的远程用户拨号认证系统RADIUS报文中,并向RADIUS服务器发送 RADIUS报文;所述RADIUS服务器与网络接入服务器连接,用于在收到所述RADIUS报文后,获取私 有属性中的加密密码,并解密出明文密码;以及使用所述明文密码在轻量级目录访问协议 LDAP服务器上进行用户名密码校验;还用于收到LDAP服务器返回的校验结果后,根据校验 结果通知网络接入服务器用户是否认证通过;所述LDAP服务器与RADIUS服务器连接,用于进行用户名密码校验,并返回校验结果给 RADIUS服务器。
7. 根据权利要求6所述的系统,其特征在于,所述将用户密码加密的算法为可逆加密算法。
8. 根据权利要求6或7所述的系统,其特征在于,所述网络接入服务器为认证交换机。
全文摘要
本发明提供了一种认证对接方法、RADIUS服务器、客户端和认证对接系统。由于在RADIUS和LDAP均使用非可逆加密算法对用户密码加密时,RADIUS无法获知LDAP密码加密算法,RADIUS和LDAP对接存在问题,本发明通过使用RADIUS报文中的私有属性携带用户密码到LDAP服务器进行用户名密码校验,解决了目前业界RADIUS和LDAP均使用非可逆加密算法对用户密码加密的情况下,RADIUS服务器得到的用户名密码无法在LDAP服务器上进行校验的问题。
文档编号H04L9/32GK101707522SQ200910093369
公开日2010年5月12日 申请日期2009年9月29日 优先权日2009年9月29日
发明者吴俊 , 杨鑫伟 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1