关机时安全启动制造技术

技术编号:31308004 阅读:19 留言:0更新日期:2021-12-12 21:30
一种安全启动系统和方法,所述系统和方法用于通过以下方式减少总启动时间:在关机时执行安全启动验证并以安全方式存储认证代码,实际上是对应用程序进行预认证以便在下次启动时可以绕过认证。时可以绕过认证。时可以绕过认证。

【技术实现步骤摘要】
关机时安全启动


[0001]本公开涉及一种用于安全启动的方法,并且更具体地涉及一种用于在关机时安全启动的方法。

技术介绍

[0002]执行嵌入式装置中的安全启动功能以在启动时验证固件程序包的完整性和真实性。如果固件已被篡改或包含错误,则控制器可以采取纠正措施。如果固件不可靠,则控制器通常会停止启动无效的软件,并可能进入紧急恢复模式。对于汽车应用,安全启动使电子控制单元(ECU)能够识别未经授权或有故障的固件,并防止此类软件危害车辆用户的安全和个人信息。
[0003]汽车级微控制器的进步为某些加密原语提供了基于硬件的安全密钥存储和加速。安全密钥存储是硬件安全模块(HSM)的组件或功能,所述HSM还提供了执行密码运算的接口,因此不需要访问原始密钥。SHE模块是HSM模块的示例。SHE规范提供128位AES加密和CMAC能力,但未提供专用的安全协处理器。在某些硬件中,需要使用通用处理器来命令SHE模块并基于运算结果做出决策。在没有专用的协处理器的情况下,需要顺序安全启动处理。写保护的启动加载程序将充当信任锚,并主要负责验证启动链中的下一个图像。
[0004]标准顺序安全启动的一个问题是它将启动过程延迟了固定时间量。此延迟基于要验证的图像大小和验证处理速度。这些属性通常是固定的,并且基于基础硬件。在例如汽车ECU的实时系统中,系统必须快速启动并建立与车辆网络的通信。严重的延迟会导致车辆丢失重要消息,从而导致操作失败和设置诊断故障代码(DTC)。此外,重要的安全和法规功能可能会延迟。例如,激活与后视摄像头相关联的显示器。
[0005]可以容忍的开机延迟量取决于车辆网络和架构的设计。然而,大多数原始设备制造商(OEM)要求ECU在网络唤醒事件后100ms内开始接收网络消息并对网络消息作出响应。考虑具有2MB闪存和SHE模块的微控制器,所述SHE模块能够以8MB/s的速率执行AES

CMAC

128。就此假设而言执行安全启动所需的延迟量约为250ms。除了安全启动延迟之外,还必须考虑用于初始化时钟域、外围设备和操作系统的额外延迟。假设此类延迟合计约为50ms,则组合的启动导延迟为300ms。考虑到要求在100ms内开始在车辆总线上进行通信,显然标准的顺序安全启动是不合适的。
[0006]需要一种不利地影响开机时间量的安全启动。

技术实现思路

