权限申请验证方法、装置、设备及存储介质

著录项
  • CN202010738614.5
  • 20200728
  • CN111901342A
  • 20201106
  • 平安科技(深圳)有限公司
  • 顾青成
  • H04L29/06
  • H04L29/06 H04L9/32

  • 广东省深圳市福田区福田街道福安社区益田路5033号平安金融中心23楼
  • 广东(44)
  • 深圳国新南方知识产权代理有限公司
  • 周雷
摘要
本发明提出一种权限申请验证方法所述权限申请验证方法包括:接收申请权限的第一令牌,所述第一令牌包括用户ID、权限调用接口参数及时间戳;依据所述用户ID获取用户密钥;依据所述用户密钥及所述权限调用接口参数获取临时验证密钥;依据所述用户ID、所述临时验证密钥、所述权限调用接口参数及所述时间戳生成第二令牌;对比所述第一令牌与所述第二令牌是否一致,若一致,则权限申请验证通过并依据所述权限调用接口参数进行授权。本发明能够达到提高系统间权限授权的安全性的目的。
权利要求

1.一种权限申请验证方法,其特征在于,所述权限申请验证方法包括:

接收申请权限的第一令牌,所述第一令牌包括用户ID、权限调用接口参数及时间戳;

依据所述用户ID获取用户密钥;

依据所述用户密钥及所述权限调用接口参数获取临时验证密钥;

依据所述用户ID、所述临时验证密钥、所述权限调用接口参数及所述时间戳生成第二令牌;

对比所述第一令牌与所述第二令牌是否一致,若一致,则权限申请验证通过并依据所述权限调用接口参数进行授权。

2.根据权利要求1所述权限申请验证方法,其特征在于,所述第一令牌还包括临时申请密钥,所述临时申请密钥采用如下方法获得:

获取所述用户密钥及待授权的至少一个权限ID;

依据所述权限ID计算权限终止期,所述权限终止期为终止权限授权的时间;

依据所述权限ID、所述权限终止期生成权限信息;

使用所述用户密钥对所述权限信息加密生成第一信息;

依据所述第一信息和所述用户密钥生成所述临时申请密钥。

6.根据权利要求2所述权限申请验证方法,其特征在于,所述第一令牌中的所述权限调用接口参数包括权限范围参数,所述权限范围参数包括所述第一信息,所述依据所述用户密钥及所述权限调用接口参数获取临时验证密钥,包括:

依据所述第一信息和所述用户密钥生成第二数字签名;及

依据所述第二数字签名与所述第一信息生成所述临时验证密钥。

7.根据权利要求2所述权限申请验证方法,其特征在于,所述权限申请验证方法还包括:

使用所述用户密钥对所述第一信息进行解密后获取所述待授权的权限ID及其权限终止期;

依据所述权限终止期及当前时间判断所述第一令牌是否超出授权时限;

若超出授权时限,则权限申请验证不通过;

若在授权时限内,则依据所述待授权的权限ID、所述用户ID及所述权限调用接口参数判断所述第一令牌是否超出授权范围;

若超出授权范围,则权限申请验证不通过;

若在授权范围内,则对比所述第一令牌与所述第二令牌是否一致。

3.根据权利要2所述权限申请验证方法,其特征在于,所述依据所述待授权权限名称获取待授权的至少一个权限ID,包括:

依据所述权限名称从存储有多个权限名称与多个权限ID对应关系的数据库中获取至少一个与其对应的所述权限ID。

4.根据权利要求3所述权限申请验证方法,其特征在于,所述依据所述权限ID计算权限终止期,包括:

依据所述权限ID的个数及其对应的权限计算所述权限终止期。

5.根据权利要2所述权限申请验证方法,其特征在于,所述依据所述第一信息和所述用户密钥生成所述临时申请密钥,包括;

依据所述第一信息和所述用户密钥生成第一数字签名;及

依据所述第一数字签名与所述第一信息生成所述临时申请密钥。

8.一种权限申请验证装置,其特征在于,所述权限申请验证装置包括:

获取模块,用于接收申请权限的第一令牌,所述第一令牌包括用户ID、权限调用接口参数及时间戳;依据所述用户ID获取用户密钥;

密钥生成模块,用于依据所述用户密钥及所述权限调用接口参数获取临时验证密钥;

验证模块,用于依据所述用户ID、所述临时验证密钥、所述权限调用接口参数及所述时间戳生成第二令牌;对比所述第一令牌与所述第二令牌是否一致,若一致,则权限申请验证通过并依据所述权限调用接口参数进行授权。

