分级密钥管理方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:37507785 阅读:21 留言:0更新日期:2023-05-07 09:45
本申请涉及一种分级密钥管理方法、装置、计算机设备、存储介质。所述方法包括:获取主密钥,将主密钥拆分成两组主密钥分量,清除芯片内存中的主密钥明文;分别对两组主密钥分量进行加密,对应生成第一组主密钥分量密文、第二组主密钥分量密文,将第一组主密钥分量密文存储到芯片内部快速存储器中,将第二组主密钥分量密文存储到电池保电安全存储区中;在检测到生成密钥保护密钥的指令时,生成密钥保护密钥并对其加密得到密钥保护密钥的密文,将密钥保护密钥的密文存储在芯片内部快速存储器内;在检测到生成会话密钥的指令时,解密密钥保护密钥的密文,基于解密得到的密钥保护密钥生成对应的会话密钥。采用本方法能够提高密钥的安全性。性。性。

【技术实现步骤摘要】
分级密钥管理方法、装置、计算机设备和存储介质


[0001]本申请涉及嵌入式
,特别是涉及一种分级密钥管理方法、装置、计算机设备和存储介质。

技术介绍

[0002]随着用户对数据隐私的注重程度提高,用户对数据加密的安全性也越来越重视。在现有密码设备中通常采用三级密钥管理体系,包括主密钥、密钥保护密钥、会话密钥。其中,主密钥需要人工装入,密钥保护密钥、会话密钥均可以由密钥管理系统按照协议进行自动地安装、更换、撤销,因此,主密钥的保密性尤为关键。
[0003]在现有技术中,一般使用知识拆分算法将主密钥分散成多个密钥分量,并分散存储在内存中,使用时读取各密钥分量后生成主密钥;或者将主密钥分量存储到外部UKEY中。因密钥分量没有经过加密存储,存在泄漏的风险,且使用过程中主密钥明文也存储于内存中,存在被软件或者其他攻击手段探知的风险。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够提高主密钥保密性的分级密钥管理方法、装置、计算机设备和存储介质。
[0005]第一方面,本申请提供了一种分级密钥管理方法。所述方法包括:
[0006]获取主密钥,将主密钥拆分成第一组主密钥分量和第二组主密钥分量,清除芯片内存中的主密钥明文;
[0007]分别对第一组主密钥分量和第二组主密钥分量进行加密,对应生成第一组主密钥分量密文、第二组主密钥分量密文,将第一组主密钥分量密文存储到芯片内部快速存储器中,将第二组主密钥分量密文存储到电池保电安全存储区中,电池保电安全存储区与芯片通过串行外设接口相连接;
[0008]在检测到生成密钥保护密钥的指令时,生成密钥保护密钥,通过第一组主密钥分量密文、第二组主密钥分量密文对密钥保护密钥进行加密,得到密钥保护密钥的密文,将密钥保护密钥的密文存储在芯片内部快速存储器内;
[0009]在检测到生成会话密钥的指令时,解密密钥保护密钥的密文,基于解密得到的密钥保护密钥生成对应的会话密钥
[0010]其中,第二组主密钥分量密文存储到电池保电安全存储区后,当被攻击时,调用安全销毁机制将存储在芯片内存中的主密钥密文和存储在电池保电安全存储区的第二组主密钥分量密文销毁。
[0011]在其中一个实施例中,分别对第一组主密钥分量和第二组主密钥分量进行加密,对应生成第一组主密钥分量密文、第二组主密钥分量密文,将第一组主密钥分量密文存储到芯片内部快速存储器中,将第二组主密钥分量密文存储到电池保电安全存储区中,包括:
[0012]获取随机数生成器生成的随机数,并将其作为数据加密密钥;
[0013]基于数据加密密钥,分别对第一组主密钥分量和第二组主密钥分量通过国密算法进行加密,对应得到第一组主密钥分量密文、第二组主密钥分量密文;
[0014]对数据加密密钥进行加密,得到加密密钥块,将第一组主密钥分量密文与加密密钥块相邻存储到芯片内部快速存储器中,将第二组主密钥分量密文与加密密钥块相邻存储到电池保电安全存储区中,其中,加密密钥块用于获取数据加密密钥以解密主密钥分量密文。
[0015]在其中一个实施例中,生成密钥保护密钥,通过第一组主密钥分量密文、第二组主密钥分量密文对密钥保护密钥进行加密,得到密钥保护密钥的密文,包括:
[0016]调用安全算法引擎模块和随机数生成器生成密钥保护密钥,密钥保护密钥包括加密密钥公私钥对和签名密钥公私钥对;
[0017]读取第一组主密钥分量密文、第二组主密钥分量密文到芯片内的安全算法引擎模块,在安全算法引擎模块内对加密密钥块进行解密得到数据加密密钥;获取密钥解密密钥;基于密钥解密密钥,在安全算法引擎模块中对加密密钥块进行解密,得到数据加密密钥;基于数据加密密钥,在安全算法引擎模块中分别对第一组主密钥分量密文、第二组主密钥分量密文进行解密,对应得到两组主密钥分量的明文,并基于两组主密钥分量的明文恢复得到主密钥;
[0018]基于主密钥以及黑盒密钥机制对密钥保护密钥进行加密,得到密钥保护密钥的密文;
[0019]获取芯片的第一存储器存储的内存存储密钥;内存存储密钥在每次芯片上电后通过随机数生成器生成并存储在第一存储器中,第一存储器为软件不可访问的寄存器;基于国密算法,在安全算法引擎模块中对主密钥通过内存存储密钥进行加密,得到主密钥内存密文,将主密钥内存密文存储到芯片内存中,并清除安全芯片内存中的主密钥的明文。
[0020]在其中一个实施例中,基于密钥保护密钥的密文,生成会话密钥,包括:
[0021]读取芯片内部快速存储器中密钥保护密钥的密文;
[0022]读取第一组主密钥分量密文、第二组主密钥分量密文到芯片内的安全算法引擎模块,在安全算法引擎模块内通过加密密钥块分别对读取到的两组主密钥分量密文进行解密,对应得到两组主密钥分量的明文;基于两组主密钥分量的明文,在安全算法引擎模块中恢复得到主密钥;
[0023]在安全算法引擎模块中通过主密钥对密钥保护密钥的公钥的密文进行解密,得到密钥保护密钥的公钥,将密钥保护密钥的公钥发送给服务器,并清除安全芯片内存中密钥保护密钥的公钥明文;
[0024]获取服务器端生成的对应的会话密钥密文;
[0025]在安全算法引擎模块中通过主密钥对密钥保护密钥的私钥的密文进行解密,得到密钥保护密钥的私钥,通过密钥保护密钥的私钥解密会话密钥密文,得到会话密钥,清除安全芯片内存中密钥保护密钥的私钥的明文。
[0026]在其中一个实施例中,生成密钥保护密钥后,还包括:
[0027]当获得预设的密钥备份权限时,调用随机数发生器生成备份密钥;预设的密钥备份权限是在基于用户管理工具登录,且登录的管理员数量大于所有管理员数量的一半时获得;
[0028]将备份密钥拆分成多组备份密钥分量,将多组备份密钥分量分别存储至多个当前登录的管理员对应的身份认证存储设备,其中,备份密钥分量的组数与基于用户管理工具登陆的管理员数量一致;以及,
[0029]通过黑盒密钥机制对备份密钥加密,得到备份密钥的密文,将备份密钥的密文存储在芯片内存中,并清除芯片内存中备份密钥的明文;通过备份密钥的密文分别对第一组主密钥分量、第二组主密钥分量和存储在芯片内部快速存储器上的密钥保护密钥的密文加密后导出至上位机中以备份。
[0030]在其中一个实施例中,通过备份密钥的密文分别对第一组主密钥分量、第二组主密钥分量和存储在芯片内部快速存储器上的密钥保护密钥加密后导出至上位机中以备份后,还包括:
[0031]在进行备份恢复的情况下,读取多个管理员的身份认证存储设备中的备份密钥分量,在安全算法引擎模块中通过知识拆分算法恢复备份密钥;通过黑盒密钥机制对备份密钥进行加密,将加密后的备份密钥存储到芯片内存,清除安全芯片内存中的备份密钥的明文;以及,
[0032]读取备份到上位机中的第一组主密钥分量的密文、第二组主密钥分量的密文以及备份密钥的密文到安全算法引擎模块中,通过备份密钥的密文,分别对安全算法引擎模块中的第一组主密钥分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分级密钥管理方法,其特征在于,所述方法包括:获取主密钥,将所述主密钥拆分成第一组主密钥分量和第二组主密钥分量,清除芯片内存中的主密钥明文;分别对所述第一组主密钥分量和所述第二组主密钥分量进行加密,对应生成第一组主密钥分量密文、第二组主密钥分量密文,将所述第一组主密钥分量密文存储到芯片内部快速存储器中,将所述第二组主密钥分量密文存储到电池保电安全存储区中,所述电池保电安全存储区与所述芯片通过串行外设接口相连接;在检测到生成密钥保护密钥的指令时,生成密钥保护密钥,通过所述第一组主密钥分量密文、所述第二组主密钥分量密文对所述密钥保护密钥进行加密,得到所述密钥保护密钥的密文,将所述密钥保护密钥的密文存储在所述芯片内部快速存储器内;在检测到生成会话密钥的指令时,解密所述密钥保护密钥的密文,基于解密得到的密钥保护密钥生成对应的会话密钥;其中,所述第二组主密钥分量密文存储到电池保电安全存储区后,当被攻击时,调用安全销毁机制将存储在芯片内存中的所述主密钥密文和存储在电池保电安全存储区的所述第二组主密钥分量密文销毁。2.根据权利要求1所述的方法,其特征在于,所述分别对所述第一组主密钥分量和所述第二组主密钥分量进行加密,对应生成第一组主密钥分量密文、第二组主密钥分量密文,将所述第一组主密钥分量密文存储到芯片内部快速存储器中,将所述第二组主密钥分量密文存储到芯片电池保电安全存储区中,包括:获取随机数生成器生成的随机数,并将其作为数据加密密钥;基于所述数据加密密钥,分别对所述第一组主密钥分量和所述第二组主密钥分量通过国密算法进行加密,对应得到第一组主密钥分量密文、第二组主密钥分量密文;对所述数据加密密钥进行加密,得到加密密钥块,将所述第一组主密钥分量密文与所述加密密钥块相邻存储到所述芯片内部快速存储器中,将所述第二组主密钥分量密文与所述加密密钥块相邻存储到电池保电安全存储区中,其中,所述加密密钥块用于获取所述数据加密密钥以解密主密钥分量密文。3.根据权利要求2所述的方法,其特征在于,所述生成密钥保护密钥,通过所述第一组主密钥分量密文、所述第二组主密钥分量密文对所述密钥保护密钥进行加密,得到所述密钥保护密钥的密文,包括:调用安全算法引擎模块和随机数生成器生成密钥保护密钥,所述密钥保护密钥包括加密密钥公私钥对和签名密钥公私钥对;读取所述第一组主密钥分量密文、所述第二组主密钥分量密文到芯片内的安全算法引擎模块,在所述安全算法引擎模块内对所述加密密钥块进行解密得到所述数据加密密钥;获取密钥解密密钥;基于所述密钥解密密钥,在所述安全算法引擎模块中对所述加密密钥块进行解密,得到所述数据加密密钥;基于所述数据加密密钥,在所述安全算法引擎模块中分别对所述第一组主密钥分量密文、所述第二组主密钥分量密文进行解密,对应得到两组所述主密钥分量的明文,并基于两组所述主密钥分量的明文恢复得到所述主密钥;基于所述主密钥以及黑盒密钥机制对所述密钥保护密钥进行加密,得到所述密钥保护密钥的密文;
获取芯片的第一存储器存储的内存存储密钥;所述内存存储密钥在每次芯片上电后通过随机数生成器生成并存储在第一存储器中,所述第一存储器为软件不可访问的寄存器;基于国密算法,在所述安全算法引擎模块中对所述主密钥通过所述内存存储密钥进行加密,得到主密钥内存密文,将所述主密钥内存密文存储到芯片内存中,并清除所述安全芯片内存中的所述主密钥的明文。4.根据权利要求3所述的方法,其特征在于,所述基于所述密钥保护密钥的密文,生成会话密钥,包括:读取芯片内部快速存储器中所述密钥保护密钥的密文;读取所述第一组主密钥分量密文、所述第二组主密钥分量密文到芯片内的安全算法引擎模块,在所述安全算法引擎模块内通过所述加密密钥块分别对读取到的两组主密钥分量密文进行解密,对应得到两组所述主密钥分量的明文;基于两组所述主密钥分量的明文,在所述安全算法引擎模块中恢复得到所述主密钥;在所述安全算法引擎模块中通过所述主密钥对所述密钥保护密钥的公钥的密文进行解密,得到所述密钥保护密钥的公钥,将所述密钥保护密钥的公钥发送给服务器,并清除所述安全芯片内存中所述密钥保护密钥的公钥明文;获取服...

【专利技术属性】
技术研发人员:肖佐楠郑茳李玲勇匡启和王廷平
申请(专利权)人:苏州国芯科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1