CN116992403A - 一种防止授权数据回退的方法、装置设备及存储介质 - Google Patents

一种防止授权数据回退的方法、装置设备及存储介质 Download PDF

Info

Publication number
CN116992403A
CN116992403A CN202310949172.2A CN202310949172A CN116992403A CN 116992403 A CN116992403 A CN 116992403A CN 202310949172 A CN202310949172 A CN 202310949172A CN 116992403 A CN116992403 A CN 116992403A
Authority
CN
China
Prior art keywords
authorization
serial number
authorization data
data
authentication code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310949172.2A
Other languages
English (en)
Inventor
薛光峰
袁文君
冷国强
万鹭
曹中原
温淳
马骏驰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202310949172.2A priority Critical patent/CN116992403A/zh
Publication of CN116992403A publication Critical patent/CN116992403A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供了一种防止授权数据回退的方法、装置设备及存储介质,涉及数据验证技术领域,应用于授权中心,该方法包括:针对授权中心存储的任一授权数据,校验授权数据对应的第一序列号与授权中心当前有效的第二序列号是否匹配以及授权数据与授权数据对应的第一验证信息是否匹配;授权中心周期生成有效的序列号;若都匹配,则通过第一序列号和第一验证信息生成第二认证码,并确定授权数据对应的第一认证码与第二认证码是否一致;若认证码一致,则确定授权数据未被回退。首先验证授权数据对应的序列号和验证信息,在都一致的情况下,再验证授权数据对应的认证码,从多个方面校验,可以严格防止授权数据回退。

Description

