CN115455378A - 软件许可的控制方法、装置、电子设备及存储介质 - Google Patents

软件许可的控制方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115455378A
CN115455378A CN202211150734.9A CN202211150734A CN115455378A CN 115455378 A CN115455378 A CN 115455378A CN 202211150734 A CN202211150734 A CN 202211150734A CN 115455378 A CN115455378 A CN 115455378A
Authority
CN
China
Prior art keywords
information
fingerprint information
software license
hardware
software
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
CN202211150734.9A
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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202211150734.9A priority Critical patent/CN115455378A/zh
Publication of CN115455378A publication Critical patent/CN115455378A/zh
Pending legal-status Critical Current

Links

Images

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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本申请实施例公开了一种软件许可的控制方法、装置、电子设备及存储介质,该方法包括:获取第一请求;基于第一请求,获取用于标识终端设备的身份的多个第一指纹信息;其中,第一指纹信息基于终端设备的一个或多个硬件信息生成,且各第一指纹信息分别基于不同的硬件信息生成;利用第一加密算法对多个第一指纹信息进行加密,以生成软件许可;其中,软件许可用于写入终端设备,并在至少一个第一指纹信息验证通过的情况下,许可终端设备使用目标软件。在部分硬件更换,导致软件许可中的部分第一指纹信息验证不通过,但其余部分的第一指纹信息验证通过的情况下,终端设备仍然能够正常使用目标软件,有益于简化用户操作,提高用户体验。

Description

