数据同步方法及系统转让专利

申请号 : CN201710173982.8

文献号 : CN106953917B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙吉平钟灵剑

申请人 : 北京深思数盾科技股份有限公司

摘要 :

本发明公开了一种数据同步方法,包括:S1、将第一数据的密文存储至第一设备中,第一数据为与第一签发系统向软件保护锁签发的数字许可相关的数据;S2、当创建第二签发系统时,将存储在第一设备中的第一数据的密文发送给第二签发系统;S3、第二签发系统对接收到的第一数据的密文进行解密,解密得到的第一数据用作与第二签发系统向软件保护锁签发的数字许可相关的数据。本发明同时公开了一种数据同步系统。通过本发明的方案,能够便于在无法使用或不便使用第一签发系统签发数字许可时使用第二签发系统签发数字许可,有利于维持签发过程的顺利进行。

权利要求 :

1.一种数据同步方法,其特征在于,包括:

S1、将第一数据的密文存储至第一设备中,第一数据为与第一签发系统向软件保护锁签发的数字许可的签发或使用相关的数据;

S2、当创建第二签发系统时,将存储在第一设备中的第一数据的密文发送给第二签发系统;

S3、第二签发系统对接收到的第一数据的密文进行解密,解密得到的第一数据用作与第二签发系统向软件保护锁签发的数字许可的签发或使用相关的数据。

2.如权利要求1所述的方法,其特征在于,S3步骤还包括:第二签发系统对第一数据中包括的至少一个数据加密并将得到的密文发送给软件保护锁。

3.如权利要求1所述的方法,其特征在于,S3步骤还包括:第二签发系统的签发设备将第一数字证书写入软件保护锁,并在软件保护锁对第一数字证书验证成功后,对第一数据中包括的至少一个数据加密并将得到的密文发送给软件保护锁。

4.如权利要求3所述的方法,其特征在于,S3步骤进一步包括:软件保护锁使用第一数字证书对该密文验证和解密得到所述至少一个数据并保存。

5.如权利要求1所述的方法,其特征在于,第一数据包括第一盐值,S3步骤还包括:S31、将进行所述解密后得到的第一盐值写入第二签发系统的签发设备中;

S32、对第一盐值加密得到第一盐值的密文,并将第一盐值的密文发送给软件保护锁。

6.如权利要求5所述的方法,其特征在于,S32步骤具体包括:S321、将第一数字证书写入软件保护锁中;

S322、软件保护锁对第一数字证书进行验证;

S323、如果软件保护锁对第一数字证书验证成功,则将第一盐值的密文发送给软件保护锁;

S324、软件保护锁使用第一数字证书对第一盐值的密文验证和解密得到第一盐值并保存。

7.如权利要求1所述的方法,其特征在于,第一数据包括第一私钥,S3步骤包括:S33、进行所述解密后得到第一私钥;

S34、对解密得到的第一私钥加密得到第一私钥的密文,并将第一私钥的密文发送给软件保护锁。

8.如权利要求7所述的方法,其特征在于,S34步骤具体包括:S341、将第一数字证书写入软件保护锁中;

S342、软件保护锁对第一数字证书进行验证;

S343、如果软件保护锁对第一数字证书验证成功,则将第一私钥的密文发送给软件保护锁;

S344、软件保护锁使用第一数字证书对第一私钥的密文验证和解密得到第一私钥并保存。

9.如权利要求4所述的方法,其特征在于,第一设备中还存储有第一公钥,第一公钥与第一私钥为相互匹配的一对密钥。

10.如权利要求1至9中任一项所述的方法,其特征在于,第一签发系统包括第一加密卡,第二签发系统包括第二加密卡,第一加密卡存储有用于将第一数据加密的密钥,第二加密卡存储有用于对第一数据的密文解密的密钥。

11.如权利要求1至9中任一项所述的方法,其特征在于,第一签发系统为云端签发系统或硬件签发系统,第二签发系统为硬件签发系统或云端签发系统。