一种防止授权数据回退的方法、装置设备及存储介质
技术领域
本发明实施例涉及数据验证技术领域,尤其涉及一种防止授权数据回退的方法、装置设备及存储介质。
背景技术
目前,各个软件都有自己的付费功能,用户可以通过购买许可证的方式使用软件的付费功能,许可证中定义了用户可以使用的功能以及该功能使用的次数等信息。在用户使用某项功能时,软件会生成对应的授权数据,即授权数据就是指用户对其有权限使用的各项软件功能的使用统计。因此,在对授权数据存储时需要做到严格的保密,防止授权数据发生回退。
目前,防止授权数据回退的方式有购买安全硬件设备,将授权数据存储在安全硬件设备中,但是,这样会增加成本。
发明内容
本申请实施例提供了一种防止授权数据回退的方法、装置、设备及存储介质,可以在不增加成本的情况下防止授权数据回退。
第一方面,本申请实施例提供了一种防止授权数据回退的方法,应用于授权中心,包括:
针对授权中心存储的任一授权数据,校验所述授权数据对应的第一序列号与所述授权中心当前有效的第二序列号是否匹配以及所述授权数据与所述授权数据对应的第一验证信息是否匹配;所述授权中心周期生成有效的序列号;
若都匹配,则通过所述第一序列号和所述第一验证信息生成第二认证码,并确定所述授权数据对应的第一认证码与所述第二认证码是否一致;
若认证码一致,则确定所述授权数据未被回退;
其中,所述授权中心按授权数据、授权数据对应的序列号、授权数据对应的验证信息、授权数据对应的认证码的方式存储每个授权数据,且授权数据对应的认证码随授权数据对应的序列号更新而更新。
本申请实施例中,首先验证授权数据对应的序列号和验证信息,在都一致的情况下,再验证授权数据对应的认证码,从而可以防止授权数据发生回退,并且通过从多个方面校验,可以严格防止授权数据回退。
可选地,还包括:
在所述授权中心当前有效的序列号更新后,针对所述授权中心存储的任一授权数据对应的认证码,根据所述授权数据对应的序列号和所述授权数据对应的验证信息生成第三认证码;确定所述第三认证码与所述授权数据对应的认证码是否一致,若一致,则根据更新后的序列号、所述授权数据对应的验证信息生成第四认证码;
将所述更新后的序列号作为所述授权数据对应的序列号,以及将所述第四认证码作为所述授权数据对应的认证码。
本申请实施例中,在授权中心的序列号周期更新的同时,由序列号计算而来的认证码也同时更新,保证了授权中心所有的数据都是准确的,并在序列号更新后再对授权数据进行校验,避免了授权数据发生回退。
可选地,若所述第三认证码与所述授权数据对应的认证码不一致,则确定所述授权数据为非法数据。
本申请实施例中,通过校验授权数据的认证码来确定授权数据是否发生回退,可以降低授权数据被回退的风险。
可选地,所述授权中心周期生成有效的序列号,包括:
所述授权中心按周期单调递增序列号或单调递减序列号;
若所述第一序列号与所述第二序列号不匹配,则确定所述授权中心存储的所述授权数据发生回退,所述第一序列号与所述第二序列号不匹配为序列号差值大于设定阈值。
本申请实施例中,通过设置按周期递增或递减的序列号,可以防止授权数据的序列号发生回退,允许序列号之间存在差值,避免了因为主备数据库同步延迟而产生误判的情况。
可选地,还包括:
所述授权中心接收任一软件应用的交互信息;所述交互信息中包括所述软件应用存储的加密序列号;所述加密序列号是所述授权中心在与所述软件应用的前一交互过程中发送至所述软件应用;
所述授权中心验证所述加密序列号与所述授权中心当前有效的序列号是否匹配;
若不匹配,则初步确定所述授权中心存在数据回退。
本申请实施例中,通过使用软件来辅助校验授权中心的序列号是否发生回退,加强了对授权中心序列号的校验,还可以通过软件来初步判定授权中心的数据是否发生回退。
可选地,所述授权中心存储的任一授权数据对应的验证信息是通过对所述授权数据进行哈希操作得到的。
可选地,所述授权中心存储的任一授权数据对应的认证码是通过所述授权数据对应的验证信息、所述授权中心当前有效的序列号、随机因子及授权中心的密钥得到的。
本申请实施例中,认证码通过授权数据对应的验证信息、授权中心当前有效的序列号而来,可以通过认证码加强对授权数据的校验。
第二方面,本申请实施例提供了一种防止授权数据回退的装置,该装置位于授权中心,包括:
判断模块,用于针对授权中心存储的任一授权数据,校验所述授权数据对应的第一序列号与所述授权中心当前有效的第二序列号是否匹配以及所述授权数据与所述授权数据对应的第一验证信息是否匹配;所述授权中心周期生成有效的序列号;
生成模块,用于若都匹配,则通过所述第一序列号和所述第一验证信息生成第二认证码,并确定所述授权数据对应的第一认证码与所述第二认证码是否一致;
确定模块,用于若认证码一致,则确定所述授权数据未被回退;
其中,所述授权中心按授权数据、授权数据对应的序列号、授权数据对应的验证信息、授权数据对应的认证码的方式存储每个授权数据,且授权数据对应的认证码随授权数据对应的序列号更新而更新。
可选地,所述生成模块还用于:
在所述授权中心当前有效的序列号更新后,针对所述授权中心存储的任一授权数据对应的认证码,根据所述授权数据对应的序列号和所述授权数据对应的验证信息生成第三认证码;确定所述第三认证码与所述授权数据对应的认证码是否一致,若一致,则根据更新后的序列号、所述授权数据对应的验证信息生成第四认证码;
将所述更新后的序列号作为所述授权数据对应的序列号,以及将所述第四认证码作为所述授权数据对应的认证码。
可选地,所述生成模块,还用于若所述第三认证码与所述授权数据对应的认证码不一致,则确定所述授权数据为非法数据。
可选地,所述生成模块,还用于按周期单调递增序列号或单调递减序列号;
所述判断模块具体用于,若所述第一序列号与所述第二序列号不匹配,则确定所述授权中心存储的所述授权数据发生回退,所述第一序列号与所述第二序列号不匹配为序列号差值大于设定阈值。
可选地,所述判断模块还用于:
接收任一软件应用的交互信息;所述交互信息中包括所述软件应用存储的加密序列号;所述加密序列号是所述授权中心在与所述软件应用的前一交互过程中发送至所述软件应用;
验证所述加密序列号与所述授权中心当前有效的序列号是否匹配;
若不匹配,则初步确定所述授权中心存在数据回退。
可选地,所述授权中心存储的任一授权数据对应的验证信息是通过对所述授权数据进行哈希操作得到的。
可选地,所述授权中心存储的任一授权数据对应的认证码是通过所述授权数据对应的验证信息、所述授权中心当前有效的序列号、随机因子及授权中心的密钥得到的。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面介绍的方法步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述第一方面介绍的方法步骤。
另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种系统架构图;
图2为本申请实施例提供的一种防止授权数据回退的方法的流程示意图一;
图3为本申请实施例提供的一种防止授权数据回退的方法的流程示意图二;
图4为本申请实施例提供的一种防止授权数据回退的装置;
图5为本申请实施例提供的一种计算机设备。
具体实施方式
授权数据记录了用户访问软件时对软件中某项已授权功能的使用次数等信息,因此授权数据不管对软件还是用户来说都是至关重要的,应该尽量避免授权数据发生回退。
目前的相关技术中,通常采用的方法是通过专用的有安全资质的硬件设备来保证授权数据回退,如使用硬件加密狗,将授权数据保存到加密狗中,若有人想要攻击授权数据,必须要攻破加密狗。但购买安全硬件设备会导致成本的增加,并且一些敏感场景不信任外部的硬件设备,因此无法部署安全硬件;还有一些方法是对授权数据计算消息验证码,计算消息验证码所使用的密钥每次都是随机的,这样可以保证每次使用的密钥都不同,并且将密钥与授权数据分开保存,从而达到防止授权数据回退的效果。但是不同的授权数据用不同的密钥,随着授权数据更新次数的增多,密钥的数量就会越多,在维护成本上就会变大。而且将授权数据和密钥分开存储,在需要授权数据同步的场景中,很难保证授权数据和密钥的同步性。本申请实施例提供的防止数据回退的方法可以不需要额外的硬件设备,具体地操作方法如下展开描述。
在用户使用软件的过程中,软件会在后台统计各项已授权功能的使用情况,将其以授权数据的形式定时发送到授权中心,授权中心汇总接入的软件的授权数据,并将授权数据存储到数据库中,数据库通常会部署主备两台,由主向备同步授权数据。授权中心重启时,需要从数据库中加载各个软件已经使用的授权数据。授权中心根据授权数据与授权中心的许可证规定的内容比对,以此来决定用户是否可以继续使用某项功能。
首先,授权中心在获取到授权数据时,验证授权数据对应的序列号,再验证授权数据的验证信息,若都匹配,则验证授权数据的认证码,若一致,则证明授权数据没有被回退。在授权中心验证授权数据没有被回退后,周期更新序列号。其中,授权中心与软件交互的过程中,通过发送加密和签名的序列号,以使软件也可以作为辅助,来验证授权数据对应的序列号是否一致。
参见图1,为本申请实施例适用的一种系统架构图,包括授权中心101、用户操作使用的软件102以及软件服务器103,软件102可以是安装在终端设备的。软件服务器103统计使用该软件102的每个用户的授权数据,授权中心101接收软件服务器103发来的任一用户的授权数据,并对该授权数据以及授权中心存储的该用户的授权数据进行验证,从而确定授权中心存储的该用户的授权数据是否被回退。授权中心存储的任一用户的授权数据是根据有效的序列号生成的,而有效的序列号是授权中心周期生成的唯一性序号。其中,授权中心101在更新序列号后会将该序列号加密并签名发送至软件102,以便可通过软件102存储的加密序列号,辅助验证序列号是否发生回退。
授权中心101和软件服务器103可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
授权中心可以包含本地存储104和数据库105存储两部分,数据库105又分为主数据库1051和备数据库1052,在主数据库接收到授权中心存储的授权数据后,同时将该数据备份到备数据库。
在进行校验时,可以用授权中心当前有效的第二序列号校验授权中心本地存储的序列号,若匹配,则确定授权中心本地存储的序列号未发生回退。还可以用授权中心数据库中的授权数据对应的验证信息校验本地存储的授权数据的验证信息,若一致,则确定授权数据没有被回退。以下的验证过程可以是针对本地存储、主数据库或备数据库中的任一个或多个。
参见图2,为本申请实施例提供的一种防止授权数据回退的方法的流程示意图,该方法由授权中心执行,包括以下步骤:
步骤201、针对授权中心存储的任一授权数据,校验授权数据对应的第一序列号与授权中心当前有效的第二序列号是否匹配以及授权数据与授权数据对应的第一验证信息是否匹配;授权中心周期生成有效的序列号。
具体地,授权中心设置序列号初始值,并周期更新具有唯一性不重复的序列号。授权中心当前有效的序列号是唯一的,即授权中心在周期更新序列号过程中,新的序列号就是有效的序列号。序列号存储在授权中心,如果有安全芯片,优先将序列号存储在安全芯片中,通过安全芯片保存序列号可以保证序列号无法被回退或修改。
授权中心在校验授权数据时,首先校验授权数据对应的第一序列号与授权中心当前有效的第二序列号是否匹配。授权中心需要校验获取到的授权数据对应的序列号(即第一序列号),与授权中心周期更新的有效的序列号(即第二序列号)之间是否匹配。
其次,授权中心还需校验与授权数据对应的验证信息是否匹配,校验方法为计算授权中心获取到的授权数据的验证信息,与授权中心存储的该授权数据对应的第一验证信息是否匹配。其中验证信息的计算方式是相同的。
步骤202、若都匹配,则通过第一序列号和第一验证信息生成第二认证码,并确定授权数据对应的第一认证码与第二认证码是否一致。
具体地,在第一序列号和第一验证信息都匹配后,则根据第一序列号和第一验证信息生成第二认证码,并确定授权数据对应的第一认证码和第二认证码是否是一致的。
步骤203、若认证码一致,则确定授权数据未被回退;其中,授权中心按授权数据、授权数据对应的序列号、授权数据对应的验证信息、授权数据对应的认证码的方式存储每个授权数据,且授权数据对应的认证码随授权数据对应的序列号更新而更新。
具体地,授权中心存储各个软件下各用户的授权数据,在授权中心存储任一授权数据时,还需存储授权数据对应的序列号、授权数据对应的验证信息以及授权数据对应的认证码。因为授权数据的认证码是基于授权数据和序列号得来的,在序列号周期更新时,认证码也随序列号的更新而更新。具体来说,授权中心的序列号周期更新,则意味着授权中心中存储的每个授权数据也是周期更新的,即授权数据对应的序列号和授权数据对应的认证码。
因为认证码是根据授权数据和序列号得到的,因而需要在前述步骤201中,对授权数据的序列号以及授权数据的验证信息进行验证,若初步验证通过后,再通过认证码的验证,可以准确地确认授权数据是否被回退。具体来说,由于序列号在更新后,授权数据的对应更新会有一定的延迟或不同步,假定授权数据未被回退,在延迟情况下授权中心存储的授权数据的序列号与有效的序列号是不一致的,但若满足匹配要求,则初步验证通过。
本申请实施例中,首先验证授权数据对应的序列号和验证信息,在都一致的情况下,再验证授权数据对应的认证码,从而可以防止授权数据发生回退,并且通过多个方面校验,可以严格防止授权数据回退。
上述实现过程中,对于授权数据的验证可以是授权中心周期性进行的,也可以是基于任一软件的使用来触发的。本申请不做具体限定。
以下,具体来介绍下授权中心存储的授权数据对应的认证码是如何随序列号的更新而更新。
在一些实施例中,在授权中心当前有效的序列号更新后,针对授权中心存储的任一授权数据对应的认证码,根据授权数据对应的列号和授权数据对应的验证信息生成第三认证码;确定第三认证码与授权数据对应的认证码是否一致,若一致,则根据更新后的序列号、授权数据对应的验证信息生成第四认证码;将更新后的序列号作为授权数据对应的序列号,以及将第四认证码作为授权数据对应的认证码。
具体地,授权中心的有效序列号在周期更新,而授权中心的授权数据有可能不变,因此,在授权中心每次更新序列号后,需要重新计算授权数据对应的认证码,而授权数据的验证信息可以不用再更新。当授权中心更新当前有效序列号而授权数据没有发生改变后,重新根据当前更新的有效序列号以及之前的授权数据的验证信息生成对应的认证码,将该认证码与授权中心存储的授权数据对应的序列号、授权数据对应的验证信息生成第三认证码。确定第三认证码和授权数据对应的认证码是否一致,若一致,则根据更新后的序列号和授权数据对应的验证信息生成第四认证码,并将更新后的序列号作为授权数据对应的序列号,将第四认证码作为授权数据对应的认证码。
本申请实施例中,在授权中心的序列号周期更新的同时,由序列号计算而来的认证码也同时更新,保证了授权中心所有的数据都是准确的,并在序列号更新后再对授权数据进行校验,避免了授权数据发生回退。
在一些实施例中,若第三认证码与授权数据对应的认证码不一致,则确定授权数据为非法数据。
具体地,当授权中心校验时第三认证码和授权数据对应的认证码不一致,则说明该授权数据发生过回退,将该授权数据确定为非法数据。
本申请实施例中,通过校验授权数据的认证码来确定授权数据是否发生回退,可以降低授权数据被回退的风险。
在一些实施例中,授权中心接收任一软件应用的交互信息;交互信息中包括软件应用存储的加密序列号;加密序列号是授权中心在与软件应用的前一交互过程中发送至软件应用;授权中心验证加密序列号与授权中心当前有效的序列号是否匹配;若不匹配,则初步确定授权中心存在数据回退。
具体地,授权中心可以接入各个软件,在授权中心和软件进行交互时,会在交互信息中带上加密并签名的序列号。加密并签名的序列号为前一次授权中心向软件发送的,授权中心在接收软件发来的加密并签名的序列号后,首先对其进行验签并解密,然后校验授权中心当前的有效序列号与解密验签后的序列号,若匹配,则可以初步确定授权中心的序列号没有发生回退;若不匹配,则可以初步确定授权中心的序列号发生了回退。
举例说明,授权中心的序列号是周期递增的,所以授权中心发给软件应用的加密序列号一定会比授权中心当前有效的序列号小或者相同,如果授权中心收到的加密序列号比授权中心的当前有效序列号还要大,则可以初步确定授权中心的序列号发生了回退。
在授权中心生成序列号后,可以将序列号存储在本地和数据库中,如果本地有安全芯片,则优先将序列号存储在安全芯片中;如果本地没有安全芯片,则需通过授权中心和软件应用进行交互时携带加密序列号,并通过授权中心校验来确定序列号没有被回退。
本申请实施例中,通过使用软件来辅助校验授权中心的序列号是否发生回退,加强了对授权中心序列号的校验,还可以通过软件来初步判定授权中心的数据是否发生回退。
在一些实施例中,授权中心存储的任一授权数据对应的验证信息是通过对授权数据进行哈希操作得到的。
具体地,对授权数据进行哈希操作,得到授权数据的哈希值,将该哈希值作为授权数据对应的验证信息。
在一些实施例中,授权中心周期性更新序列号,包括:授权中心按周期单调递增序列号或单调递减序列号;若第一序列号与第二序列号不匹配,则确定授权中心存储的授权数据发生回退,第一序列号与第二序列号不匹配为序列号差值大于设定阈值。
具体地,授权中心周期性更新序列号,可以是授权中心周期单调递增序列号,也可以是授权中心周期单调递减序列号。如果第一序列号和第二序列号不匹配,则确定授权中心存储的授权数据发生回退。
在考虑到授权中心在存储序列号时会有时间上的延误,因此规定第一序列号与第二序列号之间的差值只要小于或等于预设阈值,则认为第一序列号与第二序列号匹配;若第一序列号与第二序列号之间的差值大于预设阈值,则认为第一序列号与第二序列号不匹配。
本申请实施例中,通过设置按周期递增或递减的序列号,可以防止授权数据的序列号发生回退,允许序列号之间存在差值,避免了因为主备数据库同步延迟而产生误判的情况。
在一些实施例中,授权中心存储的任一授权数据对应的认证码是通过授权数据对应的验证信息、授权中心当前有效的序列号、随机因子及授权中心的密钥得到的。
具体地,如公式(1)所示,授权数据的认证码是采用密钥导出函数(简称KDF),将授权中心当前有效的序列号、授权数据对应的验证信息、随机因子以及授权中心的密钥计算而来的。认证码中包含的数据有:授权数据对应的认证码、授权数据对应的验证信息、授权中心当前有效的序列号以及随机因子。
M(KDF(KEY,FACTOR),H(DATA)||SEQ)…公式1
其中,KDF为密钥导出函数,KEY为授权中心的密钥,FACTOR为随机因子,H(DATA)为授权数据对应的哈希值,DATA为授权数据,SEQ为授权数据对应的序列号,M为授权数据的认证码。
为了更好地解释本申请实施例,下面结合具体实施场景介绍本申请实施例提供的一种防止授权数据回退的方法,应用于授权中心,如图3所示,包括以下步骤:
步骤301、生成序列号,将序列号加密并签名发送至软件服务器。
步骤302、接收软件服务器发送的授权数据,以及加密并签名的序列号。
步骤303、验签并解密序列号。
步骤304、判断从软件服务器接收的序列号是否小于或等于有效的序列号,若小于或等于,则执行步骤305;若大于,则执行步骤309。
步骤305、根据序列号、授权数据的验证信息、随机因子和密钥生成认证码,将认证码和授权数据存储在主数据库中,同时在备数据库中进行备份。其中,认证码中包含的数据有:认证码、授权数据的验证信息、授权数据对应的序列号以及随机因子,验证信息为授权数据的哈希值。
步骤306、获取任一授权数据,判断该授权数据对应的第一序列号与有效的第二序列号是否匹配,计算该授权数据的验证信息与存储的第一验证信息是否匹配,若都匹配,则执行步骤307;若有一个不匹配,执行步骤309。
步骤307、根据第一验证信息和第一序列号生成第二认证码,判断授权数据对应的第一认证码和第二认证码是否一致。若一致,则执行步骤308;否则,执行步骤309。
步骤308、确定授权数据没有被回退,并更新序列号。
步骤309、结束。
基于相同的技术构思,本申请实施例提供了一种防止授权数据回退的装置400,如图4所示,该装置位于授权中心,包括:
判断模块401,用于针对授权中心存储的任一授权数据,校验所述授权数据对应的第一序列号与所述授权中心当前有效的第二序列号是否匹配以及所述授权数据与所述授权数据对应的第一验证信息是否匹配;所述授权中心周期生成有效的序列号;
生成模块402,用于若都匹配,则通过所述第一序列号和所述第一验证信息生成第二认证码,并确定所述授权数据对应的第一认证码与所述第二认证码是否一致;
确定模块403,用于若认证码一致,则确定所述授权数据未被回退;
其中,所述授权中心按授权数据、授权数据对应的序列号、授权数据对应的验证信息、授权数据对应的认证码的方式存储每个授权数据,且授权数据对应的认证码随授权数据对应的序列号更新而更新。
可选地,所述生成模块402还用于:
在所述授权中心当前有效的序列号更新后,针对所述授权中心存储的任一授权数据对应的认证码,根据所述授权数据对应的序列号和所述授权数据对应的验证信息生成第三认证码;确定所述第三认证码与所述授权数据对应的认证码是否一致,若一致,则根据更新后的序列号、所述授权数据对应的验证信息生成第四认证码;
将所述更新后的序列号作为所述授权数据对应的序列号,以及将所述第四认证码作为所述授权数据对应的认证码。
可选地,所述生成模块402,还用于若所述第三认证码与所述授权数据对应的认证码不一致,则确定所述授权数据为非法数据。
可选地,所述生成模块402还用于按周期单调递增序列号或单调递减序列号;
所述判断模块401具体用于,若所述第一序列号与所述第二序列号不匹配,则确定所述授权中心存储的所述授权数据发生回退,所述第一序列号与所述第二序列号不匹配为序列号差值大于设定阈值。
可选地,所述判断模块401还用于:
接收任一软件应用的交互信息;所述交互信息中包括所述软件应用存储的加密序列号;所述加密序列号是所述授权中心在与所述软件应用的前一交互过程中发送至所述软件应用;
验证所述加密序列号与所述授权中心当前有效的序列号是否匹配;
若不匹配,则初步确定所述授权中心存在数据回退。
可选地,所述授权中心存储的任一授权数据对应的验证信息是通过对所述授权数据进行哈希操作得到的。
可选地,所述授权中心存储的任一授权数据对应的认证码是通过所述授权数据对应的验证信息、所述授权中心当前有效的序列号、随机因子及授权中心的密钥得到的。
基于相同的技术构思,本申请实施例提供了一种计算机设备,计算机设备可以是终端或服务器,如图5示,包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本申请实施例中不限定处理器501与存储器502之间的具体连接介质,图5处理器501和存储器502之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行上述防止授权数据回退方法中所包括的步骤。
其中,处理器501是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,从而进行防止授权数据回退。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述防止授权数据回退方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种防止授权数据回退的方法,其特征在于,应用于授权中心,包括:
针对授权中心存储的任一授权数据,校验所述授权数据对应的第一序列号与所述授权中心当前有效的第二序列号是否匹配以及所述授权数据与所述授权数据对应的第一验证信息是否匹配;所述授权中心周期生成有效的序列号;
若都匹配,则通过所述第一序列号和所述第一验证信息生成第二认证码,并确定所述授权数据对应的第一认证码与所述第二认证码是否一致;
若认证码一致,则确定所述授权数据未被回退;
其中,所述授权中心按授权数据、授权数据对应的序列号、授权数据对应的验证信息、授权数据对应的认证码的方式存储每个授权数据,且授权数据对应的认证码随授权数据对应的序列号更新而更新。
2.如权利要求1所述的方法,其特征在于,还包括:
在所述授权中心当前有效的序列号更新后,针对所述授权中心存储的任一授权数据对应的认证码,根据所述授权数据对应的序列号和所述授权数据对应的验证信息生成第三认证码;确定所述第三认证码与所述授权数据对应的认证码是否一致,若一致,则根据更新后的序列号、所述授权数据对应的验证信息生成第四认证码;
将所述更新后的序列号作为所述授权数据对应的序列号,以及将所述第四认证码作为所述授权数据对应的认证码。
3.如权利要求2所述的方法,其特征在于,若所述第三认证码与所述授权数据对应的认证码不一致,则确定所述授权数据为非法数据。
4.如权利要求1所述的方法,其特征在于,所述授权中心周期生成有效的序列号,包括:
所述授权中心按周期单调递增序列号或单调递减序列号;
若所述第一序列号与所述第二序列号不匹配,则确定所述授权中心存储的所述授权数据发生回退,所述第一序列号与所述第二序列号不匹配为序列号差值大于设定阈值。
5.如权利要求1~4任一所述的方法,其特征在于,还包括:
所述授权中心接收任一软件应用的交互信息;所述交互信息中包括所述软件应用存储的加密序列号;所述加密序列号是所述授权中心在与所述软件应用的前一交互过程中发送至所述软件应用;
所述授权中心验证所述加密序列号与所述授权中心当前有效的序列号是否匹配;
若不匹配,则初步确定所述授权中心存在数据回退。
6.如权利要求5所述的方法,其特征在于,所述授权中心存储的任一授权数据对应的验证信息是通过对所述授权数据进行哈希操作得到的。
7.如权利要求5所述的方法,其特征在于,所述授权中心存储的任一授权数据对应的认证码是通过所述授权数据对应的验证信息、所述授权中心当前有效的序列号、随机因子及授权中心的密钥得到的。
8.一种防止授权数据回退的装置,其特征在于,所述装置位于授权中心,包括:
判断模块,用于针对授权中心存储的任一授权数据,校验所述授权数据对应的第一序列号与所述授权中心当前有效的第二序列号是否匹配以及所述授权数据与所述授权数据对应的第一验证信息是否匹配;所述授权中心周期生成有效的序列号;
生成模块,用于若都匹配,则通过所述第一序列号和所述第一验证信息生成第二认证码,并确定所述授权数据对应的第一认证码与所述第二认证码是否一致;
确定模块,用于若认证码一致,则确定所述授权数据未被回退;
其中,所述授权中心按授权数据、授权数据对应的序列号、授权数据对应的验证信息、授权数据对应的认证码的方式存储每个授权数据,且授权数据对应的认证码随授权数据对应的序列号更新而更新。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~7任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~7任一所述方法的步骤。
CN202310949172.2A 2023-07-31 2023-07-31 一种防止授权数据回退的方法、装置设备及存储介质 Pending CN116992403A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310949172.2A CN116992403A (zh) 2023-07-31 2023-07-31 一种防止授权数据回退的方法、装置设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310949172.2A CN116992403A (zh) 2023-07-31 2023-07-31 一种防止授权数据回退的方法、装置设备及存储介质