9.一种权限申请验证设备,其特征在于,所述权限申请验证设备包括处理器、与所述处理器耦接的存储器,其中,

所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述权限申请验证方法的步骤。

10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述权限申请验证方法的步骤。

说明书
技术领域

本发明涉及密码技术\信息加解密技术领域,尤其涉及一种权限申请验证方法、装置、设备及存储介质。

对于非封闭式软件系统,如后台系统、中台系统,为了支持其他系统的对接,系统间交互通常采用用户分别登陆多个系统分别进行操作的方式或用户通过授权使系统间通过api调用的方式。

对于用户分别登陆多个系统分别进行操作的方式需要人为介入,用户在多系统运行过程中需要全程参与,在系统调用时分别在多个系统上进行操作,操作繁琐且对用户时间占用较多,用户体验不佳。

对于用户通过授权使系统间通过api调用的方式通常是申请权限的系统使用用户存储在系统中的用户密钥、待申请的权限、api调用参数及当前时间戳生成一个token令牌发送给发放权限的系统,发放权限的系统使用同样的用密钥同样生成一个token令牌,并比较收到的token令牌和生成的token令牌是否相同,相同则验证通过,此种方式中,当验证通过后系统的权限则完全开发,但通常api调用并不需要全部权限,存在一定的安全风险,且用户密钥在多个系统中是相同的,也存在一定的安全风险。

因此,如何在系统间进行安全的权限调用是用户的迫切需求。

本发明提供一种权限申请验证方法、装置、设备及存储介质,能够达到提高系统间权限授权的安全性的目的。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种权限申请验证方法,所述权限申请验证方法包括:

接收申请权限的第一令牌,所述第一令牌包括用户ID、权限调用接口参数及时间戳;

依据所述用户ID获取用户密钥;

依据所述用户密钥及所述权限调用接口参数获取临时验证密钥;

依据所述用户ID、所述临时验证密钥、所述权限调用接口参数及所述时间戳生成第二令牌;

对比所述第一令牌与所述第二令牌是否一致,若一致,则权限申请验证通过并依据所述权限调用接口参数进行授权。

根据本发明的一种实施例,所述第一令牌还包括临时申请密钥,所述临时申请密钥采用如下方法获得:

获取所述用户密钥及待授权的至少一个权限ID;

依据所述权限ID计算权限终止期,所述权限终止期为终止权限授权的时间;

依据所述权限ID、所述权限终止期生成权限信息;

使用所述用户密钥对所述权限信息加密生成第一信息;

依据所述第一信息和所述用户密钥生成所述临时申请密钥。

根据本发明的一种实施例,所述依据所述待授权权限名称获取待授权的至少一个权限ID,包括:

依据所述权限名称从存储有多个权限名称与多个权限ID对应关系的数据库中获取至少一个与其对应的所述权限ID。

根据本发明的一种实施例,所述依据所述权限ID计算权限终止期,包括:

依据所述权限ID的个数及其对应的权限计算所述权限终止期。

根据本发明的一种实施例,所述依据所述第一信息和所述用户密钥生成所述临时申请密钥,包括;

依据所述第一信息和所述用户密钥生成第一数字签名;及

依据所述第一数字签名与所述第一信息生成所述临时申请密钥。

根据本发明的一种实施例,所述第一令牌中的所述权限调用接口参数包括权限范围参数,所述权限范围参数包括所述第一信息,所述依据所述用户密钥及所述权限调用接口参数获取临时验证密钥,包括:

依据所述第一信息和所述用户密钥生成第二数字签名;及

依据所述第二数字签名与所述第一信息生成所述临时验证密钥。

根据本发明的一种实施例,所述权限申请验证方法还包括:

使用所述用户密钥对所述第一信息进行解密后获取所述待授权的权限ID及其权限终止期;

依据所述权限终止期及当前时间判断所述第一令牌是否超出授权时限;

若超出授权时限,则权限申请验证不通过;

若在授权时限内,则依据所述待授权的权限ID、所述用户ID及所述权限调用接口参数判断所述第一令牌是否超出授权范围;

若超出授权范围,则权限申请验证不通过;

若在授权范围内,则对比所述第一令牌与所述第二令牌是否一致。

此外,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种权限申请验证装置,所述权限申请验证装置包括:

获取模块,用于接收申请权限的第一令牌,所述第一令牌包括用户ID、权限调用接口参数及时间戳;依据所述用户ID获取用户密钥;

密钥生成模块,用于依据所述用户密钥及所述权限调用接口参数获取临时验证密钥;

验证模块,用于依据所述用户ID、所述临时验证密钥、所述权限调用接口参数及所述时间戳生成第二令牌;对比所述第一令牌与所述第二令牌是否一致,若一致,则权限申请验证通过并依据所述权限调用接口参数进行授权。

此外,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种权限申请验证设备,所述权限申请验证设备包括处理器、与所述处理器耦接的存储器,其中,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述任一项所述权限申请验证方法的步骤。

此外,为解决上述技术问题,本发明还采用的一个技术方案是:提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一项所述权限申请验证方法的步骤。

本发明提出的权限申请验证方法、装置、设备及存储介质,通过使用临时验证密钥生成第二令牌对第一令牌进行验证,保护了用户密钥安全,进而保护了系统安全。

进一步地,第一令牌通过用户密钥将待申请权限的权限ID与权限终止期进行签名加密后生成临时申请密钥,保护了用户密钥安全的同时,使授权在一定范围和期限内,保护了系统安全。

进一步地,通过权限名称与权限ID的对应,细化权限,准确的限定权限范围,保护系统权限安全。

进一步地,通过权限终止期,可以有效控制权限的使用时间,从而保护系统安全。

图1是本发明一种实施例的权限申请验证方法的流程示意图;

图2是本发明一种实施例的权限申请验证装置的结构示意图;

图3是本发明一种实施例的权限申请验证设备的结构示意图;

图4是本发明一种实施例的存储介质的结构示意图。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

请参阅图1,图1是本发明一种实施例的权限申请验证方法的流程示意图。根据本发明的一种实施例,所述权限申请验证方法用于两个需要交互的第一系统及第二系统,所述第一系统通过向所述第二系统申请权限授权,所述第二系统通过所述权限申请验证方法验证所述第一系统的申请是否符合授权,如果符合则对所述第一系统进行授权。本实施例中,所述第一系统、所述第二系统分别可以是客户端和服务器、云客户端和云平台等。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,所述权限申请验证方法包括以下步骤:

步骤S101:接收申请权限的第一令牌,所述第一令牌包括用户ID、权限调用接口参数及时间戳。

需要说明的是,所述第一令牌是待申请权限的所述第一系统向所述第二系统发送的权限申请指令,包括所述用户ID、所述权限调用接口参数及所述时间戳,所述用户ID即申请权限的用户的身份标识,所述权限调用接口参数为系统间api接口调用定义的参数,所述时间戳为发起权限调用申请的系统时间。为更好的理解所述第二系统对所述第一令牌的验证过程,下面对所述第一令牌的生成过程进行说明。

根据本发明的一个实施例,所述第一令牌包括临时申请密钥,其中,所述临时申请密钥采用如下方法获得:

步骤S1:获取用户密钥及待授权的至少一个权限ID。

根据本发明的一种实施例,系统用户可以在配置系统的时候在系统中进行所述用户密钥的配置,通常通过用户授权方式进行权限调用的多个系统对于同一用户的所述用户密钥相同。为了使授权范围可控,本实施例中,可以通过获取待授权的权限名称从存储有多个权限名称与多个权限ID对应关系的数据库中获取至少一个与其对应的所述权限ID。可以理解,所述数据库中的所述权限ID是按预设范围将权限细化后得到的,如可以设置权限ID为001的权限代表用户名字、权限ID为002的权限代表用户电话号码、权限ID为003的权限代表用户地址,一个所述待授权的权限名称可以对应多个所述权限ID,不同所述待授权的权限名称的权限可以有至少部分相同的所述权限ID,也可以是完全不同的所述权限ID,例如,当所述待授权的权限名称为注册系统,则其对应的权限ID可以为001、002、003,当所述待授权的权限名称为登陆系统,则其对应的权限ID可以为001、002。通过所述权限名称与所述权限ID的对应,可以将待授权的权限细化,不用每次授权都开放全部权限,按范围的进行授权,可以准确的限定权限范围,保护系统安全。

步骤S2:依据所述权限ID计算权限终止期,所述权限终止期为终止权限授权的时间。

