一种Portal证书认证方法及其装置的制作方法

文档序号:7743658阅读:186来源:国知局
专利名称:一种Portal证书认证方法及其装置的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种Portal证书认证方法及其装置。
背景技术
Portal在英语中表示"入口",Portal认证也称为WEB认证,Portal认证网站称为 门户网站。 强制WEB认证以其新业务支撑能力强大、无需安装客户软件等特点,受到越来越 多运营商的欢迎。Portal业务可以为运营商提供方便的管理功能,比如希望所有的用户都 到公司的门户网站去认证,门户网站可以开展广告、社区服务、个性化的业务等,使宽带运 营商、设备提供商、内容服务提供商形成一个产业生态系统。 图1示出了一种比较典型的Portal组网示意图。如图所示,该组网中包括交换机 101 、BAS (Broadband Access Server,宽带接入服务器)设备102、核心网路由器103 (也可 以是高端交换机)、互联网104、与认证和计费相关的服务器(或服务器组)105(其中可包 括Portal服务器,AAA服务器等),以及用于连接服务器105和核心网路由器103的交换机 106。其中,BAS设备支持Portal认证;服务器105可放在机房中,服务器105通过交换机 106连接到核心网路由器103。 图中仅示出了一个交换机101和一个BAS设备102,而在实际组网过程中,如果用 户较多,用户可以挂接在多个交换机102下,多个交换机102再接入到多个BAS设备102上, 所有BAS设备102通过一个核心网路由器103(也可以是高端交换机)连接到互联网104 上。 基于上述组网架构的Portal认证过程通常是 当未认证用户通过所在客户端在IE地址栏中输入一个互联网地址,提交 HTTP (HyperText Transfer Protocol,超文本传输协议)请求后,该HTTP请求在经过BAS 设备时被重定向到Portal服务器(如Portal服务器从Portal网关获取用户端口信息 并根据获取到的用户端口信息提供相应的Portal认证页面),Portal服务器提供Portal 认证主页供用户输入认证信息(如用户名和密码);用户在认证主页中输入认证信息后 通过客户端提交,Portal服务器将用户的认证信息传递给BAS设备,然后BAS设备再与 AAA (Authentication, Authorization and Accounting,认证、授丰又禾口帐户)月艮务器(也可 称为Radius月艮务器,其中,Radius是Remote Authentication Dial In User Service的 英文縮写,表示远程用户拨号认证服务)通信进行认证和计费;如果认证通过,BAS设备打 开该用户所在客户端与互联网的通路,使该用户可以访问互联网。 随着CA数字证书的不断普及,为了加强用户身份的识别,企事业单位的门户网站 通常要求认证使用CA数字证书,即采用Portal+数字证书方式认证。 目前WEB的证书认证实现过程都是基于HTTPS (Secure HypertextTransf er Protocol,安全超文本传输协议),由WEB服务器来实现证书认证,其认证流程通常是客户 端浏览器将客户端证书提交给WEB服务器,WEB服务器校验客户端证书的合法性,如果证书非法,则直接拒绝客户端访问。 在实现本发明的过程中,发明人发现现有技术至少存在如下问题目前的Portal 认证机制,还没有引入证书认证功能。

