System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 安全存储密钥制造技术_技高网

安全存储密钥制造技术

技术编号:40920402 阅读:2 留言:0更新日期:2024-04-18 14:45
一种分布式存储密钥(11)的方法包括生成多个密钥组件,其中每个密钥组件由不同的计算设备或飞地(41、42;53、54)生成。所述密钥组件适合处理依赖于所有密钥组件而生成的密钥。所述方法包括在秘密共享生成过程(13、14;20、21)中处理第一密钥组件以生成多个份额,使得第一密钥组件可以从至少预定阈值大小的份额的任何子集中重构。所述方法进一步包括在第一存储区(43、44、45、46、47;55、56、57、58)中存储第一份额,并在第二存储区(43、44、45、46、47;55、56、57、58)中存储第二份额。

【技术实现步骤摘要】
【国外来华专利技术】


技术介绍


技术实现思路

1、第一方面,本专利技术提供了一种用于分布式存储密钥的方法,所述方法包括:

2、生成多个密钥组件,所述密钥组件是适用于在密钥组装过程中处理的各个值,以生成一个值取决于所有多个密钥组件的密钥;

3、在秘密共享生成过程中,处理多个密钥组件中的第一密钥组件,以生成第一密钥组件的多个份额,使得可以使用相应的秘密共享重构过程,从至少一个预定阈值大小的份额子集中重构第一密钥组件,所述阈值小于份额数量;

4、将多个份额中的第一份额存储在第一存储区中;以及

5、将多个份额中的第二份额存储在第二存储区中。

6、第二方面,本专利技术提供了一种用于分布式存储密钥的系统,所述系统包括一个密钥组件生成装置,配置为:

7、生成多个密钥组件,所述密钥组件是适用于在密钥组装过程中处理的各个值,以生成一个值取决于所有多个密钥组件的密钥;

8、在秘密共享生成过程中,处理多个密钥组件中的第一密钥组件,以生成第一密钥组件的多个份额,使得可以使用相应的秘密共享重构过程,从至少一个预定阈值大小的份额子集中重构第一密钥组件,所述阈值小于份额数量;

9、将多个份额中的第一份额输出存储到第一存储区中;以及

10、将多个份额中的第二份额输出存储到第二存储区中。

11、第三方面,本专利技术提供了计算机软件以及存储所述软件的暂时或非暂时存储介质,其中包括指令,当在计算处理系统上执行指令时,使得计算处理系统执行以下操作:

12、生成多个密钥组件,所述密钥组件是适用于在密钥组装过程中处理的各个值,以生成一个值取决于所有多个密钥组件的密钥;

13、在秘密共享生成过程中,处理多个密钥组件中的第一密钥组件,以生成第一密钥组件的多个份额,使得可以使用相应的秘密共享重构过程,从至少一个预定阈值大小的份额子集中重构第一密钥组件,所述阈值小于份额数量;

14、将多个份额中的第一份额输出存储到第一存储区中;以及

15、将多个份额中的第二份额输出存储到第二存储区中。

16、因此,根据本专利技术实施例可以看出,密钥是由密钥各个组件的若干份额来表示,而不是直接共享完整密钥,并且这些份额存储在各自存储区中。通过这种方式,即使攻击者设法破坏了超过阈值数量的份额,通常来说,这可能仍不足以让攻击者构造出密钥,因为攻击者可能仍然无法重构生成密钥所需的所有密钥组件。

17、通过考虑一个简单的例子来理解。假设一个密钥依赖于10个密钥组件,使用阈值为t的秘密共享生成过程将每个密钥组件分成10个份额,对于重构需要5个份额(t=5)。即使攻击者设法破坏了100个份额中的50个份额,密钥仍将保持安全,除非攻击者例外地设法破坏了10个密钥组件中每个组件的5个份额。更有可能的情况是,如果攻击者破坏了5个密钥组件中每个组件的8个份额,以及剩余5个密钥组件中每个组件的2个份额,则攻击者将没有足够的信息来重构剩下的5个密钥组件,因此无法生成密钥,因为密钥取决于所有10个密钥组件。相比之下,如果通过应用秘密共享过程天真地将完整的密钥直接分为100个份额,阈值t=50,那么破坏100个份额中任何50个份额的子集都将使攻击者能够确定密钥。

18、多个密钥组件优选地彼此独立地生成。在优选实施例中,每个密钥组件由不同的计算设备或飞地生成。

19、应理解的是,本文公开的方法不需要集中生成密钥,然后将其拆分为多个组件,而是能够以分布式方式生成代表密钥的所有数据(即密钥组件和相应的份额)。这有助于在生成密钥组件和共享的过程中不需要将整个密钥保存在任何单个位置,保护密钥生成和存储过程免受攻击。

20、秘密共享生成过程可以包括shamir秘密共享、blakley秘密共享,或者基于中国剩余定理或任何其他适当的算法。在一组优选实施例中,使用shamir秘密共享处理第一密钥组件以生成多个份额。

21、第一份额优选地不存储在第二存储区中,第二份额优选地不存储在第一存储区中。这有助于确保任何一个存储区的受损都不足以让攻击者确定第一密钥组件。

22、第一密钥组件的份额可以是任意数量,例如5、10、50、100或更多。阈值可以有任何值,例如3、5、10、50或更多。阈值优选地大于1。第一密钥组件的多个份额中的每一个可以存储在多个存储区的各自存储区中,或输出以供存储。在一些实施例中,第一密钥组件的任何两个份额都不会存储或输出以供存储在同一个存储区中。

23、多个密钥组件中的一个或多个,或者每个额外密钥组件,可能会在各自秘密共享生成过程中进行处理,以生成所述额外密钥组件的相应多个份额。相同的秘密共享生成过程可以应用于每个密钥组件(尽管可以使用此过程的不同实例,例如在不同的处理器上执行)。秘密共享生成过程可以从包含至少相应的预定阈值数量份额的密钥组件的任何子集中重构每个密钥组件。每个这样的额外密钥组件的至少第一以及第二份额,或所有份额,可能分别存储在不同的存储区中。

24、所述系统可能包括第一和第二存储区,也可能包括多个存储区。每个存储区可能由存储介质提供,例如磁盘或固态硬盘。所述存储区可能由各自的计算设备提供。

25、在一些实施例中,至少两个密钥存储区是由具有不同的处理器体系结构和/或计算机体系结构(例如,不同的硬件和/或操作系统)的相应计算系统提供(即在系统上实现)。每个处理器或计算系统可能由不同的制造商制造,例如intel corporationtm、armlimitedtm和/或由不同的运营商提供或操作,例如amazon web services(aws)tm等。这有助于提供更强大的鲁棒性和免受攻击的保护,例如侧信道攻击,因为由于处理器体系结构的差异,针对每个密钥存储区的单一类型攻击成功的可能性可以显著降低。

26、优选地,密钥组件生成装置被配置为随机地生成密钥组件(即,使用伪随机或真随机过程)。每个密钥组件可以是一个随机数。在一些实施例中,所有密钥组件可能具有相同的比特长度,可能等于所需密钥的比特长度,并且每个密钥组件可能是所述比特长度的真随机值或伪随机值。优选地,密钥组件生成装置被配置为使用随机数生成器生成密钥组件。每个密钥组件生成设备或飞地(属于密钥组件生成装置)可能配置为使用随机数生成器生成相应的密钥组件。尽管在一些实施例中可能使用共享的随机数生成器,但是每个密钥组件生成设备或飞地优选地包含或配置为访问不同的随机数生成器。每个随机数生成器可以在硬件或软件中实现。

27、通过随机生成密钥组件,而不是从已存在的密钥中派生,例如,可以生成密钥组件,以便提供密码性强的密钥,而无需在使用密钥进行密码操作之前构造密钥。

28、密钥组件生成装置可以包括多个密钥组件生成设备,每个设备配置为生成多个密钥组件中的各个密钥组件。每个密钥组件生成设备可以由具有不同处理器体系结构和/或计算机体系结构的相应计算系统提供,例如,具有与上述密钥存储有关的任何相本文档来自技高网...

【技术保护点】

1.一种用于分布式存储密钥的方法,所述方法包括:

2.根据权利要求1所述的方法,其中第一份额不存储在第二存储区,第二份额不存储在第一存储区。

3.根据权利要求1或2所述的方法,其中,所述第一密钥组件的多个份额中没有两个份额彼此存储在同一个存储区中。

4.根据权利要求1至3所述的方法,对于所述多个密钥组件中的一个或多个密钥组件中的每一个,在相应的秘密共享重构过程中处理相应的份额集,以重构相应的密钥组件。

5.根据权利要求1至4所述的方法,还包括在密钥组装过程中,处理所述多个密钥组件,以生成密钥。

6.一种用于分布式存储密钥的系统,所述系统包括一个密钥组件生成装置,该装置由多个密钥组件生成设备或飞地组成,每个密钥组件生成设备或飞地配置为:

7.根据权利要求6所述的方法,其中秘密共享生成过程是Shamir秘密共享过程。

8.根据权利要求6或7所述的方法,其中每个密钥组件生成设备或飞地可进一步配置为:

9.根据权利要求6至8所述的方法,其中每个密钥组件生成设备或飞地配置为使用随机数生成器,以生成相应的密钥组件。

10.根据权利要求6至9所述的方法,还包括一个密钥组装装置,该装置配置为:

11.根据权利要求10所述的方法,其中密钥组装装置配置为,接收一个或多个额外密钥组件的每个相应份额集,并在各自的秘密共享重构过程中处理每个接收到的份额集,以重构相应的额外密钥组件。

12.根据权利要求10或11所述的方法,其中密钥组装过程使得改变任一密钥组件的任一比特都将改变密钥组装过程的输出。

13.根据权利要求10至12所述的方法,其中密钥组件都有一个共同的比特长度,等于密钥的比特长度,并且密钥组装过程包括计算多个密钥组件的按位XOR。

14.根据权利要求10至13所述的方法,其中密钥组装装置配置为在接收到使用密钥执行密码操作的指令后生成密钥,并进一步配置为使用密钥执行密码操作,并在完成密码操作后从装置的存储器中擦除密钥。

15.根据权利要求6至14所述的方法,包括一个用于接收参数数据的输入端,该参数数据表示每个密钥组件要生成的各自份额,并表示用于处理每个密钥组件的各自秘密共享生成过程的预定阈值。

16.根据权利要求6至15所述的方法,包括由一个或多个计算设备组成的网络,每个计算设备都包括存储器和处理器,所述处理器被配置为提供可信执行环境以用于安全地解密和执行存储在计算设备的存储器中存储的飞地加密软件指令。

17.根据权利要求16所述的方法,所述系统配置为:

18.根据权利要求16或17所述的方法,该系统包含多个存储空间,包括所述第一和第二存储区,其中每个存储空间由系统相应的不同存储飞地提供。

19.根据权利要求16至18所述的方法,该系统配置为重构每个密钥组件,在密钥组装过程中处理密钥组件以生成密钥,并使用密钥执行密码操作,所有所述操作均在系统的密钥组装飞地中执行。

20.根据权利要求17至19所述的方法,其中每个所述飞地由系统中不同的相应计算设备提供。

21.计算机软件包括指令,当所述指令在计算处理系统的多个密钥组件生成设备或飞地上执行时,会使计算处理系统的每个设备或飞地执行以下操作:

22.一种用于重构密钥的方法,所述方法包括:

23.一种用于重构密钥的系统,所述系统包括一个密钥组装装置,配置为:

24.根据权利要求23所述的方法,其中密钥组装装置配置为,接收一个或多个额外密钥组件的每个相应份额集,并在各自的秘密共享重构过程中处理每个接收到的份额集,以重构相应的额外密钥组件。

25.根据权利要求23或24所述的方法,其中密钥组装过程使得改变任一密钥组件的任一比特都将改变密钥组装过程的输出。

26.根据权利要求23至25所述的方法,其中密钥组件都有一个共同的比特长度,等于密钥的比特长度,并且密钥组装过程包括计算多个密钥组件的按位XOR。

27.根据权利要求23至26所述的方法,其中密钥组装装置配置为在接收到使用密钥执行密码操作的指令后生成密钥,并进一步配置为使用密钥执行密码操作,并在完成密码操作后从装置的存储器中擦除密钥。

28.根据权利要求23至27所述的方法,包括由一个或多个计算设备组成的网络,每个计算设备都包括存储器和处理器,所述处理器被配置为提供可信执行环境以用于安全地解密和执行存储在计算设备的存储器飞地中加密存储的软件指令。其中,密钥组装装置配置为重构每个密钥组件,在密钥组装过程中处理密钥组件以生成密钥,并使用...

【技术特征摘要】
【国外来华专利技术】

1.一种用于分布式存储密钥的方法,所述方法包括:

2.根据权利要求1所述的方法,其中第一份额不存储在第二存储区,第二份额不存储在第一存储区。

3.根据权利要求1或2所述的方法,其中,所述第一密钥组件的多个份额中没有两个份额彼此存储在同一个存储区中。

4.根据权利要求1至3所述的方法,对于所述多个密钥组件中的一个或多个密钥组件中的每一个,在相应的秘密共享重构过程中处理相应的份额集,以重构相应的密钥组件。

5.根据权利要求1至4所述的方法,还包括在密钥组装过程中,处理所述多个密钥组件,以生成密钥。

6.一种用于分布式存储密钥的系统,所述系统包括一个密钥组件生成装置,该装置由多个密钥组件生成设备或飞地组成,每个密钥组件生成设备或飞地配置为:

7.根据权利要求6所述的方法,其中秘密共享生成过程是shamir秘密共享过程。

8.根据权利要求6或7所述的方法,其中每个密钥组件生成设备或飞地可进一步配置为:

9.根据权利要求6至8所述的方法,其中每个密钥组件生成设备或飞地配置为使用随机数生成器,以生成相应的密钥组件。

10.根据权利要求6至9所述的方法,还包括一个密钥组装装置,该装置配置为:

11.根据权利要求10所述的方法,其中密钥组装装置配置为,接收一个或多个额外密钥组件的每个相应份额集,并在各自的秘密共享重构过程中处理每个接收到的份额集,以重构相应的额外密钥组件。

12.根据权利要求10或11所述的方法,其中密钥组装过程使得改变任一密钥组件的任一比特都将改变密钥组装过程的输出。

13.根据权利要求10至12所述的方法,其中密钥组件都有一个共同的比特长度,等于密钥的比特长度,并且密钥组装过程包括计算多个密钥组件的按位xor。

14.根据权利要求10至13所述的方法,其中密钥组装装置配置为在接收到使用密钥执行密码操作的指令后生成密钥,并进一步配置为使用密钥执行密码操作,并在完成密码操作后从装置的存储器中擦除密钥。

15.根据权利要求6至14所述的方法,包括一个用于接收参数数据的输入端,该参数数据表示每个密钥组件要生成的各自份额,并表示用于处理每个密钥组件的各自秘密共享生成过程的预定阈值。

16.根据权利要求6至15所述的方法,包括由一个或多个计算设备组成的网络,每个计算设备都包括存储器和处理器,所述处理器被配置为提供可信执行环境以用于安...

【专利技术属性】
技术研发人员:斯尔詹·卡普昆马里奥·马蒂亚舍维奇韦德兰·诺沃瑟拉克
申请(专利权)人:堡垒科技有限公司
类型:发明
国别省市:

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

1