数据认证的方法、装置及系统与流程

文档序号:12278734阅读:183来源:国知局
数据认证的方法、装置及系统与流程

本发明涉及互联网技术领域,尤其涉及一种数据认证的方法、装置及系统。



背景技术:

单点登录(Single Sign On,SSO)是目前比较流行的企业业务整合的解决方案之一。SSO是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,即统一认证。为了给应用系统提供一种可靠的单点登录方法,出现了中央认证服务(Central Authentication Service,CAS)。CAS包括CAS服务器和CAS客户端两个部分,CAS服务器需要独立的部署,而CAS客户端通常部署在受保护的应用服务器中,现有技术中CAS的认证过程为:当应用服务器接收到应用客户端发送的访问请求时,应用服务器需要将访问请求中携带的认证凭据ticket发送给CAS服务器,以使CAS服务器判断ticket是否合法,当应用服务器接收到确定ticket为合法的认证凭据的消息时,则允许应用客户端访问应用服务器并对访问请求进行响应。

对于现有的CAS认证过程,发明人发现,应用服务器需要将每一个访问请求中携带的ticket发送给认证服务器来判断ticket的合法性,而当应用客户端向应用服务器发送的访问请求频繁时,会给认证服务器造成很大的压力,影响ticket合法性判断的效率,进而影响应用服务器的访问性能。



技术实现要素:

鉴于上述问题,本发明提供一种数据认证方法、装置及系统,用以解决现有单点登录系统中CAS认证方法给认证服务器造成很大的压力的问题。

为解决上述技术问题,第一方面,本发明提供了一种数据认证的方法,所述方法应用于应用服务器,所述方法包括:

从应用客户端发送的访问请求中获取访问认证凭据,所述访问认证凭据为应用客户端用于访问应用服务器的访问凭据;

根据合法认证凭据对所述访问认证凭据的合法性进行认证,所述合法认证凭据由认证服务器下发给所述应用服务器;

若所述访问认证凭据合法,则对所述访问请求进行响应。

可选的,所述根据合法认证凭据对所述访问认证凭据的合法性进行认证,包括:

将所述访问认证凭据与所述合法认证凭据进行匹配;

若所述合法认证凭据中包含所述访问认证凭据,则确定所述访问认证凭据是合法的。

可选的,所述方法进一步包括:

在所述认证服务器生成合法认证凭据之后,接收所述认证服务器下发的合法认证凭据,所述合法认证凭据是在所述应用客户端成功登录所述认证服务器之后生成的。

可选的,所述接收所述认证服务器下发的合法认证凭据,包括:

根据预设认证机制对所述认证服务器的身份进行认证;

若所述认证服务器为所述应用服务器可信任的认证服务器,则接收所述认证服务器下发的合法认证凭据。

可选的,所述根据预设认证机制对所述认证服务器的身份进行认证,包括:

判断所述认证服务器的网间协议IP地址是否属于所述应用服务器对应的预设可信任IP地址;

判断所述认证服务器的预设标识码是否属于所述应用服务器对应的预设可信任标识码;

若所述认证服务器的IP地址属于预设可信任IP地址且所述认证服务器的预设标识码属于预设可信任标识码,则所述认证服务器为可信任的认证服务器。

可选的,判断所述认证服务器的预设标识码是否属于所述应用服务器对应的预设可信任标识码,包括:

从下发请求中获取认证服务器预设标识码加密后的值以及加密密钥,所述下发请求为所述认证服务器向所述应用服务器下发合法认证凭据的请求;

根据预设标识码加密后的值以及加密密钥判断所述认证服务器的预设标识码是否属于所述应用服务器对应的预设可信任标识码。

可选的,所述方法进一步包括:

接收所述认证服务器发送的超时通知,所述超时通知包含所述认证服务器中超时的合法认证凭据和/或超时的合法认证凭据的标识;

根据所述超时通知将应用服务器中对应的超时的合法认证凭据删除。

第二方面,本发明提供了另一种数据认证的方法,所述方法应用于认证服务器,所述方法包括:

在应用客户端成功登录所述认证服务器后,生成合法认证凭据;

将所述合法认证凭据下发给应用服务器,以使应用服务器根据所述合法认证凭据对访问认证凭据的合法性进行认证,所述访问认证凭据包含于应用客户端向所述应用服务器发送的访问请求中,所述访问认证凭据为所述应用客户端用于访问应用服务器的凭据。

