用于从非易失性存储器设备快速安全引导的方法以及对应的系统和设备技术方案

技术编号:38035493 阅读:14 留言:0更新日期:2023-06-30 11:02
一种方法可以包括在非易失性存储器(NVM)设备中存储可由主机设备执行的主机代码和可由NVM设备执行的NVM代码。NVM设备可以响应于预定条件来验证NVM代码的完整性,并生成用于验证NVM代码的代码完整性值。代码完整性值具有与主机代码的大小无关的大小。可以向主机设备发送认证码,该认证码使用至少代码完整性值来被生成。响应于来自主机设备的读取请求,返回主机代码的至少部分以由主机设备执行。还公开了对应的设备和系统。开了对应的设备和系统。开了对应的设备和系统。

【技术实现步骤摘要】
【国外来华专利技术】用于从非易失性存储器设备快速安全引导的方法以及对应的系统和设备
[0001]相关申请
[0002]本申请是2020年12月15日提交的美国申请第17/122,927号的国际申请,该美国申请要求2020年10月2日提交的美国临时专利申请第63/086,750号的优先权和权益,其全部内容通过引用整体并入本文。


[0003]本专利技术大体上涉及具有执行存储在非易失性存储器设备上的代码的主机设备的系统,并且更明确地说,涉及主机设备认证存储在非易失性存储器设备上的代码的系统。

技术介绍

[0004]包括处理器的系统可以具有引导操作,其中可以从存储器设备加载用于由处理器执行的代码(例如,软件(SW)或固件(FW))。例如,引导操作可以响应于加电和/或复位事件而发生。用于引导操作的代码通常存储在非易失性存储器(NVM)设备中。
[0005]具有“安全”引导的能力对于许多系统是关键的。安全引导依赖于在由处理器执行之前建立代码的完整性。通常,代码的完整性可以通过主机设备在系统启动时测量代码内容来建立。测量代码内容取决于非易失性设备所存储的代码(例如,SW映像)的大小。总启动时间(时间)可以由下式给出:
[0006]time=tbl+tapptapp=BWmeasure*Sizeapp
[0007]其中tbl是引导加载器加载时间,tapp是应用测量(完整性检验)时间,BWmeasure是传输速率(例如,每字节的时间),并且Sizeapp是SW映像的大小(例如,字节)。因此,启动时间可以取决于SW映像的大小。
[0008]图17是示出系统1701的常规启动序列的框图。系统1701可以包括NVM设备1703和主机设备1705。在启动序列中,NVM设备1703中的加电复位电路1707

0可以检测加电或复位条件,并且对NVM设备1703通电以使其可操作。
[0009]在主机设备1705内,主机POR电路1707

1可以检测加电或复位条件。作为响应,主机设备1705可以执行只读存储器(ROM)引导操作1709,其可以从ROM加载引导数据。主机设备1705然后可以执行引导加载操作1715,其包括从NVM设备1703读取引导加载数据1711。引导加载数据1711的完整性可以经过测量操作1717

0。这可以包括根据具有散列功能1717的引导加载数据1711和/或具有解密功能1719的解密引导加载器数据生成散列值。ROM引导操作1709和引导加载操作1715可以在引导加载时间tbl1721期间发生。
[0010]主机设备1705然后可以执行应用软件(AppSW)完整性操作1723。这可以包括存储在NVM设备1703上的AppSW1725的测量操作1717

1。如上所述,AppSW完整性操作1723可以占用时间tapp1727,其可以根据AppSW的大小而变化。
[0011]类似于图17的常规引导序列的缺点是引导时间将随着SW大小增加而增加。仅作为一个示例,这在一些系统中可能是有问题的,诸如在控制器区域网络(CAN)上操作的那些系
统,其中引导时间可以超过较大SW大小的总线响应时间限制。
附图说明
[0012]图1A至图1C是示出根据实施方式的用于具有主机设备和非易失性存储器(NVM)设备的系统的认证方法的框图序列。
[0013]图2是示出根据实施方式的认证存储在NVM设备中的软件的方法的框图。
[0014]图3是根据实施方式的使用对称加密来认证NVM设备状态的系统和对应方法的框图。
[0015]图4是根据实施方式的使用非对称加密来认证NVM设备状态的系统和对应方法的框图。
[0016]图5是根据另一实施方式的使用非对称加密来认证NVM设备状态的系统和对应方法的框图。
[0017]图6是示出与各种实施方式的引导时间相比的常规引导时间的图。
[0018]图7是根据实施方式的NVM设备的框图。
[0019]图8是可以包括在实施方式中的NVM阵列的框图。
[0020]图9是根据实施方式的集成电路NVM设备的框图。
[0021]图10是根据实施方式的主机设备的框图。
[0022]图11是根据实施方式的汽车系统的框图。
[0023]图12是根据另一实施方式的汽车系统的框图。
[0024]图13是根据实施方式的NVM设备认证方法的流程图。
[0025]图14是根据实施方式的主机设备认证方法的流程图。
[0026]图15是根据实施方式的认证方法的流程图。
[0027]图16是根据实施方式的代码(例如,固件)更新操作的流程图。
[0028]图17是常规安全引导操作的框图。
具体实施方式
[0029]根据实施方式,非易失性存储器(NVM)设备可以存储用于由主机设备执行的主机代码和用于由NVM设备本身执行的NVM代码。响应于预定条件(例如,加电或复位),NVM设备可以检验NVM代码的完整性。NVM设备可以存储代码完整性值,其在认证码中被传输至主机设备。主机设备可以基于认证码而不是通过测量所存储的主机代码来认证NVM所存储的代码。
[0030]在一些实施方式中,代码完整性值可以是NVM代码的已知良好版本的散列值。
[0031]在一些实施方式中,NVM设备可以使用私钥加密认证码,并且主机设备可以使用公钥解密认证码。
[0032]在一些实施方式中,NVM设备可以生成由主机设备读取的NVM代码的散列值。主机设备可以将从NVM设备读取的散列值与已知的有效散列值进行比较以认证NVM设备,从而认证NVM设备所存储的主机代码。
[0033]在以下各种实施方式中,相似的项由相同的附图标记表示,但前导数字对应于附图编号。
[0034]图1A至图1C是根据实施方式的系统100的框图。系统100可以包括NVM设备102和主机设备104。NVM设备102可以包括NVM用户空间106、主机固件(FW)108、NVM固件109、代码完整性值110和代码完整性检验器112。NVM用户空间106可以包括用于存储数据的NVM单元的一个或更多个阵列,包括主机FW(例如,代码)108和NVM FW 109。NVM阵列可以采用任何合适的形式,包括但不限于NOR配置。主机FW 108可以是主机设备104可执行的固件映像。NVM FW 109可以是NVM设备102可执行的固件映像。在一些实施方式中,NVM FW 109被存储在NVM设备102的安全存储器区域中,并且不可在NVM设备外部访问,或仅可通过安全访问程序访问。
[0035]代码完整性值110可以是表示NVM设备102的完整性并且因此可以认证主机FW 108的完整性的值。代码完整性值110可以被主机设备104用来认证NVM设备102,并且因此不需要主机设备102像在常规方法中那样用测量操作来评估主机FW 108。代码完整性值110可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:在非易失性存储器(NVM)设备中存储可由主机设备执行的主机代码和可由所述NVM设备执行的NVM代码;通过所述NVM设备的操作:响应于预定条件验证所述NVM代码的完整性;生成用于验证所述NVM代码的代码完整性值,所述代码完整性值具有与所述主机代码的大小无关的大小;向所述主机设备发送认证码,所述认证码使用至少所述代码完整性值而被生成;以及响应于来自所述主机设备的读取请求,返回所述主机代码的至少部分以由所述主机设备执行。2.根据权利要求1所述的方法,其中,所述代码完整性值包括所述NVM代码的至少部分的散列。3.根据权利要求1所述的方法,其中,所述代码完整性值是从包括以下的组中选出的:消息认证码(MAC)和唯一设备标识符。4.根据权利要求1所述的方法,还包括:通过所述NVM设备的操作,生成所述NVM代码的散列值;以及响应于来自主机设备的请求,将使用所述散列值而被生成的认证码发送至所述主机设备。5.根据权利要求1所述的方法,还包括:通过所述NVM设备的操作,生成具有特定于所述NVM设备的值和所述NVM代码的至少部分的认证码;以及通过所述主机设备的操作,使用由所述主机设备存储的安全值来认证所述认证码。6.根据权利要求1所述的方法,还包括:在所述NVM设备处接收主机现时值;以及对至少所述主机现时值和所述代码完整性值执行密码功能,以生成所述认证码。7.根据权利要求6所述的方法,还包括:对至少所述主机现时值、所述代码完整性值和NVM设备现时值进行加密以生成所述认证码。8.根据权利要求1所述的方法,还包括:在所述NVM设备中存储数字证书,所述数字证书包括公钥、所述代码完整性值和使用私钥生成的数字签名;以及响应于来自主机设备的证书请求,将所述数字证书发送至所述主机设备。9.一种非易失性存储器(NVM)设备,包括:至少一个NVM阵列,其包括多个NVM单元,所述多个NVM单元被配置成存储用于由主机设备执行的主机代码和用于由所述NVM执行的NVM代码;输入/输出(I/O)电路,其被配置成通过至少一个通信链路与主机设备通信;存储区域,其被配置成存储用于验证所述NVM代码的代码完整性值,所述代码完整性值具有与所述主机代码的大小无关的大小;以及NVM控制器部分,其被配置成:
在所述NVM设备启动时,验证所述NVM代码的完整性,以及响应于来自所述主机设备的请求,通过所述I/O电路输出认证码,所述认证值使用至少所述代码完整性值而被生成;其中,所述至少一个NVM阵列、I/O电路、存储区域和控制器部分利用...

【专利技术属性】
技术研发人员:中田大辅冈田伸介
申请(专利权)人:英飞凌科技有限责任公司
类型:发明
国别省市:

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

1