根据本发明的一种实施例,所述数据库中还可以存储有所述权限ID对应的授权时间,当获取到待授权的所述权限ID后,可以依据所述权限ID的个数及其对应的权限计算整体的授权时间,从而计算出所述权限终止期。可以理解,为保证所述待授权的权限不同其对应的所述临时密钥不同,所述权限ID对应的所述授权时间的长度可以精确到毫秒,如权限ID为001的授权时间为1分21秒450毫秒,权限ID为002的授权时间为0分45秒120毫秒,权限ID为003的授权时间为1分0秒250毫秒,则当所述待授权的权限名称为注册系统时,可以根据权限ID为001、002、003的授权时间进行计算,获得整体的授权时间1,然后根据所述当前时间戳加上授权时间1计算所述权限终止期,当所述待授权的权限名称为登陆系统时,可以根据权限ID为001、002的授权时间进行计算,获得整体的授权时间2,然后根据所述当前时间戳加上授权时间2计算所述权限终止期。通过所述权限终止期,可以有效控制权限的授权发放时间,从而使授权时间范围可控,进而保护系统安全。

步骤S3:依据所述权限ID、所述权限终止期生成权限信息。

步骤S3中可以将所述权限ID、所述权限终止期按预设规则拼接成字符串后生成权限信息,如所述待授权的权限名称为注册系统时,所述权限ID为001、002、003,所述权限终止期为2点1分0秒531毫秒,则所述权限信息为“001,002,003->20100531”

步骤S4:使用所述用户密钥对所述权限信息加密生成第一信息。

具体地,使用所述用户密钥对所述权限信息进行对称加密后可以生成第一信息,根据本发明的一种实施例,加密算法可以采用强度较高的AES128算法。

步骤S5:依据所述第一信息和所述用户密钥生成所述临时申请密钥。

具体的,步骤S5中,先对所述第一信息和所述用户密钥进行签名,本实施例中,可以对所述第一信息和所述用户密钥合并后的字符串使用MD5算法进行签名获得所述第一数字签名,然后将所述第一数字签名追加在所述第一信息后面形成所述临时申请密钥。

所述第一令牌为依据所述用户ID、所述权限调用接口参数、所述时间戳及所述临时申请密钥经过加密后生成,如对所述第一令牌token1中的所述用户ID、所述权限调用接口参数、所述时间戳及所述临时申请密钥进行排序后组成特定字符串“用户id+临时申请私钥+按照参数名排序后的权限调用接口参数+时间戳”,然后进行MD5加密,其中,所述权限调用接口参数包括权限范围参数,根据本发明的一种实施例,可以将所述第一信息作为所述权限范围参数。如可以定义所述权限范围参数为“AuthorityRange”,则调用接口的url可以为“http://domain/api?param1=abc¶m2=xyz&AuthorityRange=xxx”。

通过使用临时申请密钥生成第一令牌,并使用所述第一令牌进行权限申请,可以限定授权的范围和时限,并且保护了用户密钥安全,进而保护了系统安全。

步骤S102:依据所述用户ID获取用户密钥。

所述第二系统接收到所述第一系统申请权限的所述第一令牌token1后,可以从所述第一令牌token1中获取所述用户ID,并依据所述用户ID查到对应的用户及其安装在所述第二系统中的所述用户密钥。

步骤S103:依据所述用户密钥及所述权限调用接口参数获取临时验证密钥。

根据本申请的一种实施例,所述权限调用接口参数包括权限范围参数,且所述第一信息作为所述权限范围参数。即可以从所述第一令牌的所述权限调用接口参数中获取所述第一信息,对所述第一信息和所述用户密钥进行签名生成第二数字签名,并依据所述第二数字签名与所述第一信息生成所述临时验证密钥,本实施例中,可以对所述第一信息和所述用户密钥合并后的字符串使用MD5算法进行签名获得所述第二数字签名,然后将所述第二数字签名追加在所述第一信息后面形成所述临时验证密钥。

步骤S104:依据所述用户ID、所述临时验证密钥、所述权限调用接口参数及所述时间戳生成第二令牌;

具体的,依据所述用户ID、所述权限调用接口参数、所述时间戳及所述临时验证密钥经过加密后生成所述第二令牌,可以理解,生成所述第二令牌的过程与所述第一令牌相同,如对所述第二令牌token2中的所述用户ID、所述权限调用接口参数、所述时间戳及所述临时验证密钥进行排序后组成特定字符串“用户id+临时验证私钥+按照参数名排序后的权限调用接口参数+时间戳”,然后进行MD5加密,其中,所述权限调用接口参数包括权限范围参数,根据本发明的一种实施例,可以将所述第一信息作为所述权限范围参数。如可以定义所述权限范围参数为“AuthorityRange”,则调用接口的url可以为“http://domain/api?param1=abc¶m2=xyz&AuthorityRange=xxx”。

