一种认证方法和装置与流程

文档序号:12729141阅读:307来源:国知局
一种认证方法和装置与流程

本申请涉及网络通信技术,特别涉及一种认证方法和装置。



背景技术:

安全套接层协议(SSL:Secure Sockets Layer)虚拟专用网络(VPN:Virtual Private Network)短信认证为接入用户提供了安全可靠地访问公司内部资源的方式。

但是,目前的SSLVPN短信认证依赖于现有的AAA认证,只有当AAA认证成功后才由AAA认证服务器通知SSLVPN客户端需要进行SSLVPN短信认证以及触发短信服务器发送短信请求开始执行SSLVPN短信认证。

而SSLVPN短信认证依赖AAA认证,会限制SSLVPN短信认证的应用。



技术实现要素:

本申请提供了一种认证方法和装置,以实现AAA认证和SSLVPN短信认证分离。

本申请提供的技术方案包括:

一种认证方法,该方法应用于安全套接层协议SSL虚拟专用网络VPN接入设备,包括:

通过本设备与SSLVPN客户端之间的SSL安全通道接收SSLVPN客户端发送的认证请求;

从所述认证请求中解析出用于验证、授权和记费AAA认证的第一认证参数,将所述第一认证参数携带在AAA认证请求中发送给AAA认证服务器;

从所述认证请求中解析出用于SSLVPN短信认证的第二认证参数,将所述第二认证参数携带在短信认证请求中发送给短信服务器;

依据AAA认证结果和SSLVPN短信认证结果确定SSLVPN客户端是否通过认证,所述AAA认证结果为AAA认证服务器对所述第一认证参数进行认证的结果,所述SSLVPN短信认证结果为短信服务器对所述第二认证参数进行认证的结果。

一种认证方法,该方法应用于安全套接层协议SSL虚拟专用网络VPN客户端,包括:

获取认证参数,所述认证参数中包含用于验证、授权和记费AAA认证的第一认证参数,以及用于SSLVPN短信认证的第二认证参数;

通过本SSLVPN客户端与SSLVPN接入设备之间的SSL安全通道发送认证请求,所述认证请求携带了所述认证参数。

一种认证装置,该装置应用于安全套接层协议SSL虚拟专用网络VPN接入设备,包括:

认证请求接收单元,用于通过本设备与SSLVPN客户端之间的SSL安全通道接收SSLVPN客户端发送的认证请求;

AAA认证请求单元,用于从所述认证请求中解析出用于验证、授权和记费AAA认证的第一认证参数,将所述第一认证参数携带在AAA认证请求中发送给AAA认证服务器;

SSLVPN短信认证请求单元,用于从所述认证请求中解析出用于SSLVPN短信认证的第二认证参数,将所述第二认证参数携带在短信认证请求中发送给短信服务器;

确定单元,用于依据AAA认证结果和SSLVPN短信认证结果确定SSLVPN客户端是否通过认证,所述AAA认证结果为AAA认证服务器对所述第一认证参数进行认证的结果,所述SSLVPN短信认证结果为短信服务器对所述第二认证参数进行认证的结果。

一种认证装置,该装置应用于安全套接层协议SSL虚拟专用网络VPN客户端,包括:

获取单元,用于获取认证参数,所述认证参数中包含用于验证、授权和记费AAA认证的第一认证参数,以及用于SSLVPN短信认证的第二认证参数;

认证请求单元,用于通过本SSLVPN客户端与SSLVPN接入设备之间的SSL安全通道发送认证请求,所述认证请求携带了所述认证参数。

由以上技术方案可以看出,本申请中,AAA认证和SSLVPN短信认证相互分离,而非现有技术中SSLVPN短信认证依赖于AAA认证,相比于现有技术,本申请能够使得SSLVPN短信认证可以天然支持任何认证方式的配合;

进一步地,在本申请中,短信服务器并不和AAA认证服务器通信,而是与SSL VPN接入设备通信,这是实现AAA认证和SSLVPN短信认证相互分离的前提,避免现有AAA认证服务器在AAA认证成功后触发短信服务器发送短信请求开始执行SSLVPN短信认证的操作。

再进一步地,在本申请中,SSLVPN接入设备与SSLVPN客户端之间的交互都是在SSL安全通道中进行,这会保证SSLVPN客户端认证的安全。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本申请提供的方法流程图;

图2为本申请中SSLVPN客户端动态获取短信验证码的流程图;

图3为本申请提供的实施例流程图;

图4为本申请提供的装置结构示意图;

图5为本申请提供的另一装置结构示意图。

