一种支持多种认证协议的认证方法、认证服务器及系统的制作方法
【技术领域】
[0001]本发明属于身份认证领域,尤其涉及一种支持多种认证协议的认证方法、认证服务器及系统。
【背景技术】
[0002]PEAP 认证(Protect EAP 认证)广泛适用于 1S、Android、Symbian、BlackBerry和Window Mobile Phone等操作系统的智能手机终端,并且可以在笔记本和PAD等无SIM卡的终端上使用,既全面覆盖用户终端,又提升了用户的WLAN使用体验,PEAP认证被广泛用于终端登录无线网络时终端与认证服务器之间的数据交互。PEAP认证协议类型主要有MS-CHAPv2类型、OTP类型、GTC类型、MD5类型等。
[0003]现有技术中,客户端只支持一种默认的认证协议,相应的,服务器端与客户端之间的认证方法流程也是一种支持单一认证协议的认证流程,这样一台服务器仅适用于支持某一种认证协议类型的客户端,不能支持不同PEAP认证协议类型的客户端,造成了服务器使用的局限性。
【发明内容】
[0004]为解决现有技术存在的技术缺陷,本发明提供了一种支持多种认证协议的认证方法、认证服务器及系统,通过对认证服务器上的认证处理流程进行改造,使其可以同时支持多种认证协议。
[0005]本发明提出的一种支持多种认证协议的认证方法,包括以下步骤:
[0006]步骤S1:认证服务器向客户端发送身份标识数据请求,并接收所述客户端返回的身份标识响应数据包;
[0007]步骤S2:所述认证服务器检查所述身份标识响应数据包中是否包含认证协议类型,是则执行步骤S3 ;否则执行步骤S4 ;
[0008]步骤S3:所述认证服务器依据所述认证协议类型向所述客户端发送身份认证请求,并接收所述客户端返回的身份认证请求响应数据包,然后执行步骤S8 ;
[0009]步骤S4:所述认证服务器使用默认的认证协议类型向所述客户端发送身份认证请求;
[0010]步骤S5:所述认证服务器判断所述客户端是否返回身份认证请求响应数据包,是则执行步骤S8,否则执行步骤S6 ;
[0011]步骤S6:所述认证服务器判断是否存在未被使用过的认证协议类型,是则执行步骤S7,否则执行步骤S10;
[0012]步骤S7:所述认证服务器选择一个未被使用过的认证协议类型,使用选择的认证协议类型向所述客户端发送身份认证请求,然后返回执行步骤S5 ;
[0013]步骤S8:所述认证服务器根据所述客户端返回的所述身份认证请求响应数据包判断身份认证是否成功,是则执行步骤S9,否则执行步骤SlO ;
[0014]步骤S9:所述认证服务器向所述客户端发送认证成功消息,结束;
[0015]步骤SlO:所述认证服务器向所述客户端发送认证失败消息,结束。
[0016]进一步的,所述步骤SI之前还包括,所述认证服务器与所述客户端建立安全传输层通道,并在所述安全传输层通道下执行所述步骤S1-所述步骤SlO ;
[0017]所述步骤S9和所述步骤SlO还包括,当所述认证服务器接收到所述客户端返回的认证结果响应数据包后,通知所述客户端终止所述安全传输层通道。
[0018]本发明提出的一种支持多种认证协议的认证系统,包括客户端和认证服务器;
[0019]所述客户端包括第二收发单元;
[0020]所述第二收发单元,用于接收到身份标识数据请求后向认证服务器返回身份标识响应数据包;用于接收到身份认证请求后向认证服务器返回身份认证请求响应数据包;用于接收到认证成功消息或认证失败消息时向认证服务器返回认证结果响应数据包;
[0021]所述认证服务器包括第二收发模块、第一判断模块、第二判断模块、第三判断模块和第四判断模块;
[0022]所述第二收发模块,用于在所述安全传输层通道内,向客户端发送身份标识数据请求,以及接收客户端返回的身份标识响应数据包;用于在第一判断模块检查到所述身份标识响应数据包中包含认证协议类型时,依据认证协议类型向客户端发送身份认证请求,以及接收客户端返回的身份认证请求响应数据包;用于在第一判断模块检查到所述身份标识响应数据包中不包含认证协议类型时,使用默认的认证协议类型向客户端发送身份认证请求;用于当第三判断模块判断还存在未被使用过的认证协议类型时,选择一个未被使用过的认证协议类型,并使用选择的认证协议类型向客户端发送身份认证请求;用于当第三判断模块判断不存在未被使用过的认证协议类型时,或者第四判断模块判断身份认证失败时,向客户端发送认证失败消息;用于当第四判断模块判断身份认证成功时向客户端发送认证成功消息;
[0023]所述第一判断模块,用于检查所述第二收发模块接收到的身份标识响应数据包中是否包含认证协议类型;
[0024]所述第二判断模块,用于判断客户端是否返回身份认证请求响应数据包;
[0025]所述第三判断模块,用于当第二判断模块判断所述客户端未返回身份认证请求响应数据包时,判断是否存在未被使用过的认证协议类型;
[0026]所述第四判断模块,用于当第二判断模块判断所述客户端返回身份认证请求响应数据包时,根据客户端返回的身份认证请求响应数据包判断身份认证是否成功。
[0027]本发明的有益效果如下:本发明提供的认证方法、认证服务器及系统,相比现有的支持单一认证协议的认证方法和认证服务器,通过对现有的PEAP认证方法流程和认证服务器进行的改造,可以支持多种不同认证协议类型,提高了认证服务器的适用性。
【附图说明】
[0028]图1为本发明实施例1提供的一种支持多种认证协议的认证方法流程图;
[0029]图2是本发明实施例2提供的一种支持多种认证协议的认证系统。
【具体实施方式】
[0030]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步地详细描述。
[0031]PEAP认证分两个阶段完成:第一个阶段由客户端和认证服务器之间建立TLS(安全传输层)通道。此阶段是由客户端验证认证服务器的合法性,并由二者协商建立起TLS通道。第二个阶段是在TLS通道内由客户端和认证服务器之间进行认证交互,认证服务器验证客户端的合法性。
[0032]实施例1
[0033]本实施例提供的一种支持多种认证协议的认证方法,基于客户端和认证服务器组成的系统来实现,如图1所示,包括以下内容:
[0034]步骤101:认证服务器向客户端发送TLS连接消息;
[0035]例如,认证服务器向客户端发送的TLS连接消息如下:
[0036]0x4F, 0x08, EAP-Message
[0037]0x01, Request
[0038]0x01,Id
[0039]0x00, 0x06, Length
[0040]0x19,PEAP
[0041]0x20, 00100000PEAP start bit, S bit set
[0042]步骤102:客户端接收到TLS连接消息后,向认证服务器发送建立TLS连接的数据包;
[0043]步骤103:认证服务器向客户端返回TLS连接响应数据包;
[0044]例如,客户端向认证服务器发送建立TLS连接的数据包以及认证服务器向客户端返回TLS连接响应数据包的过程如下:
[0045]1.1:客户端向认证服务器发送ClientHello,认证服务器向客户端返回ServerHello Certificate*ServerHel1Done ;
[0046]1.2:客户端向认证服务器发送 ClientKeyExchange [ChangeCipherSpec]Finished,认证服务器向客户端返回[ChangeCipherSpec]Finished。
[0047]步骤104:客户端向认证服务器发送TLS通道已建立消息;
[0048]例如,客户端向认证服务器发送的TLS通道已建立消息如下:
[0049]0x4F, 0x08, EAP-Message
[0050]0x02, Response
[0051]0x01,id
[0052]0x00,0x06,
[0053]0x19,0x00,PEAP
[00