发明内容
本发明提供了一种Portal证书认证方法及其装置,用以在Portal认证机制中引 入证书认证功能,从而实现Portal证书认证。 本发明所提供的Portal证书认证方法,适用于包含能够支持证书认证的Portal 客户端、Portal服务器、接入设备和认证服务器的证书认证系统,当Portal客户端发起认 证请求后,该方法包括以下步骤 Portal服务器接收Portal客户端发送的客户端证书,并通过扩展认证协议EAP报 文将所述客户端证书转发给接入设备; 接入设备通过EAP报文将所述客户端证书转发给认证服务器;
认证服务器对接收到的客户端证书进行认证。 根据本发明的上述方法,Portal服务器在接收Portal客户端发送的客户端证书 之前,还包括所述认证服务器发送服务器端证书给所述接入设备;所述接入设备通过EAP 报文将所述服务器端证书转发给所述Portal服务器;所述Portal服务器通过EAP报文将 所述服务器端证书发送给所述Portal客户端;所述Portal客户端对所述服务器端证书进 行认证; 所述Portal客户端发送客户端证书,具体为所述Portal客户端对所述服务器端 证书认证通过后,发送客户端证书。 上述方法中,认证服务器发送所述服务器端证书的过程,具体为认证服务器分批 发送服务器端证书的分片报文;所述Portal客户端对服务器端证书进行认证的过程,具体 为所述Portal客户端接收到服务器端证书的分片报文后,组装出服务器端证书,并对组 装成的服务器端证书进行认证; 或者,认证服务器发送所述服务器端证书的过程,具体为认证服务器将服务器端 证书压縮后进行发送;所述Portal客户端对服务器端证书进行认证的过程,具体为所述 Portal客户端对接收到的服务器端证书进行解压处理,并对解压后的服务器端证书进行认 证。 上述方法中,认证服务器发送服务器端证书之前,还包括 认证服务器根据所述Portal客户端发起的认证请求,向所述接入设备发送接收
服务器端证书的通知消息,所述接入设备将该通知消息转发给所述Portal服务器,所述
Portal服务器根据所述通知消息通知Portal客户端准备接收服务器端证书; Portal服务器接收所述Portal客户端发送的准备好接收服务器端证书的确认消
息,并将其转发给所述接入设备,所述接入设备将该确认消息转发给认证服务器; 认证服务器发送服务器端证书,具体为认证服务器在接收到所述Portal客户端
发送的所述确认消息后,发送服务器端证书。 上述方法中,Portal服务器接收到Portal客户端的认证请求后,还包括指示接 入设备采用扩展认证协议EAP认证方式;
接入设备在将接收到Portal服务器转发的Portal客户端认证请求后,还包括指 示认证服务器采用EAP认证方式; 所述接入设备通过EAP报文将所述服务器端证书转发给Portal服务器,具体为 所述接入设备接收认证服务器发送的携带有服务器端证书数据的EAP报文,根据该EAP报 文的EAP数据包类型字段信息,构造相应类型的EAP报文,并将所述服务器端证书数据携带 于构造出的EAP报文转发给所述Portal服务器; 所述Portal服务器通过EAP报文转发所述服务器端证书给所述Portal客户端, 具体为所述Portal服务器接收所述接入设备转发的携带有服务器端证书数据的EAP报 文,根据该EAP报文的EAP数据包类型字段信息,构造相应类型的EAP报文,并将所述服务 器端证书数据携带于构造出的EAP报文转发给所述Portal客户端。 上述方法中,所述Portal客户端中配置有特定标准的根证书;所述Portal客户端
对服务器端证书进行认证时,采用相应标准的根证书对服务器端证书进行认证。 根据本发明的上述方法,Portal客户端发送客户端证书的过程,具体为Portal
客户端分批发送客户端证书的分片报文;认证服务器对客户端证书进行认证的过程,具体
为认证服务器根据接收到的客户端证书的分片报文,组装出客户端证书,并对组装成的客
户端证书进行认证; 或者,Portal客户端发送客户端证书的过程,具体为Portal客户端将客户端证
书压縮后发送;认证服务器对客户端证书进行认证的过程,具体为认证服务器对接收到
的客户端证书进行解压,并对解压后的客户端证书进行认征。 根据本发明的上述方法,Portal客户端发送客户端证书之前,还包括 认证服务器根据所述Portal客户端发起的认证请求,向所述接入设备发送用于
通知Portal客户端发送客户端证书的通知消息,所述接入设备将该通知消息转发给所述
Portal服务器,所述Portal服务器根据所述通知消息通知Portal客户端发送客户端证
书; 所述Portal客户端发送客户端证书,具体为所述Portal客户端在接收到认证服 务器发送的所述通知消息后,发送客户端证书。 根据本发明的上述方法,Portal服务器接收到Portal客户端的认证请求后,还包 括指示接入设备采用扩展认证协议EAP认证方式; 接入设备在将接收到Portal服务器转发的Portal客户端认证请求后,还包括指 示认证服务器采用EAP认证方式; 所述Portal服务器通过EAP报文转发所述客户端证书给所述接入设备,具体为 所述Portal服务器接收Portal客户端发送的携带有客户端证书数据的EAP报文,根据该 EAP报文的EAP数据包类型字段信息,构造相应类型的EAP报文,并将所述客户端证书数据 携带于构造出的EAP报文转发给所述接入设备; 所述接入设备通过EAP报文将所述客户端证书转发给认证服务器,具体为所述 接入设备接收Portal服务器转发的携带有客户端证书数据的EAP报文,根据该EAP报文的 EAP数据包类型字段信息,构造相应类型的EAP报文,并将所述客户端证书数据携带于构造 出的EAP报文转发给所述认证服务器。 根据本发明的上述方法,所述认证服务器中配置有特定标准的根证书;所述认证服务器对客户端证书进行认证时,采用相应标准的根证书对客户端证书进行认证。
本发明提供的Portal服务器,包括 接收模块,用于接收portal客户端通过EAP报文发送的客户端证书; 转发模块,与接收模块连接,用于通过EAP报文将所述接收模块接收到的所述客
户端证书转发给接入设备。 上述Portal服务器中,所述接收模块,还用于接收接入设备通过EAP报文转发的 服务器端证书;所述转发模块,还用于通过EAP报文将所述接收模块接收到的服务器端证 书转发给Portal客户端。
本发明提供的接入设备,包括 Portal网关功能模块,用于接收Portal服务器通过EAP报文转发的Portal客户 端的客户端证书; 认证设备功能模块,与所述Portal网关功能模块连接,用于通过EAP报文将所述 Portal网关功能模块接收到的客户端证书转发给认证服务器。 上述接入设备中,所述认证设备功能模块,还用于接收认证服务器通过EAP报文 发送的服务器端证书;所述Portal网关功能模块,还用于将所述认证设备功能模块接收到 的服务器端证书通过EAP报文转发给Portal服务器。 上述接入设备中,所述Portal网关功能模块,还用于接收Portal服务器转发的
Portal客户端的认证请求;所述认证功能模块,还用于根据所述Portal网关功能模块接收
到的认证请求,向认证服务器发送认证请求,并指示采用EAP认证方式。 本发明还提供了一种认证服务器,包括接收模块、发送模块和认证模块,其中, 所述接收模块,用于接收接入设备通过EAP报文转发的Portal客户端的客户端证
书; 所述认证模块,与所述接收模块连接,用于对所述接收模块接收到的客户端证书 进行认证。 上述认证服务器中,所述接收模块具体用于,接收接入设备转发的所述客户端证 书的分片报文;所述认证模块具体用于,根据所述接收模块接收到的所述客户端的分片报 文,组装出客户端证书,并对组装成的客户端证书进行认证; 或者,所述接收模块具体用于,接收接入设备转发的压縮处理后的客户端证书;所
述认证模块具体用于,对所述接收模块接收到的客户端证书解压后进行认证。 上述认证服务器中,所述发送模块,用于通过EAP报文发送服务器端证书,具体
为,分批发送所述服务器端证书的分片报文,或者将所述服务器端证书压縮后发送。 本发明的有益技术效果包括 —方面,通过Portal服务器转发Portal客户端的客户端证书给接入设备,使 Portal服务器支持证书的传输,通过接入设备转发客户端证书给认证服务器,使接入设备 支持证书的传输,从而为证书认证提供保证;另一方面,通过EAP报文方式发送认证证书以 及对认证证书进行认证处理,可以利用EAP认证支持多种认证机制的特点,实现灵活的认 证方式;再一方面,通过认证服务器对客户端证书进行认证,实现了基于Portal机制的证 书认证。
8