12.如权利要求1至9中任一项所述的方法,其特征在于,软件保护锁为硬件用户锁和/或云用户锁。

13.一种数据同步系统,其特征在于,包括第一签发系统和第二签发系统,第一签发系统包括:第一签发设备,配置为向软件保护锁签发数字许可;

加密装置,配置为将与第一签发设备签发的数字许可的签发或使用相关的第一数据加密;以及发送装置,配置为将第一数据的密文存储至第一设备中;

第二签发系统包括:

第二签发设备,配置为向软件保护锁签发数字许可;

获取装置,配置为从第一设备获取第一数据的密文;

加解密装置,配置为对获取装置获取的第一数据的密文进行解密得到第一数据,第一数据用作与第二签发设备签发的数字许可的签发或使用相关的数据。

14.如权利要求13所述的系统,其特征在于,第二签发设备配置为对第一数据中包括的至少一个数据加密并将得到的密文发送给软件保护锁。

15.如权利要求13所述的系统,其特征在于,第二签发设备配置为将第一数字证书写入软件保护锁,并配置为在软件保护锁对第一数字证书验证成功后,对第一数据中包括的至少一个数据加密并将得到的密文发送给软件保护锁。

16.如权利要求15所述的系统,其特征在于,软件保护锁配置为使用第一数字证书对该密文验证和解密得到所述至少一个数据并保存。

17.如权利要求13所述的系统,其特征在于,第一数据包括第一盐值,所述加解密装置配置为将对第一数据的密文进行解密后得到的第一盐值写入第二签发设备,第二签发设备进一步配置为对第一盐值加密得到第一盐值的密文,并将第一盐值的密文发送给软件保护锁。

18.如权利要求13所述的系统,其特征在于,第一数据包括第一私钥,所述加解密装置配置为对第一数据的密文进行解密后得到第一私钥,所述第二签发设备进一步配置为对第一私钥加密得到第一私钥的密文,并将第一私钥的密文发送给软件保护锁。

19.如权利要求13-18中任一项所述的系统,其特征在于,加密装置和加解密装置为加密卡。

20.如权利要求13-18中任一项所述的系统,其特征在于,第一签发系统为云端签发系统或硬件签发系统,第二签发系统为硬件签发系统或云端签发系统。

21.如权利要求13-18中任一项所述的系统,其特征在于,软件保护锁为云用户锁和/或硬件用户锁。

说明书 :

数据同步方法及系统

技术领域

[0001] 本发明涉及数据安全领域,特别涉及一种数据同步方法及系统。

背景技术

[0002] 软件加密锁是一种用于对目标软件进行保护的设备。传统的软件加密锁为硬件用户锁,并由软件开发商使用硬件控制锁对硬件用户锁进行针对目标软件的数字许可授权。如今,不少软件加密锁生产商已将加密锁功能移植到云端,成为云用户锁,签发授权也不再使用传统的硬件控制锁,而使用云托管控制锁。
[0003] 然而,软件开发商侧一旦处于网络异常或无网络的环境下,将无法使用云托管控制锁为云用户锁或硬件用户锁签发授权。此外,有的软件开发商也不愿意透露本公司的云账号信息给过多的员工。

发明内容

