一种多芯片密钥管理系统的制作方法

文档序号:33150140发布日期:2023-02-03 22:40阅读:33来源:国知局
一种多芯片密钥管理系统的制作方法

1.本发明涉及密钥管理技术领域,更具体的说是涉及一种多芯片密钥管理系统。


背景技术:

2.当前多硬件密码模块并行的方案中各硬件密码模块是相对独立的个体,各硬件密码模块拥有各自的密钥存储模块、密码运算模块、密码通讯模块等等,相关硬件资源不能在同一个边界内进行统一的管理。
3.比如:密码模块1产生一个sm9密钥对并存储在密码模块1中,那么密码运算时其他密码模块怎么使用该sm9密钥对进行密码运算呢。这势必需要操作系统介入,产生密钥时将该sm9密钥从密码模块1导出再导入其他密码模块。操作系统介入密钥管理后,密钥会以明文或密文形式出现的操作系统内存中,容易导致密钥泄露。
4.本发明提供了一种安全的多芯片密钥管理系统,各密钥存储模块、密码运算模块、密码通讯模块等硬件资源均在同一边界内部进行统一管理,密钥的产生、密钥的应用均在密码模块内部进行。


技术实现要素:

5.有鉴于此,本发明提供了一种多芯片密钥管理系统,能够大大提升密码算法运算性能的同时保护密钥的安全性。
6.为了实现上述目的,本发明采用如下技术方案:一种多芯片密钥管理系统,包括:多芯密码模块,多芯密码模块包括n个芯片、双随机数模块和密码通讯模块,n个所述芯片、所述双随机数模块和所述密码通讯模块均封装在一个外壳内,n≥2;所述双随机数模块用于生成并为各芯片提供随机数;所述密码通讯模块用于实现多芯片间通讯;n个所述芯片均包括主控模块、密码运算模块、第一存储模块、第二存储模块、第一通讯模块和第二通讯模块,所述主控模块和所述双随机数模块连接,用于控制所述双随机数模块生成随机数,并基于随机数和所述密码运算模块生成密钥;所述第一存储模块与所述主控模块连接,用于存储自身密钥;所述第二存储模块与所述主控模块连接,用于存储各芯片间交换的密钥;所述第一通讯模块与所述密码通讯模块连接,用于与所述密码通讯模块进行对外通讯;所述第二通讯模块与其它n-1个芯片的第二通讯模块连接,用于各芯片间信息、数据交换;所述密码运算模块和所述主控模块连接,用于提供密钥运算功能。
7.优选地,还包括多芯密钥串联模块,所述多芯密钥串联模块与所述主控模块连接,
用于控制生成n*m个密钥,并基于设定的顺序依次为n个芯片分配不同的密钥。
8.优选地,还包括多芯密钥联动模块,所述多芯密钥联动模块与所述主控模块连接,用于控制生成m个密钥,并将m个密钥同时共享至n个芯片。
9.优选地,还包括多芯密钥协同模块,所述多芯密钥协同模块与所述主控模块连接,用于控制生成n*m个密钥,基于设定的顺序依次为n个芯片分配不同的密钥,并控制n个芯片之间交换密钥。
10.经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种多芯片密钥管理系统,能够大大提升密码算法运算性能的同时保护密钥的安全性。
附图说明
11.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
12.图1为本发明提供的一种多芯片密钥管理系统原理框图。
具体实施方式
13.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
14.本发明实施例公开了一种多芯片密钥管理系统,如图1所示,包括:多芯密码模块,多芯密码模块包括n个芯片、双随机数模块和密码通讯模块,n个芯片、双随机数模块和密码通讯模块均封装在一个外壳内,在本实施例中,n=3;双随机数模块用于生成并为3个芯片提供随机数;密码通讯模块用于实现多芯片间通讯;3个芯片均包括主控模块、密码运算模块、第一存储模块、第二存储模块、第一通讯模块和第二通讯模块,主控模块和双随机数模块连接,用于控制双随机数模块生成随机数,并基于随机数和密码运算模块生成密钥;第一存储模块与主控模块连接,用于存储自身密钥;第二存储模块与主控模块连接,用于存储各芯片间交换的密钥;第一通讯模块与密码通讯模块连接,用于与密码通讯模块进行对外通讯;第二通讯模块与其它2个芯片的第二通讯模块连接,用于各芯片间信息、数据交换;密码运算模块和主控模块连接,用于提供密钥运算功能。
15.在本实施例中,还包括多芯密钥串联模块,所述多芯密钥串联模块与所述主控模块连接,用于控制生成n*m个密钥,并基于设定的顺序依次为n个芯片分配不同的密钥。密钥数m与芯片自身存储空间有关系,m>0。
16.具体的,3个芯片拥有各自的第一存储模块,假设第一存储模块中的密钥存储区容量能够存储1024个密钥。产生密钥时多芯密钥串联模块能够解析密钥号,统一管理存储资源将密钥均匀分布,密钥应用时实现密钥自动扩展。该模块实施后,若每一芯片都存储了1024个密钥,则系统密钥容量为3072个且各密钥均匀分布,密码运算的性能没有扩展。
17.在本实施例中,还包括多芯密钥联动模块,所述多芯密钥联动模块与所述主控模块连接,用于控制生成m个密钥,并将m个密钥同时共享至n个芯片。
18.具体的,3个芯片拥有各自的第一存储模块,假设第一存储模块中的密钥存储区容量能够存储1024个密钥。产生密钥时多芯密钥联动模块将密钥共享分布至各芯片的第一存储模块,密码运算过程中各芯片联动提供密码运算支撑。多芯密钥联动模块支持共享纠错机制,当某一芯片第一存储模块损坏时能及时同步密钥,确保各芯片第一存储模块密钥的正确性。该模块实施后,各芯片密钥容量为1024,且各密钥共享分布,多个芯片都能提供密钥号为1-1024的密码运算,例如,密钥串联模式下,假设用其中一个芯片的1号密钥运算,其他两个芯片没有该1号密钥,只有一个芯片存储了该1号密钥,所以运算时性能是1倍,联动模式下,3个芯片都有同样的1号密钥,用1号密钥运算时,3个芯片都能工作,所以密码运算性能是多芯片密钥串联模式的3倍。
19.在本实施例中,还包括多芯密钥协同模块,所述多芯密钥协同模块与所述主控模块连接,用于控制生成n*m个密钥,基于设定的顺序依次为n个芯片分配不同的密钥,并在使用密钥时控制n个芯片之间交换密钥。
20.具体的,3个芯片拥有各自的第一存储模块,假设第一存储模块中的密钥存储区容量能够存储1024个密钥。产生密钥时,多芯密钥协同模块采用设定的顺序依次为n个芯片分配不同的密钥,并在使用密钥时控制n个芯片之间交换密钥。使用密钥过程中,多芯密钥协同模块采用密钥预加载机制。多芯密钥协同模块能够统计当前业务使用的密钥号以及下一笔业务使用的密钥号。若下一笔待运算的密钥由芯片1管理,则芯片1将第一存储模块的密钥同步到第二存储模块并借助第二通讯模块将该密钥推送至其他芯片的第二存储模块。各芯片执行下一笔运算所需要的密钥共享在第二存储模块中,进而实现密钥协同分布。该模块实施后,多芯密码模块的密钥容量为多芯密钥联动模块3倍,密码运算性能是多芯片密钥串联模式的3倍。
21.本发明设计了多芯密钥串联模块、多芯密钥联动模块、多芯密钥协同模块,实现密钥的均匀分布、共享分布以及协同分布。基于上述模块,在多芯密码模块内部密钥可以扩展、共享以及交换,确保密钥安全的前提下达到扩展密钥数量、提升并行密码运算性能等效果。解决了多硬件密码模块并行方案产生密钥过程中密钥可能外泄的风险,解决了多硬件密码模块并行方案各密码模块密钥不能扩展、共享的问题,解决软硬结合方案密钥出现的主机内存的问题。其中,多芯密钥串联模块、多芯密钥联动模块和多芯密钥协同模块根据实际需求进行相应设置,属于并列的三种技术方案。
22.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
23.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1