一种共享验证方法、设备、系统及可读存储介质技术方案

技术编号:38247288 阅读:9 留言:0更新日期:2023-07-25 18:07
本发明专利技术属于计算机领域,具体涉及一种共享验证方法、系统、设备及可读存储介质。其中,方法包括:在各个节点将通用的自增数据的预定值作为初始标识数据,并基于所述初始标识数据周期性的生成标识码;基于所述标识码生成校验秘钥,并将所述校验秘钥作为客户端请求中的访问秘钥对客户端的请求进行验证。通过本发明专利技术提出的一种共享验证方法,通过通用的具有自增特性的数据作为标识数据为参考生成对应的标识码,然后以标识码生成对应的校验秘钥,可以保证任何节点无需数据通信也能产生同样的校验秘钥,有效提高集群的安全性和可靠性。有效提高集群的安全性和可靠性。有效提高集群的安全性和可靠性。

【技术实现步骤摘要】
一种共享验证方法、设备、系统及可读存储介质


[0001]本专利技术属于计算机领域,具体涉及一种共享验证方法、系统、设备及可读存储介质。

技术介绍

[0002]在Hadoop中开启了Kerberos安全认证后,为了避免重复请求KDC服务造成瓶颈,Hadoop中使用了颁发Token的方案。开启Kerberos安全认证后,在客户端请求HDFS时,会首先使用Token进行鉴权,如果没有Token,则使用Kerberos进行鉴权,在客户端通过了Server端的Kerberos鉴权后,HDFS会给客户端颁发Token,Token可用于该客户端后续与HDFS的鉴权,以避免重复向KDC服务器请求认证。在全对称架构的HDFS部署场景下,所有的NameNode节点都加入在一个域名下,通过域名来对外提供服务,存在第一个NameNode颁发给客户端的Token在其他NameNode、DataNode上无法使用的问题。
[0003]因此,亟需一种安全可靠的方法来解决上述问题。

技术实现思路