[0004] 有鉴于此,本发明实施例提供了一种数据同步方法及系统,实现了使用不同的签发系统基于同样的密钥数据签发软件数字许可。
[0005] 本发明实施例提供的数据同步方法包括:S1、将第一数据的密文存储至第一设备中,第一数据为与第一签发系统向软件保护锁签发的数字许可相关的数据;S2、当创建第二签发系统时,将存储在第一设备中的第一数据的密文发送给第二签发系统;S3、第二签发系统对接收到的第一数据的密文进行解密,解密得到的第一数据用作与第二签发系统向软件保护锁签发的数字许可相关的数据。
[0006] 本发明实施例提供的数据同步系统包括第一签发系统和第二签发系统。其中,第一签发系统包括:第一签发设备,配置为向软件保护锁签发数字许可;加密装置,配置为将与第一签发设备签发的数字许可相关的第一数据加密;发送装置,配置为将第一数据的密文存储至第一设备中。第二签发系统包括:第二签发设备,配置为向软件保护锁签发数字许可;获取装置,配置为从第一设备获取第一数据的密文;加解密装置,配置为对获取装置获取的第一数据的密文进行解密得到第一数据,第一数据用作与第二签发设备签发的数字许可相关的数据。
[0007] 在本发明实施例提供的方案中,创建第一签发系统(包括云托管控制锁)的同时将必要的密钥数据加密保存至数据库中,当客户有需求时,则将加密的密钥数据发送给第二签发系统,第二签发系统解密密钥数据后,写入第二签发设备(如硬件控制锁)中。通过本发明实施例提供的方案,云托管控制锁和硬件控制锁将拥有相同的密钥数据,软件开发商如有特殊需求则可以使用硬件控制锁为硬件用户锁或云用户锁签发软件数字许可,如此,硬件控制锁能够同步云托管控制锁签发软件数字许可,使得软件开发商在网络异常或无网络环境下依然能为用户锁签发软件数字许可。

附图说明

[0008] 图1为本发明实施例的数据同步方法的示意性流程图;
[0009] 图2为图1中S3步骤的具体步骤的一个示例的示意性流程图;
[0010] 图3为图2中S32步骤的具体步骤的一个示例的示意性流程图;
[0011] 图4为图1中S3步骤的具体步骤的另一个示例的示意性流程图;
[0012] 图5为图4中S34步骤的具体步骤的一个示例的示意性流程图;
[0013] 图6为本发明实施例的数据同步系统的示意性框图。

具体实施方式