软件许可的控制方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及软件许可技术领域,尤其涉及软件许可的控制方法、装置、电子设备及存储介质。
背景技术
随着产业互联网的发展,面向企业或政府的商业服务软件(To B类软件)越来越多,部分企业单位会要求软件私有化部署,作为软件厂商来说,希望保护自己软件产权,企业购买软件需要按照使用功能和软件安装数量付费。
常用保护软件授权的方式通过生成许可(License)文件,在软件启动的校验License文件,从而达到对软件保护,License文件生成一般会跟安装设备的硬件信息绑定,如电脑的硬件的网卡mac地址,硬盘序列号,CPU序列号,主板序列号等等,这样可以防止License文件拷贝盗用。
但是,这类许可方式存在的问题是,如果被许可设备因硬件故障或更新换代导致部分硬件更换,会出现License文件验证失败,导致软件无法使用,需要重新申请License文件,操作复杂,用户体验较差。
发明内容
有鉴于现有技术中存在的上述问题,本申请实施例提供了一种软件许可的控制方法、装置、电子设备及存储介质,使终端设备的部分硬件更换后,原有的软件许可仍然能够正常使用。
为解决上述问题,本申请实施例提供的技术方案是:
一种软件许可的控制方法,应用于服务器,包括:
获取第一请求;其中,所述第一请求用于请求所述服务器授予终端设备使用目标软件的权限;
基于所述第一请求,获取用于标识终端设备的身份的多个第一指纹信息;其中,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
利用第一加密算法对多个所述第一指纹信息进行加密,以生成软件许可;其中,所述软件许可用于写入所述终端设备,并在至少一个所述第一指纹信息验证通过的情况下,许可所述终端设备使用目标软件。
在一些实施例中,所述获取用于标识终端设备的身份的多个第一指纹信息,包括:
获取所述终端设备的多个硬件信息;
将多个所述硬件信息划分为多个第一信息组;
利用第二加密算法分别基于多个所述第一信息组,生成相对应的所述第一指纹信息。
在一些实施例中,所述获取所述终端设备的多个硬件信息,包括:
获取第一加密数据;
对所述第一加密数据进行解密,以获取多个所述硬件信息。
在一些实施例中,所述获取用于标识终端设备的身份的多个第一指纹信息,包括:
获取第一加密数据;
对所述第一加密数据进行解密,以获取多个所述第一指纹信息。
在一些实施例中,所述方法还包括:
获取第二请求;其中,所述第二请求用于请求撤销颁发给所述终端设备的软件许可;
基于所述第二请求,获取用于标识所述终端设备的身份的第二指纹信息;其中,所述第二指纹信息基于所述终端设备的一个或多个硬件信息生成;
将所述第二指纹信息与所述服务器上的软件许可匹配;
在所述第二指纹信息与所述软件许可的第一指纹信息相匹配的情况下,确定该软件许可与所述终端设备相对应,撤销该软件许可。
在一些实施例中,所述获取用于标识所述终端设备的身份的第二指纹信息,包括:
获取用于标识终端设备身份的多个所述第二指纹信息;其中,各所述第二指纹信息分别基于不同的硬件信息生成;
相应的,所述在所述第二指纹信息与所述软件许可的第一指纹信息相匹配的情况下,确定该软件许可与所述终端设备相对应,撤销该软件许可,包括:
在至少一个所述第二指纹信息与所述软件许可的第一指纹信息相匹配的情况下,确定该软件许可与所述终端设备相对应,撤销该软件许可。
在一些实施例中,所述获取用于标识所述终端设备的身份的第二指纹信息,包括:
获取所述终端设备的多个硬件信息;
按照第一分组方式将多个所述硬件信息划分为多个第二信息组,以使各所述第二信息组所包含的硬件信息分别与各所述第一指纹信息所包含的硬件信息相对应;
利用第二加密算法分别基于各所述第二信息组生成所述第二指纹信息。
一种软件许可的控制方法,应用于终端设备,包括:
获取软件许可;其中,所述软件许可为利用第一加密算法对多个第一指纹信息进行加密而生成,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
利用第一加密算法对所述软件许可进行解密,以获取多个所述第一指纹信息;
获取所述终端设备自身的多个硬件信息;
按照第一分组方式将多个所述硬件信息划分为多个第三信息组,以使各个所述第三信息组所包含的硬件信息的类型与各个第一指纹信息所包含的硬件信息的类型相同;
利用第二加密算法分别基于多个所述第三信息组,生成相对应的第三指纹信息;
在至少一个所述第三指纹信息与所述软件许可中的第一指纹信息相匹配的情况下,许可所述终端设备使用目标软件。
在一些实施例中,所述方法还包括:
获取第三请求;其中,所述第三请求用于请求撤销颁发给所述终端设备的软件许可;
基于所述第三请求,销毁所述终端设备中的软件许可;
响应于所述软件许可被销毁,获取所述终端设备的一个或多个硬件信息;
基于所述硬件信息,生成至少一个第二指纹信息;其中,所述第二指纹信息用于写入服务器,以使所述服务器基于所述第二指纹信息撤销颁发给所述终端设备的软件许可。
一种软件许可的控制装置,包括:
第一获取模块,用于获取第一请求;其中,所述第一请求用于请求服务器授予终端设备使用目标软件的权限;
第二获取模块,用于基于所述第一请求,获取用于标识终端设备的身份的多个第一指纹信息;其中,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
第一许可模块,用于利用第一加密算法对多个所述第一指纹信息进行加密,以生成软件许可;其中,所述软件许可用于写入所述终端设备,并在至少一个所述第一指纹信息验证通过的情况下,许可所述终端设备使用目标软件。
一种软件许可的控制装置,包括:
第三获取模块,用于获取软件许可;其中,所述软件许可为利用第一加密算法对多个第一指纹信息进行加密而生成,所述第一指纹信息基于终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
解密获取,用于利用第一加密算法对所述软件许可进行解密,以获取多个所述第一指纹信息;
第四获取模块,用于获取所述终端设备自身的多个硬件信息;
分组模块,用于按照第一分组方式将多个所述硬件信息划分为多个第三信息组,以使各个所述第三信息组所包含的硬件信息的类型与各个第一指纹信息所包含的硬件信息的类型相同;
加密模块,用于利用第二加密算法分别基于多个所述第三信息组,生成相对应的第三指纹信息;
第二许可模块,用于在至少一个所述第三指纹信息与所述软件许可中的第一指纹信息相匹配的情况下,许可所述终端设备使用目标软件。
一种电子设备,至少包括存储器和处理器,所述存储器上存储有程序,所述处理器在执行所述存储器上的程序时实现如上所述的方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如上所述的方法。
本申请实施例的软件许可的控制方法,在终端设备的部分硬件更换,导致软件许可中的部分第一指纹信息验证不通过的情况下,在其余部分的第一指纹信息验证通过的情况下,终端设备仍然能够正常使用目标软件,而无需再次申请软件许可,有益于简化用户操作,提高用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请第一种实施例的软件许可的控制方法的流程图;
图2为本申请第一种实施例的软件许可的控制方法中撤销软件许可的流程图;
图3为本申请第二种实施例的软件许可的控制方法的流程图;
图4为本申请第二种实施例的软件许可的控制方法中撤销软件许可的流程图;
图5为本申请第三种实施例的软件许可的控制装置的结构框图;
图6为本申请第四种实施例的软件许可的控制装置的结构框图;
图7为本申请第五实施例的电子设备的结构框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本申请第一种实施例提供了一种软件许可的控制方法,应用于服务器,所述服务器可以部署在靠近软件厂商的一侧,也可部署在靠近软件用户的一侧。
图1为本申请第一种实施例的软件许可的控制方法的流程图,参见图1所示,本申请实施例的软件许可的控制方法具体可包括如下步骤。
S110,获取第一请求;其中,所述第一请求用于请求所述服务器授予所述终端设备使用目标软件的权限。
可选的,在离线许可的应用场景下,该第一请求可由服务器自行生成。例如,用户可通过鼠标、键盘、触控面板等可操作设备,运行部署在服务器上的软件许可程序,通过选取软件许可程序中的特定选项来生成第一请求。
可选的,在在线许可的应用场景下,该第一请求可由终端设备发送至所述服务器。
可选的,所述服务器可以是硬件,也可以是软件。当服务器为硬件时,可实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
可选的,所述终端设备包括但不限于台式电脑、笔记本电脑、平板电脑等能够运行目标软件的电子设备。目标软件可以办公软件、制图软件、企业服务软件等各种类型的软件,在此不做具体限定。
S120,基于所述第一请求,获取用于标识终端设备的身份的多个第一指纹信息。其中,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成。
可选的,在离线许可的应用场景下,如果用户需要在终端设备上使用目标软件,可运行目标软件,利用目标软件获取终端设备的硬件信息,并基于硬件信息生成多个第一指纹信息。继而,可将多个第一指纹信息拷贝至服务器的目标位置处,服务器可配置为响应于第一请求,从所述目标位置处获取多个第一指纹信息。
可选的,在在线许可的应用场景下,第一请求中可携带该多个第一指纹信息。服务器可配置为响应于所述第一请求,从所述第一请求中解析该多个第一指纹信息。
可选的,硬件可包括电子设备内部的各种组成部件,例如,主板、中央处理器(CPU)、图形处理器(GPU)、BIOS、UEFI、内存、硬盘、网卡等等。相应的,所述硬件信息包括但不限于主板的序列号、CPU序列号、GPU序列号、BIOS序列号等等,此处不再一一列举。
需要说明的是,各所述第一指纹信息分别基于不同的硬件信息生成,可包括各个第一指纹信息分别基于完全不同的硬件信息生成,例如,第一指纹信息1基于硬件信息A、硬件信息B和硬件信息C生成,第一指纹信息2基于硬件信息D和硬件信息E生成。也可包括用于生成各个第一指纹信息的硬件信息组合中至少具有一个硬件信息不同,例如,第一指纹信息1基于硬件信息A、硬件信息B和硬件信息C生成,第一指纹信息2基于硬件信息A、硬件信息D和硬件信息E生成。
S130,利用第一加密算法对多个所述第一指纹信息进行加密,以生成软件许可。其中,所述软件许可用于写入所述终端设备,并在至少一个所述第一指纹信息验证通过的情况下,许可所述终端设备使用目标软件。
其中,所述第一加密算法可包括各种可逆的加密算法,包括但不限于数据加密算法(Data Encryption Standard,DES)、三重数据加密算法(Triple DES)、国际资料加密算法(International Data Encryption Algorithm)等等。
可选的,在获取到多个第一指纹信息的情况下,可利用第一加密算法对多个所述第一指纹信息统一进行加密以生成软件许可。也可利用第一加密算法分别对多个第一指纹信息进行加密,以形成多个加密文件,通过多个加密文件共同构成软件许可。
可选的,在离线许可的应用场景下,可将许可软件拷贝至终端设备。用户可操作终端设备运行目标软件,并执行软件激活操作,可利用目标软件对软件许可进行解密,以获取多个第一指纹信息。还可利用目标软件获取终端设备的硬件信息,基于硬件信息生成多个第三指纹信息,将多个第三指纹信息分别与多个第一指纹信息相匹配,在具有至少一对第一指纹信息和第三指纹信息相匹配的情况下,可确定软件许可验证通过,激活目标软件。
可选的,目标软件启动时,也可验证终端设备是否具有软件许可,以及该软件许可与终端设备的硬件信息是否相匹配。例如,在目标软件启动时可获取终端设备当前的硬件信息,并基于当前的硬件信息生成第三指纹信息,从软件许可中解析出的多个第一指纹信息,分别将多个第三指纹信息与多个第一指纹信息相匹配。如果目标设备的部分硬件更换,导致部分硬件信息发生变化,相应的第三指纹信息无法验证通过,但由未发生变化的硬件信息生成的第三指纹信息仍然能够验证通过,因此,在生成软件许可之后,在一定范围内的硬件更换行为,并未导致全部的第三指纹信息发生变化的情况下,仍然能够基于软件许可正常使用目标软件。
本申请实施例的软件许可的控制方法,基于第一请求,获取用于标识终端设备的身份的多个第一指纹信息,第一指纹信息基于终端设备的一个或多个硬件信息生成,且各第一指纹信息分别基于不同的硬件信息生成,利用第一加密算法对多个第一指纹信息进行加密,以生成软件许可,软件许可能够写入终端设备,且在至少一个第一指纹信息验证通过的情况下,许可终端设备使用目标软件。如此,在终端设备的部分硬件更换,导致软件许可中的部分第一指纹信息验证不通过的情况下,在其余部分的第一指纹信息验证通过的情况下,终端设备仍然能够正常使用目标软件,而无需再次申请软件许可,有益于简化用户操作,提高用户体验。
在一些实施例中,步骤S120,获取用于标识终端设备的身份的多个第一指纹信息,可包括如下步骤。
S121,获取第一加密数据。
S122,对所述第一加密数据进行解密,以获取多个所述第一指纹信息。
可选的,终端设备在生成多个第一指纹信息之后,可利用可逆的加密算法对多个所述第一指纹信息进行加密,生成第一加密数据。将第一加密数据发送至服务器,或者,利用移动存储器将第一加密数据拷贝至服务器,服务器可利用软件许可程序,基于相同算法对第一加密数据进行解密,以获取多个第一指纹信息。这样,可以提高第一指纹信息传递过程中的安全性。
可选的,可从第一请求中提取第一加密数据。例如,在离线许可场景下,终端设备可基于第一加密数据生成第一请求文件。用户可例如U盘等移动存储器将第一请求文件复制到服务器,服务器可从第一请求文件中解析出第一加密数据,并基于第一加密数据获取多个第一指纹信息。
在一些实施例中,步骤S120,获取用于标识终端设备的身份的多个第一指纹信息,可包括如下步骤。
S121,获取所述终端设备的多个硬件信息。
S122,将多个所述硬件信息划分为多个第一信息组。
S123,利用第二加密算法分别基于多个所述第一信息组,生成相对应的所述第一指纹信息。
也即,服务器可获取终端设备的多个硬件信息,自行将多个硬件信息划分为多个第一信息组,利用第二加密算法分别基于多个第一信息组,生成相对应的第一指纹信息。这样,能够简化终端设备的操作,有益于简化目标软件,降低目标软件的数据量。
可选的,步骤S121,获取所述终端设备的多个硬件信息,包括:获取第一加密数据;对所述第一加密数据进行解密,以获取多个所述硬件信息。终端设备在获取到多个硬件信息之后,可利用可逆的加密算法对多个硬件信息进行加密,以生成第一加密数据。之后,将第一加密数据发送至服务器,或者,利用U盘等移动存储器将第一加密数据复制到服务器,服务器利用相同的算法对第一加密数据进行解密,以获取多个硬件信息。这样,能够提高硬件信息传递过程中的安全性。
可选的,服务器在获取到多个硬件信息之后,可按照预设规则将多个硬件信息划分为多个第一信息组。例如,服务器可采用随机算法将多个硬件信息划分为多个第一信息组。
可选的,第二加密算法可采用可逆的加密算法,也可采用不可逆的加密算法。当然,优选采用不可逆的加密算法,以提高软件许可的安全性。第二加密算法包括但不限于消息摘要算法(MD5)、安全杂乱信息标准(SHS)等等。
配合图2所示,在一些实施例中,所述方法还可包括如下步骤。
S140,获取第二请求;其中,所述第二请求用于请求撤销颁发给所述终端设备的软件许可。
与所述第一请求类似,第二请求可以由服务器自行生成,也可从终端设备获取。例如,在离线许可的应用场景下,用户可运行部署在服务器上的软件许可程序,通过选取软件许可程序中的特定选项来生成第二请求。
S150,基于所述第二请求,获取用于标识所述终端设备的身份的第二指纹信息;其中,所述第二指纹信息基于所述终端设备的一个或多个硬件信息生成。
可选的,基于第二请求可获取一个第二指纹信息,也可获取多个第二指纹信息。在获取一个第二指纹信息的情况下,用于生成该第二指纹信息的硬件信息组合可与多个用于生成第一指纹信息的硬件信息组合相同。例如,在基于第一信息组生成第一指纹信息,基于第二信息组生成第二指纹信息的情况下,用于生成该第二指纹信息的第二信息组的硬件信息类型可与多个第一信息组中的一个相同。
可选的,终端设备可基于历史信息,从用于生成第一指纹信息的多个硬件信息组合中,确定硬件信息未发生变化的目标信息组合。基于该目标信息组合的硬件信息生成第二指纹信息。如此,仅需生成一个第二指纹信息即可。可以理解的是,未发生变化是指从生成软件许可的时刻至当前时刻未发生变化。
可选的,在获取到多个第二指纹信息的情况下,多个用于生成第二指纹信息的硬件信息组合可与多个用于生成第一指纹信息的硬件信息组合一一对应。例如,终端设备可基于历史信息确定用于生成各个第一指纹信息的硬件信息组合,基于相同的硬件信息组合分别生成多个第二指纹信息。
可选的,服务器可获取第二加密数据,对所述第二加密数据进行解密,以获取所述第二指纹信息。也即,终端设备生成第二指纹信息之后,可利用可逆的加密算法对第二指纹信息进行加密。之后,经第二加密数据发送至服务器,或者,利用U盘等移动存储器将第二加密数据复制到服务器,服务器利用相同的算法对第二加密数据进行解密,以获取第二指纹信息。这样,能够提高第二指纹信息传递过程中的安全性。
S160,将所述第二指纹信息与所述服务器上的软件许可匹配。
可选的,服务器上可存储有软件许可,以及用于生成软件许可的第一指纹信息。可将第二指纹信息与各个软件许可的第一指纹信息进行匹配。例如,在基于MD5算法生成第一指纹信息和第二指纹信息的情况下,该第一指纹信息和第二指纹信息均未128位的字符串,可将作为第二指纹信息的字符串与软件许可的各个字符串进行匹配。
S170,在所述第二指纹信息与所述软件许可的第一指纹信息相匹配的情况下,确定该软件许可与所述终端设备相对应,撤销该软件许可。
可选的,在获取到一个第二指纹信息的情况下,如果该第二指纹信息与软件许可的多个第一指纹信息中的一个相匹配,则确定该软件许可为颁发给该终端设备的软件许可,撤销该软件许可。例如,将该软件许可删除,或者将该软件许可的许可期限修改为到期等等。在用户具有软件许可池的情况下,可将该软件许可归还到软件许可池。例如,可将软件许可池的剩余许可数量加一。
可选的,在获取到多个第二指纹信息的情况下,如果多个第二指纹信息中具有一个第二指纹信息与软件许可的第一指纹信息相匹配,则确定该软件许可与所述终端设备相对应,撤销该软件许可。这样,在终端设备因硬件跟换而导致硬件信息发生变化的情况下,仍然能够成功的撤销已经颁发给该终端设备的软件许可,避免软件许可被无效占用,有益于提高软件许可的利用率。
在一些实施例中,步骤S150,获取用于标识所述终端设备的身份的第二指纹信息,可包括如下步骤。
S151,获取所述终端设备的多个硬件信息。
S152,按照第一分组方式将多个所述硬件信息划分为多个第二信息组,以使各所述第二信息组所包含的硬件信息分别与各所述第一指纹信息所包含的硬件信息相对应。
S153,利用第二加密算法分别基于各所述第二信息组生成所述第二指纹信息。
其中,第一分组方式即为生成第一指纹信息的硬件信息分组方式。服务器可获取终端设备的多个硬件信息,自行按照第一分组方式将多个所述硬件信息划分为多个第二信息组,多个第二信息组的硬件信息类型与多个第一信息组的硬件信息类型相同。利用与生成第一指纹信息相同的加密算法,基于各个第二信息组生成第二指纹信息。如此,终端设备仅需提供硬件信息,无需执行第二指纹信息的生成操作,有益于简化终端设备的操作。
可选的,终端设备获取到多个硬件信息之后,可利用可逆的加密算法对多个硬件信息进行加密,以生成第二加密数据。之后,将第二加密数据发送至服务器,或者,利用U盘等移动存储器将第二加密数据复制到服务器。服务器获取到第二加密数据之后,可对所述第二加密数据进行解密,以获取多个所述硬件信息。如此,可提高硬件信息传递过程中的安全性。
本申请第二种实施例提供了一种软件许可的控制方法,应用于终端设备,所述终端设备包括但不限于台式电脑、笔记本电脑、平板电脑等能够运行目标软件的电子设备。
图3为本申请第二种实施例的软件许可的控制方法的流程图,参见图2所示,本申请实施例的软件许可的控制方法具体可包括如下步骤。
S201,获取软件许可。其中,所述软件许可为利用第一加密算法对多个第一指纹信息进行加密而生成,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成。
可选的,在获取软件许可之前,终端设备可获取自身的多个硬件信息。可将多个硬件信息发送至服务器,或者,利用移动存储器复制到服务器。通过服务器将多个硬件信息划分为多个第一信息组,继而,基于分别基于多个第一信息组生成与之相对应的第一指纹信息。基于多个第一指纹信息生成软件许可。可选的,终端设备在获取到自身的多个硬件信息之后,也可自行生成多个第一指纹信息。
可选的,终端设备可基于其与服务器之间的通信通路接收软件许可,也可通过移动存储器获取软件许可。
S202,利用第一加密算法对所述软件许可进行解密,以获取多个所述第一加密算法。
在获取到软件许可之后,终端设备可对软件许可进行解密。例如,在软件许可利用DES算法生成的情况下,同样基于DES算法对软件许可进行解密。
S203,获取所述终端设备自身的多个硬件信息。
例如,可获取主板的序列号、CPU序列号、GPU序列号、BIOS序列号等等。
S204,按照第一分组方式将多个所述硬件信息划分为多个第三信息组,以使各个所述第三信息组所包含的硬件信息的类型与各个第一指纹信息所包含的硬件信息的类型相同。
S205,利用第二加密算法分别基于多个所述第三信息组,生成相对应的第三指纹信息。
S206,在至少一个所述第三指纹信息与所述软件许可中的第一指纹信息相匹配的情况下,许可所述终端设备使用目标软件。
需要说明的是,此处许可终端设备使用目标软件可以是首次许可,也可以是在每次启动目标软件过程中允许目标软件启动。
本申请实施例的软件许可的控制方法,在终端设备的部分硬件更换,导致软件许可中的部分第一指纹信息验证不通过的情况下,在其余部分的第一指纹信息验证通过的情况下,终端设备仍然能够正常使用目标软件,而无需再次申请软件许可,有益于简化用户操作,提高用户体验。
配合图4所示,在一些实施例中,所述方法还可包括如下步骤。
S207,获取第三请求;其中,所述第三请求用于请求撤销颁发给所述终端设备的软件许可。
S208,基于所述第三请求,销毁所述终端设备中的软件许可。
S209,响应于所述软件许可被销毁,获取所述终端设备的一个或多个硬件信息。
S210,基于所述硬件信息,生成至少一个第二指纹信息;其中,所述第二指纹信息用于写入服务器,以使所述服务器基于所述第二指纹信息撤销颁发给所述终端设备的软件许可。
如此,可以确保终端设备上的软件许可被销毁,避免服务器单方面销毁软件许可,而导致软件实际许可数量超出用户购买的上限值。
参见图5所示,本申请第三种实施例提供了一种软件许可的控制装置,包括:
第一获取模块301,用于获取第一请求;其中,所述第一请求用于请求所述服务器授予终端设备使用目标软件的权限;
第二获取模块302,用于基于所述第一请求,获取用于标识终端设备的身份的多个第一指纹信息;其中,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
第一许可模块303,用于利用第一加密算法对多个所述第一指纹信息进行加密,以生成软件许可;其中,所述软件许可用于写入所述终端设备,并在至少一个所述第一指纹信息验证通过的情况下,许可所述终端设备使用目标软件。
在一些实施例中,所述第二获取模块302具体用于:
获取所述终端设备的多个硬件信息;
将多个所述硬件信息划分为多个第一信息组;
利用第二加密算法分别基于多个所述第一信息组,生成相对应的所述第一指纹信息。
在一些实施例中,所述第二获取模块302具体用于:
获取第一加密数据;
对所述第一加密数据进行解密,以获取多个所述硬件信息。
在一些实施例中,所述第二获取模块302具体用于:
获取第一加密数据;
对所述第一加密数据进行解密,以获取多个所述第一指纹信息。
在一些实施例中,所述第一获取模块301还用于:获取第二请求;其中,所述第二请求用于请求撤销颁发给所述终端设备的软件许可;
所述第二获取模块302还用于:基于所述第二请求,获取用于标识所述终端设备的身份的第二指纹信息;其中,所述第二指纹信息基于所述终端设备的一个或多个硬件信息生成;
所述第一许可模块303还用于:将所述第二指纹信息与所述服务器上的软件许可匹配;在所述第二指纹信息与所述软件许可的第一指纹信息相匹配的情况下,确定该软件许可与所述终端设备相对应,撤销该软件许可。
在一些实施例中,所述第二获取模块302具体用于:
获取用于标识终端设备身份的多个所述第二指纹信息;其中,各所述第二指纹信息分别基于不同的硬件信息生成;
相应的,所述第一许可模块303具体用于:
在至少一个所述第二指纹信息与所述软件许可的第一指纹信息相匹配的情况下,确定该软件许可与所述终端设备相对应,撤销该软件许可。
在一些实施例中,所述第二获取模块302具体用于:
获取所述终端设备的多个硬件信息;
按照第一分组方式将多个所述硬件信息划分为多个第二信息组,以使各所述第二信息组所包含的硬件信息分别与各所述第一指纹信息所包含的硬件信息相对应;
利用第二加密算法分别基于各所述第二信息组生成所述第二指纹信息。
参见图6所示,本申请第四种实施例提供了一种软件许可的控制装置,包括:
第三获取模块401,用于获取软件许可;其中,所述软件许可为利用第一加密算法对多个第一指纹信息进行加密而生成,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
解密获取402,用于利用第一加密算法对所述软件许可进行解密,以获取多个所述第一指纹信息;
第四获取模块403,用于获取所述终端设备自身的多个硬件信息;
分组模块404,用于按照第一分组方式将多个所述硬件信息划分为多个第三信息组,以使各个所述第三信息组所包含的硬件信息的类型与各个第一指纹信息所包含的硬件信息的类型相同;
加密模块405,用于利用第二加密算法分别基于多个所述第三信息组,生成相对应的第三指纹信息;
第二许可模块406,用于在至少一个所述第三指纹信息与所述软件许可中的第一指纹信息相匹配的情况下,许可所述终端设备使用目标软件。
在一些实施例中,所述装置还包括:
第五获取模块,用于获取第三请求;其中,所述第三请求用于请求撤销颁发给所述终端设备的软件许可;
销毁模块,用于基于所述第三请求,销毁所述终端设备中的软件许可;
第六获取模块,用于响应于所述软件许可被销毁,获取所述终端设备的一个或多个硬件信息;
生成模块,用于基于所述硬件信息,生成至少一个第二指纹信息;其中,所述第二指纹信息用于写入服务器,以使所述服务器基于所述第二指纹信息撤销颁发给所述终端设备的软件许可。
参见图7所示,本申请第五种实施例还提供了一种电子设备,至少包括存储器501和处理器502,所述存储器501上存储有程序,所述处理器502在执行所述存储器501上的程序时实现如上任一实施例所述的方法。在实现如上第一种实施例所述的方法时,该电子设备即为服务器。在实现如上第二种实施例所述的方法时,该电子设备即为终端设备。
本申请第六种实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如上任一实施例所述的方法。
本领域技术人员应明白,本申请的实施例可提供为方法、电子设备、计算机可读存储介质或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。当通过软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
上述处理器可以是通用处理器、数字信号处理器、专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logicdevice,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。通用处理器可以是微处理器或者任何常规的处理器等。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
上述可读存储介质可为磁碟、光盘、DVD、USB、只读存储记忆体(ROM)或随机存储记忆体(RAM)等,本申请对具体的存储介质形式不作限定。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。

