当前位置: 首页 > 专利查询>罗伯特专利>正文

用于执行控制设备的安全启动序列的方法技术

技术编号:31893563 阅读:15 留言:0更新日期:2022-01-15 12:23
本发明专利技术涉及一种用于执行控制设备的安全启动序列的方法,该控制设备包括:主机,该主机被设立为执行加载程序和一个或多个应用程序;和硬件安全模块HSM,该硬件安全模块具有程序存储器和数据存储器。该方法包括:启动主机和HSM;通过HSM,借助于存储在HSM的程序存储器中的加载程序签名来对加载程序进行认证;而且如果对加载程序的认证成功,则通过主机来执行该加载程序。加载程序。加载程序。

【技术实现步骤摘要】
用于执行控制设备的安全启动序列的方法


[0001]本专利技术涉及一种用于执行控制设备的安全启动序列的方法以及一种用于执行该方法的计算单元和一种用于执行该方法的计算机程序。

技术介绍

[0002]在机器和车辆中使用可编程控制设备,以便控制这些机器和车辆或者还有这些机器和车辆的组件。例如,机动车可包含用于发动机控制、用于制动系统等等的控制设备。这些控制设备包括处理器,该处理器具有一个或者通常具有多个处理器内核(也简称为主机或主机系统),所述处理器内核执行存储在存储器中的程序,以便实现控制设备的功能。
[0003]出于安全原因,可以规定:在通过控制设备来执行程序之前,检查该程序的真实性,以便防止执行被篡改的程序。为此可以检查:其中存储有该程序的存储区是否未经更改。这由所谓的硬件安全模块HSM来执行,该硬件安全模块提供功能性,以便保护由控制设备执行的程序和通信以防篡改。为此,HSM使用加密功能、签名和(秘密)密钥。这些签名和密钥被HSM存储在数据存储器中,在启动控制设备时,该数据存储器被初始化。通常,在启动控制设备时,首先必须检查主机的加载程序的真实性,该加载程序尤其是加载应用程序。由于数据存储器的由HSM利用降低的时钟频率来执行的所需的初始化,这里可能发生延迟。

技术实现思路

[0004]按照本专利技术,提出了具有专利独立权利要求的特征的一种用于执行控制设备的安全启动序列的方法以及一种用于执行该方法的计算单元和一种用于执行该方法的计算机程序。有利的设计方案是从属权利要求以及随后的描述的主题。
>[0005]由于加载程序签名位于HSM的由HSM保护、也就是说防止篡改的程序存储器中,并且随着HSM的启动可以立即访问该程序存储器,而不必等待HSM的数据存储器的初始化,因而即使在HSM的可能还降低的时钟频率的情况下也能够执行安全且快速的启动序列,使得能够保护在时间关键的应用中使用的控制设备(例如发动机控制设备)。换言之,用于执行控制设备的安全启动序列的方法是安全的控制设备启动序列。
[0006]在这种情况下,术语“启动序列”或启动(Hochlauf)表示由控制设备在启动之后最初执行的步骤,直至应用程序运行为止,这些应用程序实现控制设备的实际控制功能性。“安全”应该是指:不可能将启动序列篡改为使得执行如下程序,所述程序以未经允许的方式来更改控制设备的功能性、也就是说以其中使用该控制设备的装置(例如机器或车辆)的制造商和/或用户所不允许的方式来更改控制设备的功能性,或者所述程序能够使攻击者获得对控制设备的掌控以及借此至少部分地获得对由该控制设备所控制的装置的掌控。加载程序签名形成针对加载程序的参考签名。
[0007]主机或主机系统包括处理器(主机内核),该处理器被设立为执行软件或计算机程序(简称为程序),以便实现控制设备的功能。主机可包括其它元件,比如(易失性)工作存储器(例如随机存取存储器,random access memory,RAM),非易失性主机存储器(例如闪速存
储器),通信接口,尤其是用于与主机存储器、HSM和外部设备通信的通信接口,和/或类似的元件。软件包含或存储在非易失性主机存储器、例如闪速存储器、硬盘或SSD(solid state disk(固态硬盘))中。主机存储器能重写。
[0008]程序可包括:一个或多个应用程序,所述一个或多个应用程序被设立为当所述一个或多个应用程序由主机执行时实现控制设备的控制功能;加载程序,该加载程序被设立为当该加载程序由主机执行时执行初始化并且调用所述应用程序中的至少一个应用程序;和更新程序(编程软件),该更新程序主要被设立为当该更新程序由主机执行时用软件(程序数据)或者数据来对主机存储器或该主机存储器的部分进行重写。借助于更新程序可以对控制设备进行更新或重新编程,该更新程序在某种程度上可以说是用于对控制设备进行重新编程的编程软件。更新可涉及:程序,所述程序的运行决定控制设备的功能;和/或对于控制设备的功能来说所需的数据,比如初始化参数或程序参数。在更新或重新编程时,主机存储器或该主机存储器的区域完全或部分地利用更新数据(新程序、也就是说软件,和/或其它新数据)来被重写。如有必要,更新程序也许可执行其它行动,例如确定哪些程序/数据必须被更新,或者在更新之后促使对控制设备的重启。
[0009]硬件安全模块,简称HSM,包括处理器(HSM内核)和HSM存储器,该HSM存储器包括程序存储器和数据存储器。HSM提供加密功能,这些加密功能可被主机使用,以便保护安全关键的功能、比如多个控制设备彼此间的通信。为此,HSM尤其是管理秘密密码(密文)、加密密钥和/或签名,并且优选地以硬件来实现加密方法。这些密码、密钥和/或签名由HSM来存储。HSM内核可以与主机分开地实施或者与主机或主机处理器以及存储器一起集成在芯片中(那么,HSM和主机例如通过该芯片上的不同的处理器内核来形成)。HSM尤其被设立为检查主机存储器的存储区的完整性,以便检查包含在相应的存储区中的计算机程序或软件和/或所包含的数据的真实性。
[0010]在完整性检查的情况下,确定所要检查的(主机存储器的)存储区的内容是否相对于已知正确的内容而言未经更改。这优选地通过对签名的比较来实现,其中将由HSM管理且存储在HSM存储器中的对应于存储区的从中知道该存储区正确(未被篡改)的(先前)状态的签名(也就是说参考签名)与该签名的新计算出的值进行比较,该值基于存储区的当前内容来被计算。如果新计算出的签名值与所存储的签名(参考签名)相同,则存储区的内容(就签名比较而言)未被更改,那么程序的真实性被确认。另一方面,如果新计算出的签名值与所存储的签名(参考签名)不相同,则存储区的内容(就签名比较而言)被更改,那么程序的真实性未被确认。
[0011]例如可以计算存储在存储区中的数据的校验值或哈希值,并且将该校验值或哈希值与在已知该存储区包含正确的、未被篡改的软件和/或数据的先前时间点所计算出的值进行比较。优选地,对于完整性检查来说,将MAC、也就是说消息认证码(Message Authentication Code)进行对照。在计算MAC时,除了原始消息、这里是存储在存储区中的数据或这些数据的哈希值之外,加入HSM所管理的秘密密钥。由此,可以防止所谓的碰撞攻击(或这里是原像攻击)。优选地,使用所谓的CMAC(基于密码的消息认证码(Cipher

based Message Authentication Code))。所提到的这些方法(校验值、哈希值、MAC、CMAC)是对于可能的签名方法来说优选的示例,然而也可以使用本领域技术人员公知的其它方法,例如公知的数字签名。
[0012]优选地,该方法可包括:在对加载程序进行认证之后,对HSM的数据存储器进行初始化。进一步优选地,该方法可包括:在该初始化之后,提高HSM的时钟频率。通过这些步骤,能够实现对存储在HSM的数据存储器中的应用程序签名和其它存储在那里的数据(密码
……
)的快速访问。
[0013]该方法在执行加本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于执行控制设备(1)的安全启动序列的方法,所述控制设备包括:主机(2),所述主机被设立为执行加载程序和一个或多个应用程序;和硬件安全模块HSM(4),所述硬件安全模块具有程序存储器(12)和数据存储器(14),所述方法包括:启动(26、28;52)所述主机和所述HSM;通过所述HSM,借助于存储在所述HSM的程序存储器中的加载程序签名来对所述加载程序进行认证(32、34;54、56);而且如果对所述加载程序的认证成功,则通过所述主机来执行(36;64)所述加载程序。2.根据权利要求1所述的方法,所述方法包括:在对所述加载程序进行认证之后,对所述HSM的数据存储器进行初始化(38;66)。3.根据权利要求2所述的方法,所述方法包括;在对所述HSM的数据存储器进行初始化之后,提高(68)所述HSM的时钟频率。4.根据上述权利要求中任一项所述的方法,所述方法包括:在执行所述加载程序之后,通过所述HSM,借助于至少一个存储在所述HSM的数据存储器中的应用程序签名来对所述一个或多个应用程序中的至少一个应用程序进行认证(42、44;70、72);而且如果对所述至少一个应用程序的认证成功,则通过所述主机来执行(46;82)所述至少一个应用程序。5.根据权利要求4所述的方法,所述方法包括:如果所述至少一个应用程序是针对所述主机的加载程序的更新程序,则通过所述更新程序来对所述加载程序进行更新(86);确定(90)所述主机的被更新的加载程序的被更改的加载程序签名;将所述被更改的加载程序签名写(92)到所述HSM的程序存...

【专利技术属性】
技术研发人员:A
申请(专利权)人:罗伯特
类型:发明
国别省市:

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

1