可选的,在将所述合法认证凭据下发给应用服务器之前,所述方法进一步包括:

对所述认证服务器的预设标识码进行加密,获得加密后的值以及加密密钥;

将加密后的值以及加密密钥添加到下发请求中,以使所述应用服务器根据预设标识码加密后的值以及加密密钥判断所述认证服务器的预设标识码是否属于所述应用服务器对应的预设可信任标识码,所述下发请求为向应用服务器下发合法认证凭据的请求。

可选的,所述方法进一步包括:

按照预设规则对认证服务器中的合法认证凭据进行超时检测;

若存在超时的合法认证凭据,则向所述应用服务器发送超时通知,以使所述应用服务器根据所述超时通知删除应用服务器中对应的超时的合法认证凭据,所述超时通知包含认证服务器中超时的合法认证凭据和/或超时的合法认证凭据的标识。

第三方面,本发明提供了一种数据认证的装置,所述装置位于应用服务器侧,所述装置包括:

访问请求获取单元,用于从应用客户端发送的访问请求中获取访问认证凭据,所述访问认证凭据为应用客户端用于访问应用服务器的凭据;

认证单元,用于根据合法认证凭据对所述访问认证凭据的合法性进行认证,所述合法认证凭据由认证服务器下发给所述应用服务器;

响应单元,用于若所述访问认证凭据合法,则对所述访问请求进行响应。

可选的,所述认证单元,包括:

匹配模块,用于将所述访问认证凭据与所述合法认证凭据进行匹配;

确定模块,用于若所述合法认证凭据中包含所述访问认证凭据,则确定所述访问认证凭据是合法的。

可选的,所述装置进一步包括:

凭据接收单元,用于在所述认证服务器生成合法认证凭据之后,接收所述认证服务器下发的合法认证凭据,所述合法认证凭据是在所述应用客户端成功登录所述认证服务器之后生成的。

可选的,所述凭据接收单元,包括:

认证模块,用于根据预设认证机制对所述认证服务器的身份进行认证;

接收模块,用于若所述认证服务器为所述应用服务器可信任的认证服务器,则接收所述认证服务器下发的合法认证凭据。

可选的,所述认证模块用于:

判断所述认证服务器的网间协议IP地址是否属于所述应用服务器对应的预设可信任IP地址;

判断所述认证服务器的预设标识码是否属于所述应用服务器对应的预设可信任标识码;

若所述认证服务器的IP地址属于预设可信任IP地址且所述认证服务器的预设标识码属于预设可信任标识码,则所述认证服务器为可信任的认证服务器。

可选的,所述认证模块还用于:

从下发请求中获取认证服务器预设标识码加密后的值以及加密密钥,所述下发请求为所述认证服务器向所述应用服务器下发合法认证凭据的请求;

根据预设标识码加密后的值以及加密密钥判断所述认证服务器的预设标识码是否属于所述应用服务器对应的预设可信任标识码。

可选的,所述装置进一步包括:

通知接收单元,用于接收所述认证服务器发送的超时通知,所述超时通知包含所述认证服务器中超时的合法认证凭据和/或超时的合法认证凭据的标识;

删除单元,用于根据所述超时通知将应用服务器中对应的超时的合法认证凭据删除。

第四方面,本发明提供了一种数据认证的装置,所述装置位于认证服务器侧,所述装置包括:

生成单元,用于在应用客户端成功登录所述认证服务器后,生成合法认证凭据;

下发单元,用于将所述合法认证凭据下发给应用服务器,以使应用服务器根据所述合法认证凭据对访问认证凭据的合法性进行认证,所述访问认证凭据包含于应用客户端向所述应用服务器发送的访问请求中,所述访问认证凭据为所述应用客户端用于访问应用服务器的凭据。

可选的,所述装置进一步包括:

加密单元,用于在将所述合法认证凭据下发给应用服务器之前,对所述认证服务器的预设标识码进行加密,获得加密后的值以及加密密钥;

添加单元,用于将加密后的值以及加密密钥添加到下发请求中,以使所述应用服务器根据预设标识码加密后的值以及加密密钥判断所述认证服务器的预设标识码是否属于所述应用服务器对应的预设可信任标识码,所述下发请求为向应用服务器下发合法认证凭据的请求。

可选的,所述装置进一步包括:

检测单元,用于按照预设规则对认证服务器中的合法认证凭据进行超时检测;

发送单元,用于若存在超时的合法认证凭据,则向所述应用服务器发送超时通知,以使所述应用服务器根据所述超时通知删除应用服务器中对应的超时的合法认证凭据,所述超时通知包含认证服务器中超时的合法认证凭据和/或超时的合法认证凭据的标识。

第五方面,本发明提供了一种数据认证的系统,所述系统包括应用客户端、认证服务器、应用服务器:

所述应用客户端,用于登录所述认证服务器;向所述应用服务器发送访问请求,所述访问请求中包含访问认证凭据,所述访问认证凭据为所述应用客户端用于访问应用服务器的凭据;

所述认证服务器,用于在应用客户端成功登录所述认证服务器后,生成所述合法认证凭据;并将所述合法认证凭据下发给所述应用服务器;

所述应用服务器,用于从所述访问请求中获取访问认证凭据;并根据合法认证凭据对所述访问认证凭据的合法性进行认证;若所述访问认证凭据合法,则对所述访问请求进行响应。

借由上述技术方案,本发明提供的数据认证的方法、装置及系统,能够由应用服务器从应用客户端发送的访问请求中获取访问认证凭据,访问认证凭据为应用客户端用于访问应用服务器的凭据;然后应用服务器根据由认证服务器下发给应用服务器的合法认证凭据对访问认证凭据的合法性进行认证;若访问认证凭据合法,则对访问请求进行响应。与现有技术相比,在单点登录系统中,当应用客户端向应用服务器发送的访问请求频繁时,不需要每个应用服务器将访问认证凭据都发送至认证服务器去认证,而是每个应用服务将接收到的访问认证凭据进行本地认证,因此大大降低了对认证服务器的压力。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种数据认证的方法的流程图;

图2示出了本发明实施例提供的另一种数据认证的方法的流程图;

图3示出了本发明实施例提供的一种数据认证的装置的组成框图;

图4示出了本发明实施例提供的另一种数据认证的装置的组成框图;

图5示出了本发明实施例提供的又一种数据认证的装置的组成框图;

图6示出了本发明实施例提供的再一种数据认证的装置的组成框图;

图7示出了本发明实施例提供的一种数据认证的系统框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

为解决现有单点登录系统中CAS认证方法给认证服务器造成很大的压力的问题,本发明实施例提供了一种数据认证的方法,如图1所示,该方法应用于应用服务器,包括:

首先需要说明的是,本实施例是对可靠的单点登录系统中使用的CAS认证方法的改进。具体的是将应用客户端发送的访问请求中的访问认证凭据由应用服务器进行认证。具体的在应用服务器中对访问认证凭据进行合法性认证的过程如下所述:

101、从应用客户端发送的访问请求中获取访问认证凭据。

其中访问认证凭据为应用客户端用于访问应用服务器的凭据。在从应用客户端发送的访问请求中获取访问认证凭据之前,需要先检查访问请求中是否存在访问认证凭据,若存在访问认证凭据,则从访问请求中获取,若不存在访问认证凭据,则拒绝该访问请求。

在实际应用中,对于访问请求中不存在访问认证凭据的情况,通常是指应用客户端在发送访问请求之前从未访问过单点登录系统中相互信任的多个应用服务器中任何一个应用服务器。对于这种情况,应用服务器会向应用客户端返回认证服务器的登录地址,使应用客户端通过账号信息或者用户名信息等其它的登录信息登录认证服务器,并从认证服务器中获取访问认证凭据。应用客户端获取到访问认证凭据之后再重新生成访问请求发送给应用服务器。

需要说明的是,本实施例中不同的应用服务器对应提供不同的应用服务。

102、根据合法认证凭据对访问认证凭据的合法性进行认证。

其中,合法认证凭据是由认证服务器下发给应用服务器的,合法认证凭据作为访问认证凭据合法性判断的标准。

103、若访问认证凭据合法,则对访问请求进行响应。

访问认证凭据合法表示访问认证凭据属于合法认证凭据,也表示对应的应用客户端为能够访问应用服务器的客户端,则应用服务器能够对访问请求进行响应,并在响应之后将对应的响应结果返回给应用客户端,完成应用客户端与应用服务器之间的可靠交互。

