软件使用权限的获取方法与装置与流程

文档序号:31090534发布日期:2022-08-09 23:38阅读:167来源:国知局
软件使用权限的获取方法与装置与流程

1.本公开涉及人工智能领域,具体涉及云计算、云原生技术,可应用于软件安全和私有化大数据场景下。提供了一种软件使用权限的获取方法、装置、电子设备和可读存储介质。


背景技术:

2.现有技术在进行软件授权时,通常所采用的验证方式为序列号验证、网络验证与加密狗验证。但是在一些特殊场景,例如私有化部署容器的场景,若要实现对容器所使用的软件进行授权,上述三种方式存在安全性较低、成本较大的技术问题。


技术实现要素:

3.根据本公开的第一方面,提供了一种软件使用权限的获取方法,包括:终端获取与目标软件对应的许可证文件,所述许可证文件中包含第一加密结果与第二加密结果;基于第二私钥对所述第二加密结果进行解密,得到目标秘钥,所述第二加密结果为目标服务器基于与所述第二私钥对应的第二公钥,加密所述目标秘钥得到的;基于第一公钥与所述目标秘钥对所述第一加密结果进行解密,得到目标许可证信息,所述第一加密结果为所述目标服务器基于与所述第一公钥对应的第一私钥以及所述目标秘钥,加密所述许可证信息得到的;从所述目标许可证信息中获取所述目标软件的使用权限。
4.根据本公开的第二方面,提供了一种软件使用权限的获取方法,包括:目标服务器接收终端发送的许可证文件获取请求,根据所述许可证文件获取请求获取许可证信息;使用第一私钥与目标秘钥对所述许可证信息进行加密,得到第一加密结果;使用第二公钥对所述目标秘钥进行加密,得到第二加密结果;将所述第一加密结果与所述第二加密结果作为许可证文件,发送到所述终端,以用于所述终端根据所述许可证文件获取目标软件的使用权限。
5.根据本公开的第三方面,提供了一种软件使用权限的获取装置,位于终端,包括:获取单元,用于获取与目标软件对应的许可证文件,所述许可证文件中包含第一加密结果与第二加密结果;第一解密单元,用于基于第二私钥对所述第二加密结果进行解密,得到目标秘钥,所述第二加密结果为目标服务器基于与所述第二私钥对应的第二公钥,加密所述目标秘钥得到的;第二解密单元,用于基于第一公钥与所述目标秘钥对所述第一加密结果进行解密,得到目标许可证信息,所述第一加密结果为所述目标服务器基于与所述第一公钥对应的第一私钥以及所述目标秘钥,加密所述许可证信息得到的;处理单元,用于从所述目标许可证信息中获取所述目标软件的使用权限。
6.根据本公开的第四方面,提供了一种软件使用权限的获取装置,位于目标服务器,包括:接收单元,用于接收终端发送的许可证文件获取请求,根据所述许可证文件获取请求获取许可证信息;第一加密单元,用于使用第一私钥与目标秘钥对所述许可证信息进行加密,得到第一加密结果;第二加密单元,用于使用第二公钥对所述目标秘钥进行加密,得到
第二加密结果;发送单元,用于将所述第一加密结果与所述第二加密结果作为许可证文件,发送到所述终端,以用于所述终端根据所述许可证文件获取目标软件的使用权限。
7.根据本公开的第五方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
8.根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的方法。
9.根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
10.由以上技术方案可以看出,本公开通过两次解密过程对包含第一加密结果与第二加密结果的许可证文件进行解密的方式来获取使用权限,提升了所获取的使用权限的准确性,且无需借助其他硬件,能够应用于各种场景,扩大了使用范围,降低了软件使用权限的获取成本。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1是根据本公开第一实施例的示意图;
14.图2是根据本公开第二实施例的示意图;
15.图3是根据本公开第三实施例的示意图;
16.图4是根据本公开第四实施例的示意图;
17.图5是根据本公开第五实施例的示意图;
18.图6是根据本公开第六实施例的示意图;
19.图7是用来实现本公开实施例的软件使用权限的获取方法的电子设备的框图。
具体实施方式
20.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和机构的描述。
21.图1是根据本公开第一实施例的示意图。如图1所示,本实施例的软件使用权限的获取方法,具体包括如下步骤:
22.s101、获取与目标软件对应的许可证文件,所述许可证文件中包含第一加密结果与第二加密结果;
23.s102、基于第二私钥对所述第二加密结果进行解密,得到目标秘钥,所述第二加密结果为目标服务器基于与所述第二私钥对应的第二公钥,加密所述目标秘钥得到的;
24.s103、基于第一公钥与所述目标秘钥对所述第一加密结果进行解密,得到目标许
可证信息,所述第一加密结果为所述目标服务器基于与所述第一公钥对应的第一私钥以及所述目标秘钥,加密所述许可证信息得到的;
25.s104、从所述目标许可证信息中获取所述目标软件的使用权限。
26.本实施例的软件使用权限的获取方法的执行主体为终端,终端基于第二私钥、以及第一公钥与目标秘钥对许可证文件进行解密,得到目标许可证信息,进而从目标许可证信息中获取目标软件的使用权限,使得终端根据所获取的使用权限对目标软件进行使用,本实施例通过两次解密过程对包含第一加密结果与第二加密结果的许可证文件进行解密的方式来获取使用权限,提升了所获取的使用权限的准确性,且无需借助其他硬件,能够应用于各种场景,扩大了使用范围,降低了软件使用权限的获取成本。
27.本实施例的终端为能够运行软件的任意终端,例如笔记本电脑、台式机、智能手机等;本实施例的终端还可以为运行于物理机上的容器,例如部署在kubernetes(k8s)环境下的容器。
28.可以理解的是,若本实施例中的终端为部署在k8s环境下的容器,为了使得容器能够顺利地实现获取软件使用权限的目的,在将许可证文件放置到目标软件的配置目录之后,还需要将许可证文件通过存储挂载的方式映射为容器目录,并将容器的网络模式配置为主机(host)模式。
29.也就是说,本实施例的软件使用权限的获取方法的执行主体可以为部署在k8s环境下的容器,该容器无需借助其他的硬件,通过执行上述步骤s101~s104即可实现获取目标软件的使用权限的目的。
30.本实施例的终端在执行s101获取与目标软件对应的许可证文件时,可以将当前所要启动的软件作为目标软件,进而获取与该目标软件对应的许可证文件。
31.本实施例的终端执行s101获取的许可证文件中包含第一加密结果与第二加密结果;其中,第一加密结果为目标服务器对许可证信息进行加密的结果,第二加密结果为目标服务器对目标秘钥进行加密的结果。
32.本实施例的终端在执行s101获取与目标软件对应的许可证文件时,可以采用的可选实现方式为:向与目标软件对应的目标服务器发送许可证文件获取请求,该许可证文件获取请求用于目标服务器获取相应的许可证信息来生成许可证文件;接收目标服务器发送的许可证文件,作为与目标软件对应的许可证文件。
33.其中,本实施例的终端执行s101向目标服务器发送的许可证文件获取请求中,还可以包含与终端对应的标识信息,例如使用终端的用户的id、uid等信息,该标识信息用于目标服务器获取相应的许可证信息,进而根据所获取的许可证信息生成许可证文件。
34.也就是说,本实施例的终端可以在启动目标软件时,通过向与目标软件对应的目标服务器发送许可证文件获取请求的方式,实时地获取许可证文件,从而确保所获取的许可证文件具有较高的时效性,进一步提升所获取的使用权限的准确性。
35.本实施例的终端在执行s101获取与目标软件对应的许可证文件时,还可以根据与目标软件对应的配置目录来进行获取,即与目标软件对应的许可证文件可以预先存储在终端本地,通过配置目录确定存放许可证文件的路径之后,根据该路径即可找到许可证文件。
36.也就是说,本实施例的终端会在本地存储与目标软件对应的许可证文件,即终端在通过目标服务器获取目标软件的同时,还会一同获取该许可证文件,从而无需由终端向
目标服务器发送许可证文件获取请求,能够简化许可证文件的获取步骤。
37.本实施例的终端在执行s101获取与目标软件对应的许可证文件之后,执行s102基于第二私钥对第二加密结果进行解密,得到目标秘钥;其中,本实施例所得到的目标秘钥,用于从第一加密结果中得到许可证文件的数字签名与许可证文件包含的许可证信息。
38.本实施例中涉及到三种类型的秘钥,分别是第一密钥对、第二密钥对与目标秘钥;目标秘钥为目标服务器在生成许可证文件时随机生成的秘钥;第一密钥对包含第一公钥与第一私钥,第一公钥位于终端,第一私钥位于目标服务器;第二密钥对包含第二公钥与第二私钥,第二公钥位于目标服务器,第二私钥位于终端。
39.其中,位于终端的第一公钥与第二私钥,可以预先编码到目标软件的程序中,因此本实施例的终端可以通过目标软件的程序,获取用于解密第一加密结果的第一公钥与用于解密第二加密结果的第二私钥。
40.可以理解的是,若本实施例的终端执行s101获取的许可证文件为目标服务器通过预设编码方式(例如base64)进行编码处理得到的,本实施例的终端在执行s102时,首先通过与预设编码方式对应的解码方式对第二加密结果进行解码,然后再基于第二私钥对第二加密结果进行解密,从而得到目标秘钥。
41.本实施例的终端在执行s102得到目标秘钥之后,执行s103基于第一公钥与目标秘钥对第一加密结果进行解密,得到目标许可证信息;本实施例所得到的目标许可证信息包含软件使用时间、软件使用范围等权限信息,还可以包含终端属性信息、目标验证方式、用户信息等内容。
42.具体地,本实施例的终端在执行s103基于第一公钥与目标秘钥对第一加密结果进行解密,得到目标许可证信息时,可以采用的可选方式为:基于目标秘钥对第一加密结果进行解密,得到数字签名与许可证信息;基于第一公钥对数字签名进行解密,得到第一信息摘要;根据许可证信息,得到第二信息摘要,例如使用哈希算法对许可证信息进行处理,将处理结果作为第二信息摘要;在确定第一信息摘要与第二信息摘要相一致的情况下,将所得到的许可证信息作为目标许可证信息。
43.也就是说,本实施例结合两种类型的秘钥对许可证文件进行解密,且在解密之后还会对许可证文件进行校验,从而在校验通过的情况下,将许可证文件包含的许可证信息作为目标许可证信息,确保所得到的目标许可证信息未被篡改,进而提升所获取的使用权限的准确性。
44.可以理解的是,若本实施例的终端执行s101获取的许可证文件为目标服务器通过预设编码方式(例如base64)进行编码处理得到的,本实施例的终端在执行s103时,首先通过与预设编码方式对应的解码方式对第一加密结果进行解码,然后再基于第一公钥与目标秘钥对第一加密结果进行解密,从而得到目标许可证信息。
45.另外,本实施例的终端在执行s103时,若确定第一信息摘要与第二信息摘要不相同,表明许可证信息被篡改,则可以重新向目标服务器发送许可证文件获取请求,进而在执行对新获取的许可证文件的解密。
46.本实施例的终端在执行s103得到目标许可证信息之后,执行s104从目标许可证信息中获取目标软件的使用权限。
47.本实施例的终端在执行s104从目标许可证信息中获取目标软件的使用权限时,可
以直接获取目标许可证信息中包含的软件使用时间、软件使用范围等信息,作为目标软件的使用权限。
48.本实施例的终端在执行s104从目标许可证信息中获取目标软件的使用权限时,还可以采用以下方式:获取目标许可证信息中的终端属性信息,如终端的mac地址、cpu序列号、主板号等信息;根据目标校验模式,将所获取的终端属性信息与终端本地的终端属性信息进行比较;在确定比较结果满足与目标校验模式对应的校验要求的情况下,从目标许可证信息许中获取目标软件的使用权限。
49.其中,本实施例的终端在执行s104所使用的目标校验方式,可以是终端预先设置的,也可以是从目标许可证信息中所获取的;不同的校验模式对应不同的校验内容,不同的校验模式对应的不同的校验要求。
50.举例来说,若目标校验模式为001,本实施例可以对mac地址、cpu序列号与主板号进行校验,并在任一项校验通过的情况下,确定满足校验要求;若目标校验模式为111,本实施例可以对mac地址、cpu序列号与主板号进行校验,并在全部项校验通过的情况下,确定满足校验要求;若目标校验模式为102,本实施例可以仅对mac地址进行校验,并在mac地址校验通过的情况下,确定满足校验要求;若目标校验模式为103,本实施例可以对cpu序列号与主板号进行校验,并在两者都校验通过的情况下,确定满足校验要求;若目标校验模式为104,本实施例可以仅对主板号进行校验,并在主板号校验通过的情况下,确定满足校验要求。
51.也就是说,本实施例的终端在解密许可证文件得到目标许可证信息之后,还可以根据目标许可证信息中的特定内容进行二次校验,并在确定二次校验通过的情况下,再从目标许可证信息中获取软件使用时间、软件使用范围等权限信息,进一步提升了软件校验的安全性。
52.本实施例的终端在执行s104获取目标软件的使用权限之后,即可根据该使用权限来对目标软件进行使用,例如在软件使用时间内进行软件的登录、对软件使用范围内所提供的服务进行使用等。
53.图2是根据本公开第二实施例的示意图。如图2所示,本实施例的软件使用权限的获取方法,具体包括如下步骤:
54.s201、接收终端发送的许可证文件获取请求,根据所述许可证文件获取请求获取许可证信息;
55.s202、基于第一私钥与目标秘钥对所述许可证信息进行加密,得到第一加密结果;
56.s203、基于第二公钥对所述目标秘钥进行加密,得到第二加密结果;
57.s204、将所述第一加密结果与所述第二加密结果作为许可证文件,发送到所述终端,以用于所述终端根据所述许可证文件获取目标软件的使用权限。
58.本实施例的软件使用权限的获取方法的执行主体为目标服务器,目标服务器在接收终端发送的许可证文件之后,首先获取许可证信息,然后基于第一私钥与目标秘钥对许可证信息进行加密,得到第一加密结果,再基于第二公钥对目标秘钥进行加密,得到第二加密结果,最后将第一加密结果与第二加密结果作为许可证文件发送到终端,本实施例的服务器通过使用两次加密过程来得到许可证文件,有效地避免了许可证文件被篡改的问题,从而增强了许可证文件的安全性。
59.本实施例的目标服务器执行s201接收的终端发送的许可证文件获取请求中,还可以包含终端的属性信息、终端的用户信息与目标校验模式。
60.本实施例的目标服务器执行s201接收终端发送的许可证文件获取请求之后,即可根据该许可证文件获取请求来获取相应的许可证信息,例如软件使用时间、软件使用范围等权限信息;由于不同的终端具有不同的购买情况,例如购买了不同的使用时间、不同的使用范围,因此本实施例中不同的终端对应不同的许可证信息。
61.本实施例的目标服务器在执行s201获取许可证信息之后,执行s202基于第一私钥与目标秘钥对许可证信息进行加密,得到第一加密结果。
62.可以理解的是,本实施例的目标服务器在终端获取目标软件时,还可以同时生成第一密钥对与第二秘钥对,并将第一秘钥对的第一公钥、以及第二密钥对的第二私钥编码到目标软件的程序中,而在目标服务器中保存第一秘钥对的第一私钥、以及第二密钥对的第二公钥。
63.具体地,本实施例的目标服务器在执行s202基于第一私钥与目标秘钥对许可证信息进行加密,得到第一加密结果时,可以采用的可选实现方式为:将随机生成的秘钥作为目标秘钥;根据许可证信息,得到第二信息摘要;基于第一私钥对第二信息摘要进行加密,得到数字签名;基于目标秘钥对数字签名与许可证信息进行加密,得到第一加密结果。
64.其中,本实施例的目标服务器在执行s202基于目标秘钥对数字签名与许可证信息进行加密,得到第一加密结果时,可以采用的可选实现方式为:根据数字签名与许可证信息,得到信息明文;基于目标秘钥对信息明文进行加密,将加密所得到的信息密文作为第一加密结果。
65.也就是说,本实施例的目标服务器在得到第一加密结果时,还会使用随机生成的目标秘钥进行许可证文件的加密,从而增加加密过程的复杂度,提高所得到的加密结果的安全性。
66.可以理解的是,本实施例的目标服务器在执行s202得到第一加密结果之后,还可以采用预设编码方式(例如base64)对第一加密结果进行编码,从而得到第一加密结果的编码结果。
67.本实施例的目标服务器在执行s202得到第一加密结果之后,执行s203基于第二公钥对目标秘钥进行加密,得到第二加密结果。
68.也就是说,本实施例的目标服务器通过第二公钥对目标秘钥进行加密的方式,确保了许可证文件在传输过程中,目标秘钥不会被泄露,进一步提升了许可证文件的安全性。
69.可以理解的是,本实施例的目标服务器在执行s203得到第二加密结果之后,还可以采用预设编码方式(例如base64)对第二加密结果进行编码,从而得到第二加密结果的编码结果。
70.本实施例的目标服务器在执行s203得到第二加密结果之后,执行s204将第一加密结果与第二加密结果作为许可证文件,发送到终端,以用于终端根据许可证文件获取目标软件的使用权限。
71.也就是说,本实施例的目标服务器向终端发送的许可证文件中,包含两种类型的加密结果,不同的加密结果通过不同的解密方式来获取相应的解密结果,能够增强所生成的许可证文件的可靠性,更加不容易被篡改。
72.另外,本实施例的目标服务器在终端获取目标软件时,可以按照获取许可证信息、得到第一加密结果、得到第二加密结果的顺序来生成许可证文件,从而在向终端发送目标软件的同时,一同将所生成的许可证文件发送到终端,使得终端无需再通过向目标服务器发送额外的获取请求的方式,来获取与目标软件对应的许可证文件。
73.图3是根据本公开第二实施例的示意图。图3示出了目标服务器在生成许可证文件时的流程图:在获取许可证信息之后,使用哈希算法得到许可证文件对应的第二信息摘要;基于第一私钥对第二信息摘要进行加密,得到数字签名;根据数字签名与许可证信息,得到明文信息;将随机生成的秘钥,作为目标秘钥;基于目标秘钥对明文信息进行加密,得到密文信息(即第一加密结果);基于第二公钥对目标秘钥进行加密,得到第二加密结果;通过预设编码方式对第一加密结果与第二加密结果进行编码,从而得到许可证文件。
74.图4是根据本公开第四实施例的示意图。图4示出了终端根据许可证文件获取使用权限的流程图:获取许可证文件;使用与预设编码方式对应的解码方式对许可证文件进行解码,得到第一加密结果与第二加密结果;基于第二私钥对第二加密结果进行解密,得到目标秘钥;基于目标秘钥对第一加密结果进行解密,得到数字签名与许可证信息;基于第一公钥对数字签名进行解密,得到第一信息摘要;使用哈希算法对许可证信息进行处理,得到第二信息摘要;将第一信息摘要与第二信息摘要进行比较,在确定两者相一致的情况下,表明许可证文件未被篡改,则许可证信息作为目标许可证信息。
75.图5是根据本公开第五实施例的示意图。如图5所示,本实施例的软件使用权限的获取装置500,位于终端,包括:
76.获取单元501、用于获取与目标软件对应的许可证文件,所述许可证文件中包含第一加密结果与第二加密结果;
77.第一解密单元502、用于基于第二私钥对所述第二加密结果进行解密,得到目标秘钥,所述第二加密结果为目标服务器基于与所述第二私钥对应的第二公钥,加密所述目标秘钥得到的;
78.第二解密单元503、用于基于第一公钥与所述目标秘钥对所述第一加密结果进行解密,得到目标许可证信息,所述第一加密结果为所述目标服务器基于与所述第一公钥对应的第一私钥以及所述目标秘钥,加密所述许可证信息得到的;
79.处理单元504、用于从所述目标许可证信息中获取所述目标软件的使用权限。
80.获取单元501在获取与目标软件对应的许可证文件时,可以将当前所要启动的软件作为目标软件,进而获取与该目标软件对应的许可证文件。
81.获取单元501获取的许可证文件中包含第一加密结果与第二加密结果;其中,第一加密结果为目标服务器对许可证信息进行加密的结果,第二加密结果为目标服务器对目标秘钥进行加密的结果。
82.获取单元501在获取与目标软件对应的许可证文件时,可以采用的可选实现方式为:向与目标软件对应的目标服务器发送许可证文件获取请求;接收目标服务器发送的许可证文件,作为与目标软件对应的许可证文件。
83.其中,获取单元501向目标服务器发送的许可证文件获取请求中,还可以包含与终端对应的标识信息,该标识信息用于目标服务器获取相应的许可证信息,进而根据所获取的许可证信息生成许可证文件。
84.也就是说,获取单元501可以在启动目标软件时,通过向与目标软件对应的目标服务器发送许可证文件获取请求的方式,实时地获取许可证文件,从而确保所获取的许可证文件具有较高的时效性,进一步提升所获取的使用权限的准确性。
85.获取单元501在获取与目标软件对应的许可证文件时,还可以根据与目标软件对应的配置目录来进行获取,即与目标软件对应的许可证文件可以预先存储在终端本地,通过配置目录确定存放许可证文件的路径之后,根据该路径即可找到许可证文件。
86.也就是说,本实施例的终端会在本地存储与目标软件对应的许可证文件,即终端在通过目标服务器获取目标软件的同时,还会一同获取该许可证文件,从而无需由终端向目标服务器发送许可证文件获取请求,能够简化许可证文件的获取步骤。
87.本实施例的终端在由获取单元501获取与目标软件对应的许可证文件之后,由第一解密单元502基于第二私钥对第二加密结果进行解密,得到目标秘钥;其中,第一解密单元502所得到的目标秘钥,用于从第一加密结果中得到许可证文件的数字签名与许可证文件包含的许可证信息。
88.可以理解的是,若获取单元501获取的许可证文件为目标服务器通过预设编码方式(例如base64)进行编码处理得到的,第一解密单元502首先通过与预设编码方式对应的解码方式对第二加密结果进行解码,然后再基于第二私钥对第二加密结果进行解密,从而得到目标秘钥。
89.本实施例的终端在由第一解密单元502得到目标秘钥之后,由第二解密单元503基于第一公钥与目标秘钥对第一加密结果进行解密,得到目标许可证信息;第二解密单元503所得到的目标许可证信息包含软件使用时间、软件使用范围等权限信息,还可以包含终端属性信息、目标验证方式、用户信息等内容。
90.具体地,第二解密单元503在基于第一公钥与目标秘钥对第一加密结果进行解密,得到目标许可证信息时,可以采用的可选方式为:基于目标秘钥对第一加密结果进行解密,得到数字签名与许可证信息;基于第一公钥对数字签名进行解密,得到第一信息摘要;根据许可证信息,得到第二信息摘要;在确定第一信息摘要与第二信息摘要相一致的情况下,将所得到的许可证信息作为目标许可证信息。
91.也就是说,第二解密单元503结合两种类型的秘钥对许可证文件进行解密,且在解密之后还会对许可证文件进行校验,从而在校验通过的情况下,将许可证文件包含的许可证信息作为目标许可证信息,确保所得到的目标许可证信息未被篡改,进而提升所获取的使用权限的准确性。
92.可以理解的是,若获取单元501获取的许可证文件为目标服务器通过预设编码方式(例如base64)进行编码处理得到的,第二解密单元503首先通过与预设编码方式对应的解码方式对第一加密结果进行解码,然后再基于第一公钥与目标秘钥对第一加密结果进行解密,从而得到目标许可证信息。
93.另外,第二解密单元503若确定第一信息摘要与第二信息摘要不相同,表明许可证信息被篡改,则可以重新向目标服务器发送许可证文件获取请求,进而在执行对新获取的许可证文件的解密。
94.本实施例的终端在由第二解密单元503得到目标许可证信息之后,由处理单元504从目标许可证信息中获取目标软件的使用权限。
95.处理单元504在从目标许可证信息中获取目标软件的使用权限时,可以直接获取目标许可证信息中包含的软件使用时间、软件使用范围等信息,作为目标软件的使用权限。
96.处理单元504在从目标许可证信息中获取目标软件的使用权限时,还可以采用以下方式:获取目标许可证信息中的终端属性信息;根据目标校验模式,将所获取的终端属性信息与终端本地的终端属性信息进行比较;在确定比较结果满足与目标校验模式对应的校验要求的情况下,从目标许可证信息许中获取目标软件的使用权限。
97.其中,处理单元504所使用的目标校验方式,可以是终端预先设置的,也可以是从目标许可证信息中所获取的;不同的校验模式对应不同的校验内容,不同的校验模式对应的不同的校验要求。
98.也就是说,处理单元504在解密许可证文件得到目标许可证信息之后,还可以根据目标许可证信息中的特定内容进行二次校验,并在确定二次校验通过的情况下,再从目标许可证信息中获取软件使用时间、软件使用范围等权限信息,进一步提升了软件校验的安全性。
99.处理单元504在获取目标软件的使用权限之后,终端即可根据该使用权限来对目标软件进行使用,例如在软件使用时间内进行软件的登录、对软件使用范围内所提供的服务进行使用等。
100.图6是根据本公开第六实施例的示意图。如图6所示,本实施例的软件使用权限的获取装置600,位于目标服务器,包括:
101.接收单元601、用于接收终端发送的许可证文件获取请求,根据所述许可证文件获取请求获取许可证信息;
102.第一加密单元602、用于基于第一私钥与目标秘钥对所述许可证信息进行加密,得到第一加密结果;
103.第二加密单元603、用于基于第二公钥对所述目标秘钥进行加密,得到第二加密结果;
104.发送单元604、用于将所述第一加密结果与所述第二加密结果作为许可证文件,发送到所述终端,以用于所述终端根据所述许可证文件获取目标软件的使用权限。
105.接收单元601接收的终端发送的许可证文件获取请求中,还可以包含终端的属性信息、终端的用户信息与目标校验模式。
106.接收单元601接收终端发送的许可证文件获取请求之后,即可根据该许可证文件获取请求来获取相应的许可证信息,例如软件使用时间、软件使用范围等权限信息;由于不同的终端具有不同的购买情况,例如购买了不同的使用时间、不同的使用范围,因此本实施例中不同的终端对应不同的许可证信息。
107.本实施例的目标服务器在由接收单元601获取许可证信息之后,由第一加密单元602基于第一私钥与目标秘钥对许可证信息进行加密,得到第一加密结果。
108.具体地,第一加密单元602在基于第一私钥与目标秘钥对许可证信息进行加密,得到第一加密结果时,可以采用的可选实现方式为:将随机生成的秘钥作为目标秘钥;根据许可证信息,得到第二信息摘要;基于第一私钥对第二信息摘要进行加密,得到数字签名;基于目标秘钥对数字签名与许可证信息进行加密,得到第一加密结果。
109.其中,第一加密单元602在基于目标秘钥对数字签名与许可证信息进行加密,得到
第一加密结果时,可以采用的可选实现方式为:根据数字签名与许可证信息,得到信息明文;使用目标秘钥对信息明文进行加密,将加密所得到的信息密文作为第一加密结果。
110.也就是说,第一加密单元602在得到第一加密结果时,还会使用随机生成的目标秘钥进行许可证文件的加密,从而增加加密过程的复杂度,提高所得到的加密结果的安全性。
111.可以理解的是,第一加密单元602得到第一加密结果之后,还可以采用预设编码方式(例如base64)对第一加密结果进行编码,从而得到第一加密结果的编码结果。
112.本实施例的目标服务器在由第一加密单元602得到第一加密结果之后,由第二加密单元603基于第二公钥对目标秘钥进行加密,得到第二加密结果。
113.也就是说,第二加密单元603通过第二公钥对目标秘钥进行加密的方式,确保了许可证文件在传输过程中,目标秘钥不会被泄露,进一步提升了许可证文件的安全性。
114.可以理解的是,第二加密单元603在得到第二加密结果之后,还可以采用预设编码方式(例如base64)对第二加密结果进行编码,从而得到第二加密结果的编码结果。
115.本实施例的目标服务器在由第二加密单元603得到第二加密结果之后,由发送单元604将第一加密结果与第二加密结果作为许可证文件,发送到终端,以用于终端根据许可证文件获取目标软件的使用权限。
116.也就是说,发送单元604向终端发送的许可证文件中,包含两种类型的加密结果,不同的加密结果通过不同的解密方式来获取相应的解密结果,能够增强所生成的许可证文件的可靠性,更加不容易被篡改。
117.另外,本实施例的目标服务器在终端获取目标软件时,可以按照获取许可证信息、得到第一加密结果、得到第二加密结果的顺序来生成许可证文件,从而在向终端发送目标软件的同时,一同将所生成的许可证文件发送到终端,使得终端无需再通过向目标服务器发送额外的获取请求的方式,来获取与目标软件对应的许可证文件。
118.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
119.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
120.如图7所示,是根据本公开实施例的软件使用权限的获取方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
121.如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
122.设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元607,例如各种类型的展示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通
信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
123.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如软件使用权限的获取方法。例如,在一些实施例中,软件使用权限的获取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。
124.在一些实施例中,计算机程序的部分或者全部可以经由rom702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的软件使用权限的获取方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行软件使用权限的获取方法。
125.此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
126.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程软件使用权限的获取装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
127.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
128.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户展示信息的展示装置(例如,crt(阴极射线管)或者lcd(液晶展示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的
反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
129.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
130.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(“virtual private server”,或简称“vps”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
131.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
132.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1