Publications (1)

Publication Number Publication Date
CN116992403A true CN116992403A (zh) 2023-11-03

Family

ID=88522678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310949172.2A Pending CN116992403A (zh) 2023-07-31 2023-07-31 一种防止授权数据回退的方法、装置设备及存储介质

Country Status (1)

Country Link
CN (1) CN116992403A (zh)

Similar Documents

Publication Publication Date Title
EP3284000B1 (en) Secure software authentication and verification
CN111625829A (zh) 基于可信执行环境的应用激活方法及装置
CN111723383A (zh) 数据存储、验证方法及装置
CN110855426B (zh) 一种用于软件使用授权的方法
CN112187544A (zh) 固件升级方法、装置、计算机设备及存储介质
KR20050056204A (ko) 메시지 무결성 보증 시스템, 방법 및 기록 매체
JP6387908B2 (ja) 認証システム
US20220417028A1 (en) Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession
CN111814132B (zh) 安全认证方法及装置、安全认证芯片、存储介质
CN111062059B (zh) 用于业务处理的方法和装置
CN111241492A (zh) 一种产品多租户安全授信方法、系统及电子设备
CN113329004B (zh) 一种认证方法、系统及装置
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
CN109302442B (zh) 一种数据存储证明方法及相关设备
CN107918739B (zh) 一种数据的保护方法、装置及存储介质
US20240126886A1 (en) Trusted Computing for Digital Devices
CN115037480A (zh) 设备认证和校验的方法、装置、设备和存储介质
CN116992403A (zh) 一种防止授权数据回退的方法、装置设备及存储介质
CN109688158B (zh) 金融执行链认证方法、电子装置及存储介质
CN108449753B (zh) 一种手机设备读取可信计算环境中的数据的方法
CN116089967B (zh) 数据防回滚方法和电子设备
CN113194090B (zh) 鉴权方法、鉴权装置、终端设备及计算机可读存储介质
CN116451188B (zh) 一种软件程序运行安全保护方法、系统以及存储介质
CN116070219B (zh) 用于写补丁的方法及系统、电子设备、存储介质
CN110048837B (zh) 用于复制密码机设备的方法和系统及密码机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination