密码卡及其根密钥保护方法、计算机可读存储介质转让专利

申请号 : CN202210677374.1

文献号 : CN114785503B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴占云李延袁艳芳张磊王文强谷思庭杨峰张彦杰李超伟高志洲

申请人 : 北京智芯半导体科技有限公司北京智芯微电子科技有限公司

摘要 :

本发明涉及信息安全技术领域,且公开了一种密码卡及其根密钥保护方法、计算机可读存储介质,其中,密码卡包括安全芯片和时钟芯片,根密钥保护方法包括:响应于根密钥生成指令,生成根密钥和第一根密钥分量;利用第一根密钥分量对根密钥加密得到第二根密钥分量;将第二根密钥分量存储至安全芯片的保护区,并将第一根密钥分量存储至时钟芯片的RAM区,其中,在密码卡被非法操作时,RAM区失电使得第一根密钥分量消失。该方法能够避免根密钥被非法获取,保证了根密钥的安全性,有效提升了密码卡的安全性。

权利要求 :

1.一种密码卡的根密钥保护方法,其特征在于,所述密码卡包括安全芯片和时钟芯片,所述方法包括:响应于根密钥生成指令,生成根密钥和第一根密钥分量;

利用所述第一根密钥分量对所述根密钥加密得到第二根密钥分量;

将所述第二根密钥分量存储至所述安全芯片的保护区,并将所述第一根密钥分量存储至所述时钟芯片的RAM区,其中,在所述密码卡被非法操作时,所述RAM区失电使得所述第一根密钥分量消失;

在生成根密钥之后,所述方法还包括:确定所述安全芯片的第二标识信息;对所述第二标识信息进行哈希运算得到哈希值;利用所述根密钥对所述哈希值加密得到第一校验数据,并将所述第一校验数据存储至所述安全芯片的保护区;

在解密得到所述根密钥后,所述方法还包括:获取所述第二标识信息,并对所述第二标识信息进行哈希运算得到哈希值;利用解密后的所述根密钥对所述哈希值加密得到第二校验数据;根据所述第一校验数据和所述第二校验数据对解密后的所述根密钥进行安全校验。

2.根据权利要求1所述的密码卡的根密钥保护方法,其特征在于,生成根密钥和第一根密钥分量,包括:生成第一随机数和第二随机数;

根据所述第一随机数生成所述根密钥,并根据所述第二随机数生成所述第一根密钥分量。

3.根据权利要求1或2所述的密码卡的根密钥保护方法,其特征在于,利用所述第一根密钥分量对所述根密钥加密得到第二根密钥分量,包括:确定所述安全芯片的第一标识信息;

根据所述第一标识信息对所述第一根密钥分量进行处理得到中间密钥;

利用所述中间密钥对所述根密钥加密得到所述第二根密钥分量。

4.根据权利要求3所述的密码卡的根密钥保护方法,其特征在于,所述方法还包括:响应于根密钥恢复指令,获取所述第一标识信息,并从所述时钟芯片的RAM区获取所述第一根密钥分量,以及从所述安全芯片的保护区获取所述第二根密钥分量;

根据所述第一标识信息对所述第一根密钥分量进行处理得到中间密钥;

利用所述中间密钥对所述第二根密钥分量解密得到所述根密钥。

5.根据权利要求4所述的密码卡的根密钥保护方法,其特征在于,根据所述第一标识信息对所述第一根密钥分量进行处理得到中间密钥,包括:对所述第一标识信息和所述第一根密钥分量进行异或处理得到所述中间密钥。

6.一种密码卡,其特征在于,所述密码卡包括:

安全芯片,用于响应于根密钥生成指令,生成根密钥和第一根密钥分量,并利用所述第一根密钥分量对所述根密钥加密得到第二根密钥分量,以及将所述第二根密钥分量存储至自身的保护区;

时钟芯片,用于将所述第一根密钥分量存储至自身的RAM区;

供电电源,用于给所述时钟芯片供电,并在所述密码卡被非法操作时停止给所述时钟芯片供电,以使所述时钟芯片的RAM区失电使得所述第一根密钥分量消失;

所述安全芯片还用于:确定所述安全芯片的第二标识信息;对所述第二标识信息进行哈希运算得到哈希值;利用所述根密钥对所述哈希值加密得到第一校验数据,并将所述第一校验数据存储至自身的保护区;

所述安全芯片还用于:获取所述第二标识信息,并对所述第二标识信息进行哈希运算得到哈希值;利用解密后的所述根密钥对所述哈希值加密得到第二校验数据;根据所述第一校验数据和所述第二校验数据对解密后的所述根密钥进行安全校验。

7.根据权利要求6所述的密码卡,其特征在于,所述密码卡还包括:随机数芯片,用于生成第一随机数和第二随机数;

所述安全芯片具体用于根据所述第一随机数生成所述根密钥,并根据所述第二随机数生成所述第一根密钥分量。

8.根据权利要求6或7所述的密码卡,其特征在于,所述安全芯片具体用于:确定自身的第一标识信息;

根据所述第一标识信息对所述第一根密钥分量进行处理得到中间密钥;

利用所述中间密钥对所述根密钥加密得到所述第二根密钥分量。

9.根据权利要求8所述的密码卡,其特征在于,所述安全芯片还用于:响应于根密钥恢复指令,获取所述第一标识信息,并从所述时钟芯片的RAM区获取所述第一根密钥分量,以及从自身的保护区获取所述第二根密钥分量;

根据所述第一标识信息对所述第一根密钥分量进行处理得到中间密钥;

利用所述中间密钥对所述第二根密钥分量解密得到所述根密钥。

10.根据权利要求9所述的密码卡,其特征在于,所述安全芯片具体用于:对所述第一标识信息和所述第一根密钥分量进行异或处理得到所述中间密钥。

11.根据权利要求6所述的密码卡,其特征在于,所述密码卡还包括:保护开关,所述保护开关用于在所述密码卡被非法操作时,控制所述供电电源停止给所述时钟芯片供电。

12.一种计算机可读存储介质,其特征在于,其上存储有密码卡的根密钥保护程序,该密码卡的根密钥保护程序被处理器执行时实现根据权利要求1‑5中任一项所述的密码卡的根密钥保护方法。

说明书 :

密码卡及其根密钥保护方法、计算机可读存储介质

技术领域

[0001] 本发明涉及信息安全技术领域,尤其涉及一种密码卡及其根密钥保护方法、计算机可读存储介质。

背景技术

[0002] 随着通信与计算机网络技术的飞速发展,人们对网络环境和网络信息资源的依赖程度日益加深,大量网络中存储和传输的重要数据需要得到有效的保护。为了保证特殊数据或行业的数据安全,网络数据需要采取加密方式进行传输,一般承担数据加密任务的主要是设备中集成的密码卡,例如支持PCI‑E接口的mini PCIE密码卡等。
[0003] 目前,密码卡多采用多级密钥机制,该机制下,密钥可以划分为不同的层次,例如按照密钥的功能来划分,可以将密钥分为根密钥和下级密钥,其中,下级密钥是密钥层次结构中除最上层的根密钥以外其他密钥的统称,各层下级密钥的安全性均通过上一层密钥来保护,在这种依赖关系下,整个多级密钥结构的安全性依赖于密钥层次结构中最上层的根密钥的安全,而由于根密钥没有上一层密钥来保护,安全保护薄弱,如果根密钥被非法获取,会导致密码卡内由根密钥保护的用户密钥泄露,造成重要信息泄露,给用户带来损失。

发明内容

[0004] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种密码卡的根密钥保护方法,通过对根密钥加密后存储至安全芯片的保护区,并通过将加密根密钥用的第一根密钥分量存储至时钟芯片的RAM区,这样即使密码卡被非法获取,由于密码卡被非法操作时,RAM区将失电使得第一根密钥分量消失,因而使得非法操作者无法对加密后的根密钥解密得到根密钥,从而实现了对根密钥的安全保护,避免了根密钥被非法获取导致由根密钥保护的用户密钥泄露,有效提升了密码卡的安全性。
[0005] 本发明的第二个目的在于提出一种密码卡。
[0006] 本发明的第三个目的在于提出一种计算机可读存储介质。
[0007] 为达到上述目的,本发明第一方面实施例提出了一种密码卡的根密钥保护方法,密码卡包括安全芯片和时钟芯片,方法包括:响应于根密钥生成指令,生成根密钥和第一根密钥分量;利用第一根密钥分量对根密钥加密得到第二根密钥分量;将第二根密钥分量存储至安全芯片的保护区,并将第一根密钥分量存储至时钟芯片的RAM区,其中,在密码卡被非法操作时,RAM区失电使得第一根密钥分量消失。
[0008] 根据本发明实施例的密码卡的根密钥保护方法,通过对根密钥加密后存储至安全芯片的保护区,并通过将加密根密钥用的第一根密钥分量存储至时钟芯片的RAM区,这样即使密码卡被非法获取,由于密码卡被非法操作时,RAM区将失电使得第一根密钥分量消失,因而使得非法操作者无法对加密后的根密钥解密得到根密钥,从而实现了对根密钥的安全保护,避免了根密钥被非法获取导致由根密钥保护的用户密钥泄露,有效提升了密码卡的安全性。
[0009] 根据本发明的一个实施例,生成根密钥和第一根密钥分量,包括:生成第一随机数和第二随机数;根据第一随机数生成根密钥,并根据第二随机数生成第一根密钥分量。
[0010] 根据本发明的一个实施例,利用第一根密钥分量对根密钥加密得到第二根密钥分量,包括:确定安全芯片的第一标识信息;根据第一标识信息对第一根密钥分量进行处理得到中间密钥;利用中间密钥对根密钥加密得到第二根密钥分量。
[0011] 根据本发明的一个实施例,方法还包括:响应于根密钥恢复指令,获取第一标识信息,并从时钟芯片的RAM区获取第一根密钥分量,以及从安全芯片的保护区获取第二根密钥分量;根据第一标识信息对第一根密钥分量进行处理得到中间密钥;利用中间密钥对第二根密钥分量解密得到根密钥。
[0012] 根据本发明的一个实施例,在生成根密钥之后,方法还包括:确定安全芯片的第二标识信息;对第二标识信息进行哈希运算得到哈希值;利用根密钥对哈希值加密得到第一校验数据,并将第一校验数据存储至安全芯片的保护区。
[0013] 根据本发明的一个实施例,在解密得到根密钥后,方法还包括:获取第二标识信息,并对第二标识信息进行哈希运算得到哈希值;利用解密后的根密钥对哈希值加密得到第二校验数据;根据第一校验数据和第二校验数据对解密后的根密钥进行安全校验。
[0014] 根据本发明的一个实施例,根据第一标识信息对第一根密钥分量进行处理得到中间密钥,包括:对第一标识信息和第一根密钥分量进行异或处理得到中间密钥。
[0015] 为达到上述目的,本发明第二方面实施例提出了一种密码卡,密码卡包括:安全芯片,用于响应于根密钥生成指令,生成根密钥和第一根密钥分量,并利用第一根密钥分量对根密钥加密得到第二根密钥分量,以及将第二根密钥分量存储至自身的保护区;时钟芯片,用于将第一根密钥分量存储至自身的RAM区;供电电源,用于给时钟芯片供电,并在密码卡被非法操作时停止给时钟芯片供电,以使时钟芯片的RAM区失电使得第一根密钥分量消失。
[0016] 根据本发明实施例的密码卡,通过对根密钥加密后存储至安全芯片的保护区,并通过将加密根密钥用的第一根密钥分量存储至时钟芯片的RAM区,这样即使密码卡被非法获取,由于密码卡被非法操作时,RAM区将失电使得第一根密钥分量消失,因而使得非法操作者无法对加密后的根密钥解密得到根密钥,从而实现了对根密钥的安全保护,避免了根密钥被非法获取导致由根密钥保护的用户密钥泄露,有效提升了密码卡的安全性。
[0017] 根据本发明的一个实施例,密码卡还包括:随机数芯片,用于生成第一随机数和第二随机数;安全芯片具体用于根据第一随机数生成根密钥,并根据第二随机数生成第一根密钥分量。
[0018] 根据本发明的一个实施例,安全芯片具体用于:确定自身的第一标识信息;根据第一标识信息对第一根密钥分量进行处理得到中间密钥;利用中间密钥对根密钥加密得到第二根密钥分量。
[0019] 根据本发明的一个实施例,安全芯片还用于:响应于根密钥恢复指令,获取第一标识信息,并从时钟芯片的RAM区获取第一根密钥分量,以及从自身的保护区获取第二根密钥分量;根据第一标识信息对第一根密钥分量进行处理得到中间密钥;利用中间密钥对第二根密钥分量解密得到根密钥。
[0020] 根据本发明的一个实施例,安全芯片还用于:确定安全芯片的第二标识信息;对第二标识信息进行哈希运算得到哈希值;利用根密钥对哈希值加密得到第一校验数据,并将第一校验数据存储至自身的保护区。
[0021] 根据本发明的一个实施例,安全芯片还用于:获取第二标识信息,并对第二标识信息进行哈希运算得到哈希值;利用解密后的根密钥对哈希值加密得到第二校验数据;根据第一校验数据和第二校验数据对解密后的根密钥进行安全校验。
[0022] 根据本发明的一个实施例,安全芯片具体用于:对第一标识信息和第一根密钥分量进行异或处理得到中间密钥。
[0023] 根据本发明的一个实施例,密码卡还包括:保护开关,保护开关用于在密码卡被非法操作时,控制供电电源停止给时钟芯片供电。
[0024] 为达到上述目的,本发明第三方面实施例提出了一种计算机可读存储介质,其上存储有密码卡的根密钥保护程序,该密码卡的根密钥保护程序被处理器执行时实现前述的密码卡的根密钥保护方法。
[0025] 根据本发明实施例的计算机可读存储介质,采用前述的密码卡的根密钥保护方法,通过对根密钥加密后存储至安全芯片的保护区,并通过将加密根密钥用的第一根密钥分量存储至时钟芯片的RAM区,这样即使密码卡被非法获取,由于密码卡被非法操作时,RAM区将失电使得第一根密钥分量消失,因而使得非法操作者无法对加密后的根密钥解密得到根密钥,从而实现了对根密钥的安全保护,避免了根密钥被非法获取导致由根密钥保护的用户密钥泄露,有效提升了密码卡的安全性。
[0026] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0027] 图1为根据本发明一个实施例的密码卡的根密钥保护方法的流程图;
[0028] 图2为根据本发明另一个实施例的密码卡的根密钥保护方法的流程图;
[0029] 图3为根据本发明一个实施例的密码卡的结构示意图;
[0030] 图4为根据本发明另一个实施例的密码卡的结构示意图。