[0014] 下面参照附图对本发明的实施例进行详细说明。
[0015] 图1为本发明实施例的数据同步方法的示意性流程图
[0016] 如图1所示,本发明实施例的数据同步方法包括:
[0017] S1、将第一数据的密文存储至第一设备中,第一数据为与第一签发系统向软件保护锁签发的数字许可相关的数据;
[0018] 第一签发系统可以是云端签发系统或硬件签发系统。以云端签发系统为例,云端签发系统可包括例如云托管控制锁。软件保护锁可以是硬件用户锁也可以是云端用户锁。云托管控制锁可以用来向云用户锁签发数字许可,也可以用来向硬件用户锁签发数字许可。第一数据可以包括例如密钥数据、配置参数、安全通信相关数据等与云托管控制锁签发的数字许可相关的数据。第一数据的密文可以在云端签发系统创建的同时存储至第一设备中,也可以在云端签发系统创建后使用期间出现网络不可用或其他情况下需要使用硬件签发系统时临时将第一数据的密文存储至第一设备中。这里的第一设备可以是云端数据库或者任何类型的移动存储设备。
[0019] S2、当创建第二签发系统时,将存储在第一设备中的第一数据的密文发送给第二签发系统;
[0020] 当为了实现第一签发系统同样的功能而创建第二签发系统时,将存储在第一设备中的第一数据的密文传送至第二签发系统。第二签发系统可以是硬件签发系统或云端签发系统。以硬件签发系统为例,硬件签发系统可包括例如硬件控制锁。硬件控制锁可以用来向硬件用户锁签发数字许可,也可以用来向云端用户锁签发数字许可。
[0021] S3、第二签发系统对接收到的第一数据的密文进行解密,解密得到的第一数据用作与第二签发系统向软件保护锁签发的数字许可相关的数据。
[0022] 第二签发系统接收到第一数据的密文后进行解密得到第一数据,并将第一数据用作对软件保护锁签发的数字许可相关的数据,使得第二签发系统签发数字许可时或所签发的数字许可在使用时需要用到的相关数据与第一签发系统签发的数字许可的签发或使用相关的数据相一致。
[0023] 本发明实施例对第一签发系统中用于对第一数据加密的装置和第二签发系统中用于对第一数据的密文进行解密的装置的类型不作限制,只要能够具备与数字许可签发系统相当的安全性能即可。作为一种实施方式,第一签发系统中的用于加密的装置和第二签发系统中的用于解密的装置可以为加密卡。例如,云端签发系统的第一加密卡和硬件签发系统的第二加密卡中预存一对可互相加解密的密钥,其中用于加密的密钥存储在第一加密卡中,用于解密的密钥存储在第二加密卡中。加密卡能够确保密钥只能在加密卡内部使用,对数据加解密时需要将数据传入加密卡中进行加解密,从而确保了密钥的安全。
[0024] 通过本发明实施例的方法,与数字许可的签发或使用相关的数据在云托管控制锁和硬件控制锁中是一致的,如网络出现异常,无法使用云托管控制锁,可以使用硬件控制锁为硬件用户锁或云用户锁签发软件数字许可。在网络正常的情况下,则可使用云托管控制锁或硬件控制锁中的任一个为硬件用户锁或云用户锁签发数字许可。如此,硬件控制锁能够同步云托管控制锁签发软件数字许可,使得软件开发商在网络异常或无网络环境下依然能为用户锁签发软件数字许可。
[0025] 在本发明一个实施例中,S3步骤中,第二签发系统获得第一数据的密文并解密后,可以对得到的第一数据中包括的一个或多个数据同时或分别加密,并将加密得到的一个或多个密文发送给软件保护锁,由软件保护锁对密文解密后得到上述一个或多个数据并保存。如此可使得第二签发系统与作为其签发对象的软件保护锁中具有一致的与数字许可相关的数据,进而使得作为第一签发系统的签发对象的软件保护锁与作为第二签发系统的签发对象的软件保护锁中具有一致的与数字许可相关的数据,确保了两个签发系统同步签发操作结果的一致性。
[0026] 在本发明的另一实施例中,S3步骤中,第二签发系统在获得第一数据的密文并解密后,在向软件保护锁发送数据密文之前,可先将向CA体系申请的第一数字证书写入软件保护锁,在软件保护锁对第一数字证书验证成功后,再对第一数据中包括的至少一个数据同时或分别加密,并将加密得到的一个或多个密文发送给软件保护锁,由软件保护锁对密文解密后得到上述一个或多个数据并保存。作为一个示例,第一数字证书中可包含与第二签发系统加密该至少一个数据时使用的私钥对应的公钥,从而软件保护锁能够使用第一数字证书对该至少一个数据的密文验证和解密得到该至少一个数据并保存。如此能够确保第二签发系统向软件保护锁发送数字许可相关数据的安全性,同时确保了两个签发系统同步签发操作结果的一致性。
[0027] 图2为图1中S3步骤的具体步骤的一个示例的示意性流程图。
[0028] 在图2所示实施例中,第一数据可包括第一盐值,第一盐值例如可参与生成用来加解密软件关键数据的密钥,软件关键数据为软件运行所必须的一些数据,通常安全存储在软件保护锁中。在本发明实施例中,例如可以将第一盐值与数字许可信息或其他预定数据组装后生成加解密软件关键数据的密钥。图2所示的S31步骤中,第二签发系统可将对第一数据的密文进行解密后得到的一个或多个数据中的第一盐值写入第二签发系统的签发设备中,例如硬件签发系统将解密得到的第一盐值写入所生产的硬件控制锁中,然后在S32步骤中,可由该签发设备使用专用私钥对第一盐值加密后,将第一盐值的密文发送给软件保护锁。通过本实施例,可使得第一签发系统的签发设备与第二签发系统的签发设备具有相同的盐值,同时使得作为第一签发系统的签发对象的软件保护锁与作为第二签发系统的签发对象的软件保护锁中也具有相同的盐值。
[0029] 图3为图2中S32步骤的具体步骤的一个示例的示意性流程图。
[0030] 如图3所示,图2所示的S32步骤具体可包括:
[0031] S321、将第一数字证书写入软件保护锁中;
[0032] 第一数字证书可由第二签发设备向CA体系申请而获得。例如硬件控制锁在制造过程中,锁内生成一对RSA非对称密钥,其中私钥不出锁以确保安全,使用其中的公钥信息生成证书请求文件CSR以向CA体系申请证书,得到第一数字证书,从而硬件控制锁的公钥信息包含在第一数字证书中。在生产硬件用户锁的过程中,硬件控制锁将该第一数字证书写入硬件用户锁中。
[0033] S322、软件保护锁对第一数字证书进行验证;
[0034] 硬件用户锁内预置了CA体系的一系列根证书,可用于验证第一数字证书。
[0035] S323、如果软件保护锁对第一数字证书验证成功,则签发设备将第一盐值的密文发送给软件保护锁;
[0036] 如果硬件用户锁利用所预置的根证书验证第一数字证书通过,则硬件控制锁将第一盐值的密文发送给硬件用户锁,该密文可以使用硬件控制锁的私钥对第一盐值加密得到。
[0037] S323、软件保护锁使用第一数字证书对第一盐值的密文验证和解密得到第一盐值并保存。
[0038] 例如硬件用户锁可使用第一数字证书中的硬件控制锁公钥信息对从签发设备接收到的第一盐值的密文验证并解密得到第一盐值并保存。
[0039] 通过本发明实施例,实现了将第一盐值安全地写入硬件用户锁的过程。当然,这里虽然以硬件用户锁来举例说明,但对于云用户锁也可采用类似的方式将第一盐值送入锁内。
[0040] 图4为图1中S3步骤的具体步骤的另一个示例的示意性流程图。在图4所示实施例中,第一数据可以包括第一私钥,第一私钥可以是用于在基于数字许可运行软件的过程中建立安全通信通道的安全密钥,例如用于在运行的软件与软件保护锁之间建立直接或间接的加密通信信道。第二签发系统可将对第一数据的密文进行解密后得到的第一私钥加密后将第一私钥的密文发送给软件保护锁,例如硬件签发系统利用加密卡等设备对第一数据的密文解密得到第一私钥后,可由硬件控制锁用自身的私钥对该第一私钥重新进行加密,并在生产硬件用户锁时,由硬件控制锁将第一私钥的密文发送给硬件用户锁,硬件用户锁对第一私钥的密文解密后对第一私钥进行存储。通过本实施例,可使得经第一签发系统签发数字许可的软件保护锁和经第二签发系统签发数字许可的软件保护锁具有相同的私钥。
[0041] 在本发明一个实施例中,第一数据可以同时包括第一盐值和第一私钥。如图2所示的步骤可与如图4所示的步骤合并进行,也就是说,第二签发系统接收到第一数据的密文后,解密可得到第一盐值和第一私钥,该第一盐值写入第二签发系统的签发设备中,并将第一私钥和第一盐值同时或分别加密后将密文发送给软件保护锁,软件保护锁对接收到的密文解密后得到第一私钥和第一盐值并保存。
[0042] 在本发明另一个实施例中,第一设备中除了存储第一数据的密文之外,还可以存储有第一公钥,第一公钥与第一私钥为相互匹配的一对密钥,第一公钥与第一私钥一起用于在基于数字许可运行软件时建立安全通信通道,例如在受保护软件与软件安全系统之间进行通信时对传输的数据进行加密,软件安全系统可包括安装在终端设备上的软件许可服务应用程序。第一公钥可以编译到数字许可提供商发布给软件开发商的SDK(软件开发工具包)中以便于使用。
[0043] 在本发明实施例中,包括在第一数据中的第一私钥例如可以为采用ECC算法计算得到的ECC私钥等。
[0044] 图5为图4中S34步骤的具体步骤的一个示例的示意性流程图。
[0045] 在图5所示实施例中,图4所示的S34步骤具体可以包括:
[0046] S341、将第一数字证书写入软件保护锁中;
[0047] 第一数字证书可由第二签发设备向CA体系申请而获得。例如硬件控制锁在制造过程中,锁内生成一对RSA非对称密钥,其中私钥不出锁以确保安全,使用其中的公钥信息生成证书请求文件CSR以向CA体系申请证书,得到第一数字证书,从而硬件控制锁的公钥信息包含在第一数字证书中。在生产硬件用户锁的过程中,硬件控制锁将该第一数字证书写入硬件用户锁中。
[0048] S342、软件保护锁对第一数字证书进行验证;
[0049] 硬件用户锁内预置了CA体系的一系列根证书,可用于验证第一数字证书。
[0050] S343、如果软件保护锁对第一数字证书验证成功,则签发设备将第一私钥的密文发送给软件保护锁。
[0051] 如果硬件用户锁利用所预置的根证书验证第一数字证书通过,则硬件控制锁将第一私钥的密文发送给硬件用户锁,该密文可以使用硬件控制锁的私钥对第一私钥加密得到。
[0052] S344、软件保护锁使用第一数字证书对第一私钥的密文验证和解密得到第一私钥并保存。
[0053] 硬件用户锁可以使用第一数字证书中的硬件控制锁公钥信息对第一私钥的密文验证并解密得到第一私钥并保存。
[0054] 通过本发明实施例,实现了将第一私钥安全地写入硬件用户锁的过程。当然,这里虽然以硬件用户锁来举例说明,但对于云用户锁也可采用类似的方式将第一私钥送入锁内。
[0055] 图6为本发明实施例的数据同步系统的示意性框图。
[0056] 如图4所示,本发明实施例的数据同步系统可以包括第一签发系统10和第二签发系统20,第一签发系统10和第二签发系统20均可连接至第一设备30。
[0057] 第一签发系统10可以包括第一签发设备11、加密装置12和发送装置13。第一签发设备11配置为向软件保护锁签发数字许可,加密装置12配置为将与第一签发设备签发的数字许可相关的第一数据加密,发送装置13配置为将第一数据的密文发送至第一设备30中存储。
[0058] 第二签发系统20可以包括第二签发设备21、加解密装置22和获取装置23。第二签发设备21配置为向软件保护锁签发数字许可,获取装置23配置为从第一设备30获取第一数据的密文,加解密装置22配置为对获取装置23获取的第一数据的密文进行解密得到第一数据,第一数据由第二签发系统用作与第二签发设备21签发的数字许可相关的数据。
[0059] 在本发明实施例中,第一签发系统可以是云端签发系统或硬件签发系统。以云端签发系统为例,云端签发系统可包括例如云托管控制锁。软件保护锁可以是硬件用户锁也可以是云端用户锁。云托管控制锁可以用来向云用户锁签发数字许可,也可以用来向硬件用户锁签发数字许可。第一数据可以包括例如密钥数据、配置参数、安全通信相关数据等与云托管控制锁签发的数字许可相关的数据。第一设备30可以是云端数据库或者任何类型的移动存储设备。
[0060] 在本发明实施例中,第二签发系统可以是硬件签发系统或云端签发系统。以硬件签发系统为例,硬件签发系统可包括例如硬件控制锁。硬件控制锁可以用来向硬件用户锁签发数字许可,也可以用来向云端用户锁签发数字许可。
[0061] 在本发明实施例中,第一签发系统10中的加密装置12和第二签发系统20中的加解密装置22可以为加密卡。例如,云端签发系统的第一加密卡和硬件签发系统的第二加密卡中预存一对可互相加解密的密钥,其中用于加密的密钥存储在第一加密卡中,用于解密的密钥存储在第二加密卡中。
[0062] 通过本发明实施例的系统,硬件控制锁能够同步云托管控制锁签发软件数字许可,使得软件开发商在网络异常或无网络环境下依然能为用户锁签发软件数字许可。
[0063] 在本发明一个实施例中,第二签发设备21可以配置为对第一数据中包括的一个或多个数据同时或分别加密,并将加密得到的一个或多个密文发送给软件保护锁,由软件保护锁对密文解密后得到上述一个或多个数据并保存。如此可使得第二签发系统与作为其签发对象的软件保护锁中具有一致的与数字许可相关的数据,进而使得作为第一签发系统的签发对象的软件保护锁与作为第二签发系统的签发对象的软件保护锁中具有一致的与数字许可相关的数据,确保了两个签发系统同步签发操作结果的一致性。
[0064] 在本发明另一个实施例中,第二签发设备21可以配置为在获得第一数据的密文并解密后,在向软件保护锁发送数据密文之前,可先将向CA体系申请的第一数字证书写入软件保护锁,在软件保护锁对第一数字证书验证成功后,再对第一数据中包括的至少一个数据同时或分别加密,并将加密得到的一个或多个密文发送给软件保护锁,由软件保护锁对密文解密后得到上述一个或多个数据并保存。作为一个示例,第一数字证书中可包含与第二签发系统加密该至少一个数据时使用的私钥对应的公钥,从而软件保护锁能够使用第一数字证书对该至少一个数据的密文验证和解密得到该至少一个数据并保存。如此能够确保第二签发系统向软件保护锁发送数字许可相关数据的安全性,同时确保了两个签发系统同步签发操作结果的一致性。
[0065] 在本发明一个实施例中,第一数据可以包括第一盐值,第一盐值例如可参与生成用来加解密软件关键数据的密钥。加解密装置22可以配置为将对第一数据的密文进行解密后得到的第一盐值写入第二签发设备21。第二签发设备21可以进一步配置为对第一盐值加密得到第一盐值的密文,并将第一盐值的密文发送给软件保护锁。通过本实施例,可使得第一签发系统10的第一签发设备11与第二签发系统20的第二签发设备21具有相同的盐值。
[0066] 在本发明另一个实施例中,第一数据包括用于在基于数字许可运行软件时建立安全通道的第一私钥,加解密装置22可以配置为对第一数据的密文进行解密后得到第一私钥,第二签发设备21可以进一步配置为将从加解密装置22得到的第一私钥加密后将第一私钥的密文发送给软件保护锁。通过本实施例,可使得经第一签发系统10签发数字许可的软件保护锁和经第二签发系统20签发数字许可的软件保护锁具有相同的私钥。
[0067] 在本发明实施例中,第二签发设备21可以配置为将第一数字证书写入软件保护锁,并配置为在软件保护锁对第一数字证书验证成功后,再将第一私钥的密文发送给软件保护锁。例如,第一数字证书可由第二签发设备21向CA体系申请而获得。例如硬件控制锁在制造过程中,锁内生成一对RSA非对称密钥,其中私钥不出锁以确保安全,使用其中的公钥信息生成证书请求文件CSR以向CA体系申请证书,得到第一数字证书,从而硬件控制锁的公钥信息包含在第一数字证书中。在生产硬件用户锁的过程中,硬件控制锁将该第一数字证书写入硬件用户锁中。硬件用户锁内预置了CA体系的一系列根证书,可用于验证第一数字证书。如果硬件用户锁利用所预置的根证书验证第一数字证书通过,则硬件控制锁将第一私钥的密文发送给硬件用户锁,该密文即为使用硬件控制锁的私钥对第一私钥加密得到。随后硬件用户锁使用第一数字证书中的硬件控制锁公钥信息对第一私钥的密文验证并解密得到第一私钥并保存。
[0068] 通过本发明实施例,实现了将第一私钥和/第一盐值安全地写入硬件用户锁的过程。当然,这里虽然以硬件用户锁来举例说明,但对于云用户锁也可采用类似的方式将第一私钥送入锁内。
[0069] 以上对本发明的多个实施例进行了说明,但本发明不限于上述特定实施例,在不脱离本发明构思的情况下,可对实施例进行多种修改和变型,这些修改和变型均落入本申请所要求保护的范围之内。