[0007]为了减少开机延迟,已经开发了一种在关机时执行安全启动的系统和方法。所述系统和方法通过以下方式减少总启动时间:在关机时执行安全启动验证并以安全方式存储认证代码,实际上是对应用程序进行预认证以便在下次启动时可以绕过认证。具体地,根据本专利技术的主题,在关机时执行安全启动处理,并且以不容易复制认证代码的安全方式将认证代码放入高速缓冲存储器。在关机时执行安全启动会在开机时需要认证代码之前高速缓
存代码。这通过减少唤醒时在启动期间所花费的时间量来改进开机时间。唤醒后,解锁认证代码密钥。认证代码与预期代码匹配,从而验证启动加载程序可以绕过应用程序的认证和验证来安全地启动应用程序。
附图说明
[0008]图1是示例性控制器启动应用程序代码的框图;以及
[0009]图2是用于图1的控制器的安全启动方法的流程图。
[0010]为了简单和清楚起见,示出了图中的元件和步骤,并且图中的元件和步骤不一定根据任何特定顺序来呈现。例如,在附图中示出了可以同时执行或以不同顺序执行的步骤,以帮助改进对本公开的实施方案的理解。
具体实施方式
[0011]尽管参考一个或多个实施方案描述了本公开的各个方面,但是本公开不限于这样的实施方案,并且可以在不脱离本公开的情况下实现附加的修改、应用和实施方案。在附图中,相似的附图标记将用于说明相同的组件。本领域技术人员将认识到,在不脱离本公开的范围的情况下,可以对本文阐述的各种组件进行改变。
[0012]本文描述的任何一个或多个装置包括可以从使用各种编程语言和/或技术创建的计算机程序编译或解译的计算机可执行指令。通常,处理器(例如微处理器)例如从存储器、计算机可读介质等接收指令,并执行指令。处理单元包括能够执行软件程序的指令的非暂时性计算机可读存储介质。计算机可读存储介质可以是但不限于电子存储装置、磁存储装置、光存储装置、电磁存储装置、半导体存储装置或其任何合适的组合。本文中的任何一个或多个装置可依赖于固件,固件可能不时需要更新以确保与操作系统的兼容性、改进和附加功能、安全更新等。一个或多个装置可以使用专用操作系统、多个软件程序和/或接口平台来运行,例如图形、音频、无线联网、启用应用程序、车辆组件的集成硬件、系统,以及例如智能手机、平板电脑和其它系统的外部装置,仅举几例。
[0013]图1是示例性控制器100或微控制器(MCU)(例如汽车微控制器)的框图。控制器100具有处理器102和存储器,所述存储器包括非易失性存储器装置106(ROM)和易失性存储器装置108(RAM)。处理器102被示为中央处理单元(CPU)。然而,各种变化是可能的,例如但不限于应用处理器(AP)和微处理器。可以包括SHE的硬件安全模块(HSM)104具有用于一个或多个密钥120的安全密钥存储装置114,所述密钥保护用于MCU 100的认证代码。启动加载程序116是写保护的且通常存储在ROM 106中。写保护的启动加载程序116将用作信任锚,并主要负责验证启动链中用于启动一个或多个应用程序118的图像。应用程序118是预期在启动加载程序之后执行的与启动加载程序116分离的程序。
[0014]通常,在启动时以与要认证的执行软件顺序或并行的方式执行安全启动。本专利技术的主题通过以下方式减少总启动时间:在关机时执行安全启动验证并以安全方式存储认证代码,实际上是对应用程序进行预认证。因此,下次启动时可以绕过认证。具体地,根据本专利技术的主题,在关机时执行安全启动处理,并且以不容易复制认证代码的安全方式将认证代码存储在高速缓冲存储器中。这通过减少唤醒时在启动期间所花费的时间量来改进开机时间。对于不具有专用协处理器的HSM模块104(例如SHE模块),这是特别有利的。在没有专用
协处理器的情况下,需要顺序安全启动,并且标准顺序安全启动会以可能不利地影响应用程序118所执行的操作的方式延迟启动过程。
[0015]在认证应用程序的过程期间,认证代码由启动加载程序116设置,并保持对应用程序118隐藏。为了确保认证代码不能被应用程序118复制,认证代码对于MCU 100是唯一的,并且是加密的或从仅启动加载程序116可访问的秘密密钥120导出的。对于具有SHE模块的装置,有可能通过建立对每个装置或控制器唯一的随机高级加密标准(AES)密钥120来实现。AES密钥120用于生成认证代码。使用具有第一和第二设置的启动模式设置,启动模式设置是用作输入的已知消息,所述消息向启动加载程序指示是否应启动应用程序。在本示例中,第一启动模式设置由应用程序设置,并向启动加载程序提供在使控制器关机之前需要对应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安全启动方法,所述方法包括以下步骤:使控制器正在处理的应用程序关机;由所述应用程序在关机时将启动模式设置为第一设置,以向启动加载程序指示在下次启动时,所述启动加载程序应认证所述应用程序;在所述控制器进入低功率状态之前重新启动所述启动加载程序;认证所述应用程序;设置认证代码;将所述认证代码存储在永久性存储器中;在所述启动加载程序处将所述启动模式设置为第二设置,以向所述启动加载程序指示在所述下次启动时,所述启动加载程序应启动所述应用程序;以及进入所述低功率状态。2.如权利要求1所述的方法,还包括以下步骤:在从所述低功率状态唤醒时,确定将启动模式变量设置为启动所述应用程序;在所述启动加载程序处解锁认证代码密钥;使用所述认证代码密钥访问所述认证代码;将所述认证代码与期望值进行比较;当所述认证代码与所述期望值匹配且所述启动模式处于所述第二设置时,使与所述应用程序相关联的所述认证代码无效,并锁定所述认证代码密钥;以及将控制从所述启动加载程序传递到所述应用程序。3.如权利要求2所述的方法,还包括以下步骤:当所述认证代码与所述期望值不匹配或所述启动模式处于所述第一设置时,重复以下步骤:认证所述应用程序;设置认证代码;将所述认证代码存储在永久性存储器中;在所述启动加载程序处设置所述启动模式变量,以向所述启动加载程序指示在所述下次启动时,所述启动加载程序应启动所述应用程序;以及进入所述低功率状态。4.如权利要求2所述的方法,还包括以下步骤:当所述认证代码与所述期望值不匹配或者所述启动模式处于所述第二设置时,进入恢复模式。5.一种安全启动系统,包括:控制器;只读存储器装置,所述只读存储器装置存储启动加载程序和至少一个应用程序,使用利用对装置唯一的随机化认证代码密钥加密的认证代码对所述应用程序进行认证;硬件安全模块,所述硬件安全模块在启动加载程序处存储所述随机化认证密钥;启动模式,所述启动模式具有:第一设置,所述第一设置由所述至少一个应用程序在关机时设置,所述第一设置向所述启动加载程序指示所述应用程序将在关机时进行认证;以及第二设置,所述第二设置在所述控制器进入低功率状态之前由所述启动加载程序设置,所述第二设置向所述启动加载程序指示将启动所述应用程序;并且
在关机时,在进入所述低功率状态之前,所述控制器被配置成执行所述启动加载程序中的指令以重新启动所述至少一个应用程序、认证所述至少一个应用程序、设置有效的认证代码并将所述启动模式设置为所述第二设置。6.如权利要求5所述的系统,其中在从所述低功率状态唤醒时,所述控制器被配置成执行所述启动加载程序中的指令以解锁所述随机化认证代码密钥,使用所述随机化认证代码密钥来确认所述认证代码是有效的,以及在将控制传递到所述至少一个应用程序之前,使所述认证代码无效并锁定所述随机化认证代码密钥。7...

【专利技术属性】
技术研发人员:DR罗加拉
申请(专利权)人:哈曼国际工业有限公司
类型:发明
国别省市:

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

1