具体实施方式

[0031] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0032] 下面参考附图描述本发明实施例提出的密码卡及其根密钥保护方法、计算机可读存储介质。
[0033] 图1为根据本发明一个实施例的密码卡的根密钥保护方法的流程图。参考图1所示,该密码卡的根密钥保护方法可包括以下步骤:
[0034] 步骤S11,响应于根密钥生成指令,生成根密钥和第一根密钥分量。
[0035] 步骤S12,利用第一根密钥分量对根密钥加密得到第二根密钥分量。
[0036] 步骤S13,将第二根密钥分量存储至安全芯片的保护区,并将第一根密钥分量存储至时钟芯片的RAM区,其中,在密码卡被非法操作时,RAM区失电使得第一根密钥分量消失。
[0037] 具体地,当需要生成根密钥时,可向密码卡发送根密钥生成指令。密码卡可以是mini(微型) PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)密码卡等,密码卡包括安全芯片和时钟芯片,安全芯片包括保护区,安全芯片可以采用专用密码芯片,作为密码卡的主控制器,在接收到根密钥生成指令时,生成根密钥和第一根密钥分量,并利用第一根密钥分量对根密钥加密得到第二根密钥分量,以及将第二根密钥分量存储至自身的保护区,同时将第一根密钥分量发送至时钟芯片。
[0038] 时钟芯片包括RAM(Random Access Memory,随机存取存储器)区,时钟芯片可以采用带有SRAM(Static Random‑Access Memory,静态随机存取存储器)区的RTC(Real_Time Clock,实时时钟)芯片等,并通过I2C(Inter‑Integrated Circuit,两线式串行总线)接口等与安全芯片相连。时钟芯片在接收到安全芯片发送的第一根密钥分量后,将第一根密钥分量储存至自身的RAM区,具体可以以掩码保护存放在自身的RAM区。
[0039] 需要说明的是,由于RAM区为易失性存储区,即在失电时,该区域内的信息将全部消失且不可恢复,因此通过对时钟芯片的供电设置,使得在密码卡被非法操作时,保证时钟芯片失电,从而使得RAM区失电,进而使得第一根密钥分量被消除,这样即使密码卡被非法操作,非法操作者也无法获得第一根密钥分量,从而无法利用第一根密钥分量对第二根密钥分量进行解密得到明文的根密钥,保证了根密钥的安全性,避免了根密钥被非法获取导致由根密钥保护的用户密钥泄露,从而有效提高了密码卡的安全性。
[0040] 例如,时钟芯片由电池供电,以维持其内容,同时在密码卡上设置销毁开关,该销毁开关的触发端设置在壳体上,该销毁开关的控制端设置在电池与时钟芯片的供电端之间,一旦销毁开关被触发,电池掉电,时钟芯片的RAM区中的内容消失,第一根密钥分量消失,从而使得非法操作者无法获得第一根密钥分量;或者,直接将密码卡的壳体与电池进行绑定等,一旦密码卡的壳体被打开,电池将被带出,从而使得电池停止给时钟芯片供电,时钟芯片的RAM区中的内容消失,第一根密钥分量消失,从而使得非法操作者无法获得第一根密钥分量。进一步的,当时钟芯片的供电恢复时,需要重新生成根密钥。
[0041] 上述实施例中,通过对根密钥加密后存储至安全芯片的保护区,并通过将加密根密钥用的第一根密钥分量存储至时钟芯片的RAM区,这样即使密码卡被非法获取,由于密码卡被非法操作时,RAM区将失电使得第一根密钥分量消失,因而使得非法操作者无法对加密后的根密钥解密得到根密钥,从而实现了对根密钥的安全保护,避免了根密钥被非法获取导致由根密钥保护的用户密钥泄露,有效提升了密码卡的安全性。
[0042] 在一些实施例中,生成根密钥和第一根密钥分量,包括:生成第一随机数和第二随机数;根据第一随机数生成根密钥,并根据第二随机数生成第一根密钥分量。
[0043] 具体来说,密码卡可包括随机数芯片,随机数芯片可采用物理噪声源芯片,该随机数芯片可通过GPIO(General Purpose Input Output,通用输入输出口)接口与安全芯片相连,为安全芯片提供可靠的随机数。安全芯片在接收到根密钥生成指令后,可发送随机数生成指令至随机数芯片,由随机数芯片生成第一随机数和第二随机数,并反馈至安全芯片,安全芯片根据第一随机数生成根密钥,并根据第二随机数生成第一根密钥分量。作为一个具体示例,随机数芯片可生成一个16字节的第一随机数和一个16字节的第二随机数,安全芯片可直接将16字节的第一随机数作为根密钥,并将16字节的第二随机数作为第一根密钥分量,以及将第一根密钥分量保存至时钟芯片的RAM区。
[0044] 上述实施例中,通过随机数芯片生成随机数,配合安全芯片实现了根密钥和第一根密钥分量的生成,以便将第一根密钥分量存储至时钟芯片的RAM区,进而实现对根密钥的安全保护。需要说明的是,也可以采用安全芯片生成随机数,具体这里不做限制。
[0045] 在一些实施例中,利用第一根密钥分量对根密钥加密得到第二根密钥分量,包括:确定安全芯片的第一标识信息;根据第一标识信息对第一根密钥分量进行处理得到中间密钥;利用中间密钥对根密钥加密得到第二根密钥分量。
[0046] 具体地,在利用第一根密钥分量对根密钥加密时,安全芯片可先获取自身的第一标识信息,例如,第一标识信息可以是安全芯片的唯一标识码UID;然后根据第一标识信息对第一根密钥分量进行处理得到中间密钥,例如,安全芯片将自身的唯一标识码UID与第一根密钥分量进行异或运算得到中间密钥;最后利用中间密钥对根密钥加密得到第二根密钥分量,例如,安全芯片采用国密SM4算法,利用中间密钥对根密钥进行加密得到第二根密钥分量,并将第二根密钥分量存储至自身的保护区,从而使得根密钥以密文的形式保存在安全芯片的保护区,保证了根密钥存储的安全性。
[0047] 上述实施例中,通过利用安全芯片的第一标识信息对第一根密钥分量处理后得到中间密钥,利用中间密钥对根密钥加密获得第二根密钥分量,相比于直接通过第一根密钥分量对根密钥加密的方式,使得生成的第二根密钥的安全性更高,即根密钥的密文的安全性更高,从而使得通过非法操作获取根密钥的难度更大,进一步提高了根密钥的的安全性。
[0048] 在一些实施例中,参考图2所示,密码卡的根密钥保护方法还可包括:
[0049] 步骤S21,响应于根密钥恢复指令,获取第一标识信息,并从时钟芯片的RAM区获取第一根密钥分量,以及从安全芯片的保护区获取第二根密钥分量。
[0050] 步骤S22,根据第一标识信息对第一根密钥分量进行处理得到中间密钥。
[0051] 步骤S23,利用中间密钥对第二根密钥分量解密得到根密钥。
[0052] 具体来说,当需要使用根密钥时,需要对根密钥进行恢复,此时可向密码卡发送根密钥恢复指令。密码卡的安全芯片在接收到根密钥恢复指令后,获取自身的第一标识信息,例如,第一标识信息可以是安全芯片的唯一标识码UID,并从时钟芯片的RAM区读取第一根密钥分量,同时从自身的保护区读取第二根密钥分量;然后根据第一标识信息对第一根密钥分量进行处理得到中间密钥,例如,安全芯片将自身的唯一标识码UID与第一根密钥分量进行异或运算得到中间密钥;最后利用中间密钥对第二根密钥分量解密得到根密钥,例如,安全芯片采用国密SM4算法,利用中间密钥对第二根密钥分量进行解密得到根密钥。
[0053] 由此,实现了根密钥的恢复,使密码卡在需要使用根密钥时能够按恢复指令恢复根密钥,以执行根密钥使用流程,从而使根密钥保护功能不影响根密钥的正常使用。
[0054] 在一些实施例中,在生成根密钥之后,密码卡的根密钥保护方法还可包括:确定安全芯片的第二标识信息;对第二标识信息进行哈希运算得到哈希值;利用根密钥对哈希值加密得到第一校验数据,并将第一校验数据存储至安全芯片的保护区。
[0055] 进一步的,在解密得到根密钥后,密码卡的根密钥保护方法还可包括:获取第二标识信息,并对第二标识信息进行哈希运算得到哈希值;利用解密后的根密钥对哈希值加密得到第二校验数据;根据第一校验数据和第二校验数据对解密后的根密钥进行安全校验。
[0056] 需要说明的是,在生成根密钥时,还可生成校验数据,以在根密钥恢复时,通过该校验数据对恢复的根密钥进行安全校验,保证解密后的根密钥的安全性。
[0057] 具体来说,安全芯片在生成根密钥后,还获取自身的第二标识信息,例如,第二标识信息可以是安全芯片的序列号;然后对第二标识信息进行哈希运算得到哈希值,例如,安全芯片可以采用国密SM3算法对自身的序列号进行哈希运算得到哈希值;最后利用根密钥对哈希值加密得到第一校验数据,例如,安全芯片采用国密SM4算法,利用根密钥对哈希值进行加密得到第一校验数据,并存储至安全芯片的保护区。
[0058] 进一步的,安全芯片在解密获得根密钥后,还获取自身的第二标识信息,例如,第二标识信息可以是安全芯片的序列号;然后对第二标识信息进行哈希运算得到哈希值,例如,安全芯片可以采用国密SM3算法对自身的序列号进行哈希运算得到哈希值;接着利用解密后的根密钥对哈希值加密得到第二校验数据,例如,安全芯片采用国密SM4算法,利用解密后的根密钥对哈希值进行加密得到第二校验数据;最后安全芯片从自身的保护区获取第一校验数据,并将第一校验数据和第二校验数据进行比较,以确定两者是否一致,若一致,说明解密后的根密钥与生成的根密钥相同,此时允许使用解密后的根密钥执行后续的应用流程,若不一致,认为解密后的根密钥可能被篡改,此时可直接关闭密码卡,避免因根密钥被非法篡改导致用户密钥泄露等,给用户造成损失。
[0059] 上述实施例中,通过对解密后的根密钥进行安全校验,可以确保恢复的根密钥的安全性,避免因根密钥被非法篡改导致用户密钥泄露等,给用户造成损失。
[0060] 综上所述,根据本发明实施例的密码卡的根密钥保护方法,通过生成第一根密钥分量,利用该分量对根密钥加密生成第二根密钥分量,并将两个分量分别存储于时钟芯片和安全芯片中,只在使用根密钥时才从安全芯片中恢复,一旦密码卡被非法操作如强行拆卸,存储于时钟芯片的RAM区的第一根密钥分量就会消失,从而使得非法操作者无法对第二根密钥分量解密得到根密钥,保证了密码卡的根密钥不会被强行获取,提高了密码卡的安全性。
[0061] 图3为根据本发明一个实施例的密码卡的结构示意图,参考图3所示,该密码卡100包括:安全芯片110、时钟芯片120和供电电源130。
[0062] 其中,安全芯片110用于响应于根密钥生成指令,生成根密钥和第一根密钥分量,并利用第一根密钥分量对根密钥加密得到第二根密钥分量,以及将第二根密钥分量存储至自身的保护区;时钟芯片120用于将第一根密钥分量存储至自身的RAM区;供电电源130用于给时钟芯片供电,并在密码卡被非法操作时停止给时钟芯片供电,以使时钟芯片120的RAM区失电使得第一根密钥分量消失。
[0063] 根据本发明的一个实施例,参考图4所示,密码卡100还包括:随机数芯片140,用于生成第一随机数和第二随机数;安全芯片110具体用于根据第一随机数生成根密钥,并根据第二随机数生成第一根密钥分量。
[0064] 根据本发明的一个实施例,安全芯片110具体用于:确定自身的第一标识信息;根据第一标识信息对第一根密钥分量进行处理得到中间密钥;利用中间密钥对根密钥加密得到第二根密钥分量。
[0065] 根据本发明的一个实施例,安全芯片110还用于:响应于根密钥恢复指令,获取第一标识信息,并从时钟芯片120的RAM区获取第一根密钥分量,以及从自身的保护区获取第二根密钥分量;根据第一标识信息对第一根密钥分量进行处理得到中间密钥;利用中间密钥对第二根密钥分量解密得到根密钥。
[0066] 根据本发明的一个实施例,安全芯片110还用于:确定安全芯片110的第二标识信息;对第二标识信息进行哈希运算得到哈希值;利用根密钥对哈希值加密得到第一校验数据,并将第一校验数据存储至自身的保护区。
[0067] 根据本发明的一个实施例,安全芯片110还用于:获取第二标识信息,并对第二标识信息进行哈希运算得到哈希值;利用解密后的根密钥对哈希值加密得到第二校验数据;根据第一校验数据和第二校验数据对解密后的根密钥进行安全校验。
[0068] 根据本发明的一个实施例,安全芯片110具体用于:对第一标识信息和第一根密钥分量进行异或处理得到中间密钥。
[0069] 根据本发明的一个实施例,参考图4所示,密码卡100还包括:保护开关150,保护开关150用于在密码卡被非法操作时,控制供电电源130停止给时钟芯片120供电。
[0070] 需要说明的是,关于本申请中密码卡的描述,请参考本申请中关于密码卡的根密钥保护方法的描述,具体这里不再赘述。
[0071] 根据本发明实施例的密码卡,通过对根密钥加密后存储至安全芯片的保护区,并通过将加密根密钥用的第一根密钥分量存储至时钟芯片的RAM区,这样即使密码卡被非法获取,由于密码卡被非法操作时,RAM区将失电使得第一根密钥分量消失,因而使得非法操作者无法对加密后的根密钥解密得到根密钥,从而实现了对根密钥的安全保护,避免了根密钥被非法获取导致由根密钥保护的用户密钥泄露,有效提升了密码卡的安全性。
[0072] 在一些实施例中,还提供一种计算机可读存储介质,其上存储有密码卡的根密钥保护程序,该密码卡的根密钥保护程序被处理器执行时实现前述的密码卡的根密钥保护方法。
[0073] 根据本发明实施例的计算机可读存储介质,采用前述的密码卡的根密钥保护方法,通过对根密钥加密后存储至安全芯片的保护区,并通过将加密根密钥用的第一根密钥分量存储至时钟芯片的RAM区,这样即使密码卡被非法获取,由于密码卡被非法操作时,RAM区将失电使得第一根密钥分量消失,因而使得非法操作者无法对加密后的根密钥解密得到根密钥,从而实现了对根密钥的安全保护,避免了根密钥被非法获取导致由根密钥保护的用户密钥泄露,有效提升了密码卡的安全性。
[0074] 需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0075] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0076] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0077] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。