步骤S105:对比所述第一令牌与所述第二令牌是否一致,若一致,则权限申请验证通过并依据所述权限调用接口参数进行授权。

具体的,所述第二系统使用所述用户密钥对所述第一信息进行解密后可以获取所述待授权的所述权限ID及其所述权限终止期,并依据所述权限终止期及当前时间计算所述第一令牌token1中的所述权限终止期是否超出授权时限,如果超出授权时限,则权限申请验证不通过;若在授权时限内,则依据所述待授权的权限ID、所述用户ID及所述权限调用接口参数判断所述第一令牌token1是否超出授权范围;若超出授权范围,则权限申请验证不通过。以上验证均通过后,则对比所述第一令牌token1与所述第二令牌token2是否一致,当所述第一令牌token1与所述第二令牌token2一致时,则权限申请验证通过并依据所述权限调用接口参数进行授权。

本实施例提出的权限申请验证方法通过使用临时验证密钥生成第二令牌对第一令牌进行验证,保护了用户密钥安全,进而保护了系统安全。

进一步地,第一令牌通过用户密钥将待申请权限的权限ID与权限终止期进行签名加密后生成临时申请密钥,保护了用户密钥安全的同时,使授权在一定范围和期限内,保护了系统安全。

进一步地,通过权限名称与权限ID的对应,细化权限,准确的限定权限范围,保护系统权限安全。

进一步地,通过权限终止期,可以有效控制权限的使用时间,从而保护系统安全。图2是本发明一种实施例的权限申请验证装置1的结构示意图。如图4所示,所述权限申请验证装置1包括获取模块10,密钥生成模块11、验证模块12。

获取模块10,用于接收申请权限的第一令牌,所述第一令牌包括用户ID、权限调用接口参数及时间戳;依据所述用户ID获取用户密钥;

密钥生成模块11,用于依据所述用户密钥及所述权限调用接口参数获取临时验证密钥;

验证模块12,用于依据所述用户ID、所述临时验证密钥、所述权限调用接口参数及所述时间戳生成第二令牌;对比所述第一令牌与所述第二令牌是否一致,若一致,则权限申请验证通过并依据所述权限调用接口参数进行授权。

根据本发明的一种实施例,所述密钥生成模块11还用于依据所述第一令牌中的所述权限调用接口参数的所述权限范围参数的所述第一信息和所述用户密钥生成第二数字签名;及依据所述第二数字签名与所述第一信息生成所述临时验证密钥。

根据本发明的一种实施例,验证模块12还用于使用所述用户密钥对所述第一信息进行解密后获取所述待授权的权限ID及其权限终止期;依据所述权限终止期及当前时间判断所述第一令牌是否超出授权时限;若超出授权时限,则权限申请验证不通过;若在授权时限内,则依据所述待授权的权限ID、所述用户ID及所述权限调用接口参数判断所述第一令牌是否超出授权范围;若超出授权范围,则权限申请验证不通过;若在授权范围内,则对比所述第一令牌与所述第二令牌是否一致。

可以理解的是,上述装置的各模块实现各功能的具体方式可参阅上述实施例对应的具体步骤,故在此不作赘述。

请参阅图3,图3是本发明一种实施例的权限申请验证设备30的结构示意图。如图3所示,所述权限申请验证设备30包括存储器32、处理器31及存储在所述存储器32上并可在所述处理器31上运行的计算机程序,所述处理器31执行所述计算机程序时实现以下步骤:接收申请权限的第一令牌,所述第一令牌包括用户ID、权限调用接口参数及时间戳;依据所述用户ID获取用户密钥;依据所述用户密钥及所述权限调用接口参数获取临时验证密钥;依据所述用户ID、所述临时验证密钥、所述权限调用接口参数及所述时间戳生成第二令牌;对比所述第一令牌与所述第二令牌是否一致,若一致,则权限申请验证通过并依据所述权限调用接口参数进行授权。

根据本发明的一种实施例,所述第一令牌还包括临时申请密钥,所述临时申请密钥采用如下方法获得:获取所述用户密钥及待授权的至少一个权限ID;依据所述权限ID计算权限终止期,所述权限终止期为终止权限授权的时间;依据所述权限ID、所述权限终止期生成权限信息;使用所述用户密钥对所述权限信息加密生成第一信息;依据所述第一信息和所述用户密钥生成所述临时申请密钥。

