一种安全策略服务器的地址获取方法和设备与流程

文档序号:11156471阅读:322来源:国知局
一种安全策略服务器的地址获取方法和设备与制造工艺
本发明涉及通信
技术领域
,尤其涉及一种安全策略服务器的地址获取方法和设备。
背景技术
:802.1X协议是一种基于端口的网络接入控制协议,广泛用于解决以太网内客户端的安全认证和安全接入问题。所谓“基于端口的网络接入控制”是指在局域网接入设备的端口这一级别对接入的客户端进行认证和控制,连接到接入设备的端口上的客户端只有通过802.1X认证,才能访问局域网中的资源。常规的802.1X认证包括以下主要过程:(1)客户端或接入设备发起802.1X认证请求;(2)远端用户拨号认证服务(RemoteAuthenticationDialinUserService,简称:RADIUS)服务器接收认证请求,并返回认证结果;(3)接入设备通过认证,打开受控端口;(4)认证包丢失重传;(5)重新认证;(6)退出已认证态,即客户端“下线”。而在企业网络中,为了增强网络安全性,除了通过802.1X认证服务器对客户端的用户身份进行认证外,还可以通过安装在客户端上的802.1X安全接入软件对客户端执行安全策略,如是否安装了防病毒软件、是否更新了病毒库、是否安装了非法软件、是否更新了操作系统补丁等,来检查客户端的系统环境是否满足安全条件,只有满足安全条件的客户端才被允许访问局域网中的资源,不满足安全条件的客户端将被隔离或被阻止接入局域网。由于企业实施的安全策略会发生变化,因此客户端上的802.1X安全接入软件需要连接到存放安全策略的安全策略服务器获取和升级安全策略。通常是将安全策略服务器的IP地址定制到802.1X安全接入软件的安装包 中;客户端在认证通过后,通过802.1X安全接入软件中内置的安全策略服务器的IP地址,连接安全策略服务器。但是,不同的网络区域,客户端需要连接到不同的安全策略服务器,这样就需要为每个网络区域分别定制不同的802.1X安全接入软件的安装包,并且针对不同的网络区域分发安装包,实施上比较复杂,也容易出错。技术实现要素:本申请提供一种安全策略服务器的地址获取方法和设备,使得客户端可以更简便、灵活地获取安全策略服务器的地址。第一方面,提供了一种安全策略服务器的地址获取方法,RADIUS服务器接收接入设备转发的客户端的认证请求;在对所述客户端认证通过之后,所述RADIUS服务器获取所述接入设备的地址;所述RAIDUS服务器向管理服务器发送地址查询请求,所述地址查询请求中包括所述接入设备的地址;所述RADIUS服务器接收所述管理服务器响应所述地址查询请求返回的地址查询响应,所述地址查询响应中包括与所述接入设备的地址对应的安全策略服务器的地址;所述RADIUS服务器向所述客户端发送认证交互报文,所述认证交互报文中包括所述安全策略服务器的地址,以使所述客户端从所述认证交互报文中获取所述安全策略服务器的地址。这样,通过将安全策略服务器的地址存放在RADIUS服务器发往客户端的认证交互报文中,使得客户端能够简便地从接收的认证交互报文中获取到安全策略服务器的地址。结合第一方面,在第一方面的第一种可能的实现方式中,所述认证交互报文为EAP-TLVRequest报文。第二方面,提供了一种安全策略服务器地址的获取方法,客户端通过接入设备向RADIUS服务器发起认证过程;所述客户端接收所述所述RADIUS服务器返回的认证交互报文,所述认证交互报文中包括所述RADIUS服务器根据 所述接入设备的地址从管理服务器查询获得的安全策略服务器的地址;所述客户端从所述认证交互报文中获取所述安全策略服务器的地址。结合第二方面,在第二方面的第一种可能的实现方式中,在所述客户端从接收的所述认证交互报文中获取安全策略服务器的地址之后,所述方法还包括:所述客户端通过获取的所述安全策略服务器的地址,与所述安全策略服务器建立TCP长连接;所述TCP长连接可用于指示所述安全策略服务器的地址是否发生变化;如果所述TCP长连接断开,则所述客户端退出已认证态,并通过所述接入设备重新向所述RADIUS服务器发起认证过程,以重新获取安全策略服务器的地址。结合第二方面,在第二方面的第二种可能的实现方式中,在所述客户端从接收的所述认证交互报文中获取安全策略服务器的地址之后,所述方法还包括:如果所述客户端无法通过获取的所述安全策略服务器的地址与所述安全策略服务器建立连接,则所述客户端退出已认证态,并通过所述接入设备重新向所述RADIUS服务器发起认证过程,以重新获取安全策略服务器的地址。通过以上两种实现方式,即使安全策略服务器的地址发生变化,客户端也可以通过重新发起认证再次获得新的安全策略服务器的地址。第三方面,提供了一种RADIUS服务器,所述RADIUS服务器具有实现上述方法中RADIUS服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。一种可能的实现方式中,所述RADIUS服务器包括发送器、接收器和处理器,所述发送器、所述接收器和所述处理器之间通过总线相互连接;其中接收器,用于接收接入设备转发的客户端的认证请求;处理器,用于在对所述客户端认证通过后,获取所述接入设备的地址;发送器,用于向管理服务器发送地址查询请求,所述地址查询请求中包括所述接入设备的地址;所述接收器还用于,接收所述管理服务器响应所述地址查询请求返回的地址查询响应,所述地址查询响应中包括与所述接入设备的地址对应的安全策略服务器的地址;所述发送器还用于,向所述客户端发送认证交互报文,所述认证交互报文中包括所述安全策略服务器的地址,以使所述客户端从所述认证交互报文中获取所述安全策略服务器的地址。另一种可能的实现方式中,所述RADIUS服务器包括:接收单元,用于接收接入设备转发的客户端的认证请求;处理单元,用于在对所述客户端认证通过后,获取所述接入设备的地址;发送单元,用于向管理服务器发送地址查询请求,所述地址查询请求中包括所述接入设备的地址;所述接收单元还用于,接收所述管理服务器响应所述地址查询请求返回的地址查询响应,所述地址查询响应中包括与所述接入设备的地址对应的安全策略服务器的地址;所述发送单元还用于,向所述客户端发送认证交互报文,所述认证交互报文中包括所述安全策略服务器的地址,以使所述客户端从所述认证交互报文中获取所述安全策略服务器的地址。第四方面,提供了一种客户端,所述客户端具有实现上述方法中客户端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。一种可能的实现方式中,所述客户端包括发送器、接收器和处理器,所述发送器、所述接收器和所述处理器之间通过总线相互连接;其中发送器,用于通过接入设备向RADIUS服务器发起认证过程;接收器,用于接收所述RADIUS服务器返回的认证交互报文,所述认证交互报文中包括所述RADIUS服务器根据所述接入设备的地址从管理服务器查询获得的安全策略服务器的地址;处理器,用于从所述认证交互报文中获取所述安全策略服务器的地址。另一种可能的实现方式中,所述客户端包括:发送单元,用于通过接入设备向RADIUS服务器发起认证过程;接收单元,用于接收所述RADIUS服务器返回的认证交互报文,所述认证交互报文中包括所述RADIUS服务器根据所述接入设备的地址从管理服务器查询获得的安全策略服务器的地址;处理单元,用于从所述认证交互报文中获取所述安全策略服务器的地址。利用本申请提供的方案,通过将安全策略服务器的地址存放在RADIUS服务器发往客户端的认证交互报文中,使得客户端能够简便灵活地从接收的认证交互报文中获取到安全策略服务器的地址附图说明图1为本申请提供的一种安全策略服务器的地址获取方法应用的系统架构的示意图;图2为本申请提供的一种安全策略服务器的地址获取方法的流程示意图;图3为本申请提供的一种使用PEAP协议的802.1x认证过程中的报文交互示意图;图4A为本发明实施例提供的一种RADIUS服务器的结构示意图;图4B为本发明实施例提供的另一种RADIUS服务器的结构示意图;图5A为本发明实施例提供的一种客户端的结构示意图;图5B为本发明实施例提供的另一种客户端的结构示意图;图6A为本发明实施例提供的一种管理服务器的结构示意图;图6B为本发明实施例提供的另一种管理服务器的结构示意图;图7A为本发明实施例提供的一种安全策略服务器的结构示意图;图7B为本发明实施例提供的另一种安全策略服务器的结构示意图。具体实施方式本申请提供了一种安全策略服务器的地址获取方法和设备,通过将安全策略服务器的地址存放在RADIUS服务器发往客户端的认证交互报文的方式,使得客户端能够简便地从接收的认证交互报文中获取到安全策略服务器的地址。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请提供的安全策略服务器的地址获取方法,可应用于图1所示的系统中,该系统包括客户端、接入设备、RADIUS服务器、安全策略服务器和管理服务器,其中,客户端,用于通过自身安装的802.1X安全接入软件发起802.1X认证,以及连接安全策略服务器获取或升级安全策略,根据获取或升级后的安全策略对自身执行安全检查,并向连接的安全策略服务器上报执行安全检查后产生的违规信息;所述客户端和所述接入设备之间来往的报文采用可扩展认证协议(ExtensibleAuthenticationProtocol,简称:EAP)。接入设备,用于将客户端发送的EAP报文封装成RADIUS报文后转发给RADIUS服务器;以及将RADIUS服务器返回的RADIUS报文解封装,并将解封装后得到的EAP报文转发给客户端。RADIUS服务器,用于对接入设备转发的客户端的认证请求进行认证,以及在对客户端认证通过后从管理服务器上获取负责管理所述接入设备的安全策略服务器的地址,并将获取到的安全策略服务器的地址存放在认证交互报文中发送给所述客户端。安全策略服务器,存有安全策略,用于周期性地向管理服务器上报自身的负载情况,或在接收到管理服务器的状态查询请求时返回自身的负载情况;安全策略服务器有多个,一般采用分布式的方式部署。管理服务器,用于管理安全策略服务器,可以配置接入设备地址与安全策略服务器地址的映射关系,即来自哪个接入设备的客户端被哪些安全策略服务器管理;在接收到RADIUS服务器发送的地址查询请求时,返回与所述地址查询请求包含的接入设备的地址相对应的安全策略服务器的地址。此外,所述管理服务器还可以用于监控所管理的各个安全策略服务器的负载情况。本申请中,管理服务器和RADIUS服务器可以合并部署,即上述管理服务器的功能可以由RADIUS服务器实现,或者,管理服务器和RADIUS服务器也可以分开部署。实际应用中,考虑到RADIUS服务器是一个重要设备,为减少对RADIUS服务器的改动,一般将管理服务器和RADIUS服务器分开部署。此外,由于RADIUS服务器可能有多个,安全策略服务器也可能有多个,将管理服务器和RADIUS服务器分开部署,由管理服务器统一管理安全策略服务器,这样安全策略服务器可以只用向管理服务器上报自身的负载情况,RADIUS服务器也只用与管理服务器连接,减少了RADIUS服务器和安全策略服务器之间的连接。如图2所示为本申请提供的一种安全策略服务器的地址获取方法的流程示意图,所述方法包括:步骤201:客户端通过接入设备向RADIUS服务器发起认证过程。步骤202:所述RADIUS服务器在对所述客户端认证通过之后,获取所述接入设备的地址。接入设备将客户端发送的EAP报文封装在RADIUS报文中,上报给RAIDUS服务器,RAIUDS服务器可以从接收的RADIUS报文中获得接入设备的IP地址。步骤203:所述RADIUS服务器向管理服务器发送地址查询请求,所述地址查询请求中包括所述接入设备的地址。其中,所述地址查询请求可以通过私有协议实现,可以通过远程过程调用协议(RemoteProcedureCallProtocol,简称:RPC)或自定义通信报文实现。步骤204:所述管理服务器接收所述地址查询请求后,根据设置的接入设备地址与安全策略服务器地址的对应关系,获取与所述接入设备的地址对应的安全策略服务器的地址。本申请中,所述接入设备地址与安全策略服务器地址的对应关系,即来自哪个接入设备的客户端被哪些安全策略服务器所管理,可以在所述管理服务器上进行配置。一个接入设备可以对应多个安全策略服务器,此时所述管理服务器可以根据接入设备和这多个安全策略服务器的网络部署区域,配置这多个安全策略服务器的主备属性。如,在两个地区,比如区域A和区域B,分别有一个安全策略服务器,对于在区域A的接入设备,可以将区域A的安全策略服务器配置为该接入设备的主安全策略服务器,将区域B的安全策略服务器配置为该接入设备的备份安全策略服务器,后续可以优先将属性为主安全策略服务器的安全策略服务器的地址通知给该接入设备,使得该接入设备管辖下的同在区域A的客户端可以优先连接到处于同一网络区域的安全策略服务器上,这样可以加快客户端从安全策略服务器下载数据和上传数据至安全策略服务器的速度。如下表1所示,为本发明实施例提供的接入设备地址与安全策略服务器地址的对应关系的一个示例,其中还包括主备关系。表1接入设备地址与安全策略服务器地址的对应关系接入设备的地址安全策略服务器的地址主备关系1.1.1.110.10.10.10主1.1.1.111.11.11.11备1.1.1.122.22.22.22备2.2.2.210.10.10.10备2.2.2.211.11.11.11主本申请并不限制所述对应关系的存储位置,只要所述管理服务器可以获取到即可,如所述对应关系可以保存在所述管理服务器的内存中,或者硬盘上,或者所述管理服务器的外接存储设备上。可选的,本申请中所述管理服务器可以周期性地向安全策略服务器查询所述安全策略服务器的负载情况;或者,所述管理服务器也可以接收所述安全策略服务器周期性发送的所述安全策略服务器的负载情况。其中,所谓负载情况,即所述安全策略服务器当前连接的客户端的数目与所述安全策略服务器支持连接的客户端的最大数目的比值。安全策略服务器的负载情况影响客户端从该安全策略服务器获取安全策略的速度,以及影响客户端向安全策略服务器上传执行安全策略后产生的违规信息的实时性。可选的,所述管理服务器还可以记录最近一次获取到所述安全策略服务器的负载情况的时间,如果最近一次获取到某个安全策略服务器的时间与当前时间的差值超过了设定时长,则表明该安全策略服务器的实际地址已发生变化,可以对该安全策略服务器进行标记,如标记为“离线”状态,以提醒管理人员该安全策略服务器的地址发生变化,需要排查该安全策略服务器是否出现故障。此外,还要同步调整上述表1所示的接入设备地址与安全策略服务器地址的对应关系。如下表2所示,为本发明实施例提供的管理服务器记录的安全策略服务器的状态信息的示例,其中包括安全策略服务器的地址,例如IP地址,最近获取时间,以及负载情况。表2安全策略服务器的状态信息示例安全策略服务器的地址最近获取时间负载情况10.10.10.102015-1-110:10:0010%11.11.11.11离线离线22.22.22.222015-1-110:10:0030%可选的,所述管理服务器在获取与所述接入设备的地址对应的安全策略服务器的地址时,首先获取所有与所述接入设备的地址对应的安全策略服务器的地址,也即不考虑主备关系。例如,在表1中获取负责管理IP地址为1.1.1.1的接入设备的安全策略服务器的地址,可以得到三个IP地址:10.10.10.10、11.11.11.11和22.22.22.22。然后,从所述多个安全策略服务器的地址中筛选出负载情况较轻的N个安全策略服务器的地址。例如,若N设置为2,则根据表2可以进一步获得负责管理IP地址为1.1.1.1的接入设备的安全策略服务器的地址为10.10.10.10和22.22.22.22。可选的,所述管理服务器还可以从所述多个安全策略服务器的地址中先筛选出主备属性为主的安全策略服务器的地址,然后再筛选出负载较轻的N个安全策略服务器的地址。或者,所述管理服务器也可以从所述多个安全策略服务器的地址中先筛选出负载较轻的M个安全策略服务器的地址,再从筛选得到的M个安全策略服务器的地址中再筛选出N个主备属性为主属性的安全策略服务器的地址。其中M和N均为大于等于1的正整数。步骤205:所述管理服务器向所述RADIUS服务器返回地址查询响应,所述地址查询响应中包括与所述接入设备的地址对应的所述安全策略服务器的地址。步骤206:所述RADIUS服务器接收所述管理服务器返回的所述地址查询响应后,向所述客户端发送认证交互报文,所述认证交互报文中包括所述RADIUS服务器根据所述接入设备的地址从管理服务器查询获得的所述安全策略服务器的地址。步骤207:所述客户端接收所述接入设备转发的来自所述RADIUS服务器的认证交互报文之后,从接收的所述认证交互报文中获取安全策略服务器的地址。所述安全策略服务器的地址可以是安全策略服务器的IP地址,也可以是安全策略服务器的域名,在后者这种情况下,客户端本地一般还部署有一台DNS服务器,用以维护安全策略服务器的域名与IP地址的对应关系,客户端从认证交互报文中解析得到安全策略服务器的域名后,再从本地的DNS服务器查找对应的安全策略服务器的IP地址。可选的,所述认证交互报文可以是标准定义的EAP-TLV请求(Request)报文,也可以是自定义的EAP扩展报文。本申请以EAP-TLVRequest报文为例说明如何通过认证交互报文传递安全策略服务器的地址。所述EAP-TLVRequest报文为受保护的可扩展认证协议(ProtectedEAP,简称:PEAP)中的一种报文,EAP-TLV是PEAP中一种携带标准的类型长度值(Type-Length-Value,简称TLV)对象的方法,用于在EAP服务器和EAP客户端之间传输参数,包括通知加密信息,语言和字符设置,以及厂商自定义数据等,本申请正是通过EAP-TLV中的类型为厂商自定义TLV来传递安全策略服务器的地址。在802.1x认证过程中,客户端、接入设备和RADIUS服务器之间是通过不同的通信协议进行交互的,其中接入设备和RADIUS服务器之间通过RADIUS报文实现交互,接入设备和客户端之间通过EAP报文实现交互。例如,客户端向接入设备发送EAP身份响应(EAP-Response/Identify)报文;相 应地,接入设备向RADIUS服务器发送RADIUS访问请求报文(RADIUSAccess-Request),里面封装了上面的EAP身份响应报文。EAP报文的格式定义如下表3所示:表3EAP报文格式其中,所述EAP报文包含的各字段的含义如下:Code为一个字节,指明EAP报文的类型,共有4种,域值定义如下:1——请求报文,即EAP-Request;2——响应报文,即EAP-Response;3——认证成功,即EAP-Success;4——认证失败,即EAP-Failure。Identifier为一个字节,用于应答报文和请求报文之间进行匹配。Length为两个字节,指示EAP报文的长度,即Code、Identifier、Length、Type和Data域的总长度。Type为一个字节,用于指示Data的格式。Data为零个或多个字节,是EAP报文的内容,Data具体由Code和Type的类型决定。本申请中,可以采用Code=1,Type=33的EAP-TLVRequest报文作为上述认证交互报文,则Data字段具备TLV属性。当然,也可以协商一种自定义的EAP扩展报文,如采用Code=1,Type=88(此处仅为举例,也可以约定与标准中已规定的Type域值不冲突的任何值)的EAP请求报文作为上述认证交互报文,在该EAP请求报文的Data字段内存储安全策略服务器的地址。如下表4所示为本申请采用的EAP-TLVRequest报文中的Data字段的信息元素结构。表4Data字段的信息元素结构其中,Data字段包含的各字段的含义如下:M,1个比特位,0表示非强制即此报文非必须存在,1表示强制。R,1个比特位,为预留字段。TLVType,14个比特位,指明Data的类型,目前共有21种。上述表4所示Data字段的结构,为本发明采用TLVType为7,即厂家自定义TLV(Vendor-SpecificTLV)时的结构。Length,两个字节,表征数据的长度,包含Length、Vendor-Id和VendorTLVs域的长度。Vendor-Id,表示厂家ID。VendorTLVs,用于携带自定义信息。VendorTLVs中的TLV结构如下表5所示。表5VendorTLVs的信息元素结构其中,M,1个比特位,0表示非强制,1表示强制。R,1个比特位,保留字段。TLVType,14个比特位,为自定义的标识,例如,可取TLVType=0x80来标识VendorTLVs中存放的是安全策略服务器的IP地址。Length,两个字节,表征数据的长度,包含Value和Length域的长度。Value,用于填入安全策略服务器的地址,每个地址用分号分隔;如10.10.10.10;10.10.10.11。下面以一个具体的应用场景为例,介绍如何在802.1X的认证流程中通过所述EAP-TLVRequest报文发送安全策略服务器的地址。图3所示为一种使用PEAP-消息摘要算法第五版(MessageDigestAlgorithm,简称:MD5)的802.1x认证过程中的报文交互过程,从客户端发起802.1X认证接入,到客户端通过认证主要经历以下过程:(1)、客户端向接入设备发送一个基于局域网的扩展认证协议(EAPoverLAN,简称EAPOL)-Start报文,开始802.1X认证接入。(2)、接入设备向客户端发送EAP身份请求(EAP-Request/Identify)报文,要求客户端提供用户名。本申请中,所涉及报文中的“/”用于区分同层协议中的不同字段。在表3所示的EAP报文格式中,当Code=1,Type=1时,此时的EAP报文便是EAP-Request/Identify报文。(3)、客户端回应一个EAP-Response/Identify报文给接入设备,其中报文中的Identify中存放了客户端的用户名。(4)、接入设备将EAP-Response/Identify报文封装到RADIUSAccess-Request报文中,发送给RADIUS服务器。(5)、RADIUS服务器开始PEAP认证,将EAP-Request/PEAP-Start报文封装在RADIUS访问挑战(RADIUS-Access-Challenge)报文中发送给接入设备。(6)、接入设备将RADIUS-Access-Challenge报文中内层的EAP-Request/PEAP-Start报文转发给客户端。(7)、建立安全传输层协议(TransportLayerSecurity,简称:TLS)隧道。TLS隧道的建立过程也是第一阶段认证的过程,其中客户端和RADIUS服务器之间来往的报文在此不作详述。(8)、客户端发送EAP-Response(Empty)报文给接入设备,通过一个空响应报文进行第二阶段认证。(9)、接入设备将EAP-Response(Empty)报文封装到RADIUSAccess-Request报文中,发送给RADIUS服务器。(10)、RADIUS服务器产生一个挑战字(Challenge),基于产生的Challenge得到一个EAP-Request/MD5–Challenge报文,并封装成RADIUSAccess-Challenge报文发送给接入设备。(11)、接入设备将RADIUSAccess-Challenge报文内层的EAP-Request/MD5-Challenge报文发送给客户端,以便客户端进行认证。(12)、客户端收到EAP-Request/MD5-Challenge报文后,将自身拥有的密码和报文中包括的Challenge做MD5算法得到认证用的密码(Password),并通过EAP-Response/MD5-Password报文将得到的Password回应给接入设备。(13)、接入设备将EAP-Response/MD5-Password报文封装到RADIUSAccess-Request报文中,发送给RADIUS服务器,由RADIUS服务器进行认证。(14)、RADIUS服务器用密码和(10)中产生的Challenge做MD5算法,若得到的值和接收到的报文中包含的Password一致则确定用户合法,在回应认证成功报文到接入设备之前,获取负责管理所述接入设备的安全策略服务器的地址,把获得的地址写入EAP-Request/EAP-TLV/AddressNotice报文中,封装成RADIUSAccess-Challenge报文发送给接入设备。其中,这里的EAP-Request/EAP-TLV/AddressNotice报文即是上文所说的用于下发安全策略服务器地址的EAP-TLVRequest报文,表示将下发安全策略服务器地址的报文(AddressNotice)封装在请求(Request)报文的TLV扩展 (EAP-TLV)属性中。需要说明的是,此处的AddressNotice在实际应用中也可以采用其他命名。(15)、接入设备将RADIUSAccess-Challenge报文内层的EAP-Request/EAP-TLV/AddressNotice报文发送给客户端,以便客户端解析出AddressNotice报文并从中得到安全策略服务器的地址。(16)、客户端收到EAP-Request/EAP-TLV/AddressNotice报文后,返回EAP-Response(Empty)报文给接入设备,以通知RADIUS服务器已收到安全策略服务器的IP地址。(17)、接入设备将EAP-Response(Empty)报文封装到RADIUSAccess-Challenge报文中发送给RADIUS服务器。(18)、RADIUS服务器通过接入设备回应RADIUSAccess-Accept报文给接入设备,以通知接入设备所述RADIUS服务器已准许客户端接入。(19)、接入设备发送EAP-Success报文给客户端,客户端继续后续流程,如通过接入设备获取客户端规划的IP地址,通过(15)中解析得到的安全策略服务器的地址连接到安全策略服务器,进行安全策略的更新和违规数据上报等操作。本申请也可以采用EAP-安全传输层协议(TransportLevelSecurity,简称:TLS)进行认证,由于EAP-TLS协议中不具备带有厂商自定义TLV属性的报文,因此在客户端和RADIUS服务器支持PEAP协议的前提下,可以在采用EAP-TLS协议进行802.1X认证的过程中,借用PEAP协议中的EAP-TLVRequest报文来下发安全策略服务器的地址。具体的,RADIUS服务器可以对写有安全策略服务器地址的EAP-TLVRequest报文做进一步封装,如,将EAP-TLVRequest报文封装到EAP-Request/EAP-TLS报文中,然后再将EAP-Request/EAP-TLS报文封装到RADIUSAccess-Challenge报文中,发送给接入设备。其中,在表3所示的EAP报文格式中,当Code=1,Type=13时,此时的EAP报文便是EAP-Request/EAP-TLS报文。可选的,如果所述客户端从接收的认证交互报文中得到了多个安全策略服务器的地址,则可以通过得到的多个安全策略服务器的地址分别连接对应的安全策略服务器,然后从中选择一个连接速度最快的安全策略服务器的地址,并通过所述连接速度最快的安全策略服务器的地址从对应的安全策略服务器上获取安全策略,以及向该安全策略服务器上报执行安全检查后产生的违规信息。可选的,所述客户端在通过获取的安全策略服务器的地址连接到对应的安全策略服务器之后,可以与所述安全策略服务器建立TCP长连接,所述TCP长连接可以用于指示所述安全策略服务器的地址是否发生变化。如果所述安全策略服务器的地址未发生变化,所述安全策略服务器则一直保持与其负责管理的客户端之间的TCP长连接,而一旦所述安全策略服务器的地址发生变化,所述安全策略服务器则断开与各个客户端之间的TCP长连接。在客户端侧,如果客户端与安全策略服务器之间的TCP连接断开,则所述客户端可以先退出已认证态,即客户端先“下线”,然后通过接入设备重新向所述RADIUS服务器发起认证过程,以重新获取安全策略服务器的地址。这样,即使安全策略服务器的地址发生了变化,客户端也可以重新获得正确的安全策略服务器的地址,连接上安全策略服务器。可选的,所述客户端在确定无法通过从所述认证交互报文中获取的安全策略服务器的地址连接到安全策略服务器时,可以选择退出已认证态,然后通过接入设备重新向所述RADIUS服务器发起认证过程,以重新获取安全策略服务器的地址。以上两种方式均可以令客户端在安全策略服务器的地址发生变化的情况下重新获得正确的安全策略服务器的地址。基于本申请上述提供的安全策略服务器的地址获取方法,本申请提供一种RADIUS服务器400,用于实现上述安全策略服务器的地址获取方法中RADIUS服务器的功能,如图4A所示,RADIUS服务器400包括处理器401, 发送器402和接收器403,其中,所述处理器401,所述发送器402和所述接收器403之间通过总线404相互连接。所述接收器403,用于接收接入设备转发的客户端的认证请求。所述处理器401,用于在对所述客户端认证通过后,获取所述接入设备的地址。所述发送器402,用于向管理服务器发送地址查询请求,所述地址查询请求中包括所述接入设备的地址。所述接收器403还用于,接收所述管理服务器响应所述地址查询请求返回的地址查询响应,所述地址查询响应中包括与所述接入设备的地址对应的安全策略服务器的地址。所述发送器402还用于,向所述客户端发送认证交互报文,所述认证交互报文中包括所述安全策略服务器的地址,以使所述客户端从所述认证交互报文中获取所述安全策略服务器的地址。所述RADIUS服务器400还包括若干通信接口分别连接所述管理服务器和所述接入设备。可选的,所述认证交互报文可以是EAP-TLVRequest报文,则所述RADIUS服务器、管理服务器、接入设备和客户端之间通过EAP-TLVRequest报文获取安全策略服务器的地址的过程可以参考图3所示的交互过程。所述处理器401可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称:CPU)、网络处理器(NetworkProcessor,简称:NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称:DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称:ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称:FPGA)或者其他可编程逻辑器件等。所述处理器401为CPU时,所述RADIUS服务器400还可以包括:存储器,用于存储程序。具体地,程序可以包括程序代码,所述程序代码包括计算 机操作指令。存储器可能包含随机存取存储器(randomaccessmemory,简称:RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。所述处理器401执行所述存储器中存储的程序代码,实现上述功能。本发明实施例还提供一种RADIUS服务器4000,用于实现上述安全策略服务器的地址获取方法中RADIUS服务器的功能。如图4B所示,所述RADIUS服务器4000包括处理单元4001、发送单元4002和接收单元4003;其中所述接收单元4003,用于接收接入设备转发的客户端的认证请求。所述处理单元4001,用于在对所述客户端认证通过后,获取所述接入设备的地址。所述发送单元4002,用于向管理服务器发送地址查询请求,所述地址查询请求中包括所述接入设备的地址。所述接收单元4003还用于,接收所述管理服务器响应所述地址查询请求返回的地址查询响应,所述地址查询响应中包括与所述接入设备的地址对应的安全策略服务器的地址。所述发送单元4002还用于,向所述客户端发送认证交互报文,所述认证交互报文中包括所述安全策略服务器的地址,以使所述客户端从所述认证交互报文中获取所述安全策略服务器的地址。可选的,所述认证交互报文可以是EAP-TLVRequest报文,则所述RADIUS服务器与接入设备、管理服务器和客户端之间的交互过程可以参考图3所示。本实施例中未尽之细节可参考上述图2所示地址获取方法中RADIUS服务器侧的描述,在此不再赘述。基于本申请上述提供的安全策略服务器的地址获取方法,本申请提供一种客户端500,用于实现上述安全策略服务器的地址获取方法中客户端的功能,如图5A所示,客户端500包括发送器501,处理器502和接收器503,其中, 所述发送器501,所述处理器502和所述接收器503之间通过总线504相互连接。所述发送器501,用于通过接入设备向RADIUS服务器发起认证过程。所述接收器503,用于接收所述RADIUS服务器返回的认证交互报文,所述认证交互报文中包括所述RADIUS服务器根据所述接入设备的地址从管理服务器查询获得的安全策略服务器的地址。所述处理器502,用于从所述认证交互报文中获取安全策略服务器的地址。所述客户端500还包括若干通信接口连接所述接入设备。可选的,所述认证交互报文可以是EAP-TLVRequest报文,则所述客户端与接入设备和RADIUS服务器之间的交互过程可以参考图3所示。可选的,在所述处理器502从所述认证交互报文中获取安全策略服务器的地址之后,所述处理器502还可以用于:通过获取的所述安全策略服务器的地址,控制所述发送器501和所述接收器502与所述安全策略服务器建立TCP长连接,所述TCP长连接用于指示所述安全策略服务器的地址是否发生变化;如果所述TCP长连接断开,则所述处理器502退出已认证态,并控制所述发送器501通过所述接入设备重新向所述RADIUS服务器发起认证过程,以重新获取安全策略服务器的地址。可选的,在所述处理器502从所述认证交互报文中获取安全策略服务器的地址之后,所述处理器502还可以用于:如果所述处理器502无法通过获取的所述安全策略服务器的地址控制所述发送器501和所述接收器503与所述安全策略服务器建立连接,则所述处理器502退出已认证态,并控制所述发送器501通过所述接入设备重新向所述RADIUS服务器发起认证过程,以重新获取安全策略服务器的地址。所述处理器502可以是通用处理器,包括中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件等。所述处理器502为CPU时,所述客户端500还可以包括:存储器,用于存储程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含随机存取存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。所述处理器502执行所述存储器中存储的程序代码,实现上述功能。本发明实施例还提供一种客户端5000,用于实现上述安全策略服务器的地址获取方法中客户端的功能。如图5B所示,所述客户端5000包括发送单元5001,处理单元5002和接收单元5003;其中所述发送单元5001,用于通过接入设备向RADIUS服务器发送认证请求。所述接收单元5003,用于接收所述RADIUS服务器返回的认证交互报文,所述认证交互报文中包括所述RADIUS服务器根据所述接入设备的地址从管理服务器查询获得的安全策略服务器的地址。所述处理单元5002,用于从所述认证交互报文中获取安全策略服务器的地址。需要说明的是,发送单元5001还可以执行图5A中所示的发送器501所执行的其他操作,处理单元5002还可以执行图5A中所示的处理器502所执行的其他操作,接收单元5003还可以执行图5A中所示的接收器503所执行的其他操作。为了简洁,在此不再赘述。本实施例中未尽之细节可参考上述图2所示地址获取方法中客户端侧的描述,在此不再赘述。基于本申请上述提供的安全策略服务器的地址获取方法,本申请提供一种管理服务器600,用于实现上述安全策略服务器的地址获取方法中管理服务器的功能,如图6A所示,管理服务器600包括发送器601,处理器602和接收器603,其中,所述发送器601,所述处理器602和所述接收器603之间通过总线604相互连接。所述接收器603用于,接收RADIUS服务器发送的地址查询请求,所述地址查询请求中包括接入设备的地址。所述处理器602用于,根据设置的接入设备地址与安全策略服务器地址的对应关系,获取与所述地址查询请求中包括的接入设备的地址对应的安全策略服务器的地址。所述发送器601用于,向所述RADIUS服务器返回地址查询响应,所述地址查询响应中包括所述安全策略服务器的地址。可选的,所述发送器601还用于,周期性地向安全策略服务器查询所述安全策略服务器的负载情况。可选的,所述接收器603还用于,接收安全策略服务器周期性发送的所述安全策略服务器的负载情况。所述管理服务器600还包括若干通信接口分别连接所述接入设备和所述安全策略服务器。相应的,所述处理器602在获取与所述接入设备的地址对应的安全策略服务器的地址时,可以获取多个安全策略服务器的地址,然后,从所述多个安全策略服务器的地址中筛选出负载情况较轻的N个安全策略服务器的地址。或者,所述处理器602在获取与所述接入设备的地址对应的安全策略服务器的地址时,也可以先从所述多个安全策略服务器的地址中先筛选出主备属性为主属性的安全策略服务器的地址,然后从筛选得到的多个安全策略服务器的地址中再筛选出负载情况较轻的N个安全策略服务器的地址。所述处理器602可以是通用处理器,包括中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件等。所述处理器602为CPU时,所述管理服务器600还可以包括:存储器,用于存储程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含随机存取存储器,也可能还包括非易失性存储器,例 如至少一个磁盘存储器。所述处理器602执行所述存储器中存储的程序代码,实现上述功能。本发明实施例还提供一种管理服务器6000,用于实现上述安全策略服务器的地址获取方法中管理服务器的功能。如图6B所示,所述管理服务器6000包括发送单元6001、处理单元6002和接收单元6003;其中所述接收单元6003用于,接收RADIUS服务器发送的地址查询请求,所述地址查询请求中包括接入设备的地址。所述处理单元6002用于,根据设置的接入设备地址与安全策略服务器地址的对应关系,获取与所述地址查询请求中包括的接入设备的地址对应的安全策略服务器的地址。所述发送单元6001还用于,向所述RADIUS服务器返回地址查询响应,所述地址查询响应中包括所述安全策略服务器的地址。需要说明的是,发送单元6001还可以执行图6A中所示的发送器601所执行的其他操作,处理单元6002还可以执行图6A中所示的处理器602所执行的其他操作,接收单元6003还可以执行图6A中所示的接收器603所执行的其他操作。为了简洁,在此不再赘述。本实施例中未尽之细节可参考上述图2所示地址获取方法中管理服务器侧的描述,在此不再赘述。基于本申请上述提供的安全策略服务器的地址获取方法,本申请提供一种安全策略服务器700,用于实现上述安全策略服务器的地址获取方法中安全策略服务器的功能,如图7A所示,安全策略服务器700包括处理器701,发送器702和接收器703,其中,所述处理器701,所述发送器702和所述接收器703之间通过总线704相互连接。所述处理器701,用于周期性地获取所述安全策略服务器700的负载情况;或者在所述接收器703接收到管理服务器发送的状态查询请求时,获取所述安全策略服务器700的负载情况。所述发送器702,用于将获取的所述负载情况发送给所述管理服务器。所述安全策略服务器700还包括若干通信接口连接所述管理服务器。可选的,所述处理器701还用于,控制所述发送器702和所述接收器703保持与所述安全策略服务器700负责管理的客户端之间的TCP长连接,如果所述安全策略服务器700的地址发生变化,则断开所述TCP长连接。所述处理器701可以是通用处理器,包括中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件等。所述处理器701为CPU时,所述安全策略服务器700还可以包括:存储器,用于存储程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含随机存取存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。所述处理器701执行所述存储器中存储的程序代码,实现上述功能。本发明实施例还提供一种安全策略服务器7000,用于实现上述安全策略服务器的地址获取方法中安全策略服务器的功能。如图7B所示,所述安全策略服务器7000包括处理单元7001、发送单元7002和接收单元7003;其中所述处理单元7001,用于周期性地获取所述安全策略服务器7000的负载情况;或者在所述接收单元7003接收到管理服务器发送的状态查询请求时,获取所述安全策略服务器7000的负载情况。所述发送单元7002,用于将获取的所述负载情况发送给所述管理服务器。需要说明的是,处理单元7001还可以执行图7A中所示的处理器701所执行的其他操作,发送单元7002还可以执行图7A中所示的发送器702所执行的其他操作,接收单元7003还可以执行图7A中所示的发送器703所执行的其他操作。为了简洁,本实施例中未尽之细节可参考上述图2所示地址获取方法中安全策略服务器侧的描述,在此不再赘述。综上所述,采用本申请提供的技术方案,无论802.1X认证采用EAP协议中的何种认证协议,都可以通过将安全策略服务器的地址携带在RADIUS服务器发往客户端的认证交互报文的方式,使得客户端能够简便地从接收的认证交互报文中获取到正确的安全策略服务器的地址;并且本申请通过在客户端和其连接上的安全策略服务器之间建立TCP连接,令安全策略服务器在地址变化时切断该TCP连接的方式,从而使得客户端可以通过重新发起认证再次获得正确的安全策略服务器的地址。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机非易失性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1