具体实施方式

本申请提供的方法中,AAA认证和SSLVPN短信认证相互分离,而非现有技术中SSLVPN短信认证依赖于AAA认证,相比于现有技术,本申请能够使得SSLVPN短信认证可以天然支持任何认证方式的配合。

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。

参见图1,图1为本申请提供的方法流程图。如图1所示,该流程可包括以下步骤:

步骤101,SSLVPN客户端获取认证参数,通过本SSLVPN客户端与SSLVPN接入设备之间的SSL安全通道发送认证请求,认证请求携带了所述认证参数。

在本申请中,SSLVPN客户端获取的该认证参数既包含了用于AAA认证的第一认证参数比如用户名、密码,又包含了用于SSLVPN短信认证的第二认证参数比如用户名、短信验证码。下文均以第二认证参数至少包含短信验证码为例描述。

在其中一个实施方式中,短信验证码是SSLVPN客户端动态获取的,下文图2所示流程重点描述了SSLVPN客户端如何动态获取短信验证码,这里暂不赘述。

在另外一个实施方式中,短信验证码也可由SSLVPN客户端与短信服务器预先协商并存储在SSLVPN客户端本地。

本步骤101中,SSLVPN客户端通过与SSLVPN接入设备之间的SSL安全通道发送携带上述认证参数的认证请求,能够通过一次认证请求触发AAA认证和SSLVPN短信认证两个相互独立的认证(具体见步骤102至步骤104),这防止SSLVPN客户端针对AAA认证和SSLVPN短信认证分别发送认证请求,节省资源,提高认证效率,更能避免SSLVPN短信认证依赖于AAA认证,以使本申请提供的SSLVPN短信认证可以天然支持任何认证方式的配合。

步骤102,SSLVPN接入设备通过本设备与SSLVPN客户端之间的SSL安全通道接收SSLVPN客户端发送的认证请求,从认证请求中解析出用于AAA认证的第一认证参数,将所述第一认证参数携带在AAA认证请求中发送给AAA认证服务器,以及,从认证请求中解析出用于SSLVPN短信认证的第二认证参数,将所述第二认证参数携带在短信认证请求中发送给短信服务器。

假如认证参数包含用户名、密码、短信验证码,则以第一认证参数为用户名、密码为例,步骤102中从认证请求中解析出用于AAA认证的第一认证参数,将所述第一认证参数携带在AAA认证请求中发送给AAA认证服务器具体为:

从认证请求携带的用户名、密码、短信验证码中获得用户名、密码,将用户名、密码携带在AAA认证请求中发送给AAA认证服务器。这里的AAA认证请求类似现有AAA认证中的AAA认证请求,不再赘述。

再假如认证参数包含用户名、密码、短信验证码,则以第二认证参数为用户名、短信验证码为例,其中,第二认证参数中的用户名与第一认证参数中的用户名相同,在此,仅仅是为了表述方便,因而将包含有用户名和密码的认证参数命名为第一认证参数,包含有用户名和短信验证码的认证参数命名为第二认证参数。则,步骤102中,从认证请求中解析出用于SSLVPN短信认证的第二认证参数,将所述第二认证参数携带在短信认证请求中发送给短信服务器具体为:

从认证请求携带的用户名、密码、短信验证码中获得用户名、短信验证码,将用户名、短信验证码携带在短信认证请求中发送给短信服务器。这里的短信认证请求类似现有短信认证中的短信认证请求,不再赘述。

需要说明的是,步骤102中从认证请求中解析出用于AAA认证的第一认证参数,将所述第一认证参数携带在AAA认证请求中发送给AAA认证服务器,与步骤102中从认证请求中解析出用于SSLVPN短信认证的第二认证参数,将所述第二认证参数携带在短信认证请求中发送给短信服务器并没有固定的时间先后顺序。

步骤103,SSLVPN接入设备依据AAA认证结果和SSLVPN短信认证结果确定SSLVPN客户端是否通过认证,AAA认证结果为AAA认证服务器对所述第一认证参数进行认证的结果,SSLVPN短信认证结果为短信服务器对所述第二认证参数进行认证的结果。

其中,SSLVPN接入设备接收AAA认证结果和SSLVPN短信认证结果的先后顺序并不加以限定。当然,一种优选的实施方式中,SSLVPN接入设备同时接收AAA认证结果和SSLVPN短信认证结果。

作为一个实施方式,步骤103中,SSLVPN接入设备依据AAA认证结果和SSLVPN短信认证结果确定SSLVPN客户端是否通过认证具体包括:

对所述AAA认证结果和所述SSLVPN短信认证结果进行判断,在判断所述AAA认证结果和所述SSLVPN短信认证结果均为通过认证时,确定SSLVPN客户端通过认证,否则,确定SSLVPN客户端未通过认证。

作为一个实施方式,当SSLVPN接入设备确定SSLVPN客户端通过认证时,SSLVPN接入设备可进一步向SSLVPN客户端发送认证成功的通知,并对SSLVPN客户端进行后续的授权、计费等操作。

通过图1所示流程步骤101至步骤103可以看出,在本申请中,AAA认证和SSLVPN短信认证相互分离,而非现有技术中SSLVPN短信认证依赖于AAA认证,相比于现有技术,本申请能够使得SSLVPN短信认证可以天然支持任何认证方式的配合;

进一步地,在本申请中,短信服务器并不和AAA认证服务器通信,而是与SSL VPN接入设备通信,这是实现AAA认证和SSLVPN短信认证相互分离的前提,避免现有AAA认证服务器在AAA认证成功后触发短信服务器发送短信请求开始执行SSLVPN短信认证的操作。再进一步地,在本申请中,SSLVPN接入设备与SSLVPN客户端之间的交互都是在SSL安全通道中进行,这会保证SSLVPN客户端认证的安全。

至此,完成图1所示流程。

下面对本申请中SSLVPN客户端如何动态获取短信验证码进行描述:

参见图2,图2为本申请中SSLVPN客户端动态获取短信验证码的流程图。如图2所示,该流程可包括以下步骤:

步骤201,SSLVPN客户端通过本客户端与SSLVPN接入设备之间的SSL安全通道向SSLVPN接入设备发送短信验证码请求。

在本申请中,SSLVPN客户端发送之所以向SSLVPN接入设备发送短信验证码请求,其目的是使SSLVPN接入设备将所述短信验证码请求转发给短信服务器,以触发短信服务器基于所述短信验证码请求为SSLVPN客户端分配短信验证码。

在本申请中,作为一个实施例,短信验证码请求携带了用户名。

步骤202,SSLVPN接入设备通过本设备与SSLVPN客户端之间的SSL安全通道接收SSLVPN客户端发送的短信验证码请求,按照本设备与所述短信服务器协商的报文格式重设所述短信验证码请求,将得到的符合所述报文格式的短信验证码请求发送给短信服务器。

在本申请中,SSLVPN接入设备之所以按照本设备与所述短信服务器协商的报文格式重设短信验证码请求,其目的是便于短信服务器正确识别短信验证码请求,以方便为SSLVPN客户端分配短信验证码。可选的,SSLVPN接入设备与短信服务器协商的报文格式可以为超文本传输协议HTTP(HyperText Transfer Protocol,简称HTTP)格式的短信验证码请求。

步骤203,短信服务器接收SSLVPN接入设备发送的短信验证码请求,基于接收的短信验证码请求返回一个短信验证码给SSLVPN客户端。

如上描述,短信验证码请求携带了用户名,作为一个实施例,本步骤203中基于接收的短信验证码请求返回一个短信验证码给SSLVPN客户端具体为:

步骤a1,短信服务器从接收的短信验证码请求中解析出用户名;

步骤a2,短信服务器生成一个短信验证码,并根据预先存储的用户名与用户终端标识之间的对应关系确定解析出的用户名对应的用户终端,将生成的短信验证码发送给确定出的用户终端。

作为一个实施方式,步骤a2中,短信服务器可随机生成一个短信验证码,也可按照设定的规则生成一个短信验证码。设定的规则可根据需求设置,比如根据用户名进行相应计算生成一个短信验证码等,本申请并不具体限定。

作为一个实施方式,这里的用户终端标识举例可为手机号等,本申请并不具体限定。

步骤a3,用户终端接收短信服务器发送的短信验证码,并发送给SSLVPN客户端。

通过步骤a1至步骤a3最终实现了步骤203中短信服务器基于接收的短信验证码请求返回短信验证码给SSLVPN客户端的操作。

至此,完成图2所示的流程。

下面通过一个实施例对图1和图2所示流程进行描述:

参见图3,图3为本申请提供的实施例流程图。在实施例之前,如图3所示,SSLVPN客户端与SSLVPN接入设备之间已建立了SSL安全通道,以确保后续认证的安全。

如图3所示,该流程可包括:

步骤301,SSLVPN客户端通过与SSLVPN接入设备之间的SSL安全通道向SSLVPN接入设备发送短信验证码请求。

