CN114756827A - 一种许可证文件的管理方法、装置和设备 - Google Patents
一种许可证文件的管理方法、装置和设备 Download PDFInfo
- Publication number
- CN114756827A CN114756827A CN202110022205.XA CN202110022205A CN114756827A CN 114756827 A CN114756827 A CN 114756827A CN 202110022205 A CN202110022205 A CN 202110022205A CN 114756827 A CN114756827 A CN 114756827A
- Authority
- CN
- China
- Prior art keywords
- license
- file
- running time
- equipment
- esn
- 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
Links
- 238000007726 management method Methods 0.000 title description 13
- 238000000034 method Methods 0.000 claims abstract description 98
- 238000013475 authorization Methods 0.000 claims abstract description 84
- 238000012795 verification Methods 0.000 claims abstract description 28
- 230000003213 activating effect Effects 0.000 claims abstract description 5
- 238000001994 activation Methods 0.000 claims description 99
- 230000004913 activation Effects 0.000 claims description 70
- 230000008569 process Effects 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000005192 partition Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种许可证文件的管理方法、装置和设备,该方法包括:解析从安全存储区获得的许可证License文件后得到License文件信息,从保密文件中读取第一设备的累计运行时间,所述第一设备的累计运行时间是指第一设备在License授权使用期限内用户使用的有效运行时间的累计值;若第一设备的累计运行时间在所述License授权运行时间内,则对第一ESN的真实性进行验证;当所述第一ESN的验证结果为真时,对第一设备的License授权激活成功。本方法利用设备的累计运行时间验证License文件的有效性,有效地防止了用户通过修改***时间或删除保密文件来延长License文件的使用期限。
Description
技术领域
本申请涉及认证授权技术领域,尤其是涉及一种许可证文件的管理方法、装置和设备。
背景技术
单板设备是软硬件结合作为一个整体设备销售给客户使用,随着市场的推广,在对单板设备销售之前,需要给客户提供设备的一定时间的试用期,单板设备给客户试用后,当达到客户的满意度之后才会被推广并做为正式产品长期使用。若违背试用的初衷,则可能影响正式产品的销售,所以有必要提供一种单板设备的许可证管理方法,以便授权给客户设备的试用期限。
目前,常用的许可证授权(LicenseAuthorization,LIC)方式一般采用网络授权方法,例如图1所示,主要利用授权中心,比如远程服务器利用Internet对单板设备上的软件应用进行授权许可。具体地,远程服务器先对单板设备上报的License信息进行解析,并根据License信息对程序的有效期及数据处理量进行控制,如果超过使用期限,则不予授权许可使用,并且会发出提示以指示退出程序。但是,在有些情况下,单板设备需要在无网络的情况下也能为客户提供授权许可,这使得License文件在有效期的限制上依赖于单板设备记录的***时间,但是***时间是可以任意进行修改的,这导致客户只需修改***时间就可以延长单板设备的试用期限。
因此,在离线状态下为了防止任意篡改***时间,对单板设备的授权使用过程中,***会屏蔽可能影响license授权安全性的操作权限,比如屏蔽序列号信息、***时间的修改通道等,但是屏蔽***时间的修改通道等操作权限往往会限制设备在很多其他场景的使用与构造。比如屏蔽***时间的修改通道后,对于需要通过修改***时间来调试设备的某些功能(比如软件二次开发)就无法实现,进而导致屏蔽操作权限的方法来提高对单板设备的使用授权安全性的方法不够灵活。
发明内容
本申请提供了一种许可证License文件的管理方法、装置和设备,用于解决设备在单板无网络的情况下,对设备License文件的有效使用期限进行合法授权,避免用户通过修改***时间或其他途径更改设备的License授权期限。具体地,本申请公开了以下技术方案:
第一方面,本申请提供了一种License文件的管理方法,该方法可应用于一种服务进程,比如第一服务进程,该服务进程为操作***中的一个进程,所述方法包括:解析从安全存储区获得的License文件后得到License文件信息,从保密文件中读取第一设备的累计运行时间,所述第一设备的累计运行时间是指第一设备在所述License授权使用期限内用户使用的有效运行时间的累计值;若所述第一设备的累计运行时间在所述License授权运行时间内,则对所述第一ESN的真实性进行验证;当所述第一ESN的验证结果为真时,对所述第一设备的License授权激活成功。
其中,该License文件可以从安全存储中获得。进一步地,该License文件信息包括:License授权运行时间、License授权使用期限和第一ESN等信息。
此外,所述安全存储区包括但不限于RPMB、HSM、TEE等,
本方面提供的方法,将设备的累计运行时间保存在保密文件中,保密文件会每隔一段时间(几秒或几分钟)累加记录一次设备的运行时间,在设备的单个版本试用周期内,如果累加的时间在License授权运行时间的宽度范围内才允许被激活;否则无法激活成功,即便还在截止日期内,也不允许被激活,从而防止用户通过修改***时间或删除保密文件来绕过License文件有效性检查,以达到长期使用设备的目的,本方法提高了License文件授权和使用的安全性。
另外,本方法,不受屏蔽***时间的修改通道影响设备上一些功能的使用与构造的限制,提高了设备的灵活性。
结合第一方面,在第一方面的一种可能的实现方式中,对所述第一ESN的真实性进行验证,包括:判断从所述安全存储区获取的第二ESN与所述第一ESN是否相匹配;如果是,则确定所述第一ESN的验证结果为真。
本实现方式利用ESN验证第一设备的License授权激活是否成功,由于ESN为鉴别一个物理硬件设备唯一的标识,所以在License激活过程中,匹配License文件中存储的ESN信息与硬件设备本身的ESN是否一致能够准确地判断出第一ESN的真实性。
结合第一方面,在第一方面的另一种可能的实现方式中,所述从保密文件中读取第一设备的累计运行时间之前,还包括:获取第一设备的***运行时间;判断所述第一设备的***运行时间是否在所述License授权使用期限之内,如果是,则从所述保密文件中读取第一设备的累计运行时间。其中,保密文件存储于安全存储区中,该安全存储区中的文件允许被读取,但不允许被写入或修改。
本实现方式通过记录并定期更新设备的累计运行时间,并把该信息写入保密文件,保密文件存储在设备的安全存储区,保密文件的写入操作需要鉴权,普通用户无权限写或删除保密文件,在License激活以及到期自动检查流程中,根据License的累计运行时间是否超过有效运行时间来确定License文件的授权是否到期,而非根据设备的***时间确定,不仅可以有效防止用户通过修改***时间到License有效起始时间与有效终止时间范围,以重新激活过期的License文件的漏洞,也可以修复已有方案中用户通过删除保密文件并修改***时间以重新激活过期的License文件的漏洞。
结合第一方面,在第一方面的又一种可能的实现方式中,方法还包括:若所述第一设备的累计运行时间不在所述License授权运行时间内,或者,在对所述第一ESN的真实性进行验证过程中所述第一ESN的验证结果为假时,在上述两种情形下确定第一设备的License授权激活失败。
结合第一方面,在第一方面的又一种可能的实现方式中,从保密文件中读取第一设备的累计运行时间,包括:在判断所述第一设备的License授权激活流程是非首次激活时,从所述保密文件中读取第一设备的累计运行时间。
结合第一方面,在第一方面的又一种可能的实现方式中,所述License文件信息中还包括License版本信息;判断所述第一设备的License授权激活流程是非首次激活,包括:根据所述License文件信息中的License版本信息检验所述第一设备的License授权激活流程是否是首次激活,如果所述保密文件被存储在所述安全存储区中,且所述保密文件中记录的License版本信息与所述License文件信息中的License版本信息一致,则确定是非首次激活。
本实现方式中,首次激活与非首次激活的区别在于,首次激活是设备在首次激活使用执行的流程,非首次激活则是设备在非首次激活使用执行的流程。区别首次激活与非首次激活的目的在于,能够更好地记录设备的累计运行时间,该设备的累计运行时间记录在保密文件中。当安全存储区存储的保密文件不存在,或,保密文件中记录的License文件的版本信息与当前解析License文件得到的版本信息不一致,则进入首次激活流程。首次激活的目的主要是使保密文件中存储的设备累计运行时间从零开始记录。非首次激活的目的则是累加记录保密文件中存储的设备累计运行时间。
结合第一方面,在第一方面的又一种可能的实现方式中,在判断对所述第一设备的License授权激活流程是首次激活时,在所述安全存储区中创建保密文件,并将所述第一设备的累计运行时间存储在所述创建的保密文件中。
结合第一方面,在第一方面的又一种可能的实现方式中,所述解析从安全存储区获得的许可证License文件后得到License文件信息之前,还包括:校验所述License文件是否合法;在所述License文件合法的情况下,执行解析所述License文件并得到所述License文件信息。
结合第一方面,在第一方面的又一种可能的实现方式中,校验所述License文件是否合法,包括:通过从所述安全存储区获取的密钥对签名数据进行验签,所述签名数据为对所述License文件做加密后的数据;如果验签结果与所述License文件包含的原始数据一致,则所述License文件合法。
本实现方式中,在执行License授权激活流程之前,对License文件的有效性进行检查,从而防止License文件无效。此外,也可以从而防止用户通过修改***时间或删除保密文件以绕过License文件有效性检查。
结合第一方面,在第一方面的又一种可能的实现方式中,对所述第一设备的License授权激活成功之后,还包括:更新所述第一设备的累计运行时间;将所述更新后的第一设备的累计运行时间记录在所述保密文件中。本实现方式中,实时地更新设备的累计运行时间,并将该更新后的设备累计运行时间存储在保密文件中,一方面可以再执行License授权激活流程时快速地获取设备的累计运行时间,提高License文件授权许可的效率;另一方面,将该累计的运行时间存储在保密文件中,还可以防止被窃取和修改,提高了第一设备的累计运行时间存储的安全性。
第二方面,本申请提供了一种License文件的管理装置,所述装置包括:解析模块,用于解析从安全存储区获得的许可证License文件后得到License文件信息,所述License文件信息包括:License授权运行时间、License授权使用期限和第一电子序列号码ESN;
获取模块,用于从保密文件中读取第一设备的累计运行时间,所述第一设备的累计运行时间是指第一设备在所述License授权使用期限内用户使用的有效运行时间的累计值;
处理模块,用于当所述第一设备的累计运行时间在所述License授权运行时间内时,对所述第一ESN的真实性进行验证;以及当所述第一ESN的验证结果为真时,确定对所述第一设备的License授权激活成功。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理模块还用于判断从所述安全存储区获取的第二ESN与所述第一ESN是否相匹配,如果是,则确定所述第一ESN的验证结果为真。
结合第二方面,在第二方面的另一种可能的实现方式中,所述获取模块还用于在从保密文件中读取第一设备的累计运行时间之前,获取第一设备的***运行时间,判断所述第一设备的***运行时间是否在所述License授权使用期限之内,如果是,则从所述保密文件中读取第一设备的累计运行时间。
结合第二方面,在第二方面的又一种可能的实现方式中,所述处理模块还用于当所述第一设备的累计运行时间不在所述License授权运行时间内,或者,在对所述第一ESN的真实性进行验证过程中,所述第一ESN的验证结果为假时,确定所述第一设备的License授权激活失败。
结合第二方面,在第二方面的又一种可能的实现方式中,所述处理模块还用于在判断所述第一设备的License授权激活流程是非首次激活时,通过所述获取模块从所述保密文件中读取第一设备的累计运行时间。
结合第二方面,在第二方面的又一种可能的实现方式中,所述License文件信息中还包括License版本信息;所述处理模块,还用于根据所述License文件信息中的License版本信息检验所述第一设备的License授权激活流程是否是首次激活,如果所述保密文件被存储在所述安全存储区中,且所述保密文件中记录的License版本信息与所述License文件信息中的License版本信息一致,则确定对第一设备的License授权激活流程是非首次激活。
结合第二方面,在第二方面的又一种可能的实现方式中,所述处理模块,还用于在判断所述第一设备的License授权激活流程是首次激活时,在所述安全存储区中创建保密文件,并将所述第一设备的累计运行时间存储在所述创建的保密文件中。
结合第二方面,在第二方面的又一种可能的实现方式中,所述解析模块还用于在解析(从安全存储区)获得的许可证License文件后得到License文件信息之前,校验所述License文件是否合法。
结合第二方面,在第二方面的又一种可能的实现方式中,所述解析模块还用于通过从所述安全存储区获取的密钥对签名数据进行验签,如果验签结果与所述License文件包含的原始数据一致,则所述License文件合法;所述签名数据为对所述License文件做加密后的数据。
结合第二方面,在第二方面的又一种可能的实现方式中,还包括:更新模块,用于在对所述第一设备的License授权激活成功之后,更新所述第一设备的累计运行时间;所述处理模块还用于将所述更新后的第一设备的累计运行时间记录在所述保密文件中。
第三方面,本申请还提供了一种单板设备,该单板设备可以是一个终端设备或者网络设备,包括处理器和存储器,其中,处理器与存储器耦合。
所述存储器用于存储计算机程序指令;所述处理器用于执行所述存储器中存储的所述指令,以使得所述单板设备执行前述第一方面及第一方面各种实现方式中的方法。
可选的,所述处理器和存储器可集成在一个芯片***中,所述芯片***中还包括输入输出接口,所述输入输出接口用于实现所述芯片***与外部的其它模块之间的通信。
可选的,所述处理器为一个逻辑电路。
第四方面,本申请还提供了一种计算机可读存储介质,该存储介质中存储有指令,使得当指令在计算机或处理器上运行时,可以用于执行前述第一方面以及第一方面各种实现方式中的方法。
另外,本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,当该指令被计算机或处理器执行时,可实现前述第一方面以及第一方面各种实现方式中的方法。
需要说明的是,上述第二方面至第四方面的各种实现方式的技术方案所对应的有益效果与前述第一方面以及第一方面的各种实现方式的有益效果相同,具体参见上述第一方面以及第一方面的各种实现方式中的有益效果描述,不再赘述。
附图说明
图1为本申请提供的一种远程服务器授权单板设备使用许可的结构示意图;
图2为本申请实施例提供的一种单板设备的结构示意图;
图3为本申请实施例提供的一种eMMC的结构示意图;
图4为本申请实施例提供的一种License启动和校验流程的示意图;
图5为本申请实施例提供的一种License激活流程执行校验的示意图;
图6为本申请实施例提供的一种License授权激活流程的示意图;
图7为本申请实施例提供的一种设备累计运行时间的示意图;
图8为本申请实施例提供的一种保密文件写入流程的示意图;
图9为本申请实施例提供的一种License文件的管理装置的结构示意图;
图10为本申请实施例提供的一种单板设备的结构示意图。
具体实施方式
下面结合附图对本申请实施例中的技术方案作详细的说明。在对本申请实施例的技术方案说明之前,首先结合附图对本申请实施例的应用场景进行说明。
本申请的技术方案涉及一种单板设备,该单板设备在单机无联网(或称离线)的情况下为客户应用提供授权许可服务。
可选的,单板设备也可称为无联网设备(No Networking Device,NND)。
所述单板设备可以是一种网络设备,比如计算单元或服务器等。此外,该单板设备还可以是一种终端设备,该终端设备可以是一种便携式设备,比如手机、笔记本电脑、平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digitalassistant,PDA),可折叠终端、车载终端、具备无线通讯功能的可穿戴设备(例如智能手表或手环)、用户设备(user device)或用户设备(user equipment,UE)、以及增强现实(augmented reality,AR)或者虚拟现实(virtual reality,VR)设备等。本申请的实施例对终端设备的具体设备形态不做限定。另外,上述各种终端设备中包括但不限于搭载苹果(IOS)、安卓(Android)、微软(Microsoft)或者其他操作***。
参见图2,为本实施例提供的一种终端设备的结构示意图。该设备包括处理区和存储区,所述处理区包括:时间同步模块、初始化模块和授权激活模块等。所述存储区包括:***存储区和安全存储区。其中,***存储区用于存储许可证(License)文件。安全存储区用于存储电子序列号码(Electronic Serial Number,ESN)、保密文件(Confidential File,CF)和密钥文件等信息。
其中,许可证(License)是供应商与客户对所销售、购买的产品使用范围、期限等进行授权或被授权的一种合约形式。License一般被记录在License文件中,比如设备将License认证信息和程序一起打包并安装,安装后形成License文件。该License文件可被存储和传输,比如License文件可被存储在***的磁盘空间。
所述License文件可又称为License授权许可信息,用于授权***的使用。进一步地,License文件中的内容包括:License文件的版本信息、License类型、许可授权开始日期、许可授权截止日期、有效使用天数、ESN、License签名数据等。
其中,ESN为用于鉴别一个物理硬件设备唯一的标识。ESN通常存储于硬件设备的安全存储区或安全存储介质中,在License激活过程中,ESN用于匹配License文件中存储的ESN信息与硬件设备本身的ESN是否一致。
密钥文件,用于存储License文件的公钥数据。当***生成License文件时,会通过***生成的私钥对License文件的内容进行签名并附加在License文件中。在License文件颁发的时候,密钥文件会写入到***的安全存储区。在License激活过程中,用于对License文件进行完整性校验,判断License文件是否合法。为了保证密钥文件的安全性,存储在安全存储区的密钥文件允许被读取,但不允许被修改和删除。
保密文件,在License文件合法授权之后生成。保密文件的内容包括:记录已授权或正在授权License文件的版本信息、License的有效使用天数、设备有效运行时间的累计值(或称为设备累计运行时间)等。保密文件会每隔一段时间(几秒或几分钟)累加记录一次设备的运行时间,在设备的单个版本试用周期内,如果累计运行时间在License的使用期限宽度范围内才允许被激活;否则无法激活成功,即便还未过截止日期,都不允许激活。
此外,保密文件可同样存储于***的安全存储区中,从而避免保密文件被恶意修改或删除,修改***时间获得非法授权使用许可。并且,保密文件的写入或删除需要鉴权,只有特定的进程(如License服务进程)才有权限对保密文件的数据进行写入。
***时间,用于校验License文件许可授权的起止日期。该***时间可通过时间同步模块进行授时和校准。
在硬件层面,本实施例提供了一种内嵌式存储器(Embedded Multi Media Card,eMMC)。可用于存储上述License文件、密钥文件和保密文件等。其中,eMMC在封装中集成了一个控制器,提供标准接口并管理闪存。eMMC由一个嵌入式存储解决方案组成,带有多媒体卡(Multimedia Card,MMC)接口、快闪存储器设备及主控制器。接口速度高达每秒400MBytes,eMMC具有快速、可升级的性能。
如图3所示,该eMMC中包括多个分区,比如包括:引导区分区(BootAreaPartitions),RPMB(Replay Protected Memory Block)分区,通用分区(General PurposePartition)和用户数据区(User DataArea)。此外,还可以包括其他更多或更少的分区,本实施例对此不作限制。
其中,RPMB分区为图2所示的安全存储区,可用于存储保密文件、密钥文件和ESN等。当数据被写入到eMMC中的RPMB分区时,会先校验数据的合法性,并且只有特定的主机(Host)才有权限写入数据。另外,在读数据时,也提供了签名机制,保证Host读取到的数据是RPMB内部数据,而不是攻击者伪造的数据。
可选的,上述License文件也可以存储在RPMB中的其他存储区,比如***存储区。
应理解,上述图2所示的安全存储区还可以是其他存储介质或存储单元,比如分层存储管理(Hierarchical Storage Management,HSM),可信运行环境(Trusted ExecutionEnvironment,TEE)。其中TEE可理解为一个与片上***(System on Chip,SoC)中其他模块隔离并能够执行可信应用程序(TAs)的区域。本实施例对该安全存储区的具体形态和结构不作限制。
为了满足用户对设备试用的需求,本实施例提供的一种对单板设备许可证的管理方法。该方法包括以下流程,分别是:License启动和校验流程、License激活流程执行校验、License授权激活流程和保密文件写入流程。
下面对上述4个流程的具体步骤进行详细说明。
本实施例以第一设备举例,该第一设备为上述任一单板设备。预先利用时间同步模块对设备的操作***时间进行时间校准,从而防止用户恶意修改***时间。如果时间同步模块失效,则保密文件同样可以起到防止用户修改***时间,从而延长授权使用期限目的。
当第一设备启动后,会进入“License的启动和校验流程”,该流程主要对License文件的合法性与完整性进行验证,以保证License文件的安全、可靠。具体如图4所示,该“License的启动和校验流程”包括以下方法步骤:
101:第一设备的操作***在第一设备正常启动后拉起License服务进程,比如第一服务进程。
102:第一服务进程从安全存储区获取License文件与密钥文件。
其中,所述License文件又称License授权许可信息,用于授权***的使用。该License文件内容包括:License文件的版本信息、License类型、许可授权起始日期、许可授权截止日期、有效使用天数、第一设备的第一ESN、License签名数据等。
所述License类型用于指示License文件的类型是临时型还是永久型。
所述密钥文件中包括公钥和私钥。其中,***在生成License文件时,会利用私钥对License文件的内容(或称License原始数据)进行加密得到签名数据,然后将该签名数据附加在License文件中。在License文件颁发时***会将该密钥文件写入到***的安全存储区(如RPMB)中。存储在安全存储区中的密钥文件允许被读取,但不允许被修改和删除。
所述安全存储区为***的某一磁盘空间,包括但不限于RPMB、HSM、TEE等,本实施例对安全存储区域的结构和大小不做限制。
103:校验所述License文件是否合法。
第一服务进程从License文件中获得License原始数据以及签名数据,校验时,通过读取存储于安全存储区的公钥对该签名数据作验签,如果验签通过,则确定该License文件合法;如果验签不通过,则确定该License文件为非法。一种可能的实现方式是,第一服务进程利用安全存储区中的公钥对签名数据进行解密,解密数据,比较该解密后的数据与License原始数据是否相同;如果相同,则确定该License文件合法,执行步骤104;如果不相同,则确定该License文件不合法,此时执行步骤105。
上述步骤103也称为License文件的完整性校验。
104:如果License文件合法,则进入License授权激活流程。
105:如果License文件不合法,则该第一服务进程上报提示信息,该提示信息用于提示该License文件不合法,此时第一设备正常启动失败。
接上述步骤104,进入“License授权激活流程”,在进入“License授权激活流程”之前,首先要判断该激活流程是首次激活还是非首次激活,进入“License激活流程执行校验”流程。
首次激活与非首次激活的区别在于,首次激活是设备在首次激活使用执行的流程,非首次激活则是设备在非首次激活使用执行的流程。区别首次激活与非首次激活的目的在于,能够更好地记录设备的累计运行时间(cumulative running time,CRT),该设备的累计运行时间记录在保密文件中。当安全存储区存储的保密文件不存在,或,保密文件中记录的License文件的版本信息与当前解析License文件得到的版本信息不一致,则进入首次激活流程。首次激活的目的主要是使保密文件中存储的设备累计运行时间从零开始记录。非首次激活的目的则是累加记录保密文件中存储的设备累计运行时间。具体地,参见图5所示,方法步骤包括:
106:当License文件验证合法,第一设备正常启动后,License服务进程会对从安全存储区读取的License文件进行解析,解析得到License文件信息,所述License文件信息中包括:ESN信息(比如第一ESN),License版本信息,License类型,License授权运行时间、License许可授权起始日期,许可授权截止日期,有效使用天数等信息。
其中,根据License许可授权起始日期和许可授权截止日期可确定License授权使用期限,该License授权使用期限是授权用户在哪段时间使用。比如授权从2020-01-01至2021-01-01,如图7所示,License授权使用期限=License许可授权截止日期-License许可授权起始日期。
License授权运行时间,是指在License授权使用期限内允许用户使用的最大时限。该License授权运行时间可由***自定义,比如假设License授权使用期限是365天,License授权运行时间为60天,则指示在365天的授权使用期限内,授权在其中可以使用60天,且这60天中的每一天允许最大使用时长按8小时计算。
该步骤106可以在前述步骤103中验证License文件的合法性时执行,或者也可以在步骤104之后执行,本实施例对此不作限制。
107:检验安全存储区是否存储保密文件,如果是,即存储所述保密文件,则进入下一步执行108;如果否,即未存储保密文件,则执行步骤109,进入首次激活流程。
108:接步骤107的判断“是”,校验保密文件中记录的License版本信息与步骤106中解析得到的License版本信息是否一致,如果不一致,则执行步骤109,进入首次激活流程;如果一致,则执行步骤110,进入非首次激活流程。
当执行完上述“License激活流程执行校验”(首次激活流程和非首次激活流程)后,则进入具体的“License授权激活流程”。
参见图6,为本实施例提供的一种License授权激活流程的示意图。具体包括:
在上述步骤103或106中解析所述License文件后得到License授权运行时间,License授权使用期限等信息。
201:第一服务进程获取第一设备***时间。所述***时间用于校验License许可授权的起始日期和截止日期,并且该***时间会通过第一设备的时间同步模块进行授时和校准。
202:判断所述第一设备***时间是否在所述License授权使用期限内。如果是,即第一设备***时间在该License授权使用期限内,则进入首次激活与非首次激活的选择流程;如果否,则执行步骤203。
203:如果否,即第一设备***时间不在所述License的授权使用期限内,则License授权激活失败,第一服务进程上报校验结果,此时第一设备正常运行失败。
204:首次激活与非首次激活的选择流程,判断是否是首次激活。
具体的判断过程参见前述步骤106至110,根据前述“License激活流程执行校验”可以确定本次激活是首次激活,还是非首次激活。如果当前流程执行的是非首次激活,则执行步骤205;如果当前流程执行首次激活,则执行步骤210。
210:在所述安全存储器中创建保密文件,并将所述第一设备的累计运行时间存储在该创建的保密文件中。
205:第一服务进程从安全存储区的所述保密文件中读取记录的第一设备的累计运行时间,例如图7所示。
所述第一设备的累计运行时间是指第一设备在所述License授权使用期限内用户使用的有效运行时间的累计值。该有效运行时间累计值是一个动态变化的数据,即记录每次用户使用的有效运行时间,并与之前使用的有效运行时间相加,得到该有效运行时间累计值。
可选的,所述保密文件被存储在所述安全存储区(如RPMB)中,只允许读取,不允许被修改和删除。只有特定的进程(如License服务进程)才有权限对保密文件的数据进行写入和删除,从而避免保密文件被恶意删除后,通过修改***时间,License文件进行重新激活。
另外,在该保密文件中还包括:已授权或正在授权License文件的版本信息、有效使用天数等信息。
206:判断所述第一设备的累计运行时间是否在所述License授权运行时间内。如果是,则执行步骤207;否则,执行步骤203。
例如,假设第一设备的累计运行时间是第N天(N为正整数且大于等于1),或者换算成小时,即(N×24)小时,License授权运行时间为60天,则判断是否满足N≤60,或者,以小时计算,判断是否满足(N×24)≤(60×24)。在图7所示的示例中,所述第一设备的累计运行时间在License授权运行时间内,则执行步骤207。
207:如果是,即第一设备的累计运行时间在所述License授权运行时间内,则从所述安全存储区获取第二ESN。所述第二ESN可单独存储在所述安全存储区中,而不存储在所述保密文件中。
可选的,如果当前第一设备的累计运行时间不在License授权运行时间内,比如N>60,则License授权激活失败,则上报校验结果,此时第一设备正常运行失败,与前述步骤203相同。
208:判断所述第二ESN与解析所述License文件获得的第一ESN是否相匹配。
209:如果是,即所述第二ESN与所述第一ESN相同,则匹配成功,License授权激活成功。此时,第一设备进入正常运行状态。
另外,如果否,即第二ESN与第一ESN不相同,则匹配不成功,License授权激活失败,第一服务进程上报校验结果,此时第一设备正常运行失败。与前述步骤203相同,不再赘述。
需要说明的是,上述步骤206中所述License授权运行时间主要针对License类型是临时型的设备,因为对于临时型设备而言,其License授权运行时间是一固定值,比如授权用户使用时间是3个月。对于License类型是永久型的设备而言,其License授权运行时间为永久,所以在上述步骤206之前,还包括:
判断该第一设备的License类型是临时型还是永久型。如果是临时型的设备时,则获取所述第一设备的累计运行时间,并执行步骤206。如果是永久型,则同样获取第一设备的累积运行时间,并执行上述步骤206,此时该第一设备的授权运行时间为永久,所以步骤206的判断结果始终为“是”,进而直接执行步骤207以及207之后的流程,具体可参见步骤207至209,此处不再赘述。
进一步地,所述第一设备的License类型可通过解析License文件时获得的License类型来确定。
需要说明的是,上述步骤206和208的顺序可以互换,即先执行步骤208,在步骤208的判断结果为“是”的情况下,再执行步骤206,本实施例对步骤206和208执行的先后顺序不予限制。
本实施例中,将设备的累计运行时间保存在保密文件中,保密文件会每隔一段时间(几秒或几分钟)累加记录一次设备的运行时间,在设备的单个版本试用周期内,如果累加的时间在License授权运行时间的宽度范围内才允许被激活;否则无法激活成功,即便还在截止日期内,也不允许被激活,从而防止用户通过修改***时间或删除保密文件来绕过license文件有效性检查,以达到长期使用设备的目的,本方法提高了License文件授权和使用的安全性。
另外,本实施例提供的方法,不受屏蔽***时间的修改通道影响设备上一些功能的使用与构造的限制,提高了设备的灵活性。
此外,在上述步骤209,第一设备进入正常运行状态之后,还包括“保密文件写入流程”。具体地,如图8所示,该保密文件写入流程,包括:
第一服务进程更新所述第一设备的累计运行时间,并将更新后的累计运行时间记录在保密文件中。具体地,在记录更新的累计运行时间之前,还需要对写入者的身份进行鉴权,只有鉴权通过,才能允许写入,比如只有指定的Host才允许写入。
每隔一定的时间间隔将第一设备的当前运行时间累加到保密文件记录的第一设备的累计运行时间,得到更新后的累计运行时间。
比如当前第一设备运行了8小时,保密文件中记录的第一设备的累计运行时间为58天,则更新后的累计运行时间为1400小时,(1400=58×24+8),然后将该更新后的累计运行时间记录到所述保密文件中,所述密钥文件被存储在所述安全存储区中。
本方法,记录并定期更新设备的累计License的已运行时间,并把该时间信息写入保密文件中,保密文件又被存储在设备的安全存储区,在安全存储区中保密文件的写入操作特别需要鉴权,普通用户无权限写入或删除保密文件,所以在License激活以及到期自动检查流程中,可通过判断保密文件中记录的设备累计运行时间是否超过License文件有效运行时间来确定License授权许可是否到期,而非根据设备***时间来确定,从而修复已有方案中用户通过修改***时间,延长License授权期限以重新激活过期的License文件的漏洞。
图9为本申请实施例提供的一种License文件管理装置的结构示意图。所述装置可以是一种单板设备,或者是位于该单板设备中的一个部件,例如芯片或芯片***。并且该装置可以实现前述实施例中License文件管理的方法。
具体地,如图9所示,该装置可以包括:解析模块901、获取模块902和处理模块903。此外,所述装置还可以包括存储模块、更新模块、发送模块等其他的单元或模块。
其中,解析模块901,用于解析从安全存储区获得的License文件后得到License文件信息,所述License文件信息包括:License授权运行时间、License授权使用期限和第一ESN等信息;获取模块902,用于从保密文件中读取第一设备的累计运行时间,所述第一设备的累计运行时间是指第一设备在所述License授权使用期限内用户使用的有效运行时间的累计值;处理模块903,用于当所述第一设备的累计运行时间在所述License授权运行时间内时,对所述第一ESN的真实性进行验证;以及当所述第一ESN的验证结果为真时,确定对所述第一设备的License授权激活成功。
可选的,在本实施例的一种可能的实施方式中,处理模块903,还用于判断从所述安全存储区获取的第二ESN与所述第一ESN是否相匹配,如果是,则确定所述第一ESN的验证结果为真。
可选的,在本实施例的另一种可能的实施方式中,获取模块902,还用于在从保密文件中读取第一设备的累计运行时间之前,获取第一设备的***运行时间,判断所述第一设备的***运行时间是否在所述License授权使用期限之内,如果是,则从所述保密文件中读取第一设备的累计运行时间。
可选的,在本实施例的又一种可能的实施方式中,处理模块903,还用于当第一设备的累计运行时间不在所述License授权运行时间内,或者,在对所述第一ESN的真实性进行验证过程中,所述第一ESN的验证结果为假时,确定所述第一设备的License授权激活失败。
可选的,在本实施例的又一种可能的实施方式中,获取模块902,还用于在判断对第一设备的License授权激活流程是非首次激活时,通过所述获取模块从从保密文件中读取第一设备的累计运行时间。
可选的,在本实施例的又一种可能的实施方式中,所述License文件信息中还包括License版本信息;处理模块903,还用于根据所述License文件信息中的License版本信息检验所述第一设备的License授权激活流程是否是首次激活,如果所述保密文件被存储在所述安全存储区中,且所述保密文件中记录的License版本信息与所述License文件信息中的License版本信息一致,则确定对第一设备的License授权激活流程是非首次激活。
可选的,在本实施例的又一种可能的实施方式中,处理模块903,还用于在判断所述第一设备的License授权激活流程是首次激活时,在所述安全存储区中创建保密文件,并将所述第一设备的累计运行时间存储在所述创建的保密文件中。
可选的,在本实施例的又一种可能的实施方式中,解析模块901,还用于在解析从安全存储区获得的License文件后得到License文件信息之前,校验该License文件是否合法。
进一步地,解析模块901,还用于通过从所述安全存储区获取的密钥对签名数据进行验签,如果验签结果与所述License文件包含的原始数据一致,则验证该License文件合法;所述签名数据为对所述License文件做加密后的数据。如果不一致,则验证该License文件不合法。
可选的,在本实施例的又一种可能的实施方式中,更新模块,用于在对所述第一设备的License授权激活成功之后,更新所述第一设备的累计运行时间。处理模块903,还用于将所述更新后的第一设备的累计运行时间记录在所述保密文件中。
另外,在具体的硬件实现中,本申请实施例还提供了一种单板设备,该单板设备可以是前述实施例中的包含第一服务进程的设备,比如第一设备。
图10示出了该单板设备的结构示意图,该设备可以包括:处理器11、存储器12和至少一个通信接口13,其中,处理器11、存储器12和至少一个通信接口13通过通信总线耦合。
其中,处理器11为单板设备的控制中心,可用于完成前述License启动和校验流程、License激活流程执行校验、License授权激活流程和保密文件写入流程。
其中,处理器11可以由集成电路(Integrated Circuit,IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器11可以包括中央处理器(central processing unit,CPU)或数字信号处理器(digitalsignal processor,DSP)等。
此外,处理器11还可以包括硬件芯片,所述该硬件芯片可以是一种逻辑电路,专用集成电路(application specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器12用于存储和交换各类数据或软件,该存储器12中可以包含多个存储介质,其中至少一个存储介质可作为前述的安全存储区,用于存储License文件和密钥文件等信息。此外,存储器12中可以存储有计算机程序或代码。
具体地,存储器12可以包括易失性存储器(volatile memory),例如随机存取内存(random access memory,RAM);还可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard sisk drive,HDD)或固态硬盘(Solid-StateDrive,SSD),存储器12还可以包括上述种类的存储器的组合。
可选的,存储器12既可以作为存储介质,集成在处理器11中,还可以被配置在处理器11之外,本实施例对此不予限制。
通信接口13,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网、WLAN等。
此外,上述单板设备中还包括移动通信模块、无线通信模块等。所述移动通信模块包括:无线通信功能的模块。此外,还可以包括滤波器、开关、功率放大器、低噪声放大器(low noise amplifier,LNA)等。在一些实施例中,移动通信模块的至少部分功能模块可以被设置于处理器中。所述无线通信模块可以提供应用在交换机上的包括WLAN,蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS)等无线通信的解决方案。
应理解,上述单板设备中还可以包括其他更多或更少的部件,本申请实施例示意的结构并不构成对单板设备的具体限定。并且图10所示的部件可以以硬件,软件、固件或者其任意组合的方式来实现。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。例如,在前述图9所示的License文件管理装置中的解析模块901、获取模块902和处理模块903的功能可以由处理器11,或者处理器11和存储器12来实现,文件管理装置中的存储单元的功能可以由存储器12实现。
具体地,处理器11,用于从存储器12的安全存储区中获得License文件后,解析该License文件得到License文件信息,所述License文件信息包括:License授权运行时间、License授权使用期限和第一ESN等。
处理器11,还用于从保密文件中读取第一设备的累计运行时间,所述第一设备的累计运行时间是指第一设备在所述License授权使用期限内用户使用的有效运行时间的累计值;判断如果第一设备的累计运行时间在所述License授权运行时间内,则对所述第一ESN的真实性进行验证;以及当该第一ESN的验证结果为真时,对所述第一设备的License授权激活成功。
本实施例提供的单板设备,在License文件激活的场景下,如果License文件被成功激活,则会把License文件的累计运行时间记录在保密文件中,且单板设备中License服务内部更新模块,每间隔一定时间更新累加License文件的累计运行时间。且将该保密文件存储在安全存储区,写入操作时需要鉴权,从而防止用户通过修改***时间或删除保密文件以绕过License文件有效性检查。
此外,通过记录并定期更新设备的累计运行时间,并把该信息写入保密文件,保密文件存储在设备的安全存储区,保密文件的写入操作需要鉴权,普通用户无权限写或删除保密文件,在License激活以及到期自动检查流程中,根据License的累计运行时间是否超过有效运行时间来确定License文件的授权是否到期,而非根据设备的***时间确定,不仅可以有效防止用户通过修改***时间到License有效起始时间与有效终止时间范围,以重新激活过期的License文件的漏洞,也可以修复已有方案中用户通过删除保密文件并修改***时间以重新激活过期的License文件的漏洞。
操作***时间通过时间同步模板进行时间校准,可以防止用户恶意修改***时间,如果用户恶意杀死时间同步模块的运行进程,由于已授权或正在授权License文件的版本信息、License的有效使用天数、设备累计运行时间等信息被存储在保密文件中,该保密文件同样可以起到防止用户将***时间往前修改,企图延长License使用授权期限,达到长期使用设备的目的。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照上述各个实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。
所述计算机程序指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网络节点、计算机、服务器或数据中心通过有线或无线方式向另一个节点进行传输。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (23)
1.一种许可证License文件的管理方法,其特征在于,所述方法包括:
解析从安全存储区获得的许可证License文件后得到License文件信息,所述License文件信息包括:License授权运行时间、License授权使用期限和第一电子序列号码ESN;
从保密文件中读取第一设备的累计运行时间,所述第一设备的累计运行时间是指第一设备在所述License授权使用期限内用户使用的有效运行时间的累计值;
若所述第一设备的累计运行时间在所述License授权运行时间内,则对所述第一ESN的真实性进行验证;
当所述第一ESN的验证结果为真时,对所述第一设备的License授权激活成功。
2.根据权利要求1所述的方法,其特征在于,对所述第一ESN的真实性进行验证,包括:
判断从所述安全存储区获取的第二ESN与所述第一ESN是否相匹配;
如果是,则确定所述第一ESN的验证结果为真。
3.根据权利要求1或2所述的方法,其特征在于,所述从保密文件中读取第一设备的累计运行时间之前,还包括:
获取第一设备的***运行时间;
判断所述第一设备的***运行时间是否在所述License授权使用期限之内,如果是,则从所述保密文件中读取第一设备的累计运行时间。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
若所述第一设备的累计运行时间不在所述License授权运行时间内,或者,在对所述第一ESN的真实性进行验证过程中,所述第一ESN的验证结果为假时,
所述第一设备的License授权激活失败。
5.根据权利要求1-3任一项所述的方法,其特征在于,从保密文件中读取第一设备的累计运行时间,包括:
在判断所述第一设备的License授权激活流程是非首次激活时,从所述保密文件中读取第一设备的累计运行时间。
6.根据权利要求5所述的方法,其特征在于,所述License文件信息中还包括License版本信息;
判断所述第一设备的License授权激活流程是非首次激活,包括:
根据所述License文件信息中的License版本信息检验所述第一设备的License授权激活流程是否是首次激活;
如果所述保密文件被存储在所述安全存储区中,且所述保密文件中记录的License版本信息与所述License文件信息中的License版本信息一致,则确定是非首次激活。
7.根据权利要求5所述的方法,其特征在于,还包括:
在判断所述第一设备的License授权激活流程是首次激活时,在所述安全存储区中创建保密文件,并将所述第一设备的累计运行时间存储在所述创建的保密文件中。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述解析从安全存储区获得的License文件后得到License文件信息之前,还包括:
校验所述License文件是否合法;
在所述License文件合法的情况下,执行解析从安全存储区获得的所述License文件并得到所述License文件信息。
9.根据权利要求8所述的方法,其特征在于,校验所述License文件是否合法,包括:
通过从所述安全存储区获取的密钥对签名数据进行验签,所述签名数据为对所述License文件做加密后的数据;
如果验签结果与所述License文件包含的原始数据一致,则所述License文件合法。
10.根据权利要求1-9任一项所述的方法,其特征在于,对所述第一设备的License授权激活成功之后,还包括:
更新所述第一设备的累计运行时间;
将所述更新后的第一设备的累计运行时间记录在所述保密文件中。
11.一种许可证License文件的管理装置,其特征在于,所述装置包括:
解析模块,用于解析从安全存储区获得的许可证License文件后得到License文件信息,所述License文件信息包括:License授权运行时间、License授权使用期限和第一电子序列号码ESN;
获取模块,用于从保密文件中读取第一设备的累计运行时间,所述第一设备的累计运行时间是指第一设备在所述License授权使用期限内用户使用的有效运行时间的累计值;
处理模块,用于当所述第一设备的累计运行时间在所述License授权运行时间内时,对所述第一ESN的真实性进行验证;以及当所述第一ESN的验证结果为真时,确定对所述第一设备的License授权激活成功。
12.根据权利要求11所述的装置,其特征在于,所述处理模块,还用于判断从所述安全存储区获取的第二ESN与所述第一ESN是否相匹配,如果是,则确定所述第一ESN的验证结果为真。
13.根据权利要求11或12所述的装置,其特征在于,
所述获取模块,还用于在从保密文件中读取第一设备的累计运行时间之前,获取第一设备的***运行时间,判断所述第一设备的***运行时间是否在所述License授权使用期限之内,如果是,则从所述保密文件中读取第一设备的累计运行时间。
14.根据权利要求11-13任一项所述的装置,其特征在于,
所述处理模块,还用于当所述第一设备的累计运行时间不在所述License授权运行时间内,或者,在对所述第一ESN的真实性进行验证过程中,所述第一ESN的验证结果为假时,确定所述第一设备的License授权激活失败。
15.根据权利要求11-13任一项所述的装置,其特征在于,
所述处理模块,还用于在判断所述第一设备的License授权激活流程是非首次激活时,通过所述获取模块从所述保密文件中读取第一设备的累计运行时间。
16.根据权利要求15所述的装置,其特征在于,所述License文件信息中还包括License版本信息;
所述处理模块,还用于根据所述License文件信息中的License版本信息检验所述第一设备的License授权激活流程是否是首次激活,如果所述保密文件被存储在所述安全存储区中,且所述保密文件中记录的License版本信息与所述License文件信息中的License版本信息一致,则确定对第一设备的License授权激活流程是非首次激活。
17.根据权利要求16所述的装置,其特征在于,所述处理模块,还用于在判断所述第一设备的License授权激活流程是首次激活时,在所述安全存储区中创建保密文件,并将所述第一设备的累计运行时间存储在所述创建的保密文件中。
18.根据权利要求11-17任一项所述的装置,其特征在于,所述解析模块,还用于在解析从安全存储区获得的License文件后得到License文件信息之前,校验所述License文件是否合法。
19.根据权利要求18所述的装置,其特征在于,
所述解析模块,还用于通过从所述安全存储区获取的密钥对签名数据进行验签,如果验签结果与所述License文件包含的原始数据一致,则所述License文件合法;所述签名数据为对所述License文件做加密后的数据。
20.根据权利要求11-19任一项所述的装置,其特征在于,还包括:
更新模块,用于在对所述第一设备的License授权激活成功之后,更新所述第一设备的累计运行时间;
所述处理模块,还用于将所述更新后的第一设备的累计运行时间记录在所述保密文件中。
21.一种单板设备,其特征在于,包括处理器和存储器,所述处理器与所述存储器耦合;
所述存储器,用于存储计算机程序指令;
所述处理器,用于执行所述存储器中存储的所述指令,使得所述单板设备执行如权利要求1至10中任一项所述的方法。
22.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至10中任一项所述的方法。
23.一种计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1至10中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110022205.XA CN114756827A (zh) | 2021-01-08 | 2021-01-08 | 一种许可证文件的管理方法、装置和设备 |
PCT/CN2021/131828 WO2022148149A1 (zh) | 2021-01-08 | 2021-11-19 | 一种许可证文件的管理方法、装置和设备 |
EP21917190.7A EP4261713A4 (en) | 2021-01-08 | 2021-11-19 | METHOD AND DEVICE FOR MANAGING LICENSE FILES AND DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110022205.XA CN114756827A (zh) | 2021-01-08 | 2021-01-08 | 一种许可证文件的管理方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114756827A true CN114756827A (zh) | 2022-07-15 |
Family
ID=82324460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110022205.XA Pending CN114756827A (zh) | 2021-01-08 | 2021-01-08 | 一种许可证文件的管理方法、装置和设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4261713A4 (zh) |
CN (1) | CN114756827A (zh) |
WO (1) | WO2022148149A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115357869A (zh) * | 2022-10-19 | 2022-11-18 | 安徽华云安科技有限公司 | 一种基于多路径配置的软件激活方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US6760746B1 (en) * | 1999-09-01 | 2004-07-06 | Eric Schneider | Method, product, and apparatus for processing a data request |
US7134144B2 (en) * | 2001-03-01 | 2006-11-07 | Microsoft Corporation | Detecting and responding to a clock rollback in a digital rights management system on a computing device |
CN101159615A (zh) * | 2004-12-23 | 2008-04-09 | 华为技术有限公司 | 对通信设备进行授权许可的方法及*** |
US8688588B2 (en) * | 2007-06-08 | 2014-04-01 | Sandisk Technologies Inc. | Method for improving accuracy of a time estimate used in digital rights management (DRM) license validation |
US8869288B2 (en) * | 2007-06-08 | 2014-10-21 | Sandisk Technologies Inc. | Method for using time from a trusted host device |
US8689010B2 (en) * | 2007-06-28 | 2014-04-01 | Microsoft Corporation | Secure storage for digital rights management |
US9239928B2 (en) * | 2012-07-27 | 2016-01-19 | Google Technology Holdings LLC | Secure time for mobile devices |
CN110177372B (zh) * | 2019-04-16 | 2021-12-14 | 中信科移动通信技术股份有限公司 | 基站版权许可验证方法及装置 |
CN111258868B (zh) * | 2020-01-16 | 2023-04-18 | 四川九州电子科技股份有限公司 | 一种自动监测和获取设备数据的方法及*** |
-
2021
- 2021-01-08 CN CN202110022205.XA patent/CN114756827A/zh active Pending
- 2021-11-19 EP EP21917190.7A patent/EP4261713A4/en active Pending
- 2021-11-19 WO PCT/CN2021/131828 patent/WO2022148149A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115357869A (zh) * | 2022-10-19 | 2022-11-18 | 安徽华云安科技有限公司 | 一种基于多路径配置的软件激活方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4261713A4 (en) | 2024-06-12 |
EP4261713A1 (en) | 2023-10-18 |
WO2022148149A1 (zh) | 2022-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9202051B2 (en) | Auditing a device | |
KR100851631B1 (ko) | 보안 모드 제어 메모리 | |
CN100578473C (zh) | 嵌入式***和增加嵌入式***安全性的方法 | |
CN111723383B (zh) | 数据存储、验证方法及装置 | |
US20080148001A1 (en) | Virtual Secure On-Chip One Time Programming | |
US20080168562A1 (en) | Secure Processing Device and Secure Processing System | |
US20040073846A1 (en) | Memory device, terminal apparatus, and data repair system | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
CN111159657A (zh) | 一种应用程序鉴权方法及*** | |
US20200004952A1 (en) | Method for determining a validity of an application code, corresponding device and computer program product | |
KR102324328B1 (ko) | 보안 요소 | |
CN116522358A (zh) | 数据加密方法、装置、计算设备及存储介质 | |
EP3499398A2 (en) | Secure storage of monotonic odo value inside a secure hardware elements update counter | |
CN114756827A (zh) | 一种许可证文件的管理方法、装置和设备 | |
CN117610083A (zh) | 文件校验方法、装置、电子设备及计算机存储介质 | |
JP7411902B1 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
US20060289656A1 (en) | Portable electronic apparatus and data output method therefor | |
CN111176696B (zh) | 存储芯片的升级方法、装置、终端设备及介质 | |
US20200050799A1 (en) | Storage device and data tampering detection method | |
CN113449269A (zh) | 核心模组激活方法、装置及存储介质 | |
US10318766B2 (en) | Method for the secured recording of data, corresponding device and program | |
Bielawski et al. | Cybersecurity of firmware updates | |
CN117494232B (zh) | 固件的执行方法和装置、***、存储介质及电子设备 | |
CN112133356B (zh) | eMMC中RPMB的功能测试方法、装置和计算机设备 | |
US20240078348A1 (en) | System for forensic tracing of memory device content erasure and tampering |
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 |