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

设备身份密钥制造技术

技术编号:40878253 阅读:4 留言:0更新日期:2024-04-08 16:48
一种集成电路设备(10)包括:处理器(12);程序存储器(16);基于硬件的密钥生成系统(22、26),其输出多个预定设备身份密钥中的可选择的设备身份密钥;以及用于存储一个或更多个公共密码密钥的一次性可编程(OTP)存储器(30)。当公共密码密钥存储在OTP存储器(30)中并且软件存储在程序存储器(16)中时,在处理器(12)执行软件之前,设备(10)使用公共密码密钥来确定存储在程序存储器(16)中的软件是否通过与公共密码密钥相关联的私有密码密钥被有效地签名。设备(10)至少部分地根据该确定的结果来控制由基于硬件的密钥生成系统(22、26)输出多个预定设备身份密钥中的哪个设备身份密钥。

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

本专利技术涉及集成电路(ic)设备的设备身份密钥的生成。


技术介绍

1、众所周知,诸如片上系统(soc)之类的集成电路设备存储与诸如制造商或系统运营商之类的远程方相关联的公共密码密钥。设备可以使用公钥通过如下方式来验证(并信任)软件是由远程方有效发布的,即,通过检查到软件已通过与该方的公钥关联的私有密码密钥被有效签名。这样的验证可以是设备的安全引导过程(boot process)的步骤。

2、还众所周知,例如片上系统(soc)的集成电路设备存储唯一的设备身份密钥。这些可以例如在制造期间从外部加载到设备上,但为了最大的安全性,它们可以被生成在在设备本身上—例如,使用生成不变的设备特定的值的物理不可克隆功能(puf)单元,通常称为puf密钥。设备身份密钥(例如puf密钥)在设备内通常保密。设备可以将其用于加密过程,例如提供用于派生私有密码密钥或公私密钥对的种子。因此,设备身份密钥可以充当特定设备独有的秘密数字“指纹”的形式。

3、硅基集成电路puf单元可以通过利用极其细微的制造差异来生成唯一的puf密钥,这些差异对于每个设备都是独有的,甚至在全部使用相同掩模制造的一组设备中也是如此。puf单元是“不可克隆的”,因为实际上不可能复制puf单元使得两个单元生成相同的puf密钥。

4、集成电路设备可以使用设备身份密钥以便与该设备通信的其他设备能够查明该设备的身份和/或真实性。

5、例如,从设备身份密钥导出的密码密钥对可以用于设备证明。这可以允许设备(例如网络物联网(iot)设备)向远程方证明设备安全环境的完整性。这种安全环境可用于为设备建立信任根,例如使用安全引导过程,从而确保远程方设备上执行的软件的完整性。

6、设备身份密钥也可以更普遍地使用,例如使远程方(例如系统操作员)能够识别在其控制下的设备。远程方可以存储与根据设备身份密钥生成的与设备的相应私钥配对的公共密码密钥。这些可用于识别可被准予访问某些服务和/或数据(例如软件/固件更新)的设备。当设备寻求对这些服务和/或数据的访问时,该设备可以使用其设备身份密钥来向远程方证明其身份,并且如果成功,则允许该设备访问服务和/或数据。然而,如果验证或证明失败,则该设备可能被拒绝访问这些服务和/或数据。这也能发生于如下情况:如果设备是由第三方制造的(即不是正品),或者如果设备是正品但已被第三方修改,或者如果设备是真的但在运行未经授权的第三方软件/固件等。

7、当一方管理一组此类设备时,此类方法可以提供良好的安全性。然而,当希望设备能够由多个不同方中的一或更多方(例如,由设备制造商和系统运营商)安全管理时,当前的方法存在缺陷。特别地,当前的方法可增加设备身份密钥被泄露的风险。

8、本专利技术的实施例寻求提供更通用且安全的方法来管理设备身份密钥。


技术实现思路

1、从第一方面来看,本专利技术提供了一种集成电路设备,包括:

2、处理器;

3、程序存储器;

4、基于硬件的密钥生成系统,其被配置为输出多个预定设备身份密钥中的可选择的设备身份密钥;以及

5、一次性可编程存储器,用于存储一个或更多个公共密码密钥,其中,设备被配置为:

6、当一次性可编程存储器中存储有公共密码密钥时并且当程序存储器中存储有软件时,在处理器执行软件之前,使用公共密码密钥来确定存储在程序存储器中的软件是否通过与公共密码密钥相关联的私有密码密钥被有效地签名;以及

7、至少部分地根据所述确定的结果,控制由基于硬件的密钥生成系统输出多个预定设备身份密钥中的哪个设备身份密钥。

8、从第二方面来看,本专利技术提供了一种针对集成电路设备生成预定设备身份密钥的方法,该设备包括:

9、处理器;

10、程序存储器;

11、基于硬件的密钥生成系统,其被配置为输出多个预定设备身份密钥中的可选择的设备身份密钥;以及

12、一次性可编程存储器,用于存储一个或更多个公共密码密钥,其中,该方法包括:

13、在处理器执行存储在程序存储器中的软件之前,使用存储在一次性可编程存储器中的公共密码密钥来确定该软件是否通过与公共密码密钥相关联的私有密码密钥被有效地签名;以及

14、至少部分地根据所述确定的结果,控制由基于硬件的密钥生成系统输出多个预定设备身份密钥中的哪个设备身份密钥。

15、因此,可以看出,实施例提供了一种集成电路设备,该集成电路设备能够根据是否存在存储在一次性可编程(otp)存储器中的、验证当前存储在程序存储器中的软件(例如设备的固件)的公共密码密钥来使用多个不同设备身份密钥中的哪一个。因此,体现本专利技术的设备可以基于存储在程序存储器中的软件的发行者或开发者的身份来有效地选择使用多个设备身份密钥中的哪一个,对于该软件,公共签名验证密钥被存储在otp存储器中。这意味着设备可以被配置为:当由第一方(例如设备的制造商)开发的软件以及与第一方相关联的相应公钥存储在设备上时,生成第一设备身份密钥;以及当由第二方(例如,系统集成商)开发的软件以及与第二方相关联的相应公钥存储在设备上时,生成与第一设备身份密钥不同的第二设备身份密钥。

16、在一些实施例中,第二方(例如,客户)可以通过将与第二方相关联的公钥加载到otp存储器以及通过安装使用第二方的私钥被签名的第二方固件而能够覆盖第一方可能已放在设备上(例如,存储在只读存储器中或otp存储器的不同区域中)的公钥。作为响应,设备可以生成优选地对于第一方来说是不可访问的特定设备身份密钥,因为该特定设备身份密钥仅在将公钥加载到otp存储器的特定区域之后由密钥生成系统输出,这只能做一次。这可以向第二方(例如客户)提供更高的安全性,第二方不必与第一方(例如制造商)共享设备身份密钥。它也可以类似地向第一方提供更大的安全性,第一方也能够使用对于第二方不可访问的相应设备身份密钥。

17、基于什么软件被有效加载在程序存储器中来控制使用哪个设备身份密钥提供了用于将设备身份与软件相关联的便利机制。设备的设备身份密钥可以有效地链接到存储在设备的程序存储器中的软件。设备身份密钥和软件之间的这种关联可以有利于实施例实现安全引导过程,例如,用于针对设备建立软件发行者特定的信任根(rot),以及用于使设备能够向软件发行者证明设备硬件和软件二者的完整性。

18、因此,根据相同硬件设计制造的设备可以能够支持多个不同设备身份密钥(以及因此操作上不同的信任根)中的任何一个,这取决于向每个设备的程序存储器写入什么软件。此外,通过将新软件安装到单个设备的程序存储器和/或将新的私有密码密钥写入otp存储器的区域,可以使单个设备改变设备身份密钥,例如在集成到更大的系统后。

19、该设备可以包括只读存储器(rom),其存储用于由设备的一个或更多个处理器执行的软件指令。软件指令可以包括设备被配置为响应于设备被重置或引导而执行的引导代码。rom可以存储用于确定存储在程序存储器中的本文档来自技高网...

【技术保护点】

1.一种集成电路设备,包括:

2.如权利要求1所述的集成电路设备,被配置为:当由第一方开发的软件存储在所述程序存储器中并且与所述第一方相关联的公共密码密钥存储在所述OTP存储器中时,生成第一设备身份密钥;以及当由第二方开发的软件存储在所述程序存储器中并且与所述第二方相关联的公共密码密钥存储在所述OTP存储器中时,生成与所述第一设备身份密钥不同的第二设备身份密钥。

3.如权利要求1或2所述的集成电路设备,包括只读存储器,所述只读存储器存储用于响应于所述设备被重置或引导而被所述设备的一个或更多个处理器执行的引导代码,其中所述引导代码包括:用于确定存储在所述程序存储器中的软件是否通过与存储在所述OTP存储器中的公共密码密钥相关联的私有密码密钥被有效地签名的指令;以及用于控制由所述基于硬件的密钥生成系统输出所述多个预定设备身份密钥中的哪个设备身份密钥的指令。

4.如任一前述权利要求所述的集成电路设备,被配置为:至少部分地根据与用于对存储在所述程序存储器中的软件进行签名的私有密码密钥相关联的公共密码密钥的在所述OTP存储器内的位置,来控制由所述基于硬件的密钥生成系统输出所述多个预定设备身份密钥中的哪个设备身份密钥。

5.如任一前述权利要求所述的集成电路设备,被配置为从所述OTP存储器的多个预定区域访问公共密码密钥,并且其中所述OTP存储器包括用于存储第一组一个或更多个公共密码密钥的第一区域和用于存储第二组一个或更多个公共密码密钥的第二区域,第二区域与所述第一区域不同。

6.如权利要求5所述的集成电路设备,被配置为控制所述基于硬件的密钥生成系统输出两个预定设备身份密钥中的可选择的设备身份密钥,该设备身份密钥根据所述OTP存储器的所述第一区域和所述第二区域中的哪个区域存储验证安装在所述程序存储器中的软件的公共密码密钥来被选择。

7.如任一前述权利要求所述的集成电路设备,其中,所述基于硬件的密钥生成系统被配置为针对每个所述预定设备身份密钥生成公私钥对中的相应公钥。

8.如任一前述权利要求所述的集成电路设备,被配置为使用由所述基于硬件的密钥生成系统输出的设备身份密钥和存储在所述OTP存储器中的公共密码密钥来建立所述设备的信任根。

9.如任一前述权利要求所述的集成电路设备,被配置为使用所述设备身份密钥来向外部方证明存储在所述程序存储器中的一些或全部软件的完整性。

10.如任一前述权利要求所述的集成电路设备,其中,所述基于硬件的密钥生成系统被配置为在所述设备的每次重置之后仅输出所述多个预定设备身份密钥中的一个设备身份密钥。

11.如权利要求10所述的集成电路设备,其中,所述基于硬件的密钥生成系统被配置为在所述设备的每次重置之后输出所述一个设备身份密钥至多一次。

12.如任一前述权利要求所述的集成电路设备,其中,所述基于硬件的密钥生成系统包括物理不可克隆功能(PUF)单元,所述PUF单元被配置为输出多个预定物理不可克隆功能(PUF)密钥中的包括预定比特位序列的可选择的PUF密钥。

13.如权利要求12所述的集成电路设备,其中,所述基于硬件的密钥生成系统还包括密钥导出单元,所述密钥导出单元被配置为接收由所述PUF单元输出的所述PUF密钥,以及从接收到的PUF密钥导出设备身份密钥。

14.如任一前述权利要求所述的集成电路设备,被配置为:在尝试使用存储在所述OTP存储器的第一区域中的一个或更多个密钥来验证存储在所述程序存储器中的软件之前,尝试使用存储在所述OTP存储器的第二区域中的一个或更多个密钥来验证存储在所述程序存储器中的软件。

15.如任一前述权利要求所述的集成电路设备,其中,所述OTP存储器包括用于存储一个或更多个撤销比特位的一个或更多个区域,每个撤销比特位与所述OTP存储器中的多个公共密码密钥中的相应公共密码密钥相关联,其中,所述设备被配置为防止与具有预定撤销值的撤销比特位相关联的公共密码密钥被所述设备使用以验证存储在所述程序存储器中的软件。

16.如权利要求15所述的集成电路设备,被配置为:响应于确定出存储在所述程序存储器中的软件通过与存储在所述OTP存储器的第二区域中的所述公共密码密钥相关联的私有密码密钥被有效地签名,将与存储在所述OTP存储器的第一区域中的每个密钥相关联的相应撤销比特位设置为所述预定撤销值。

17.如任一前述权利要求所述的集成电路设备,被配置为在每次所述设备被引导时尝试验证存储在所述程序存储器中的软件。

18.一种针对集成电路设备生成预定设备身份密钥的方法,所述设备包括:

19.如权利要求18所述的方法,还...

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

1.一种集成电路设备,包括:

2.如权利要求1所述的集成电路设备,被配置为:当由第一方开发的软件存储在所述程序存储器中并且与所述第一方相关联的公共密码密钥存储在所述otp存储器中时,生成第一设备身份密钥;以及当由第二方开发的软件存储在所述程序存储器中并且与所述第二方相关联的公共密码密钥存储在所述otp存储器中时,生成与所述第一设备身份密钥不同的第二设备身份密钥。

3.如权利要求1或2所述的集成电路设备,包括只读存储器,所述只读存储器存储用于响应于所述设备被重置或引导而被所述设备的一个或更多个处理器执行的引导代码,其中所述引导代码包括:用于确定存储在所述程序存储器中的软件是否通过与存储在所述otp存储器中的公共密码密钥相关联的私有密码密钥被有效地签名的指令;以及用于控制由所述基于硬件的密钥生成系统输出所述多个预定设备身份密钥中的哪个设备身份密钥的指令。

4.如任一前述权利要求所述的集成电路设备,被配置为:至少部分地根据与用于对存储在所述程序存储器中的软件进行签名的私有密码密钥相关联的公共密码密钥的在所述otp存储器内的位置,来控制由所述基于硬件的密钥生成系统输出所述多个预定设备身份密钥中的哪个设备身份密钥。

5.如任一前述权利要求所述的集成电路设备,被配置为从所述otp存储器的多个预定区域访问公共密码密钥,并且其中所述otp存储器包括用于存储第一组一个或更多个公共密码密钥的第一区域和用于存储第二组一个或更多个公共密码密钥的第二区域,第二区域与所述第一区域不同。

6.如权利要求5所述的集成电路设备,被配置为控制所述基于硬件的密钥生成系统输出两个预定设备身份密钥中的可选择的设备身份密钥,该设备身份密钥根据所述otp存储器的所述第一区域和所述第二区域中的哪个区域存储验证安装在所述程序存储器中的软件的公共密码密钥来被选择。

7.如任一前述权利要求所述的集成电路设备,其中,所述基于硬件的密钥生成系统被配置为针对每个所述预定设备身份密钥生成公私钥对中的相应公钥。

8.如任一前述权利要求所述的集成电路设备,被配置为使用由所述基于硬件的密钥生成系统输出的设备身份密钥和存储在所述otp存储器中的公共密码密钥来建立所述设备的信任根。

9.如任一前述权利要求所述的集成电路设备,被配置为使用所述设备身份密钥来向外部方证明存储在所述程序存储器中的一些或全部软件的完整性。

10.如任一前述权利要求所述的集成电路设备,其...

【专利技术属性】
技术研发人员:克里希纳·辛加拉
申请(专利权)人:北欧半导体公司
类型:发明
国别省市:

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

1