根据本发明的一种实施例,所述依据所述待授权权限名称获取待授权的至少一个权限ID,包括:依据所述权限名称从存储有多个权限名称与多个权限ID对应关系的数据库中获取至少一个与其对应的所述权限ID。

根据本发明的一种实施例,所述依据所述权限ID计算权限终止期,包括:依据所述权限ID的个数及其对应的权限计算所述权限终止期。

根据本发明的一种实施例,所述依据所述第一信息和所述用户密钥生成所述临时申请密钥,包括;依据所述第一信息和所述用户密钥生成第一数字签名;及依据所述第一数字签名与所述第一信息生成所述临时申请密钥。

根据本发明的一种实施例,所述第一令牌中的所述权限调用接口参数包括权限范围参数,所述权限范围参数包括所述第一信息,所述依据所述用户密钥及所述权限调用接口参数获取临时验证密钥,包括:依据所述第一信息和所述用户密钥生成第二数字签名;及依据所述第二数字签名与所述第一信息生成所述临时验证密钥。

根据本发明的一种实施例,所述权限申请验证方法还包括:使用所述用户密钥对所述第一信息进行解密后获取所述待授权的权限ID及其权限终止期;依据所述权限终止期及当前时间判断所述第一令牌是否超出授权时限;若超出授权时限,则权限申请验证不通过;若在授权时限内,则依据所述待授权的权限ID、所述用户ID及所述权限调用接口参数判断所述第一令牌是否超出授权范围;若超出授权范围,则权限申请验证不通过;若在授权范围内,则对比所述第一令牌与所述第二令牌是否一致。

参阅图4,图4是本发明一种实施例的存储介质的结构示意图。如图4所示存储有计算机可读指令41的存储介质,该计算机可读指令41被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:

接收申请权限的第一令牌,所述第一令牌包括用户ID、权限调用接口参数及时间戳;依据所述用户ID获取用户密钥;依据所述用户密钥及所述权限调用接口参数获取临时验证密钥;依据所述用户ID、所述临时验证密钥、所述权限调用接口参数及所述时间戳生成第二令牌;对比所述第一令牌与所述第二令牌是否一致,若一致,则权限申请验证通过并依据所述权限调用接口参数进行授权。

根据本发明的一种实施例,所述第一令牌还包括临时申请密钥,所述临时申请密钥采用如下方法获得:获取所述用户密钥及待授权的至少一个权限ID;依据所述权限ID计算权限终止期,所述权限终止期为终止权限授权的时间;依据所述权限ID、所述权限终止期生成权限信息;使用所述用户密钥对所述权限信息加密生成第一信息;依据所述第一信息和所述用户密钥生成所述临时申请密钥。

根据本发明的一种实施例,所述依据所述待授权权限名称获取待授权的至少一个权限ID,包括:依据所述权限名称从存储有多个权限名称与多个权限ID对应关系的数据库中获取至少一个与其对应的所述权限ID。

根据本发明的一种实施例,所述依据所述权限ID计算权限终止期,包括:依据所述权限ID的个数及其对应的权限计算所述权限终止期。

根据本发明的一种实施例,所述依据所述第一信息和所述用户密钥生成所述临时申请密钥,包括;依据所述第一信息和所述用户密钥生成第一数字签名;及依据所述第一数字签名与所述第一信息生成所述临时申请密钥。

根据本发明的一种实施例,所述第一令牌中的所述权限调用接口参数包括权限范围参数,所述权限范围参数包括所述第一信息,所述依据所述用户密钥及所述权限调用接口参数获取临时验证密钥,包括:依据所述第一信息和所述用户密钥生成第二数字签名;及依据所述第二数字签名与所述第一信息生成所述临时验证密钥。

根据本发明的一种实施例,所述权限申请验证方法还包括:使用所述用户密钥对所述第一信息进行解密后获取所述待授权的权限ID及其权限终止期;依据所述权限终止期及当前时间判断所述第一令牌是否超出授权时限;若超出授权时限,则权限申请验证不通过;若在授权时限内,则依据所述待授权的权限ID、所述用户ID及所述权限调用接口参数判断所述第一令牌是否超出授权范围;若超出授权范围,则权限申请验证不通过;若在授权范围内,则对比所述第一令牌与所述第二令牌是否一致期。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

本文发布于:2024-09-23 14:24:32,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/85538.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议