CN108131209A - 用于发动机控制器的安全启动的系统以及方法 - Google Patents

用于发动机控制器的安全启动的系统以及方法 Download PDF

Info

Publication number
CN108131209A
CN108131209A CN201711238028.9A CN201711238028A CN108131209A CN 108131209 A CN108131209 A CN 108131209A CN 201711238028 A CN201711238028 A CN 201711238028A CN 108131209 A CN108131209 A CN 108131209A
Authority
CN
China
Prior art keywords
code
hsm
host cpu
memory
certification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711238028.9A
Other languages
English (en)
Other versions
CN108131209B (zh
Inventor
慎恩豪
金旲炫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hyundai AutoEver Corp
Original Assignee
Hyundai Autron Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hyundai Autron Co Ltd filed Critical Hyundai Autron Co Ltd
Publication of CN108131209A publication Critical patent/CN108131209A/zh
Application granted granted Critical
Publication of CN108131209B publication Critical patent/CN108131209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D37/00Non-electrical conjoint control of two or more functions of engines, not otherwise provided for
    • F02D37/02Non-electrical conjoint control of two or more functions of engines, not otherwise provided for one of the functions being ignition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及用于发动机控制器的安全启动的系统以及方法,该系统包括:存储器,存储有启动代码(boot code)以及至少一个应用程序;主机CPU,在发生开始起动或者复位(reset)事件时,向HSM(Hardware Security Module)传输启动(startup)指令,当从所述HSM接收到启动代码认证成功时,执行所述启动代码后,向所述HSM传输残留存储区域认证指令;以及HSM,根据接收到所述启动指令进行启动,执行存储在所述存储器中的启动代码的认证,并且向所述主机CPU传输启动代码认证结果,当接收到所述残留存储区域认证指令时,执行所述存储器中除了启动代码之外的剩余区域的认证。

Description

用于发动机控制器的安全启动的系统以及方法
技术领域
本发明涉及用于发动机控制器的安全启动(secure boot)的系统以及方法,以在主机CPU执行启动代码之前,HSM(Hardware Security Module:硬件安全模块)中前台(Foreground)检查(check)启动代码的完整性,后台(Background)检查存储器的剩余区域的完整性的方式,执行安全启动的用于发动机控制器的安全启动的系统以及方法。
背景技术
发动机控制器(EMS,Engine Management System)是利用设在发动机的各种传感器获得的信息来控制吸气/排气系统、燃料供给系统、点火系统的小型计算机。为了控制精确的燃料喷射和点火时机,需要首先实现用于掌握发动机当前位置的发动机同步。发动机同步是指利用曲轴信号和凸轮轴信号,掌握发动机的当前位置的流程。一般情况下,通过利用检测曲轴信号的间隔(gap)的方法实现同步。
图1是用于说明发动机同步的图。
参照图1,用于实现发动机同步的系统包括曲柄位置传感器10、凸轮位置传感器20以及发动机控制器30而构成。
为了精细地控制发动机,曲柄位置传感器(crank position sensor)10以及凸轮位置传感器(cam position sensor)20分别检测曲轴以及凸轮轴的旋转并发送到发动机控制器30。
曲柄位置传感器10对曲轴的有效齿(valid tooth)进行计数,并且检测间隔(gap)输出上下振动的电信号。
曲轴的旋转体上沿圆周方向相隔6度的间隔形成有齿(tooth)。需要说明的是,并不是在整个圆周上形成有60个齿,而是以在局部期间排除了齿的方式形成,例如将排除了两个连续的齿的间隔用作参考点。曲柄位置传感器10构成为检测形成在该部分具有其他部分的两倍以上的周期的信号的间隔。
凸轮位置传感器20检测与曲轴联动旋转的凸轮轴的边缘(edge),输出相位反转的电信号,基于凸轮轴的旋转检测活塞的位置,向发动机控制器30提供用于确定燃料喷射时机的信号。
发动机控制器30对曲柄位置传感器10以及凸轮位置传感器20的信号进行运算,并执行发动机同步(engine synchronization)。即、分析被曲柄位置传感器10以及凸轮位置传感器20检测到的曲轴以及凸轮轴的输出信号,无时差地掌握发动机的转速或各气缸的行程过程等,由此各气缸在适当的喷射时机以及点火时机喷射燃料点火。
另一方面,发动机控制器30是Hard real time System(硬实时系统),开始时需要严格遵守时间限制,在初期步骤执行安全启动(secure boot),所以对执行发动机同步带来影响。安全启动(Secure Boot)用于在所有的启动周期确认位于非易失性存储区域的软件的完整性。因此,发动机控制器按照在Boot ROM检查启动代码(Boot code)的完整性,在启动代码检查应用代码(Application Code)区域的完整性后,运行(Start up)应用程序(Application SW)的方法来执行安全启动(Secure boot)。
但是,如果按照现有的方法执行安全启动,则在发动机运转(running)过程中出现系统复位(reset)现象时,需要通过检测曲柄(Crank)信号的间隔(gap)的方法实现发动机同步,但是,由于安全启动的较长执行时间有可能无法检测到间隔,所以需要检测(detect)发动机旋转一圈以后轮回来的间隔(gap)。在这种情况下,在四缸发动机系统中会错过两次燃料喷射以及点火,由此引发当前运转(running)中的发动机的失速(stall)。另外,如果发动机运转过程中突然发生发动机失速(stall),则有可能给驾驶员带来危险,存在安全问题。
发明内容
所要解决的技术问题
本发明是为了解决上述问题而提出的,其目的在于提供即使在发动机运转过程中发生系统复位时也能够防止发动机失速的用于发动机控制器的安全启动的系统以及方法。
本发明的另一目的在于提供在系统复位后重新开始时以最快速度结束系统初始化执行发动机同步,从而开始燃料喷射和点火的用于发动机控制器的安全启动的系统以及方法。
另一方面,本发明要解决的技术问题不限定于上述的技术问题,在基于下面说明的内容本领域技术人员显而易见的范围内可以包括各种技术问题。
用于解决技术问题的手段
根据用于解决上述的技术问题的本发明的一方面,提供一种用于发动机控制器的安全启动的系统,其包括存储器、主机CPU和HSM,所述存储器存储有启动代码(boot code)以及至少一个应用程序,在发生开始起动或者复位(reset)事件时,所述主机CPU向所述HSM(Hardware Security Module:硬件安全模块)传输启动(startup)指令,当从所述HSM接收到启动代码认证成功时,所述主机CPU执行所述启动代码后,向所述HSM传输残留存储区域认证指令,所述HSM接收所述启动指令而进行启动,执行存储在所述存储器中的启动代码的认证,并且向所述主机CPU传输启动代码认证结果,当接收到所述残留存储区域认证指令时,所述HSM执行所述存储器中除启动代码之外的剩余区域的认证。
本发明的特征在于,所述存储器根据使用用途划分应用程序区域,能够设定用于按照应用程序区域进行完整性认证的优先级。
当执行启动代码时,在所述HSM执行剩余存储区域的完整性认证的期间,所述主机CPU与所述剩余存储区域的完整性认证结果无关地执行剩余存储区域的应用程序。
所述HSM基于已存储的启动代码的位置以及尺寸,从所述存储器获取启动代码,根据所述启动代码计算认证码的值,基于所计算的所述认证码的值与已存储的认证码的值是否一致,对所述启动代码的完整性进行认证,并向所述主机CPU传输所述启动代码的认证结果。
所述HSM针对存储器的剩余区域,按照优先级分别计算认证码的值,将所计算的各所述认证码的值与已存储的对应的认证码的值进行比较,由此检查完整性。
在主机CPU执行启动代码之前,所述HSM前台(Foreground)检查(check)启动代码的完整性,并且后台(Background)检查存储器的剩余区域的完整性。
根据本发明的另一方面,提供一种用于发动机控制器的安全启动的方法,该方法具备主机CPU以及HSM(Hardware Security Module),用于发动机控制器的安全启动(secure boot)的方法包括如下步骤:(a)在发生开始起动或者复位事件时,所述主机CPU向所述HSM传输启动(startup)指令;(b)启动所述HSM,对存储在存储器中的启动代码(bootcode)进行认证,并向所述主机CPU传输启动代码认证结果;(c)所述主机CPU执行所述启动代码,并向所述HSM传输残留存储区域认证指令;以及(d)所述HSM执行所述存储器中除启动代码之外的剩余区域的认证。
所述(b)步骤包括:基于已存储的启动代码的位置以及尺寸,从所述存储器获取启动代码的步骤;根据所述启动代码计算认证码的值的步骤;基于所计算的所述认证码的值与已存储的认证码的值是否一致,认证所述启动代码的完整性的步骤;以及向所述主机CPU传输所述启动代码的认证结果的步骤。
在所述(c)步骤中,所述主机CPU传输残留存储区域认证指令后,可以执行所述存储器中除启动代码之外的剩余区域的应用程序。
在所述(d)步骤中,所述HSM针对存储器的剩余区域,按照优先级分别计算认证码的值,将所计算的各所述认证码的值与已存储的对应的认证码的值进行比较,由此检查完整性。
另一方面,上述的“用于发动机控制器的安全启动的方法”以程序的方式实施后记录于由电子装置能够读取的记录介质中,或者可以通过程序下载管理装置(服务器等)分发。
发明效果
根据本发明,对系统的启动过程不会带来影响,并且不会出现发动机失速,从而能够确保安全。
并且,即使在发动机运转过程中发生系统复位的情况下,也可以防止发动机失速,执行持续的发动机运转。
并且,系统复位后重新开始时,可以以最快速度结束系统初始化,执行发动机同步,开始燃料喷射和点火。
另一方面,本发明的效果并不限定于上述的效果,在基于下面说明的内容本领域技术人员显而易见的范围内可以包括各种效果。
附图说明
图1是用于说明发动机同步的图。
图2以及图3是示出根据本发明的用于发动机控制器的安全启动的系统的图。
图4是根据本发明的按照优先级划分区域的存储器的示意图。
图5以及图6是示出根据本发明的用于发动机控制器的安全启动的方法的图。
图7是示出根据本发明的HSM认证启动代码的方法的图。
附图标记说明
110:存储器;120:主机CPU;130:HSM。
具体实施方式
通过基于本发明说明书的附图进行的下面的详细说明,可以进一步明确本发明的上述的目的、技术思想以及由此带来的作用效果。
下面,参照附图,详细说明根据本发明的“用于发动机控制器的安全启动的系统以及方法”。进行说明的实施例只是用于使本领域技术人员容易理解本发明,本发明并不限定于这些。并且,附图中示出的内容是为了简单地说明本发明的实施例而示出的,有可能与实际实现方式不同。
另一方面,下面示出的各构成部只是实现本发明的一例。因此,在本发明的其它方式中在不脱离本发明的思想以及范围的范围内可以使用其它构成部。并且,各构成部可以只通过完全硬件或者软件的构成来实现,还可以通过执行相同功能的各种硬件以及软件构成的组合来实现。并且,还可以通过一个硬件或者软件来同时实现两个以上的构成部。
并且,“包括”一些构成要素是“开放式”表达方式,只是表示存在对应的构成要素,不应该理解为排除其它构成要素。
汽车动力总成(Automotive Powertrain)系统要求快速发动机同步。尤其是,即使在发动机运转过程中发生严重错误时,也不应该产生系统复位导致的发动机失速。为此,系统复位后,需要快速实现发动机再同步,这表示需要将安全启动(secure boot)的执行时间最小化。
本发明为了实现安全启动的执行时间的最小化,一起使用前台方式和后台方式。即、为了初期驱动,对于启动代码区域使用前台方式,对于剩余存储区域使用后台方式。使用后台方式时,可以根据用途划分存储器,并且按照各存储区域的重要性定义执行安全启动的顺序。
下面记载的应用程序(application)和应用代码可以表示相同的意思。
下面,参照附图,详细说明用于发动机控制器的安全启动的方法。
图2以及图3是示出根据本发明的用于发动机控制器的安全启动的系统的图,图4是根据本发明的按照优先级划分区域的存储器示意图。
参照图2以及图3,用于发动机控制器的安全启动的系统100包括存储器110、主机CPU120、HSM(Hardware Security Module)130。
存储器110中存储有启动代码(boot code)、应用代码(Application Code)。启动代码是用于启动发动机控制器的软件,应用代码是如发动机控制器执行的应用程序等软件。存储有应用代码的存储区域可以被划分为应用程序1、应用程序2、…、应用程序n的方式的多个区域。这时,当设有应用程序的优先级时,可以按照优先级在应用程序区域配置应用代码。这样,存储器110按照使用用途划分应用程序区域,并且可以定义用于进行各应用程序区域的完整性验证的优先级。
并且,存储器110中还存储有通过启动代码的加密而获得的加密的认证码的值。认证码的值例如应用已设定的算法或者函数可通过CMAC(cipher based messageauthentication code:基于密码的消息认证码)来生成启动代码,并且还被称为数字签名值。
主机CPU120控制发动机控制器的整体动作。
尤其是,主机CPU120在发生开始起动或者复位事件时,将启动(startup)指令传输到HSM130,并且从HSM130接收到启动代码认证成功时,执行启动代码,并向HSM130传输残留存储区域认证指令。其中,残留存储区域认证指令可以是请求对于存储器110的除了启动代码区域之外的剩余区域的完整性验证的指令。
主机CPU120在HSM130执行除了启动代码之外的剩余存储区域的完整性认证的期间,与应用代码的认证结果无关地,执行剩余存储区域的应用代码。即、如果执行启动代码,则主机CPU120从存储器110查找并执行被设为自动开始的应用代码。
HSM130在主机CPU120执行启动代码之前,前台(Foreground)检查(check)启动代码的完整性,并且后台(Background)检查存储器110的剩余区域的完整性。
HSM130当从主机CPU120接收到启动指令时,被启动,进行存储在存储器110中的启动代码(boot code)的认证,并将启动代码认证结果传输到主机CPU120。即、HSM130基于已存储的启动代码的位置以及尺寸,从存储器110获取启动代码,根据启动代码计算认证码的值。其中,认证码的值例如可以是CMAC。之后,HSM130对计算的认证码的值和已存储的认证码的值进行比较,一致时,判断为启动代码的完整性认证成功,不一致时,判断为启动代码的完整性认证失败。HSM130将完整性认证成功或者完整性认证失败作为启动代码认证结果传输给主机CPU120。
当从主机CPU120接收到残留存储区域认证指令时,HSM130执行存储器110中除了启动代码之外的剩余区域的认证。这时,HSM130对于剩余存储区域,按照优先级分别计算认证码的值,将计算的各认证码的值与已存储的对应的认证码的值进行比较,从而检查完整性。
例如,如图4所示,说明按照复杂驱动(Complex Driver)、驱动程序(Driver SW)、控制算法(Control Algorithm)、诊断(Diagnostic)的顺序设有优先级的情况。发动机控制器以快速发动机同步为优先,所以HSM130对用于同步的复杂驱动(Complex Driver)进行最优先认证,按照Driver SW、Control Algorithm、Diagnostic的顺序分别认证完整性。
HSM130可以不向主机CPU120传输与后台执行的应用程序认证结果有关的任何信息。另外,HSM130还可以将应用程序认证结果告知主机CPU120。这时,HSM130在应用程序被运行(Start up)之后向主机CPU120传递应用程序认证结果。
HSM130对于除了启动代码之外的剩余存储区域执行后台认证,所以主机CPU120还可以执行未结束完整性验证的代码。
在前面的说明中说明了系统将存储器110、主机CPU120以及HSM130全都包括的结构。主机CPU120和HSM130利用例如SoC(system on a chip:系统单芯片)技术等以单一芯片的方式实现。另外,HSM130还可以与构成系统的其它构成要素单独构成。换言之,在图2的系统中,只有HSM可构成为单独的产品。
图5以及图6是示出根据本发明的用于发动机控制器的安全启动的方法的图。
参照图5以及6,当发生发动机控制器的开始起动或者复位事件时(S502),主机CPU执行启动芯片(boot Rom)(S504),向HSM传输启动(startup)指令(S506)。
启动HSM(S508),进行存储在存储器中的启动代码(boot code)的认证(S510),将启动代码认证结果传输给主机CPU(S512)。这时,HSM计算对于启动代码的认证码的值,将计算的认证码的值与已存储的认证码的值进行对比,验证启动代码的完整性。参照图7详细说明HSM进行启动代码认证的方法。
当执行S512时,主机CPU执行启动代码(S514),向HSM传输残留存储区域认证指令(S516)。
主机CPU执行对构成系统的要素进行初始化的任务(S518a),HSM执行存储器中除了启动代码之外的剩余区域的认证(S518b)。这时,同时执行S518a和S518b。因此,主机CPU可以在从HSM未接收应用程序认证结果的状态下执行应用程序。
图7是示出根据本发明的HSM进行启动代码认证的方法的图。
参照图7,HSM读取已存储的启动代码的位置以及尺寸(S702),基于所读取的启动代码的位置以及尺寸,从存储器获取启动代码(S704)。
之后,HSM根据启动代码计算认证码的值(S706),对计算的认证码的值和已存储的认证码的值进行比较(S708),判断是否一致(S710)。
即、HSM在启动代码上应用散列函数或者散列算法计算出散列值,利用公钥或者密钥,对加密的数字签名值进行解密,得到认证码的值。之后,HSM将获得的认证码的值与已存储的认证码的值进行比较,判断两个认证码的值是否一致。
当S710的判断结果,两个认证码的值一致时,HSM向主机CPU告知启动代码认证成功(S712),当不一致时,向主机CPU告知启动代码认证失败(S714)。
另一方面,用于发动机控制器的安全启动的方法可以用程序来生成,构成程序的多个代码以及代码段可以由本领域的程序员容易推理得到。并且,与用于发动机控制器的安全启动的方法有关的程序可以存储在电子装置可读取的信息存储介质(ReadableMedia),由电子装置读取并执行。
如上所述,本发明所属技术领域的技术人员可以理解,在不脱离本发明技术思想或不改变必要特征的情况下,可以以其它具体实施方式实施本发明。因此,以上说明的实施例只是示例性的,不应当理解为限定其范围。并且,附图中图示的顺序图只是在实施本发明的过程中为了实现最优的结果而示例性图示的顺序,当然可以提供其它追加的步骤或删除一部分步骤。
本说明书的附图中示出的框图和流程图中包括的执行本发明的技术特征的构成是指所述构成之间的逻辑界线。但是,根据软件或硬件的实施例,示出的构成及其功能以独立的软件模块、单块软件结构、代码、服务以及它们的组合方式实施,存储在具备可执行存储的程序代码、指令等的处理器的计算机中可执行的介质中,从而实现其功能,因此,这样的所有的实施例仍然视为都包括在本发明的保护范围内。
因此,附图和对其的技术说明本发明的技术特征,但是,在没有明确提及用于实现这样的技术特征的软件的特定排列的情况下,不应该简单地推理得到。即、可以存在以上说明的各种实施例,这样的实施例在保持与本发明相同的技术特征的情况下可以进行部分变形,这些变形仍然视为包括在本发明的保护范围内。
并且,在顺序图的情况下,在附图中按照特定的顺序示出了动作,但是,这是为了获得最优结果而图示的,不应该理解为这些动作必须按照附图示出的特定顺序或者依次执行或者必须执行图示的所有的动作。特殊情况下,多任务处理和并行处理更加有利。而且,以上说明的实施方式的各种系统组件的分离不应该理解为所有的实施方式中均需要这些分离,应当理解的是所说明的程序组件和系统通常可以一起整合为单一软件产品或者封装在多个软件产品中。
如上所述,本说明书并不是旨在通过所提示的具体术语来限定本发明。因此,参照以上说明的实施例来详细说明了本发明,但是,本发明所属技术领域的技术人员,在不脱离本发明的范围的情况下,也可以对本实施例进行改进、变更以及变形。本发明的范围应该基于后述的权利要求书来表示,而不是上述的内容,并且应该解释为由从权利要求书的含义以及范围和等价概念导出的所有的变更或者修改方式均包括在本发明的保护范围内。

Claims (10)

1.一种用于发动机控制器的安全启动的系统,其特征在于,
所述系统包括存储器、主机CPU和HSM,
所述存储器存储有启动代码以及至少一个应用程序,
在发生开始起动或者复位事件时,所述主机CPU向所述HSM传输启动指令,当从所述HSM接收到启动代码认证成功时,所述主机CPU执行所述启动代码后,向所述HSM传输残留存储区域认证指令,
所述HSM接收所述启动指令而进行启动,执行存储在所述存储器中的启动代码的认证,并且向所述主机CPU传输启动代码认证结果,当接收到所述残留存储区域认证指令时,所述HSM执行所述存储器中除启动代码之外的剩余区域的认证。
2.根据权利要求1所述的用于发动机控制器的安全启动的系统,其特征在于,
所述存储器根据使用用途划分应用程序区域,能够设定用于按照应用程序区域进行完整性认证的优先级。
3.根据权利要求1所述的用于发动机控制器的安全启动的系统,其特征在于,
当执行启动代码时,在所述HSM执行剩余存储区域的完整性认证的期间,所述主机CPU与所述剩余存储区域的完整性认证结果无关地执行剩余存储区域的应用程序。
4.根据权利要求1所述的用于发动机控制器的安全启动的系统,其特征在于,
所述HSM基于已存储的启动代码的位置以及尺寸,从所述存储器获取启动代码,根据所述启动代码计算认证码的值,基于所计算的所述认证码的值与已存储的认证码的值是否一致,对所述启动代码的完整性进行认证,并向所述主机CPU传输所述启动代码的认证结果。
5.根据权利要求1所述的用于发动机控制器的安全启动的系统,其特征在于,
所述HSM针对存储器的剩余区域,按照优先级分别计算认证码的值,将所计算的各所述认证码的值与已存储的对应的认证码的值进行比较,由此检查完整性。
6.根据权利要求1所述的用于发动机控制器的安全启动的系统,其特征在于,
在主机CPU执行启动代码之前,所述HSM前台检查启动代码的完整性,并且后台检查存储器的剩余区域的完整性。
7.一种用于发动机控制器的安全启动的方法,具备主机CPU以及HSM,其特征在于,所述方法包括如下步骤:
(a)在发生开始起动或者复位事件时,所述主机CPU向所述HSM传输启动指令;
(b)启动所述HSM,对存储在存储器中的启动代码进行认证,并向所述主机CPU传输启动代码认证结果;
(c)所述主机CPU执行所述启动代码,并向所述HSM传输残留存储区域认证指令;以及
(d)所述HSM执行所述存储器中除启动代码之外的剩余区域的认证。
8.根据权利要求7所述的用于发动机控制器的安全启动的方法,其特征在于,
所述(b)步骤包括:
基于已存储的启动代码的位置以及尺寸,从所述存储器获取启动代码的步骤;
根据所述启动代码计算认证码的值的步骤;
基于所计算的所述认证码的值与已存储的认证码的值是否一致,认证所述启动代码的完整性的步骤;以及
向所述主机CPU传输所述启动代码的认证结果的步骤。
9.根据权利要求7所述的用于发动机控制器的安全启动的系统,其特征在于,
在所述(c)步骤中,所述主机CPU传输残留存储区域认证指令后,执行所述存储器中除启动代码之外的剩余区域的应用程序。
10.根据权利要求7所述的用于发动机控制器的安全启动的方法,其特征在于,
在所述(d)步骤中,所述HSM针对存储器的剩余区域,按照优先级分别计算认证码的值,将所计算的各所述认证码的值与已存储的对应的认证码的值进行比较,由此检查完整性。
CN201711238028.9A 2016-12-01 2017-11-30 用于发动机控制器的安全启动的系统以及方法 Active CN108131209B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0163065 2016-12-01
KR1020160163065A KR101887974B1 (ko) 2016-12-01 2016-12-01 엔진제어기의 안전부팅을 위한 시스템 및 방법

Publications (2)

Publication Number Publication Date
CN108131209A true CN108131209A (zh) 2018-06-08
CN108131209B CN108131209B (zh) 2021-02-26

Family

ID=62163857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711238028.9A Active CN108131209B (zh) 2016-12-01 2017-11-30 用于发动机控制器的安全启动的系统以及方法

Country Status (4)

Country Link
US (1) US10614220B2 (zh)
KR (1) KR101887974B1 (zh)
CN (1) CN108131209B (zh)
DE (1) DE102017221677A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112292679A (zh) * 2018-06-20 2021-01-29 罗伯特·博世有限公司 密码模块和用于密码模块的运行方法
CN114821868A (zh) * 2022-06-24 2022-07-29 宁波均联智行科技股份有限公司 一种车门解锁的控制系统及车辆

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956576B2 (en) * 2018-09-06 2021-03-23 Micron Technology, Inc. Secure boot via system and power management microcontroller
WO2020142633A1 (en) * 2019-01-03 2020-07-09 Tokenvault, Inc. Apparatus and methods for remote controlled cold storage of digital assets using near field communication tags
US11468435B1 (en) * 2019-01-03 2022-10-11 Blockchain Innovation, Llc Apparatus and methods of air-gapped crypto storage using diodes
JP7286381B2 (ja) * 2019-04-01 2023-06-05 キヤノン株式会社 情報処理装置とその制御方法
EP3798886A1 (en) 2019-09-26 2021-03-31 General Electric Company Devices, systems, and methods for securely initializing an embedded system
JP7440350B2 (ja) 2020-06-11 2024-02-28 日立Astemo株式会社 電子制御装置、制御方法
DE102020211346A1 (de) * 2020-09-10 2022-03-10 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Booten einer elektronischen Vorrichtung
US11809566B2 (en) * 2020-10-02 2023-11-07 Infineon Technologies LLC Methods for fast, secure boot from nonvolatile memory device and corresponding systems and devices for the same
KR20220154879A (ko) * 2021-05-14 2022-11-22 현대자동차주식회사 차량 제어 장치 및 방법
KR102598510B1 (ko) * 2021-12-16 2023-11-06 주식회사 텔레칩스 소프트웨어의 무결성 검증 방법 및 그 장치

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047897A (ko) * 2004-06-30 2006-05-18 마이크로소프트 코포레이션 상태 검증을 사용하여 보호된 오퍼레이팅 시스템 부팅을위한 시스템 및 방법
WO2007033322A2 (en) * 2005-09-14 2007-03-22 Sandisk Corporation Hardware driver integrity check of memory card controller firmware
KR20080072452A (ko) * 2007-02-02 2008-08-06 삼성전자주식회사 전자기기의 부팅 방법 및 부팅 인증 방법
US20130013906A1 (en) * 2011-07-08 2013-01-10 Openpeak Inc. System and method for validating components during a booting process
CN103685214A (zh) * 2011-10-28 2014-03-26 通用汽车环球科技运作有限责任公司 用于汽车电子控制单元的安全访问方法
CN104335220A (zh) * 2012-03-30 2015-02-04 爱迪德加拿大公司 用于防止和检测安全威胁的方法和系统
US20150331816A1 (en) * 2013-01-31 2015-11-19 Mitsubishi Electric Corporation Computer apparatus and control method of computer apparatus
CN105717814A (zh) * 2016-03-18 2016-06-29 浙江吉利控股集团有限公司 车辆远程控制系统及其控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028172B2 (en) 2005-01-14 2011-09-27 Microsoft Corporation Systems and methods for updating a secure boot process on a computer with a hardware security module
FR3004218B1 (fr) 2013-04-04 2015-04-10 Continental Automotive France Procede d'estimation de la position angulaire d'un vilebrequin pour accelerer le demarrage d'un moteur a combustion interne
US9792440B1 (en) * 2014-04-17 2017-10-17 Symantec Corporation Secure boot for vehicular systems
KR101684013B1 (ko) 2014-12-04 2016-12-08 현대자동차주식회사 가상크랭크신호를 이용한 엔진 시동 꺼짐 방지 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060047897A (ko) * 2004-06-30 2006-05-18 마이크로소프트 코포레이션 상태 검증을 사용하여 보호된 오퍼레이팅 시스템 부팅을위한 시스템 및 방법
WO2007033322A2 (en) * 2005-09-14 2007-03-22 Sandisk Corporation Hardware driver integrity check of memory card controller firmware
KR20080072452A (ko) * 2007-02-02 2008-08-06 삼성전자주식회사 전자기기의 부팅 방법 및 부팅 인증 방법
US20130013906A1 (en) * 2011-07-08 2013-01-10 Openpeak Inc. System and method for validating components during a booting process
CN103685214A (zh) * 2011-10-28 2014-03-26 通用汽车环球科技运作有限责任公司 用于汽车电子控制单元的安全访问方法
CN104335220A (zh) * 2012-03-30 2015-02-04 爱迪德加拿大公司 用于防止和检测安全威胁的方法和系统
US20150331816A1 (en) * 2013-01-31 2015-11-19 Mitsubishi Electric Corporation Computer apparatus and control method of computer apparatus
CN105717814A (zh) * 2016-03-18 2016-06-29 浙江吉利控股集团有限公司 车辆远程控制系统及其控制方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112292679A (zh) * 2018-06-20 2021-01-29 罗伯特·博世有限公司 密码模块和用于密码模块的运行方法
CN112292680A (zh) * 2018-06-20 2021-01-29 罗伯特·博世有限公司 密码模块和针对其的运行方法
CN114821868A (zh) * 2022-06-24 2022-07-29 宁波均联智行科技股份有限公司 一种车门解锁的控制系统及车辆
CN114821868B (zh) * 2022-06-24 2022-09-23 宁波均联智行科技股份有限公司 一种车门解锁的控制系统及车辆

Also Published As

Publication number Publication date
DE102017221677A1 (de) 2018-06-07
CN108131209B (zh) 2021-02-26
US10614220B2 (en) 2020-04-07
KR101887974B1 (ko) 2018-08-13
US20180157841A1 (en) 2018-06-07
KR20180062882A (ko) 2018-06-11

Similar Documents

Publication Publication Date Title
CN108131209A (zh) 用于发动机控制器的安全启动的系统以及方法
JP5310761B2 (ja) 車両ネットワークシステム
CN111181928B (zh) 车辆诊断方法、服务器及计算机可读存储介质
EP3883208B1 (en) Validation of software residing on remote computing devices
WO2019083440A2 (zh) 一种车载设备升级方法及相关设备
KR101302562B1 (ko) 블랙박스 데이터의 위변조 방지 장치 및 방법
CN106168899A (zh) 用于更新嵌入式控制设备的方法和更新网关
US20100322423A1 (en) Data Transmission Method, and Tachograph System
CN111107094A (zh) 轻量级地面向医疗物联网的大数据共享系统
CN107849993A (zh) 用于确定车辆发动机的凸轮轴的旋转状态的方法
JP2007124171A (ja) 車載端末
EP3627812B1 (en) Video recording apparatus and video recording verification system, and video recording method and video verification method
CN111177693A (zh) 一种验证终端根证书的方法、装置、设备和介质
US10311240B1 (en) Remote storage security
TWI708891B (zh) 用於在啟動和停止系統中管理內燃機的再啟動之流程
CN110727546A (zh) 汽车数据备份方法及装置
US9158926B2 (en) Engine control unit configuration security
CN106788983B (zh) 一种基于客户端/服务器模式的通讯数据加密方法及装置
JP5200231B2 (ja) 画像記憶装置
CN117149521A (zh) 网联汽车数据备份方法及系统
US20230205887A1 (en) Secure automotive system
CN114329522A (zh) 一种私钥保护方法、装置、系统及存储介质
CN109787954B (zh) 一种php接口安全过滤方法及系统
JP6463435B1 (ja) 制御装置および制御方法
CN110457389A (zh) 一种区块链多链数据信息同步的底层方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211112

Address after: Seoul, South Kerean

Patentee after: Hyundai aoteobo Co., Ltd

Address before: Gyeonggi Do, South Korea

Patentee before: Oterun Co., Ltd