图1为现有技术中的一种Portal组网示意图; 图2为本发明实施例提供的Portal组网示意图; 图3为本发明实施例采用的EAP数据包格式的示意图; 图4为本发明实施例一提供的Portal证书认证流程示意图; 图5为本发明实施例二提供的Portal证书认证流程示意图; 图6为本发明实施例提供的Portal服务器的结构示意图; 图7为本发明实施例提供的BAS设备的结构示意图; 图8为本发明实施例提供的Radius服务器的结构示意图。
具体实施例方式
本发明提供了 一种Portal证书认证方法,适用于包含能够支持证书认证的 Portal客户端、Portal服务器、接入设备和认证服务器的证书认证系统。当Portal客户端 发起认证请求后,该方法通过Portal服务器接收Portal客户端发送的客户端证书并将其 转发给接入设备,接入设备将所述客户端证书转发给认证服务器,认证服务器对接收到的 客户端证书进行认证,从而在Portal认证机制中引入证书认证功能,实现了 Portal证书认 证。 本发明提供的Portal证书认证流程所基于的系统架构可如图2所示。
如图2所示,该系统架构中可包括Portal客户端201,以及与Portal证书认证相 关的功能实体Portal服务器202、 BAS设备203、 Radius服务器204。图2所示的系统架 构中的各实体是逻辑功能实体,在实际网络架构中,上述各逻辑功能实体可集成在物理设 备上。例如,Portal服务器202可配置在一服务器硬件设备上,Radius服务器204可配置 在一服务器硬件设备上,这两个服务器硬件设备可放置于机房内。在物理层面上,配置有上 述逻辑功能实体的硬件设备之间进行通信时,可经过一个或多个网络传输设备(如交换机 或路由器),如,配置有Portal服务器202的硬件设备与配置有Portal客户端201的硬件 设备通信时,可经过一个或多个交换机。 上述系统架构中与Portal证书认证相关的网络实体的主要功能包括 Portal客户端主要用于发起认证请求,以及发送客户端证书,以便Radius服务
器进行认证。在需要Portal客户端对服务器端证书进行认证时,还可对接收到的服务器端
证书进行认证。 Portal服务器主要负责转发Portal客户端证书,如将从Portal客户端接收到 的客户端证书转发给BAS设备;在需要Portal客户端对服务器端证书进行认证时,还可将 从BAS设备接收到的服务器端证书转发给Portal客户端。Portal服务器还可接收Portal 客户端发送的认证请求,根据该认证请求构造认证相关的报文与BAS设备进行交互。
BAS设备主要负责转发Portal客户端证书,如将从Portal服务器接收到的客户 端证书转发给Radius服务器;在需要Portal客户端对服务器端证书进行认证时,还可将 Radius服务器发送的服务器端证书转发给Portal服务器。BAS设备还可构造认证相关的 报文与Portal服务器进行交互。 Radius服务器主要负责对接收到的客户端证书进行认证。在需要Portal客户端对服务器端证书进行认证时,还可发送服务器端证书到BAS设备,以便将该服务器端证 书路由到Portal客户端进行认证。 本发明的实施例中可采用EAP(Extensible Authentication Protocol,扩展认证 协议)方式进行认证。采用EAP方式进行认证时,与证书认证相关的实体使用EAP认证方 式报文进行交互。 采用EAP方式进行认证时,EAP数据包可封装在PPP数据链路层帧的Information 字段,其中的Protocol字段表示类型为十六进制C227(EAP) 。 EAP数据包的格式可以如图 3所示。如图所示,EAP认证方式报文包括Code、 Identifier、Length、Data字段,上述各字 段也可称为EAP-Message属性,其中 Code字段值用于识别EAP数据包类型。该字段的EAP代码分配如下 1、请求(Request) ;2、口向应(Response) ;3、成功(Success) ;4、失败(Failure); Identifier字段用于匹配响应和请求信息; Length字段表示EAP数据包的长度,包括Code、 Identifier、 Length和Data字 段; Data字段的格式取决于Code字段的取值。 相应的,与证书认证相关的实体需要支持EAP方式,包括 Portal客户端能够对EAP认证方式报文中的EAP数据包字段(即EAP-Message属 性)进行识别及处理; Portal服务器能够支持EAP认证方式并构造EAP认证方式的认证报文与BAS设备 进行交互; BAS设备能够获取EAP数据包字段(即EAP-Message属性)并构造成相应的报文 转发给Portal服务器,包括 一方面,从Portal服务器发送的Portal认证请求报文中获取 EAP数据包字段信息并构造成相应的Radius报文转发给Radius器进行认证,另一个方面, 接收Radius服务器的认证回应报文,从中获取EAP数据包字段信息并构造成Portal认证 回应报文转发给Portal服务器; Radius服务器能够对EAP认证方式报文中的EAP数据包字段(即EAP-Message属 性)进行识别及处理。 下面结合附图,通过具体实施例对基于图2所示的系统架构所实现的Portal证书
认证流程进行详细描述。 实施例一 本实施例描述了 Portal证书认证接入流程,其中,Portal证书认证包括Radius 服务器校验客户端证书的合法性,以及Portal客户端校验服务器端证书的合法性。Portal 服务器及BAS设备负责转发Portal客户端证书及服务器端证书。进一步的,Radius服务 器可将服务器端证书拆成多个报文分批发送给Portal客户端,Portal客户端可对分批收 到的服务器端证书分片报文进行组装,合成完整的服务器端证书;Portal客户端可将客户 端证书拆成多个报文分批发送给Radius服务器,Radius服务器可将分批收到的证书分片 报文进行组装,合成完整的客户端证书。 如图4所示,本发明实施例一所提供的Portal证书认证流程可包括如下步骤
步骤401、Portal客户端向Portal服务器发起认证请求消息,Portal服务器从认证请求消息中获取认证用户的标识(ID)信息。这里的认证用户ID可以是用户名,或者其 他能够标识认证用户的信息。 该步骤中,Portal客户端在试图访问外部网络资源(Internet)时,Portal服务器 可根据该访问请求从BAS设备获取端口信息,以便针对不用的用户提供相应的Portal认证 页面给Portal客户端,以使Portal客户端能够根据该页面提交认证请求。
步骤402、 Portal服务器根据Portal客户端的认证请求,向BAS设备发送信息查 询请求,以根据认证用户的ID请求获取该认证用户的端口信息。 步骤403、Portal服务器收到BAS设备返回的信息查询回应消息,从中获取到认证 用户的端口信息。 通过步骤402 403, Portal服务器可获取到认证用户在设备上的接入端口信息 (例如VLAN信息、无线SSID信息等),在认证过程中,该端口信息可用于通知BAS设备创建 在线用户表项。步骤402 403为可选步骤。 步骤404、Portal服务器向BAS设备发送证书认证请求,并指示认证方式为EAP方 式。 步骤405、 BAS设备根据接收到的证书认证请求,向Radius服务器发起Radius认 证请求,并指示认证方式为EAP。 步骤406、 Radius服务器收到请求后,返回通知客户端接收服务器端证书的消息。
该步骤中,Radius服务器构造EAP认证方式的报文,以通知客户端接收服务器端 证书。该报文中的EAP-Message的Code属性值可设为1,表示该消息的消息类型为请求消 息。 步骤407、 BAS设备收到该通知客户端接收服务器端证书的消息后,将该消息转发 给Portal服务器。 该步骤中,BAS设备可根据接收到的EAP认证方式的报文中的EAP-Message的 Code属性值,构造相应类型的EAP认证方式的报文并转发给Portal服务器。其间,BAS设 备可仅获取EAP-Message的相关属性,如Code属性值,而不用理解EAP-Message的其他属 性,如Data属性。 步骤408、 Portal服务器收到用于通知客户端接收服务器端证书的消息后,通知 Portal客户端接收服务器端证书。 该步骤中,Portal服务器可根据接收到的EAP认证方式的报文中的EAP-Message 的Code属性值,构造相应类型的EAP认证方式的报文并转发给Portal客户端。其 间,Portal服务器可仅获取EAP-Message的相关属性,如Code属性值,而不用理解 EAP-Message的其他属性,如Data属性。 步骤409 411、 Portal客户端通知Portal服务器已经准备好接收服务器端证 书,以请求发送服务器端证书;Portal服务器转发该消息给BAS设备;BAS设备再转发给 Radius服务器,以通知Radius服务器发送服务器端证书。 该步骤中,Portal客户端接收到EAP认证方式的报文后,可根据EAP-Message的 Code属性值得知该消息为请求消息,根据Data属性得知所请求的内容或所请求的操作,并 进行相应的处理。此处,Portal客户端为接收服务器端证书所做的准备操作可以包括发 送一个握手回应报文,如果Portal客户端配置不需要校验服务器端证书,则通知服务器端准备接收客户端证书,否则通知服务器端开始发送证书。 Portal客户端在准备操作完成后,可向Portal服务器发送EAP认证方式的报文, 其中的EAP-Message的Code属性值可设为2,表示响应消息。Portal服务器根据报文中的 EAP-Message的Code属性值构造相应类型的报文并转发给BAS设备。BAS设备根据报文中 的EAP-Message的Code属性值构造相应类型的报文并转发给Radius服务器。
步骤412 414、Radius服务器将服务器端证书发送给BAS设备,BAS设备将其转 发给Portal服务器,Portal服务器将其转发给Portal客户端。 该步骤中,Radius服务器可将服务器端证书拆分为多个组成部分,并将每个组成 部分封装为一个报文(可称为分片报文)并分批发送这些报文,尤其是在服务器端证书的 数据量超过报文的最大数据量限制时,采用该方式可以保证服务器端证书的传输。这种情 况下,每个报文携带证书的一部分数据,并可根据数据组装顺序将报文中携带的证书数据 进行编号。 各报文的EAP-Message的Code属性值可设为1 (表示请求消息),BAS设备根据报 文中的EAP-Message的Code属性值构造相应类型的报文并转发给Portal服务器。Portal 服务器根据报文中的EAP-Message的Code属性值构造相应类型的报文并转发给Portal客 户端。 步骤415 417、服务器端证书传输完毕后,Portal客户端如果需要验证服务器端 证书,则验证服务器端证书是否合法,本流程中要求Portal客户端验证服务器端证书。如 果验证结果为证书不合法,则认证流程结束,并可提示服务器端证书非法,从而限制Portal 客户端访问相应的资源;否则,发送客户端证书,该客户端证书经过Portal服务器和BAS设 备的转发,到达Radius服务器。 该步骤中,如果服务器端证书是通过多个报文传输的,Portal客户端可按照顺序 将多个报文所携带的服务器端证书进行组装,在组装为一个完整的服务器证书后,对该证 书进行验证。 Portal客户端在发送客户端证书时,可将客户端证书组装成多个报文并分批发 送,每个报文携带客户端证书的一部分数据,并可根据数据组装顺序将报文中携带的证书 数据进行编号。各报文的EAP-Message的Code属性值可设为1 (表示请求消息),Portal 服务器根据报文中的EAP-Message的Code属性值构造相应类型的报文并转发给BAS设备。 BAS设备根据报文中的EAP-Message的Code属性值构造相应类型的报文并转发给Radius 服务器。 步骤418、 Radius服务器收到客户端证书后,校验客户端证书的合法性,并可进一 步发送认证结果消息给BAS设备。如果证书合法,该认证结果消息为认证成功的消息,如果 证书非法,则该认证结果消息为认证失败的消息。 该步骤中,Radius服务器可根据报文中的EAP-Message的Code属性值,读取Data 部分的数据(其中包括客户端证书数据)。如果客户端证书是通过多个报文传输到Radius 服务器的,则Radius服务器按照顺序将这些报文所携带的客户端证书的数据组装为一个 完整的客户端证书,然后对该客户端证书进行认证。 对于认证通过的情况,Radius服务器构造认证成功报文并发送给BAS设备,该报 文中的EAP-Message的Code属性值可设为3 (表示成功);否则,构造认证失败报文并发送
12给BAS设备,该报文中的EAP-Message的Code属性值可设为4 (表示失败)。
步骤419、 BAS设备将认证结果消息发送给Portal服务器。 该步骤中,BAS设备可根据报文中的EAP-Message的Code属性值构造相应类型的 消息并转发给Portal服务器。其间,Portal服务器可仅获取EAP-Message的相关属性,如 Code属性值,而不用理解EAP-Message的Data属性。BAS设备也可以直接通过Radius服 务器发送的认证回应报文的Code码(如2为认证通过,3为认证拒绝),构造相应的认证成 功或认证失败消息给Portal服务器,例如,如果认证回应报文的Code码为3 (标识认证拒 绝),则BAS设备获取Radius认证回应报文中的R印ly-Message (第18号属性)值,并将认 证失败消息转发给Portal服务器。 步骤420、 Portal服务器收到认证结果消息后,通知Portal客户端认证结果或将 认证结果消息转发给Portal客户端。如果认证失败,则提示客户端证书非法,否则提示认 证成功。 该步骤中,Portal服务器可根据报文中的EAP-Message的Code属性值确定认证 成功或失败,并向Portal客户端发送相应提示。 上述流程中的步骤409 414是传输服务器端证书的过程,步骤415 417 (根据 情况还可包括其后虚线所示的步骤)是传输客户端证书的过程。 上述流程中,Radius服务器和Portal客户端可通过分批发送多个报文的方式传 输证书。该分批发送方式可以是 方式一、由发送方先发送一个证书分片报文给接收方,接收方在接收到该报文并 确认还未完全接收到所有证书分片报文时,返回请求下一个报文的请求消息,发送方根据 该请求发送下一个证书分片报文,以此类推,直到接收方接收到证书的所有分片报文;
方式二、发送方逐一发送证书分片报文给接收方,接收方接收报文,并在确认接收 到证书的所有分片报文后将其组装为一个完整的证书。 上述流程中,在通过分批发送多个报文的方式传输证书的过程中,Portal服务器 和BAS设备可以不需要负责报文的组包及证书的拆包,而只需要识别并获取各个报文中的 EAP-Message相关属性值,并构造成相应的报文转发给Portal服务器或者Radius服务器。
本实施例中,Radius服务器和Portal客户端可以支持多种标准的证书,如支持国 际标准的证书或/和国家标准的证书(WAPI)。当支持国际标准的证书时,Radius服务器中 需要配置国际标准证书的根证书,用以根据国际标准证书规则对国际标准的客户端证书进 行认证;当支持国家标准的证书时,Radius服务器中需要配置国家标准证书的根证书,用 以根据国家标准证书规则对国家标准的客户端证书进行认证。Radius服务器中还需要配置 服务器端证书,以便发送给Portal客户端。同理,Portal客户端上也需要配置相应标准的 根证书,从而对相应标准的服务器端证书进行认证处理,Portal客户端还需要配置客户端 证书,以便发送给Radius服务器。 系统可事先约定Radius服务器采用哪种标准的认证方式对特定(或非特定)客 户端发送的证书进行认证,可以预先通过配置信息配置到Radius服务器中。同理,系统也 可以事先约定客户端采用哪种标准的认证方式对服务器端证书进行认证,可以预先通过配 置信息配置到Portal客户端中。 根据以上描述可以看出,由于以上Portal证书认证方式采用EAP认证方式,而EAP可以支持多种认证机制。基于EAP认证方式的特点,EAP并不在链路控制阶段指定认证方 法,而是把这个过程推迟到认证阶段。这样认证方就可以在要求更多的信息以后再决定使 用什么认证方法。Portal客户端和认证服务器之间的某些设备不需要了解每一个请求报文 的类型,而是作为代理把认证报文直接传递给后端的设备,如Portal服务器将认证报文转 发给BAS设备,BAS设备将报文转发给Radius服务器。与现有基于HTTPS协议的认证方式 相比,一方面可以不需要对相关设备(如Portal服务器或BAS设备)有过多的要求,从而 降低了系统部署的难度,另一方面,由于没有加密/解密过程,从而提高了认证性能。再一 方面,由于Portal客户端需要对服务器端证书进行认证,从而可以对服务器的合法性进行 验证,进一步提高了数据和资源访问的安全性。 针对现有技术中,基于HTTPS协议实现认证时需要服务器拥有服务器端证书,并
要求客户端对该证书进行认证,从而导致对服务器和客户端的要求都较高、部署的局限性 大的问题,本发明的另一实施例中,可仅由Radius服务器校验客户端证书的合法性,具体 实现过程如下所述。
实施例二 本实施例描述了 Portal证书认证接入流程,其中,Portal证书认证是由Radius服
务器校验客户端证书的合法性。Portal服务器及BAS设备负责转发Portal客户端的证书。
进一步的,Portal客户端可将客户端证书拆成多个报文分批发送给Radius服务器,Radius
服务器可将分批收到的证书分片报文进行组装,合成一个客户端证书,并进行认证。 如图5所示,本发明的实施例二所提供的Portal证书认证流程与图4所示流程基
本类似,区别在于,图5所示流程中没有Portal服务器发送服务器端证书到Portal客户端
的过程以及Portal客户端对服务器端证书的验证过程,其主要步骤可包括 步骤501、Portal客户端向Portal服务器发起认证请求消息,Portal服务器从认
证请求消息中获取认证用户ID。 步骤502 503、 Portal服务器从BAS设备获取该认证用户的端口信息。 步骤504、Portal服务器向BAS设备发送证书认证请求,并指示认证方式为EAP方式。 步骤505、 BAS设备根据接收到的证书认证请求,向Radius服务器发起Radius认 证请求,并指示认证方式为EAP。 步骤506 508、Radius服务器收到请求后,返回通知客户端发送客户端证书的消 息,BAS设备将该消息转发给Portal服务器,Portal服务器根据该消息通知Portal客户端 发送客户端证书。 步骤509 511、 Portal客户端发送客户端证书,该客户端证书经过Portal服务 器和BAS设备的转发,到达Radius服务器。 步骤512 514、 Radius服务器收到客户端证书后,校验客户端证书的合法性,并 可进一步发送认证结果消息给BAS设备。如果证书合法,该认证结果消息为认证成功的消 息,如果证书非法,则该认证结果消息为认证失败的消息;BAS设备将认证结果消息发送给 Portal服务器;Portal服务器根据认证结果消息通知Portal客户端认证结果。如果认证 失败,则提示客户端证书非法;否则提示认证成功,并可允许Portal客户端访问相应的网 络资源。
14
上述流程中的步骤509 510(根据情况还可包括其后虚线所示的步骤)是传输 客户端证书的过程。该过程中,Radius服务器和Portal客户端可通过分批发送多个报文 的方式传输证书。 上述流程中,在通过分批发送多个报文的方式传输证书的过程中,Portal服务器 和BAS设备可以不需要负责报文的组包及证书的拆包,而只需要识别并获取各个报文中的 EAP-Message相关属性值,并构造成相应的报文转发给Portal服务器或者Radius服务器。
本实施例中,Radius服务器和Portal客户端可以支持多种标准的证书,如支持国 际标准的证书或/和国家标准的证书(WAPI)。当支持国际标准的证书时,Radius服务器中 需要配置国际标准证书的根证书,用以根据国际标准证书规则对国际标准的客户端证书进 行认证;当支持国家标准的证书时,Radius服务器中需要配置国家标准证书的根证书,用 以根据国家标准证书规则对国家标准的客户端证书进行认证。Radius服务器中还需要配置 服务器端证书,以便发送给Portal客户端。Radius服务器采用哪种标准的认证方式对客户 端证书进行认证,可以预先通过配置信息配置到Radius服务器中。 通过以上流程可以看出,在实施例一的基础上减少了服务器端证书的下发过程以 及客户端对服务器端证书的认证过程,从而在保证安全性的前提下,进一步简化了 Portal 证书认证流程,进而进一步提高了认证性能。 需要说明的是,本发明的上述各实施例中,为了提高认证性能,减少证书传输交互 报文个数,Radius服务器和Portal客户端可以将证书内容进行压縮,以及在接收端进行证 书认证前进行解压以恢复出证书数据再进行认证处理,基本上可以避免对证书的组包及拆 包处理。 基于相同的技术构思,本发明的实施例还提供了一种Portal服务器(如图6所 示)、一种BAS设备(或称接入设备,如图7所示)、一种Radius服务器(或称认证服务器, 如图8所示)。 如图6所示,本发明实施例提供的Portal服务器,可包括接收模块601、转发模 块602,其中 接收模块601,用于接收Portal客户端通过EAP报文发送的客户端证书; 转发模块602,与接收模块601连接,用于通过EAP报文将接收模块601接收到的
客户端证书转发给接入设备。 当需要客户端对服务器端证书进行认证时,接收模块601还用于接收接入设备通 过EAP报文转发的服务器端证书;转发模块602还用于通过EAP报文将接收模块601接收 到的服务器端证书转发给Portal客户端。 如图7所示,本发明实施例提供的接入设备,可包括Portal网关功能模块701、认 证设备功能模块702,其中 Portal网关功能模块701用于接收Portal服务器通过EAP报文转发的Portal客 户端的客户端证书; 认证设备功能模块702,与Portal网关功能模块701连接,用于通过EAP报文将 Portal网关功能模块701接收到的客户端证书转发给认证服务器。 当需要客户端对服务器端证书进行认证时,上述接入设备中,认证设备功能模块 702还用于接收认证服务器通过EAP报文发送的服务器端证书;Portal网关功能模块701
15还用于将认证设备功能模块702接收到的服务器端证书通过EAP报文转发给Portal服务 器。 上述接入设备中,Portal网关功能模块701还用于接收Portal服务器转发的 Portal客户端的认证请求;认证功能模块702还用于根据Portal网关功能模块701接收 到的认证请求,向认证服务器发送认证请求,并指示采用EAP认证方式。
如图8所示,本发明实施例提供的认证服务器,可包括接收模块801 、发送模块802 和认证模块803,其中 接收模块801,用于接收接入设备通过EAP报文转发的Portal客户端的客户端证 书; 认证模块803,与接收模块801连接,用于对接收模块801接收到的客户端证书进 行认证。 接收模块801具体用于,接收接入设备转发的所述客户端证书的分片报文;认证 模块803具体用于,根据接收模块801接收到的客户端的分片报文,组装出客户端证书,并 对组装成的客户端证书进行认证; 或者,接收模块801具体用于,接收接入设备转发的压縮处理后的客户端证书;认
证模块803具体用于,对接收模块801接收到的客户端证书解压后进行认证。 上述认证服务器中,发送模块802用于通过EAP报文发送服务器端证书,具体的,
该模块可分批发送所述服务器端证书的分片报文,或者将所述服务器端证书压縮后发送。 上述的Portal服务器、接入设备和认证服务器作为主要功能实体,可以构成本发
明实施例所提供的认证系统。 综上所述,本发明的实施例,一方面可部署性强,如可以根据实际情况需要提供 HTTP Web服务或者HTTPS Web服务,S卩,如果客户端没有通过认证,则通过浏览器访问 Internet时,会被BAS设备直接推出Portal服务器认证首页面,强制客户端到Portal服务 器进行认证,并且Portal服务器可提供HTTP Web及HTTPS Web服务;
另一方面,通过将证书认证引入Portal认证流程,可增强网络的安全性。由于数 字证书把用户的身份和用户绑定在一块,而不再只是简单的通过用户名及密码来识别用 户,保证了接入用户身份的合法性,确保网络的安全。同时客户端也可以校验服务器的合法 性,保证客户端只和合法的服务器进行通信,不与防冒的服务器进行通信,确保客户端信息 安全; 再一方面,可扩展性强。由于证书认证是由Radius服务器(或者还包括Portal 客户端)实现的,而不是由第三方处理,因此本发明的实施例既可支持国际标准的证书,又 支持中国国家标准的证书(WAPI)。 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更 佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若 干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行 本发明各个实施例所述的方法。 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人
16员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视本发明的保护范围。
权利要求
一种Portal证书认证方法,适用于包含能够支持证书认证的Portal客户端、Portal服务器、接入设备和认证服务器的证书认证系统,其特征在于,Portal客户端发起认证请求后,该方法包括以下步骤Portal服务器接收Portal客户端发送的客户端证书,并通过扩展认证协议EAP报文将所述客户端证书转发给接入设备;接入设备通过EAP报文将所述客户端证书转发给认证服务器;认证服务器对接收到的客户端证书进行认证。
2. 如权利要求1所述的方法,其特征在于,Portal服务器在接收Portal客户端发送的 客户端证书之前,还包括所述认证服务器发送服务器端证书给所述接入设备;所述接入设备通过EAP报文将所述服务器端证书转发给所述Portal服务器; 所述Portal服务器通过EAP报文将所述服务器端证书发送给所述Portal客户端; 所述Portal客户端对所述服务器端证书进行认证;所述Portal客户端发送客户端证书,具体为所述Portal客户端对所述服务器端证书 认证通过后,发送客户端证书。
3. 如权利要求2所述的方法,其特征在于,认证服务器发送所述服务器端证书的过程, 具体为认证服务器分批发送服务器端证书的分片报文;所述Portal客户端对服务器端证 书进行认证的过程,具体为所述Portal客户端接收到服务器端证书的分片报文后,组装 出服务器端证书,并对组装成的服务器端证书进行认证;或者,认证服务器发送所述服务器端证书的过程,具体为认证服务器将服务器端证 书压縮后进行发送;所述Portal客户端对服务器端证书进行认证的过程,具体为所述 Portal客户端对接收到的服务器端证书进行解压处理,并对解压后的服务器端证书进行认 证。
4. 如权利要求2所述的方法,其特征在于,认证服务器发送服务器端证书之前,还包括认证服务器根据所述Portal客户端发起的认证请求,向所述接入设备发送接收服务 器端证书的通知消息,所述接入设备将该通知消息转发给所述Portal服务器,所述Portal 服务器根据所述通知消息通知Portal客户端准备接收服务器端证书;Portal服务器接收所述Portal客户端发送的准备好接收服务器端证书的确认消息, 并将其转发给所述接入设备,所述接入设备将该确认消息转发给认证服务器;认证服务器发送服务器端证书,具体为认证服务器在接收到所述Portal客户端发送 的所述确认消息后,发送服务器端证书。
5. 如权利要求2所述的方法,其特征在于,Portal服务器接收到Portal客户端的认证 请求后,还包括指示接入设备采用EAP认证方式;接入设备在将接收到Portal服务器转发的Portal客户端认证请求后,还包括指示认 证服务器采用EAP认证方式;所述接入设备通过EAP报文将所述服务器端证书转发给Portal服务器,具体为所述 接入设备接收认证服务器发送的携带有服务器端证书数据的EAP报文,根据该EAP报文的 EAP数据包类型字段信息,构造相应类型的EAP报文,并将所述服务器端证书数据携带于构造出的EAP报文转发给所述Portal服务器;所述Portal服务器通过EAP报文转发所述服务器端证书给所述Portal客户端,具体 为所述Portal服务器接收所述接入设备转发的携带有服务器端证书数据的EAP报文,根 据该EAP报文的EAP数据包类型字段信息,构造相应类型的EAP报文,并将所述服务器端证 书数据携带于构造出的EAP报文转发给所述Portal客户端。
6. 如权利要求2所述的方法,其特征在于,所述Portal客户端中配置有特定标准的根 证书;所述Portal客户端对服务器端证书进行认证时,采用相应标准的根证书对服务器端 证书进行认证。
7. 如权利要求1或2所述的方法,其特征在于,Portal客户端发送客户端证书的过程, 具体为Portal客户端分批发送客户端证书的分片报文;认证服务器对客户端证书进行认 证的过程,具体为认证服务器根据接收到的客户端证书的分片报文,组装出客户端证书, 并对组装成的客户端证书进行认证;或者,Portal客户端发送客户端证书的过程,具体为Portal客户端将客户端证书压 縮后发送;认证服务器对客户端证书进行认证的过程,具体为认证服务器对接收到的客 户端证书进行解压,并对解压后的客户端证书进行认证。
8. 如权利要求1或2所述的方法,其特征在于,Portal客户端发送客户端证书之前,还 包括认证服务器根据所述Portal客户端发起的认证请求,向所述接入设备发送用于通 知Portal客户端发送客户端证书的通知消息,所述接入设备将该通知消息转发给所述 Portal服务器,所述Portal服务器根据所述通知消息通知Portal客户端发送客户端证 书;所述Portal客户端发送客户端证书,具体为所述Portal客户端在接收到认证服务器 发送的所述通知消息后,发送客户端证书。
9. 如权利要求1或2所述的方法,其特征在于,Portal服务器接收到Portal客户端的 认证请求后,还包括指示接入设备采用EAP认证方式;接入设备在将接收到Portal服务器转发的Portal客户端认证请求后,还包括指示认 证服务器采用EAP认证方式;所述Portal服务器通过EAP报文转发所述客户端证书给所述接入设备,具体为所述 Portal服务器接收Portal客户端发送的携带有客户端证书数据的EAP报文,根据该EAP报 文的EAP数据包类型字段信息,构造相应类型的EAP报文,并将所述客户端证书数据携带于 构造出的EAP报文转发给所述接入设备;所述接入设备通过EAP报文将所述客户端证书转发给认证服务器,具体为所述接入 设备接收Portal服务器转发的携带有客户端证书数据的EAP报文,根据该EAP报文的EAP 数据包类型字段信息,构造相应类型的EAP报文,并将所述客户端证书数据携带于构造出 的EAP报文转发给所述认证服务器。
10. 如权利要求1或2所述的方法,其特征在于,所述认证服务器中配置有特定标准的 根证书;所述认证服务器对客户端证书进行认证时,采用相应标准的根证书对客户端证书 进行认证。
11. 一种Portal服务器,其特征在于,包括接收模块,用于接收Portal客户端通过EAP报文发送的客户端证书; 转发模块,与接收模块连接,用于通过EAP报文将所述接收模块接收到的所述客户端 证书转发给接入设备。
12. 如权利要求11所述的Portal服务器,其特征在于,所述接收模块,还用于接收接入 设备通过EAP报文转发的服务器端证书;所述转发模块,还用于通过EAP报文将所述接收模块接收到的服务器端证书转发给 Portal客户端。
13. —种接入设备,其特征在于,包括Portal网关功能模块,用于接收Portal服务器通过EAP报文转发的Portal客户端的 客户端证书;认证设备功能模块,与所述Portal网关功能模块连接,用于通过EAP报文将所述 Portal网关功能模块接收到的客户端证书转发给认证服务器。
14. 如权利要求13所述的接入设备,其特征在于,所述认证设备功能模块,还用于接收 认证服务器通过EAP报文发送的服务器端证书;所述Portal网关功能模块,还用于将所述认证设备功能模块接收到的服务器端证书 通过EAP报文转发给Portal服务器。
15. 如权利要求13或14所述的接入设备,其特征在于,所述Portal网关功能模块,还 用于接收Portal服务器转发的Portal客户端的认证请求;所述认证功能模块,还用于根据所述Portal网关功能模块接收到的认证请求,向认证 服务器发送认证请求,并指示采用EAP认证方式。
16. —种认证服务器,包括接收模块、发送模块和认证模块,其特征在于, 所述接收模块,用于接收接入设备通过EAP报文转发的Portal客户端的客户端证书; 所述认证模块,与所述接收模块连接,用于对所述接收模块接收到的客户端证书进行认证。
17. 如权利要求16所述的认证服务器,其特征在于,所述接收模块具体用于,接收接入 设备转发的所述客户端证书的分片报文;所述认证模块具体用于,根据所述接收模块接收 到的所述客户端的分片报文,组装出客户端证书,并对组装成的客户端证书进行认证;或者,所述接收模块具体用于,接收接入设备转发的压縮处理后的客户端证书;所述认 证模块具体用于,对所述接收模块接收到的客户端证书解压后进行认证。
18. 如权利要求16或17所述的认证服务器,其特征在于,所述发送模块,用于通过EAP 报文发送服务器端证书,具体为,分批发送所述服务器端证书的分片报文,或者将所述服务 器端证书压縮后发送。
全文摘要
本发明公开了一种Portal证书认证方法及其装置,适用于包含能够支持证书认证的Portal客户端、Portal服务器、接入设备和认证服务器的证书认证系统,该方法包括Portal服务器接收Portal客户端发送的客户端证书,并通过扩展认证协议EAP报文将所述客户端证书转发给接入设备;接入设备通过EAP报文将所述客户端证书转发给认证服务器;认证服务器对接收到的客户端证书进行认证。采用本发明,可在Portal认证中引入证书认证机制,提高认证性能。
文档编号H04L29/08GK101783806SQ20101012415
公开日2010年7月21日 申请日期2010年3月15日 优先权日2010年3月15日
发明者郑雄开 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1