本发明实施例提供的数据认证的方法,能够由应用服务器从应用客户端发送的访问请求中获取访问认证凭据,访问认证凭据为应用客户端用于访问应用服务器的凭据;然后应用服务器根据由认证服务器下发给应用服务器的合法认证凭据对访问认证凭据的合法性进行认证;若访问认证凭据合法,则对访问请求进行响应。与现有技术相比,在单点登录系统中,当应用客户端向应用服务器发送的访问请求频繁时,不需要每个应用服务器将访问认证凭据都发送至认证服务器去认证,而是每个应用服务将接收到的访问认证凭据进行本地认证,因此大大降低了对认证服务器的压力。

进一步的,对图1所示方法的细化及扩展,如下所述:

关于上述根据合法认证凭据对访问认证凭据的合法性进行认证具体包括:将访问认证凭据与合法认证凭据进行匹配;若合法认证凭据中包含访问认证凭据,则确定访问认证凭据是合法的。其中合法认证凭据是在应用客户端成功登录认证服务器之后由认证服务器生成的。

关于合法认证凭据是由应用服务器通过接收认证服务器下发的下发请求来获得的,但是为了保证认证服务器是应用服务器可信任的认证服务器,进一步的,提供一种接收认证服务器下发合法认证凭据的接收机制,具体的:应用服务器在接收合法认证凭据之前,先对认证服务器的身份进行认证;若认证服务器的身份为可信任的认证服务器,则接收认证服务器下发的合法认证凭据;若认证服务器的身份为不可信任的认证服务器,则拒绝接收认证服务器下发的合法认证凭据。

具体的,关于对认证服务器的身份进行认证的方式为:依据预设认证机制对认证服务器的身份进行认证,其中预设认证机制是双层认证机制,包括网间协议(Internet Protocol,IP)地址的认证以及预设标识码的认证。具体的,当认证服务器的IP地址属于预设可信任IP地址且认证服务器的预设标识码属于预设可信任标识码,则确定认证服务器的身份为可信任的认证服务器。在本实施例中,IP地址的认证作为第一层认证,预设标识码的认证作为第二层认证,即先判断IP地址是否可信任,当IP地址可信任后再判断预设标识码是否可信任,当IP地址为不可信任的IP地址时,就不需要再对预设标识码进行认证,这样可以提高认证的效率。

上述预设认证机制中,关于IP地址的认证为:首先从下发请求中提取认证服务器的IP地址,然后将该IP地址与应用服务器中预设可信任IP地址进行比对,若预设可信任IP地址包含该IP地址,则表示认证服务器IP地址是可信任的IP地址。其中下发请求为认证服务器向应用服务器下发合法认证凭据的请求,预设可信任IP地址可能是一个IP地址,也可能是多个IP地址。

上述预设认证机制中,关于预设标识码的认证为:首先从下发请求中获取认证服务器预设标识码加密后的值以及加密密钥,其中认证服务器的预设标识码通常是在认证服务器启动时生成的唯一标识码;然后根据加密密钥对应用服务器中存储的与认证服务器IP地址对应的预设可信任预设标识码进行加密,得到可信任加密值,将可信任加密值与从下发请求中获取到的认证服务器预设标识码加密后的值进行比对,若相同,则认为认证服务器的预设标识码为可信任的预设标识码。需要说明的是,预设标识码是由认证服务器进行加密的,为保证安全性,加密的机制为在发送下发请求时随机生成加密密钥,通常为了增加预设标识加密后的值被破解的难度,在实际的应用中可以将加密算法中关于加密后的值的长度设置更大些,并且可以使用不可逆加密算法,使加密后的值无法解密。需要说明的是,本实施例并不限制使用不可逆加密算法,在实际应用中,也可以使用可逆加密算法。预设可信任标识码可能是一个标识码,也可能是多个标识码,通常一个IP地址对应一个预设可信任标识码。

进一步的,在可靠的单点登录系统中,通常合法认证凭据是具有时效性的,因此为了能够保证应用服务器中的合法认证凭据都是当前有效的认证凭据,需要应用服务器接收由认证服务器发送的超时通知,该超时通知包含认证服务器中超时的合法认证凭据和/或超时的合法认证凭据的标识,超时的合法认证凭据即为当前无效的认证凭据。当获取到超时通知后,由于应用服务器中的合法认证凭据是由认证服务器生成并下发的,因此应用服务器能够根据超时通知将应用服务器中对应的超时的合法认证凭据删除。