Claims (13)

1.一种软件许可的控制方法,应用于服务器,其特征在于,包括:
获取第一请求;其中,所述第一请求用于请求所述服务器授予终端设备使用目标软件的权限;
基于所述第一请求,获取用于标识终端设备的身份的多个第一指纹信息;其中,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
利用第一加密算法对多个所述第一指纹信息进行加密,以生成软件许可;其中,所述软件许可用于写入所述终端设备,并在至少一个所述第一指纹信息验证通过的情况下,许可所述终端设备使用目标软件。
2.根据权利要求1所述的方法,其特征在于,所述获取用于标识终端设备的身份的多个第一指纹信息,包括:
获取所述终端设备的多个硬件信息;
将多个所述硬件信息划分为多个第一信息组;
利用第二加密算法分别基于多个所述第一信息组,生成相对应的所述第一指纹信息。
3.根据权利要求2所述的方法,其特征在于,所述获取所述终端设备的多个硬件信息,包括:
获取第一加密数据;
对所述第一加密数据进行解密,以获取多个所述硬件信息。
4.根据权利要求1所述的方法,其特征在于,所述获取用于标识终端设备的身份的多个第一指纹信息,包括:
获取第一加密数据;
对所述第一加密数据进行解密,以获取多个所述第一指纹信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第二请求;其中,所述第二请求用于请求撤销颁发给所述终端设备的软件许可;
基于所述第二请求,获取用于标识所述终端设备的身份的第二指纹信息;其中,所述第二指纹信息基于所述终端设备的一个或多个硬件信息生成;
将所述第二指纹信息与所述服务器上的软件许可匹配;
在所述第二指纹信息与所述软件许可的第一指纹信息相匹配的情况下,确定该软件许可与所述终端设备相对应,撤销该软件许可。
6.根据权利要求5所述的方法,其特征在于,所述获取用于标识所述终端设备的身份的第二指纹信息,包括:
获取用于标识终端设备身份的多个所述第二指纹信息;其中,各所述第二指纹信息分别基于不同的硬件信息生成;
相应的,所述在所述第二指纹信息与所述软件许可的第一指纹信息相匹配的情况下,确定该软件许可与所述终端设备相对应,撤销该软件许可,包括:
在至少一个所述第二指纹信息与所述软件许可的第一指纹信息相匹配的情况下,确定该软件许可与所述终端设备相对应,撤销该软件许可。
7.根据权利要求5所述的方法,其特征在于,所述获取用于标识所述终端设备的身份的第二指纹信息,包括:
获取所述终端设备的多个硬件信息;
按照第一分组方式将多个所述硬件信息划分为多个第二信息组,以使各所述第二信息组所包含的硬件信息分别与各所述第一指纹信息所包含的硬件信息相对应;
利用第二加密算法分别基于各所述第二信息组生成所述第二指纹信息。
8.一种软件许可的控制方法,应用于终端设备,其特征在于,包括:
获取软件许可;其中,所述软件许可为利用第一加密算法对多个第一指纹信息进行加密而生成,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
利用第一加密算法对所述软件许可进行解密,以获取多个所述第一指纹信息;
获取所述终端设备自身的多个硬件信息;
按照第一分组方式将多个所述硬件信息划分为多个第三信息组,以使各个所述第三信息组所包含的硬件信息的类型与各个第一指纹信息所包含的硬件信息的类型相同;
利用第二加密算法分别基于多个所述第三信息组,生成相对应的第三指纹信息;
在至少一个所述第三指纹信息与所述软件许可中的第一指纹信息相匹配的情况下,许可所述终端设备使用目标软件。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取第三请求;其中,所述第三请求用于请求撤销颁发给所述终端设备的软件许可;
基于所述第三请求,销毁所述终端设备中的软件许可;
响应于所述软件许可被销毁,获取所述终端设备的一个或多个硬件信息;
基于所述硬件信息,生成至少一个第二指纹信息;其中,所述第二指纹信息用于写入服务器,以使所述服务器基于所述第二指纹信息撤销颁发给所述终端设备的软件许可。
10.一种软件许可的控制装置,其特征在于,包括:
第一获取模块,用于获取第一请求;其中,所述第一请求用于请求服务器授予终端设备使用目标软件的权限;
第二获取模块,用于基于所述第一请求,获取用于标识终端设备的身份的多个第一指纹信息;其中,所述第一指纹信息基于所述终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
第一许可模块,用于利用第一加密算法对多个所述第一指纹信息进行加密,以生成软件许可;其中,所述软件许可用于写入所述终端设备,并在至少一个所述第一指纹信息验证通过的情况下,许可所述终端设备使用目标软件。
11.一种软件许可的控制装置,其特征在于,包括:
第三获取模块,用于获取软件许可;其中,所述软件许可为利用第一加密算法对多个第一指纹信息进行加密而生成,所述第一指纹信息基于终端设备的一个或多个硬件信息生成,且各所述第一指纹信息分别基于不同的硬件信息生成;
解密获取,用于利用第一加密算法对所述软件许可进行解密,以获取多个所述第一指纹信息;
第四获取模块,用于获取所述终端设备自身的多个硬件信息;
分组模块,用于按照第一分组方式将多个所述硬件信息划分为多个第三信息组,以使各个所述第三信息组所包含的硬件信息的类型与各个第一指纹信息所包含的硬件信息的类型相同;
加密模块,用于利用第二加密算法分别基于多个所述第三信息组,生成相对应的第三指纹信息;
第二许可模块,用于在至少一个所述第三指纹信息与所述软件许可中的第一指纹信息相匹配的情况下,许可所述终端设备使用目标软件。
12.一种电子设备,至少包括存储器和处理器,所述存储器上存储有程序,其特征在于,所述处理器在执行所述存储器上的程序时实现如权利要求1-7任一项所述的方法,或者,如权利要求8或9所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,其特征在于,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如权利要求1-7任一项所述的方法,或者,如权利要求8或9所述的方法。
CN202211150734.9A 2022-09-21 2022-09-21 软件许可的控制方法、装置、电子设备及存储介质 Pending CN115455378A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211150734.9A CN115455378A (zh) 2022-09-21 2022-09-21 软件许可的控制方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211150734.9A CN115455378A (zh) 2022-09-21 2022-09-21 软件许可的控制方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115455378A true CN115455378A (zh) 2022-12-09