步骤302,SSLVPN接入设备通过本设备与SSLVPN客户端之间的SSL安全通道接收SSLVPN客户端发送的短信验证码请求。

步骤303,SSLVPN接入设备按照本设备与所述短信服务器协商的报文格式重设所述短信验证码请求,将得到的符合所述报文格式的短信验证码请求发送给短信服务器。

可选的,SSLVPN接入设备与短信服务器协商的报文格式可以为超文本传输协议HTTP(HyperText Transfer Protocol,简称HTTP)格式的短信验证码请求,基于此,SSLVPN接入设备将接收的短信验证码请求重设为HTTP的短信验证码请求,并发送给短信服务器。

步骤304,短信服务器接收SSLVPN接入设备发送的短信验证码请求,基于接收的短信验证码请求返回一个短信验证码给SSLVPN客户端。

本步骤304中短信服务器基于接收的短信验证码请求返回一个短信验证码给SSLVPN客户端具体如上步骤a1至步骤a3所述。

通过步骤301至步骤304实现了短信服务器动态获取短信验证码。

下面以用于AAA认证的第一认证参数为用户名、密码,用于SSLVPN短信认证的第二认证参数为用户名、短信验证码为例,描述AAA认证和SSLVPN短信认证。

步骤305,SSLVPN客户端通过与SSLVPN接入设备之间的SSL安全通道发送携带了用户名、密码、短信验证码的认证请求。

步骤306,SSLVPN接入设备通过本设备与SSLVPN客户端之间的SSL安全通道接收SSLVPN客户端发送的认证请求。

步骤307,SSLVPN接入设备将认证请求中的用户名、密码携带在AAA认证请求中发送给AAA认证服务器,以及将认证请求中的用户名、短信验证码携带在短信认证请求中发送给短信服务器。

步骤308,AAA认证服务器接收AAA认证请求,对AAA认证请求中的用户名、密码进行认证,返回AAA认证结果给SSLVPN接入设备。

步骤309,短信服务器接收短信认证请求,对短信认证请求中的用户名、短信验证码进行认证,返回SSLVPN短信认证结果给SSLVPN接入设备。

步骤308、步骤309并没有固定的时间先后顺序,只是为便于描述进行的命名而已,不用于限定本申请。

步骤310,SSLVPN接入设备接收AAA认证结果和SSLVPN短信认证结果,对接收的AAA认证结果和SSLVPN短信认证结果进行判断,当AAA认证结果和所述SSLVPN短信认证结果均为通过认证时,确定SSLVPN客户端通过认证,否则,确定SSLVPN客户端未通过认证。

SSLVPN接入设备接收AAA认证结果和SSLVPN短信认证结果的顺序并不限定,可同时接收,也可先后接收,本申请并不具体限定。

作为一个实施例,当SSLVPN接入设备确定SSLVPN客户端未通过认证时,SSLVPN接入设备发送认证失败的通知给SSLVPN客户端,以触发SSLVPN客户端重新发起如步骤301描述的短信验证码请求。

作为一个实施例,当SSLVPN客户端接收认证成功的通知后,则可发送认证成功的通知给SSLVPN客户端,并对SSLVPN客户端进行后续的授权、计费等操作。

至此,完成图3所示流程。

需要说明的是,在本申请中,短信验证码具有对应的生存时间,当短信验证码对应的生存时间到达时,短信验证码无效。

在本申请中,当AAA认证服务器可以根据需求进行切换,而AAA认证服务器的切换,仅需要将切换后的AAA认证服务器与SSLVPN接入设备进行绑定,则在绑定之后,SSLVPN接入设备检测到AAA认证服务器发生切换,触发SSLVPN客户端重新发送认证请求,不需要进行其他特殊处理(例如,无需将切换后的AAA认证服务器与短信服务器进行绑定)来支持本申请中的SSLVPN短信认证。这样,由于短信服务器不和AAA认证服务器绑定,因而当AAA认证服务器同时支持多种认证,即AAA认证服务器包括多个认证服务器时,例如包括远程用户拨号认证系统RADIUS(Remote Authentication Dial In User Service,简称RADIUS)服务器、轻量目录访问协议LDAP(Lightweight Directory Access Protocol,简称LDAP)认证服务器中的任意多个。则多个服务器无需分别同短信服务器进行关联绑定,而仅需要SSLVPN接入设备与短信服务器之间进行关联绑定即可。

当然,SSLVPN接入设备还可以支持活动目录AD(Active Directory,简称AD)认证、本地认证等,同样仅需SSLVPN接入设备与短信服务器之间进行关联绑定即可,在此不一一列举。

而对于SSLVPN客户端,当接收到SSLVPN接入设备触发的重新发送认证请求时,检测所述短信验证码对应的生存时间是否到达,

如果否,返回执行步骤101中通过本SSLVPN客户端与SSLVPN接入设备之间的SSL安全通道发送携带了所述认证参数的认证请求的操作;

如果是,重新执行获取短信验证码的步骤(具体见图2所示的流程),在获取短信验证码后继续执行通过本SSLVPN客户端与SSLVPN接入设备之间的SSL安全通道发送认证请求的操作。

以上对本申请提供的方法进行描述。

下面对本申请提供的装置进行描述:

参见图4,图4为本申请提供的装置结构图。该装置应用于安全套接层协议SSL虚拟专用网络VPN接入设备,包括:

认证请求接收单元,用于通过本设备与SSLVPN客户端之间的SSL安全通道接收SSLVPN客户端发送的认证请求;

AAA认证请求单元,用于从所述认证请求中解析出用于验证、授权和记费AAA认证的第一认证参数,将所述第一认证参数携带在AAA认证请求中发送给AAA认证服务器;

SSLVPN短信认证请求单元,用于从所述认证请求中解析出用于SSLVPN短信认证的第二认证参数,将所述第二认证参数携带在短信认证请求中发送给短信服务器;

确定单元,用于依据AAA认证结果和SSLVPN短信认证结果确定SSLVPN客户端是否通过认证,所述AAA认证结果为AAA认证服务器对所述第一认证参数进行认证的结果,所述SSLVPN短信认证结果为短信服务器对所述第二认证参数进行认证的结果。

优选地,所述确定单元依据AAA认证结果和SSLVPN短信认证结果确定SSLVPN客户端是否通过认证包括:

对所述AAA认证结果和所述SSLVPN短信认证结果进行判断,在判断出所述AAA认证结果和所述SSLVPN短信认证结果均为通过认证时,确定SSLVPN客户端通过认证,否则,确定SSLVPN客户端未通过认证。

优选地,第二认证参数至少包含短信验证码;所述装置进一步包括:

短信验证码请求单元,用于通过本设备与SSLVPN客户端之间的SSL安全通道接收SSLVPN客户端发送的短信验证码请求,按照本设备与所述短信服务器协商的报文格式重设所述短信验证码请求,将得到的符合所述报文格式的短信验证码请求发送给短信服务器,以触使所述短信服务器发送为所述SSL VPN客户端分配的短信验证码。

优选地,其特征在于,该装置进一步包括:

检测单元,用于当检测所述AAA认证服务器发生切换时,与切换后的AAA认证服务器建立连接,并触发所述SSLVPN客户端重新发送认证请求。

至此,完成图4所示装置的结构图。

参见图5,图5为本申请提供的另一装置结构图。该装置应用于安全套接层协议SSL虚拟专用网络VPN客户端,包括:

获取单元,用于获取认证参数,所述认证参数中包含用于验证、授权和记费AAA认证的第一认证参数,以及用于SSLVPN短信认证的第二认证参数;

认证请求单元,用于通过本SSLVPN客户端与SSLVPN接入设备之间的SSL安全通道发送认证请求,所述认证请求携带了所述认证参数。

优选地,所述第二认证参数至少包含短信验证码;

所述获取单元通过以下步骤获取短信验证码:

通过本SSLVPN客户端与SSLVPN接入设备之间的SSL安全通道向SSLVPN接入设备发送短信验证码请求,以使SSLVPN接入设备将所述短信验证码请求转发给短信服务器;

接收短信服务器基于所述短信验证码请求返回的短信验证码。

优选地,所述短信验证码具有对应的生存时间,当短信验证码对应的生存时间到达时,所述短信验证码无效;

如图5所示,该装置进一步包括:

接收单元,用于当接收到SSLVPN接入设备触发的重新发送认证请求时,检查所述短信验证码对应的生存时间是否到达,所述SSLVPN接入设备是在检测到AAA认证服务器发生切换时触发SSLVPN客户端重新发送认证请求;

如果检测所述短信验证码对应的生存时间未到达,返回触发所述认证请求单元执行通过本SSLVPN客户端与SSLVPN接入设备之间的SSL安全通道发送认证请求的操作;

如果检测所述短信验证码对应的生存时间到达,触发所述获取单元重新获取短信验证码,在所述获取单元获取新的短信验证码后继续触发所述认证请求单元执行通过本SSLVPN客户端与SSLVPN接入设备之间的SSL安全通道发送认证请求的操作。

至此,完成图5所示装置的结构描述。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1