需要说明的是,超时通知是由认证服务器生成的,认证服务器会对生成的合法认证凭据进行超时检测,若认证服务器检测到哪个或哪些合法认证凭据超时,则会相应的生成超时通知。对于对合法认证凭据进行超时检测的机制为:判断应用客户端访问单点登录系统中相互信任的多个应用服务器的访问间隔时间;若访问时间间隔超出预设时长,则认为该应用客户端登录认证服务器后,触发认证服务器生成的合法认证凭据超时。其中访问时间间隔的确定是以相互信任的多个应用服务器作为一个整体来确定的。给出具体的示例进行说明:若单点登录系统中包含三个相互信任的应用服务器,分别记作应用服务器A、应用服务器B、应用服务器C,当应用客户端a访问应用服务器A之后2分钟又访问了应用服务器B,在访问完应用服务器B之后3分钟又访问应用服务器A,则对应的可以得到应用客户端的两个访问时间间隔分别为2分钟和3分钟,而不是将访问同一个应用服务器A的访问时间间隔5分钟作为访问时间间隔。

进一步的,当应用服务器删除超时的合法认证凭据后,应用客户端正在使用的访问凭据为与超时的合法认证凭据相同访问认证凭据,则应用服务器会切断与应用客户端的访问连接,并向应用端客户端返回认证服务器的登录地址,使应用客户端重新登录认证服务器,使认证服务器生成新的合法认证凭据。

进一步的,本发明实施例还提供了一种数据认证的方法,如图2所示,该方法应用于认证服务器,包括:

201、在应用客户端成功登录认证服务器后,生成合法认证凭据。

应用客户端在登录认证服务器时,通常是通过账号信息或者用户名信息等其它的登录信息进行登录的。当登录成功之后,认证服务器对应的生成与账号信息或者用户名信息对应的合法认证凭据。登录信息与合法认证凭据一一对应。

202、将合法认证凭据下发给应用服务器。

为了降低现有CAS认证方法中认证服务器的压力,因此选择将应用服务器接收的访问请求中的访问认证凭据在应用服务器中进行合法性的认证。因此认证服务器需要在生成合法认证凭据后下发给应用服务器,以使应用服务器根据合法认证凭据对访问认证凭据的合法性进行认证,其中访问请求为应用客户端用于访问应用服务器的请求。

本发明实施例提供的数据认证的方法,能够由认证服务器在应用客户端成功登录应用服务器之后,生成合法的认证凭据;然后将合法的认证凭据下发给应用服务器,以使应用服务器根据下发的合法认证凭据对应用客户端发送的访问请求中的访问认证凭据进行合法性认证,访问请求是应用客户端用于访问应用服务器的请求。与现有技术相比,将在认证服务器中进行的访问认证凭的认证工作据转移到应用服务器中进行。当应用客户端向应用服务器发送的访问请求频繁时,能够在保证应用服务器是依据合法认证凭据对访问请求中的访问认证凭据进行合法性认证的前提下,进一步降低对认证服务器的压力。

进一步的,对图2所示方法的细化及扩展,如下所述:

认证服务器在将合法认证凭据下发给应用服务器之前,对认证服务器的预设标识码进行加密,获得加密后的值以及加密密钥;然后将加密后的值以及加密密钥添加到下发请求中,以使应用服务器根据预设标识码加密后的值以及加密密钥判断认证服务器的预设标识码是否属于应用服务器对应的预设可信任标识码。其中,下发请求为认证服务器向应用服务器下发合法认证凭据的请求。认证服务器的预设标识码是认证服务器在启动时,生成的唯一标识码。

进一步的,为保证安全性,对认证服务器预设标识进行加密的机制为在发送下发请求时随机生成加密密钥,另外为了增加预设标识码加密后的值被破解的难度,在实际的应用中通常将加密算法中关于加密后的值的长度设置更大些。

进一步的,在可靠的单点登录系统中,通常合法认证凭据是具有时效性的,因此需要认证服务器对生成的合法认证凭据进行超时检测,若认证服务器检测到哪个或哪些合法认证凭据超时,即合法认证凭据失效,则会相应的生成超时通知,超时通知中包含认证服务器中超时的合法认证凭据和/超时的合法认证凭据的标识。又由于认证服务器将生成的合法认证凭据下发给了应用服务器,因此为了保证应用服务器中的合法认证凭据的时效性,即保证应用服务器中的合法认证凭据都是当前有效的合法认证凭据,因此需要将超时通知发送给应用服务器,以使应用服务器接收到超时通知后,根据超时通知将应用服务器中对应的超时的合法认证凭据删除。

对于上述对合法认证凭据的超时检测机制为:判断应用客户端访问单点登录系统中相互信任的多个应用服务器的访问间隔时间;若访问时间间隔超出预设时长,则认为该应用客户端登录认证服务器后,触发认证服务器生成的合法认证凭据超时。其中访问时间间隔的确定是以相互信任的多个应用服务器作为一个整体来确定的。给出具体的示例进行说明:若单点登录系统中包含三个相互信任的应用服务器,分别记作应用服务器A、应用服务器B、应用服务器C,当应用客户端a访问应用服务器A之后2分钟又访问了应用服务器B,在访问完应用服务器B之后3分钟又访问应用服务器A,则对应的可以得到应用客户端的两个访问时间间隔分别为2分钟和3分钟,而不是将访问同一个应用服务器A的访问时间间隔5分钟作为访问时间间隔。

关于上述超时检测机制对应的检测时间的设置,通过具体的示例进行说明:假设某一合法认证凭据为ticket1,对应的生成时间为9:00,并且预设时长为30分钟,预设时长为ticket1的有效时长,则第一次检测超时的时间为9:30;若9:30检测时,按照上述超时检测的机制判断对应的ticket1并没有超时,并且对应的ticket1在9:10至9:30都没有被使用,相当于ticket1若在10分钟之后还没有使用,则就会失效,因此在9:30之后再次检测ticket1是否超时的时间为9:40。可以看到,若每次检测ticket1没有超时时,则下次检测的间隔时间为有效时长减去已经连续没有使用的时长。这种检测时间的设置方式,可以减少检测的频率。本实施例中对检测时间的设置方式不做限制,实际应用中,若对检测的频率没有要求,也可以设定为定时检测。

进一步的,作为对上述各实施例的实现,本发明实施例的另一实施例还提供了一种数据认证的装置,该装置位于应用服务器侧,用于实现上述图1所述的方法。如图3所示,该装置包括:访问请求获取单元31、认证单元32以及响应单元33。

访问请求获取单元31,用于从应用客户端发送的访问请求中获取访问认证凭据,访问认证凭据为应用客户端用于访问应用服务器的凭据。

其中访问认证凭据为应用客户端用于访问应用服务器的凭据。在从应用客户端发送的访问请求中获取访问认证凭据之前,需要先检查访问请求中是否存在访问认证凭据,若存在访问认证凭据,则从访问请求中获取,若不存在访问认证凭据,则拒绝该访问请求。

在实际应用中,对于访问请求中不存在访问认证凭据的情况,通常是指应用客户端在发送访问请求之前从未访问过单点登录系统中相互信任的多个应用服务器中任何一个应用服务器。对于这种情况,应用服务器会向应用客户端返回认证服务器的登录地址,使应用客户端通过账号信息或者用户名信息等其它的登录信息登录认证服务器,并从认证服务器中获取访问认证凭据。应用客户端获取到访问认证凭据之后再重新生成访问请求发送给应用服务器。

需要说明的是,本实施例中不同的应用服务器对应提供不同的应用服务。

认证单元32,用于根据合法认证凭据对访问认证凭据的合法性进行认证,合法认证凭据由认证服务器下发给应用服务器。

其中,合法认证凭据是由认证服务器下发给应用服务器的,合法认证凭据作为访问认证凭据合法性判断的标准。

响应单元33,用于若访问认证凭据合法,则对访问请求进行响应。

访问认证凭据合法表示访问认证凭据属于合法认证凭据,也表示对应的应用客户端为能够访问应用服务器的客户端,则应用服务器能够对访问请求进行响应,并在响应之后将对应的响应结果返回给应用客户端,完成应用客户端与应用服务器之间的可靠交互。

进一步的,如图4所示,认证单元32,包括:

匹配模块321,用于将访问认证凭据与合法认证凭据进行匹配;

确定模块322,用于若合法认证凭据中包含访问认证凭据,则确定访问认证凭据是合法的。

进一步的,如图4所示,装置进一步包括:

凭据接收单元34,用于在认证服务器生成合法认证凭据之后,接收认证服务器下发的合法认证凭据,合法认证凭据是在应用客户端成功登录认证服务器之后生成的。

进一步的,如图4所示,凭据接收单元34,包括:

认证模块341,用于根据预设认证机制对认证服务器的身份进行认证;

接收模块342,用于若认证服务器为应用服务器可信任的认证服务器,则接收认证服务器下发的合法认证凭据。

进一步的,认证模块341用于:

判断认证服务器的网间协议IP地址是否属于应用服务器对应的预设可信任IP地址;

判断认证服务器的预设标识码是否属于应用服务器对应的预设可信任标识码;

若认证服务器的IP地址属于预设可信任IP地址且认证服务器的预设标识码属于预设可信任标识码,则认证服务器为可信任的认证服务器。

在本实施例中,IP地址的认证作为第一层认证,预设标识码的认证作为第二层认证,即先判断IP地址是否可信任,当IP地址可信任后再判断预设标识码是否可信任,当IP地址为不可信任的IP地址时,就不需要再对预设标识码进行认证,这样可以提高认证的效率。

进一步的,认证模块341,还用于:

从下发请求中获取认证服务器预设标识码加密后的值以及加密密钥,下发请求为认证服务器向应用服务器下发合法认证凭据的请求;

根据预设标识码加密后的值以及加密密钥判断认证服务器的预设标识码是否属于应用服务器对应的预设可信任标识码。

进一步的,如图4所示,装置进一步包括:

通知接收单元,35,用于接收认证服务器发送的超时通知,超时通知包含认证服务器中超时的合法认证凭据和/或超时的合法认证凭据的标识;

删除单元36,用于根据超时通知将应用服务器中对应的超时的合法认证凭据删除。

进一步的,当应用服务器删除超时的合法认证凭据后,应用客户端正在使用的访问凭据为与超时的合法认证凭据相同访问认证凭据,则应用服务器会切断与应用客户端的访问连接,并向应用端客户端返回认证服务器的登录地址,使应用客户端重新登录认证服务器,使认证服务器生成新的合法认证凭据。

本发明实施例提供的数据认证的装置,能够由应用服务器从应用客户端发送的访问请求中获取访问认证凭据,访问认证凭据为应用客户端用于访问应用服务器的凭据;然后应用服务器根据由认证服务器下发给应用服务器的合法认证凭据对访问认证凭据的合法性进行认证;若访问认证凭据合法,则对访问请求进行响应。与现有技术相比,在单点登录系统中,当应用客户端向应用服务器发送的访问请求频繁时,不需要每个应用服务器将访问认证凭据都发送至认证服务器去认证,而是每个应用服务将接收到的访问认证凭据进行本地认证,因此大大降低了对认证服务器的压力。

进一步的,作为对上述各实施例的实现,本发明实施例的另一实施例还提供了一种数据认证的装置,该装置位于认证服务器侧,用于实现上述图2所述的方法。如图5所示,该装置包括:生成单元51以及下发单元52。

生成单元51,用于应用客户端成功登录认证服务器后,生成合法认证凭据;

应用客户端在登录认证服务器时,通常是通过账号信息或者用户名信息等其它的登录信息进行登录的。当登录成功之后,认证服务器对应的生成与账号信息或者用户名信息对应的合法认证凭据。登录信息与合法认证凭据一一对应。

下发单元52,用于将合法认证凭据下发给应用服务器,以使应用服务器根据合法认证凭据对访问认证凭据的合法性进行认证,访问认证凭据包含于应用客户端向应用服务器发送的访问请求中,访问认证凭据为应用客户端用于访问应用服务器的凭据。

为了降低现有CAS认证方法中认证服务器的压力,因此选择将应用服务器接收的访问请求中的访问认证凭据在应用服务器中进行合法性的认证。因此认证服务器需要在生成合法认证凭据后下发给应用服务器,以使应用服务器根据合法认证凭据对访问认证凭据的合法性进行认证。

进一步的,如图6所示,装置进一步包括:

加密单元53,用于在将合法认证凭据下发给应用服务器之前,对认证服务器的预设标识码进行加密,获得加密后的值以及加密密钥;

为保证安全性,对认证服务器预设标识进行加密的时机为在发送下发请求时随机生成加密密钥,另外为了增加预设标识码加密后的值被破解的难度,在实际的应用中通常将加密算法中关于加密后的值的长度设置更大些。