Family

ID=84305647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211150734.9A Pending CN115455378A (zh) 2022-09-21 2022-09-21 软件许可的控制方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115455378A (zh)

Similar Documents

Publication Publication Date Title
CN111539813B (zh) 业务行为的回溯处理方法、装置、设备及系统
US9602282B2 (en) Secure software and hardware association technique
KR101224677B1 (ko) 액세스 권한에 기초하여 아이템에 대한 사용 권한을 생성하는 방법 및 컴퓨터 판독가능 매체
US6976167B2 (en) Cryptography-based tamper-resistant software design mechanism
US20080184035A1 (en) System and Method of Storage Device Data Encryption and Data Access
EP3103048B1 (en) Content item encryption on mobile devices
US20110185179A1 (en) System And Method For Digital Rights Management With A Lightweight Digital Watermarking Component
US20080025503A1 (en) Security method using self-generated encryption key, and security apparatus using the same
CN101925913A (zh) 加密文件访问的方法和系统
KR102030858B1 (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
KR20110055510A (ko) 보안 저장 장치에 저장된 디지털 컨텐츠의 백업
CN106919810B (zh) 注册码生成方法及装置、软件注册方法及装置
US20210117805A1 (en) Inference apparatus, and inference method
CN111670443A (zh) 集成电路个性化
KR20060015552A (ko) 취소 리스트 갱신 방법
US20100138916A1 (en) Apparatus and Method for Secure Administrator Access to Networked Machines
US10938563B2 (en) Technologies for provisioning cryptographic keys
US8667278B2 (en) Information processing apparatus and data transmission method of information processing apparatus
CN115455378A (zh) 软件许可的控制方法、装置、电子设备及存储介质
US20240126886A1 (en) Trusted Computing for Digital Devices
CN115470525B (zh) 一种文件保护方法、系统、计算设备及存储介质
US11841970B1 (en) Systems and methods for preventing information leakage
GB2434887A (en) Access control by encrypting stored data with a key based on a "fingerprint" of the device storing the data
Huang et al. A software licensing authorization scheme based on hardware component identifiers
KR20150027677A (ko) 키 관리자를 포함하는 데이터 프로세싱 시스템 및 및 키 관리자의 동작 방법

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