[0004]为解决上述问题,本专利技术提出一种共享验证方法,包括:
[0005]在各个节点将通用的自增数据的预定值作为初始标识数据,并基于所述初始标识数据周期性的生成标识码;
[0006]基于所述标识码生成校验秘钥,并将所述校验秘钥作为客户端请求中的访问秘钥对客户端的请求进行验证。
[0007]在本专利技术的一些实施方式中,基于所述标识数据周期性的生成标识码包括:
[0008]基于所述初始标识数据以所述自增数据每增长预定单位生成一个标识码。
[0009]在本专利技术的一些实施方式中,在各个节点将通用的自增数据的预定值作为标识数据包括:在各个节点以预定事件的发生时间作为初始标识数据。
[0010]在本专利技术的一些实施方式中,方法还包括:
[0011]基于预定时间间隔更新所述标识码,并将基于所述标识码生成的校验秘钥保存到对应的秘钥列表;
[0012]响应于收到客户端的登录请求,对客户端登录请求中的用户信息进行验证,响应于验证通过将最新的校验秘钥作为所述客户端的访问秘钥;
[0013]响应于收到客户端的访问请求,判断所述访问请求中的访问秘钥是否在所述秘钥列表,响应于不存在所述秘钥列表,则拒绝所述访问请求。
[0014]在本专利技术的一些实施方式中,在各个节点将通用的自增数据的预定值作为初始标识数据包括:在各个节点通过同步数据库的自增主键的预定值作为初始标识数据。
[0015]在本专利技术的一些实施方式中,方法还包括:
[0016]响应于所述主键每增加预定条记录生成一次标识码,并根据每个标识码生成对应的校验秘钥,通过所述校验秘钥对客户端请求进行验证。
[0017]在本专利技术的一些实施方式中,在各个节点将通用的自增数据的预定值作为标识数据包括:在各个节点以预定事件的发生时间和过同步数据库的自增主键的预定值作为初始表示数据。
[0018]本专利技术的另一方面还提出一种共享验证系统,包括:
[0019]标识确定模块,所述标识确定模块配置用于在各个节点将通用的自增数据的预定值作为初始标识数据,并基于所述初始标识数据周期性的生成标识码;
[0020]秘钥生成模块,所述秘钥生成模块配置用于基于所述标识码生成校验秘钥,并将所述校验秘钥作为客户端请求中的访问秘钥对客户端的请求进行验证。
[0021]本专利技术的又一方面还提出一种计算机设备,包括:
[0022]至少一个处理器;以及
[0023]存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
[0024]本专利技术的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
[0025]通过本专利技术提出的一种共享验证方法,通过通用的具有自增特性的数据作为标识数据为参考生成对应的标识码,然后以标识码生成对应的校验秘钥,可以保证任何节点无需数据通信也能产生同样的校验秘钥,有效提高集群的安全性和可靠性。
附图说明
[0026]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为本专利技术实施例提供的一种共享验证方法的方法流程示意图;
[0028]图2为本专利技术实施例提供的一种共享验证系统的结构示意图;
[0029]图3为本专利技术实施例提供的一种计算机设备的结构示意图;
[0030]图4为本专利技术实施例提供的一种计算机可读存储介质的结构示意图;
[0031]图5为本专利技术实施例提供的请求验证的交互过程示意图;
[0032]图6为本专利技术实施例提供的请求验证的交互过程示意图;
[0033]图7为本专利技术实施例提供的秘钥列表的初始化及更新流程示意图;
[0034]图8为本专利技术实施例提供的标识码初始化新流程示意图;
[0035]图9为本专利技术实施例提供的标识码的更新及秘钥列表的初始化流程示意图。
具体实施方式
[0036]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0037]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应
理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。
[0038]本专利技术旨在解决传统的分布式系统中,不同节点之间向客户端发送的Token在其他节点不能安全共享的问题。在传统的方式,当存在多个节点向不同的客户提供服务时,由于负载均衡的问题,当访问者在第一次访问时分配给了节点1,由节点1对访问者进行服务,节点1会验证访问者的身份,并在验证成功之后发送给访问者一份身份令牌来表明访问者的合法身份,通常称为token,token中一般设置有一段加密的数据,常见的加密方式一般是对用户的身份内容按照一定方式进行加密,其他节点可以根据收到的token再根据用户的身份进行解密后验证。但在HDFS系统中,Hadoop和Kerberos间的鉴权并不是常规网站上的身份验证,而是通过生成一个秘钥的方式,秘钥的生成在不同的节点有不同的生成方式,因此在不同的节点上因秘钥不同而会导致访问失败,就会出现,当负载均衡将客户端分配到正确的节点上时访问某些数据能够成功,当分配到“错误”的节点上时则会导致登录失败的问题,需要重新登录,而一旦在“错误”的节点进行重新登录获得对应的token之后,再次访问时,如果被分到之前的节点上,则又会造成在之前的节点上验证失败,因为token已经被本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种共享验证方法,其特征在于,包括:在各个节点将通用的自增数据的预定值作为初始标识数据,并基于所述初始标识数据周期性的生成标识码;基于所述标识码生成校验秘钥,并将所述校验秘钥作为客户端请求中的访问秘钥对客户端的请求进行验证。2.根据权利要求1所述的方法,其特征在于,所述基于所述标识数据周期性的生成标识码包括:基于所述初始标识数据以所述自增数据每增长预定单位生成一个标识码。3.根据权利要求1所述的方法,其特征在于,所述在各个节点将通用的自增数据的预定值作为标识数据包括:在各个节点以预定事件的发生时间作为初始标识数据。4.根据权利要求3所述的方法,其特征在于,还包括:基于预定时间间隔更新所述标识码,并将基于所述标识码生成的校验秘钥保存到对应的秘钥列表;响应于收到客户端的登录请求,对客户端登录请求中的用户信息进行验证,响应于验证通过将最新的校验秘钥作为所述客户端的访问秘钥;响应于收到客户端的访问请求,判断所述访问请求中的访问秘钥是否在所述秘钥列表,响应于不存在所述秘钥列表,则拒绝所述访问请求。5.根据权利要求1所述的方法,其特征在于,所述在各个节点将通用的自增数据的预定值作为初始标识数据包括:在各个节点通过同步数据库的自增主键的预定值作为初始...

【专利技术属性】
技术研发人员:贾涛王帅阳和思扬
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1