添加单元54,用于将加密后的值以及加密密钥添加到下发请求中,以使应用服务器根据预设标识码加密后的值以及加密密钥判断认证服务器的预设标识码是否属于应用服务器对应的预设可信任标识码,下发请求为向应用服务器下发合法认证凭据的请求。

进一步的,如图6所示,装置进一步包括:

检测单元55,用于按照预设规则对认证服务器中的合法认证凭据进行超时检测;

对合法认证凭据的超时检测机制为:判断应用客户端访问单点登录系统中相互信任的多个应用服务器的访问间隔时间;若访问时间间隔超出预设时长,则认为该应用客户端登录认证服务器后,触发认证服务器生成的合法认证凭据超时。其中访问时间间隔的确定是以相互信任的多个应用服务器作为一个整体来确定的。

关于上述超时检测机制对应的检测时间的设置,通过具体的示例进行说明:假设某一合法认证凭据为ticket1,对应的生成时间为9:00,并且预设时长为30分钟,预设时长为ticket1的有效时长,则第一次检测超时的时间为9:30;若9:30检测时,按照上述超时检测的机制判断对应的ticket1并没有超时,并且对应的ticket1在9:10至9:30都没有被使用,相当于ticket1若在10分钟之后还没有使用,则就会失效,因此在9:30之后再次检测ticket1是否超时的时间为9:40。可以看到,若每次检测ticket1没有超时时,则下次检测的间隔时间为有效时长减去已经连续没有使用的时长。这种检测时间的设置方式,可以减少检测的频率。本实施例中对检测时间的设置方式不做限制,实际应用中,若对检测的频率没有要求,也可以设定为定时检测。

发送单元56,用于若存在超时的合法认证凭据,则向应用服务器发送超时通知,以使应用服务器根据超时通知删除应用服务器中对应的超时的合法认证凭据,超时通知包含认证服务器中超时的合法认证凭据和/或超时的合法认证凭据的标识。

本发明实施例提供的数据认证的装置,能够由认证服务器在应用客户端成功登录应用服务器之后,生成合法的认证凭据;然后将合法的认证凭据下发给应用服务器,以使应用服务器根据下发的合法认证凭据对应用客户端发送的访问请求中的访问认证凭据进行合法性认证,访问请求是应用客户端用于访问应用服务器的请求。与现有技术相比,将在认证服务器中进行的访问认证凭的认证工作据转移到应用服务器中进行。当应用客户端向应用服务器发送的访问请求频繁时,能够在保证应用服务器是依据合法认证凭据对访问请求中的访问认证凭据进行合法性认证的前提下,进一步降低对认证服务器的压力。

进一步的,本发明的最后一个实施例还提供了一种数据认证的系统,用以实现图1以及图2所示的方法。本系统实施例与前述方法实施例对应,能够实现前述方法实施例中的全部内容。为便于阅读,本系统实施例仅对前述方法实施例中的内容进行概要性描述,不对方法实施例中的细节内容进行逐一赘述。如图7所示,该系统包括应用客户端71、认证服务器72、应用服务器73,其中,应用服务器72包括上述图3或图4所示的装置,认证服务器73包括图5或图6所示的装置。具体的:

应用客户端71,用于登录认证服务器;向应用服务器发送访问请求,访问请求中包含访问认证凭据,访问认证凭据为应用客户端用于访问应用服务器的凭据;

认证服务器72,用于在应用客户端成功登录认证服务器后,生成合法认证凭据;并将合法认证凭据下发给应用服务器;

应用服务器73,用于从访问请求中获取访问认证凭据;并根据合法认证凭据对访问认证凭据的合法性进行认证;若访问认证凭据合法,则对访问请求进行响应。

本发明实施例提供的数据认证的系统,能够由应用服务器从应用客户端发送的访问请求中获取访问认证凭据,访问认证凭据为应用客户端用于访问应用服务器的凭据;然后应用服务器根据由认证服务器下发给应用服务器的合法认证凭据对访问认证凭据的合法性进行认证;若访问认证凭据合法,则对访问请求进行响应。与现有技术相比,在单点登录系统中,当应用客户端向应用服务器发送的访问请求频繁时,不需要每个应用服务器将访问认证凭据都发送至认证服务器去认证,而是每个应用服务将接收到的访问认证凭据进行本地认证,因此大大降低了对认证服务器的压力。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如数据认证的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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