CN116720190A - 用于嵌入式控制器的加速安全引导 - Google Patents

用于嵌入式控制器的加速安全引导 Download PDF

Info

Publication number
CN116720190A
CN116720190A CN202310092239.5A CN202310092239A CN116720190A CN 116720190 A CN116720190 A CN 116720190A CN 202310092239 A CN202310092239 A CN 202310092239A CN 116720190 A CN116720190 A CN 116720190A
Authority
CN
China
Prior art keywords
signature
carrier
software
boot
version
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.)
Pending
Application number
CN202310092239.5A
Other languages
English (en)
Inventor
J·朗根巴赫
M·克莱默
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.)
Aptiv Technologies Ltd
Original Assignee
Aptiv Technologies 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
Priority claimed from US18/154,667 external-priority patent/US20230244790A1/en
Application filed by Aptiv Technologies Ltd filed Critical Aptiv Technologies Ltd
Publication of CN116720190A publication Critical patent/CN116720190A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供用于嵌入式控制器的加速安全引导。描述了用于为载具的嵌入式控制器和其它嵌入式系统执行加速安全引导的技术和系统。通过在装置或载具上对软件单元的哪些部分将被用于满足经加速的完整性检查进行保密,保持了安全性。可以采用这些元素的可得出的,基于伪随机数生成器的映射图,这既不可预测也不可发现。即使秘密被泄密,也可以采取进一步的措施,因此加速安全引导不能在随后的重新引导时被欺骗。一个嵌入式系统的引导时间较短;需要由加速安全引导检查的软件数量比正常安全引导少8倍或更多,这大大加速了该过程。新兴技术可以较容易地用作嵌入式控制器和具有快速启动要求的其它计算机系统。

Description

用于嵌入式控制器的加速安全引导
技术领域
本公开涉及为载具、电器和其它嵌入式系统提供计算功能的嵌入式控制器的安全引导。
背景技术
微控制器和其它处理组件通常嵌入在多种应用中。随着计算机技术的进步,希望将其用于汽车应用。载具相当普遍地依赖较复杂的基于计算机的自动化和控制,这可以提高安全性并使驾驶较容易。一些先进驾驶辅助系统(ADAS)使用为信息技术(IT)、移动通信和其他行业开发的新兴技术(例如,片上系统、处理单元、可编程硬件)来实现。这些新兴技术可以提供足够的计算能力来完成载具任务;然而,由于它们给载具系统中带来了不可预见的弱点,也可能影响安全性和/或可靠性。
发明内容
本概述介绍了与用于载具和其他嵌入式系统的嵌入式控制器的加速安全引导相关的简化构思,如在详细描述中进一步描述并由附图传达的。通过在装置或载具上对软件单元的哪些部分将被用于满足经加速的完整性检查进行保密,保持了安全性。可以采用这些元素的可得出的,基于伪随机数生成器的映射图,该映射图既不可预测也不可发现。即使秘密被泄密,也可以采取进一步的措施,因此加速安全引导不能在随后的重新引导时被欺骗。嵌入式系统的引导时间较短;需要由加速安全引导检查的软件的量比正常安全引导小8倍或更多,这极大地加速了该过程。新兴技术可以较容易地用作嵌入式控制器和具有快速启动要求的其它计算机系统。
在一个示例中,一种方法,包括以下步骤:基于安装在载具的装置上的软件单元的基线版本的部分生成载具/装置签名;并且在运行安装在所述装置上的所述软件单元的当前版本之前检查所述当前版本的完整性。当前版本完整性检查通过以下处理来进行:识别所述基线版本的用于生成所述载具/装置签名的所述部分;以及确定所述软件单元的所述当前版本的与所述基线版本的所述用于生成所述载具/装置签名的部分对应的部分的当前签名。方法还包括当所述当前签名与所述载具/装置签名匹配时,在所述装置上执行所述软件单元。
在另一示例中,一种系统包括至少一个处理器,该处理器被配置成执行以上概述的方法以及在此阐述的其他方法。还描述了一种系统,该系统包括:用于执行以上概述的方法和在此阐述的其他方法的装置;非暂时性计算机可读介质,例如包括指令的计算机可读存储介质,这些指令在被执行时使得至少一个处理器执行以上概述的方法和在此阐述的其他方法。计算机软件产品可以被配置成在计算机硬件上执行,以使得计算机硬件执行以上概括的方法和这里阐述的其它方法。
本概述不旨在标识所要求保护的主题的基本特征,也不旨在用于确定所要求保护的主题的范围。虽然主要在用于汽车的嵌入式控制器的上下文中描述,但是如本文所述的用于实现嵌入式控制器的加速安全引导的技术可应用于其中安全性和可靠性与处理速度一样重要的其它应用,例如工业应用、制造装置、发电厂、包括飞机和船舶的其它载具、以及其它嵌入式系统。
附图说明
用于嵌入式控制器的加速安全引导的一个或更多个方面的细节,其中在整个附图中使用相同的附图标记来表示相同的组件,并且简要描述如下:
图1例示了根据本公开的技术的被配置成执行用于载具的嵌入式控制器的加速安全引导的载具环境的图;
图2A和图2B例示了根据本公开的技术的经历用于嵌入式控制器的正常安全引导和加速安全引导的软件或固件的图;
图3A和图3B例示了根据本公开的技术的用于嵌入式控制器的正常安全引导和加速安全引导的图;以及
图4和图5例示了根据本公开的技术的用于执行嵌入式控制器的加速安全引导的过程的流程图。
具体实施方式
载具中的现有计算机装置不足以处理某些高级驾驶和安全(ADAS)任务。例如,自主驾驶任务涉及处理大量传感器数据以控制载具。因此,提高自驱动和驾驶员辅助任务的速度和准确性可以提高安全性和乘客舒适性。有时,新兴技术被重新用于载具用途以提高处理速度。由于规模经济,一些最快的处理技术被开发用于移动计算、游戏或信息技术(IT)。当载具和其它安全关键应用依赖于这些组件时,会引入新的弱点,这降低了可靠性和安全性。例如,未使用的网络接口或用于物联网(Internetof Things,IoT)连接的接口使得装置易受安全漏洞的影响,如果发生安全漏洞,则可能影响载具的操作或控制,并且危及乘客、行人和其它载具的安全。可能需要网络安全措施来确保载具计算机系统的完整性,以提供道路上的安全操作。
保护在载具计算机系统中执行的软件或固件的一种方式是通过在执行之前进行到信任源的认证。安全引导过程确保软件或固件的完整性,因此恶意或被破坏的代码不会导致对装置的意外操作。正常安全引导过程需要由开发者、原始装置制造商(OEM)或其它可信来源使用私钥和密码签名过程来对各个软件单元(例如,引导加载器、应用程序)进行签名。在非对称签名算法中,例如基于椭圆曲线密码(ECC)或李维斯特-萨莫尔-阿德曼(Rivest-Shamir-Adleman,RSA)的非对称签名算法,使用由私钥和公钥组成的密钥对。相反,包括基于消息认证码(MAC)的对称签名算法,使用单个密钥。对于签名计算,软件单元的所有元素(例如,比特、字节)由不可改变的信任根检查。在执行各个软件单元之前在装置上执行特殊代码,特殊代码通过检查第一单元并将其启动而充当软件单元的信任根。然后,该软件单元可以检查并启动下一软件单元,以此类推。将应用于各个软件单元的签名与用相应的公钥和软件单元的机器可读代码的各个元素确定的签名进行比较。OEM可以将软件单元的工厂安装或软件更新加载到ADAS计算机系统中。在初始引导时,在工厂安装之后或在更新之后,计算机系统执行正常安全引导过程。这确保了在装置或载具交货之前将各个软件单元基线化到安全状态。
随着软件单元发展到变得越大和越复杂,正常安全引导过程的等待时间对于载具上的使用达到不可接受的水平,这在很大程度上是因为在完整性检查期间评估每一个元素。在大型软件上的签名检查需要大量计算,在载具计算机系统上执行会花费长时间来完成。在不造成不便的情况下,例如,高度自动化的驾驶例程太大而不能在载具重新启动时使用正常安全引导过程来检查。乘坐者预期载具一启动就是可操作的并且准备好驾驶。跳过安全引导完全有导致计算机故障的风险,这引起安全问题,并且可能导致用户不满意,并且导致较少采用载具技术。
为了安全地加速启动时间,并且不执行正常安全引导过程,描述了一种加速安全引导,其中,减少了用密码算法签名并需要检查的软件的量,并且注意了没有危及完整性检查的安全性。应注意,正常安全引导过程不是建立基线软件加载或执行本文所述的加速引导过程的必要条件。如果响应于建立基线软件单元而初始化了启用加速安全引导功能的某些参数,则正常安全引导过程可完全由加速安全引导过程代替,如下所述。
本文描述用于嵌入式控制器和其它嵌入式系统的加速安全引导。装置的每次重新启动可能比正常安全引导发生得快,因为从一次重新启动到下一次重新启动,只需要检查软件单元的某些元素来确认完整性。为了执行加速安全引导,在初始化和启用加速安全引导之前(例如,使用私钥、密钥或MAC)确定单元签名(例如,装置特定的、载具特定的)。例如,在软件单元的一次正常安全引导期间确定单元签名。例如,当在受控环境下对计算机系统重新编程时,可以在安全引导环境之外确定单元签名。软件更新可能导致单元签名的改变或初始化。然而,使用加速安全引导的唯一条件可以是可从其中测试该软件单元的装置或载具的非易失性存储器获得任何单元签名。然而,加速安全引导是否可以验证软件单元的完整性可以依赖于安全地维持正确的单元签名,使得在加速安全引导的时刻可以使用当前签名确定来验证整个软件单元的完整性。
例如,在软件更新之后或在初始安装之后,执行正常安全引导过程以验证各个软件单元的真实性和完整性,从而建立用于在未来引导周期检查完整性的基线。在正常安全引导期间,并且在验证了应用于软件单元的签名是来自信任源之后,可以使用伪随机数生成器(PRNG)来选择在加速安全引导期间要检查软件单元的哪些单元。每当使用特定起始值或种子作为输入时,PRNG返回相同的随机数序列。
为了实现加速安全引导,特定代码段(例如,启动代码、引导加载程序、父应用程序)依赖于PRNG种子作为针对PRNG的开始值。PRNG被配置成输出表示到用于从基线生成签名的软件单元的当前版本的相同片段的映射的值。PRNG种子对于各个载具或装置可以是独特的,并且使得各个载具或装置的PRNG为各个不同的装置和/或载具产生独特的签名。用于生成装置或载具签名的PRNG本身可以是跨不同载具和/或跨一个载具上的不同装置使用的相同PRNG组件(例如,基于相同的数字生成器算法)。不同的PRNG组件也可以跨单个载具上的不同装置使用(例如,将这些装置分组为共同的安全类)。在该载具上运行的硬件安全模块(HSM)可以用于保存PRNG种子和其他PRNG参数,其使得能够跨一组不同装置使用不同的PRNG组件。用于该组装置中的PRNG组件的独特PRNG种子和其它参数可以被安全地存储(例如,由载具HSM),以在不同装置或装置组之间在载具上保持保密,这可以使得在存在于一个或更多个载具的不同装置和/或装置组之间实现附加的安全级别。然而,在加速安全引导期间,使用输入到PRNG的相应PRNG种子来检查单元签名,以首先产生到用于初始化加速安全引导并初始产生单元签名的软件单元的相同分段部分的数值映射。利用该映射,可以从被测试的分段部分确定单元签名,以确定与从存储器获得的预期单元签名的任何差异。
单元签名可以使用非对称私钥来确定,或者根据对称密钥来确定,诸如基于高级加密标准(AES)生成的消息认证码(MAC)。如上所述,单元签名或第二MAC对于执行被检查单元的装置和/或载具是独特的。注意将单元签名保存在非易失性存储器中,以在各个加速安全引导周期的启动期间重新使用。例如,载具HSM可以将单元签名保存在载具上的安全存储器中,该安全存储器可以在与该单元签名相关联的装置的外部。装置的安全非易失性存储器部分可用于保存针对该装置的单元签名。下面描述了各种选项,以通过不时地更新或改变单元签名(例如,从一个或更多个加速安全引导到下一个加速安全引导、以规则的间隔、每小时、每天)来维持安全超时。这样,在同一软件单元的后续重新启动时,跳过正常安全引导,而代之以执行加速安全引导。
安全存储器然而必须至少包括用于生成单元签名的PRNG种子。PRNG种子在安全存储器上保密以保持加速安全引导的安全性,以防止通过完整性检查所需的软件单元的元素被发现。通过保存PRNG种子,具有或不具有单元签名,用于确定单元签名本身的元素的身份是不可发现的,并且实现了较高程度的安全性。在加速安全引导期间使用PRNG的结果,来秘密地映射到在初始化期间(例如,在软件安装期间、在软件更新期间、在正常安全引导期间、在先前加速安全引导期间)选择的相同组的单独的元素,以计算单元签名。因此,简单地通过将从PRNG映射计算的单元签名与在装置的非易失性(安全或非安全)存储器中维持的单元签名进行比较,可以高的确定性验证整个软件单元的完整性,比执行正常安全引导快。
通过仅基于某些元素而不是所有元素来计算单元签名,这种检查发生得非常快,因为与正常安全引导相比,各个软件单元的检查要少得多,并且不降低安全性。即使黑客能够(例如,使用强力)获得单元签名、PRNG种子和/或被检查的元素组,该信息对于任何其他装置或任何其他载具都是无用的。为了在秘密PRNG种子或单元签名被泄露的情况下进一步增强安全性,PRNG种子可以从一个加速安全引导到下一个加速安全引导改变(例如,递增地、时间地)。
这样,如本文中所描述的加速安全引导可缩短嵌入式系统的引导时间,以甚至满足某些最快引导要求。为其它行业开发的新兴技术可以较容易地在具有快速启动要求的载具和其它嵌入式系统中采用。
图1例示了根据本公开的技术的被配置成执行嵌入式控制器的加速安全引导的载具102的示例环境100。载具102包括被配置成执行任务(例如,驾驶功能)的载具系统104。例如,载具系统104可以是被配置成检测载具102中和周围的对象的雷达或其他感知系统。载具系统104可以是载具的另一部件,例如ADAS系统、引擎或传动系系统、电气系统、机电系统或载具102的其它系统。
载具系统104包括微控制器106,其也可称为控制单元、引擎控制单元(ECU)、嵌入式系统、片上系统或计算机。微控制器106包括被配置成执行指令的处理器108。处理器可以是中央处理单元(CPU)、图形处理单元(GPU)或其他装置。可执行指令和相关数据可存储在微控制器106的计算机可读存储介质(CRM)110上。处理器108可以加载和执行由CRM 110存储为固件、软件或其组合的指令和相关数据。
启动代码114是由CRM 110存储的示例指令和数据块。通常被包含在CRM 110的静态(只读)部分中,启动代码114是在处理器108加载或执行任何其它软件之前执行的信任根。启动代码114的功能包括管理引导加载器116的加速安全引导过程,以确保微控制器106使用可信数据运行引导加载器116的可信副本。
引导加载器116和软件118是由CRM 110存储的另外的示例数据和指令集。引导加载器116和/或软件118可以是固件、软件或其组合。引导加载器116存储在CRM110的动态(可读写)部分中,用数据的位置和软件118的可执行指令的开始来初始化处理器108。引导加载器116的功能包括管理应用程序通过加速安全引导过程,以确保微控制器106正在执行软件的真实副本并使用真实数据。
处理器108执行软件118以使微控制器106能够执行载具系统104的各种任务。引导加载器116和软件118用相应的单元签名120-1和120-2进行了签名,这些单元签名在非对称示例中是使用相同的私钥来确定的,或者对于对称示例被确定为共享密钥。可以使用非对称或对称密码签名算法。对称算法可以产生共享密钥作为MAC。诸如椭圆曲线数字签名算法(ECDSA)的非对称算法可以产生ECD。密码签名算法的类型根据具体应用来选择。
在图1的示例中,这些单元签名120-1和120-2分别由启动代码114和引导加载器116在正常安全引导过程期间使用,以确保各个签名是可信版本并且不被破坏(例如,不包括恶意代码)。启动代码114检查引导装载程序116的各个元素,并且引导装载程序116检查软件118的各个元素,各个元素用于生成可与相应单元签名120-1和120-2之一进行比较的比较签名(或比较MAC)。
CRM 110还可以包括安全部分,示为安全CRM(SCRM)112。SCRM 112是非易失性的,并且与CRM 110的其余部分隔离,并且可以在与CRM 110分离的存储介质或分离的存储装置上。SCRM 112和CRM 110之间的物理和/或虚拟隔离防止软件118和/或引导加载器116的损坏版本损害存储在SCRM 112上的任何秘密信息。例如,在正常或加速安全引导期间,对SCRM112处维持的秘密信息的访问受到限制,并且仅对启动代码114、引导加载器或软件118中的特定代码可用。在该示例中,微控制器106的SCRM 112除了维持载具/装置签名124外,还维持PRNG的PRNG种子122。在引导加载器116的正常安全引导期间,启动代码114初始化SCRM112上的PRNG种子122和载具/装置签名124。在其他示例中,PRNG种子122和载具/装置签名124在安全引导过程之外生成,例如,在系统存储器的初始闪存期间、在软件更新期间、或者响应于安装补丁或以其他方式更改基线化(例如,先前检查的)软件单元。引导加载器116可以在用于软件118的正常安全引导期间在SCRM 112上初始化PRNG种子122和载具/装置签名124,或者这些可以再次在正常安全引导之外建立。在加速安全引导期间使用PRNG种子122和载具/装置签名124来验证整个软件单元的完整性,而不检查每一个元素。启动代码114、引导加载器116或软件118甚至可以从一个加速安全引导到下一加速安全引导修改PRNG种子,以提供附加的安全层次。
图2A和图2B例示了说明根据本公开的技术,与嵌入式控制器的加速安全引导相比,经历正常安全引导的软件或固件的图。在图2A和图2B中,示出了软件118,然而,引导加载器116或其它软件单元可以使用类似的技术来验证。
在图2A中,在正常安全引导期间,引导加载器116中的特殊代码使处理器108通过将应用于软件118的单元签名120-2与由加密算法确定的签名进行比较来认证软件118,其利用了可执行代码和数据202-1的各个元素。即,可执行代码和数据202-1包括处理器108执行软件118的所有功能所需的所有指令和相关数据。在图2A中,为了指示整个软件单元202-1在正常安全引导期间由引导加载器116的特殊代码分析,用图案填充突出显示了软件单元202-1的各个逻辑部分。
相反,如图2B所示,在各个加速安全引导期间,引导加载器116激活使处理器108仅分析软件118的一部分的特殊代码,其可以是部分指令和数据的分段集。引导加载器116的特殊代码被配置成通过分析仅表示可执行代码和数据202-1的一部分的可执行代码和数据202-2来验证完整性。可执行代码和数据202-2在图2B中用分段图案填充突出显示,以指示在加速安全引导期间仅分析了软件118的逻辑块的随机分段选择。这样,引导加载器116可以完成加速安全引导,其比引导加载器116在正常安全引导过程期间快地检查软件118,而不放宽安全性。
图3A及图3B例示了根据本公开的技术的用于嵌入式控制器的两个不同安全引导过程的图。在初始编程期间或在软件或固件更新之后,载具系统104可以执行正常安全引导过程或加速安全引导过程,其检查CRM 110上的软件118和引导加载器116是否是可信的。正常安全引导过程可以立即执行。然而,在某些参数的初始化发生之前,不能执行加速安全引导过程。初始化可在对引导加载器116或软件118的更新期间或之后、在正常安全引导过程之后、或在引导加载器116和/或软件118的工厂安装、软件更新或其它重新初始化之后发生。正常安全引导或加速安全引导可在改变软件单元的任何时间可互换地执行。下面的示例被描述为正常安全引导之后是加速安全引导,以展示两个过程的差别。该描述并不意味着加速安全引导过程以正常安全引导的完成为条件。
在图3A中,正常安全引导被示为在时间T1开始;启动代码114的特定认证代码从CRM 110获得应用于引导加载器116的单元签名120-1。OEM或其他软件开发者使用单元(例如,载具/装置)签名来对引导装载程序116进行签名,该单元签名是使用私钥确定的,或者被设置为密钥,并且来自应用使用整个引导装载程序116作为单元签名确定的基础的加密算法。在时间T2处,启动代码114通过针对引导加载器116的所有逻辑单元(例如,字节、比特)执行标准签名检查(例如,使用对应的公钥或相同的密钥)来对照在时间T1处取得的单元签名120-1检查存储在CRM 110上的引导加载器116。在时间T3,在以正常安全引导方式验证了引导装载程序116之后,启动代码114可以被配置成在SCRM 112处记录用于引导装载程序116的PRNG种子122和用于引导装载程序116的载具/装置签名124,其通过将密码算法应用于引导装载程序116的、在输入了PRNG种子122之后映射到PRNG的输出的元素来确定。在其它示例中,因为启动代码通常难以改变或定制,所以在启动代码114之外确定PRNG种子122,例如,当安装引导加载器116时,安装管理器可将SCRM 112设置至正确的PRNG种子。
接下来,在时间T4,引导加载器116从CRM 110取得软件118的单元签名120-2。OEM或其它软件开发者使用用于引导加载器116的相同私钥或相同密钥和密码算法,并且通过使用整个软件118作为基础来签署软件118。在时间T5,引导装载程序116以标准、安全的方式对照在时间T4取得的单元签名120-2检查软件118的所有单元,并且以类似的方式由启动代码114检查引导装载程序116。例如,使用对应的公共或相同的密钥,引导加载器116将使用软件118的所有逻辑单元(例如,字节、比特)确定的签名与应用于软件118的单元签名120-2进行比较。在时间T6,在以正常安全引导方式验证软件118之后,引导加载器116的特定代码在SCRM 112处记录软件118的PRNG种子122和软件118的载具/装置签名124。如上所述,该步骤不是必须由引导加载器116执行或在正常安全引导过程期间执行。相反,PRNG种子122可在引导加载器116外部确定,例如,当安装引导加载器116或软件118时,安装管理器可将SCRM 112设置至正确的PRNG种子。通过将加密算法应用于软件118的在输入PRNG种子122之后映射到PRNG的输出的元素,来确定载具/装置签名124。为了简化附图,省略了由软件118执行的后续认证。但是,应当理解,启动代码114、引导加载器116、软件118或其它系统可以制定用于激活加速安全引导的类似的特殊代码。当在SCRM 112中建立载具/装置签名124和/或PRNG种子122时,与所使用的过程或行动者无关,加速安全引导都被认为是启用的。
在该示例中,PRNG种子122和载具/装置签名124被维持在SCRM 112上。可以使用PRNG来确定载具/装置签名124,以产生软件单元的下一次(即,在加速安全引导过程期间)要检查的元素的选择。例如,PRNG种子122可以被输入到PRNG,以获得哪些元素与可执行代码和数据202-2相关联的编码指示。载具/装置签名124表示在装置上应用于可执行代码和数据202-2并被存储在SCRM 112中的加密算法的结果。用于计算载具/装置签名124的元素(例如,比特、字节)的选择是在元素之间具有足够小的距离或间隔,以防止恶意代码插入它们之间。载具/装置签名124和PRNG种子122被维持在SCRM 112中,每当执行加速安全引导时从SCRM 112访问它们。注意,PRNG种子122和载具/装置签名124在载具外部是未知的。
图3B例示了在加速安全引导期间启动代码114和引导加载器116的操作。在一些系统中,启动代码114不能执行加速引导过程,并且只有引导加载器116和/或软件118可以执行加速引导过程。然而,为了完整,除了引导加载器116外,启动代码114被示为执行加速安全引导。
在加速安全引导期间,通过评估在正常安全引导期间检查的软件单元的相同部分来重新计算载具/装置签名124。在时间T1,可以从SCRM 112读取PRNG种子122并将其输入到PRNG以再现哪些元素与引导加载器116相关联的编码指示。在时间T2,通过检查引导加载器116的一部分元素,可以为引导加载器116确定当前签名。将该当前签名与在时间T1从SCRM112取得的载具/装置签名124进行比较,如果引导装载程序116未被破坏,则匹配。如果存储在SCRM 112中的载具/装置签名124与在时间T2确定的当前签名相同,则启动代码114确定引导装载程序116是可信的并允许其在处理器108上执行。如果在时间T2确定的当前签名不同于存储在SCRM112中的载具/装置签名124,则启动代码114确定引导装载程序116是不可信的并阻止其在处理器108上执行。在一些情况下,为了使载具102能够操作,启动代码114可以回到引导加载器116的最后通过安全检查的先前版本,并使其执行,而不是失败的版本。因为在加速安全引导期间仅检查引导加载器116的一部分,所以引导加载器116可以比正常安全引导快地被验证。
为了验证软件118的可信赖性,在时间T3,可以从SCRM 112读取PRNG种子122,并将其输入到PRNG以再现哪些元素与软件118相关联的编码指示。在时间T4,通过检查软件118的一部分元素,可以确定软件118的当前签名。将该当前签名与在时间T3从SCRM 112取得的载具/装置签名124进行比较,如果软件118未被破坏,则匹配。如果存储在SCRM 112中的载具/装置签名124与在时间T4计算的当前签名相同,则引导加载器116确定软件118是可信的并允许其在处理器108上执行。如果在时间T4确定的签名不同于存储在SCRM 112中的载具/装置签名124,则引导加载器116确定软件118是不可信的并阻止其在处理器108上执行。在一些情况下,为了启用载具102的操作,载具102可以回到软件单元的最后通过安全检查的先前版本,并使其在载具102上执行,而不是失败的版本。因为在加速安全引导期间仅检查软件118的一部分,所以可以比正常安全引导快地验证软件118。
图4例示了根据本公开的技术的用于执行嵌入式控制器的加速安全引导的过程400的流程图。过程400可例如在由微控制器106的处理器108执行时由启动代码114、引导加载器116、软件118或其组合来执行。依赖于应用,过程400的步骤可以被重复、重排、省略或以其它方式修改。为了便于描述,在图1、图2A、图2B、图3A、图3B的元素的上下文中执行过程400。为了便于描述,在引导加载器116执行以验证软件118的动作的上下文中描述过程400。
不是如在正常安全引导期间那样检查应用于软件单元的单元签名,在步骤402,过程400根据软件单元的基线版本的一部分生成用于检查安装在装置上的软件单元的当前版本的完整性的载具/装置签名。例如,通过基于待检查的软件单元的基线版本的所有元素的子集生成载具/装置签名来启用加速安全引导过程。可以使用PRNG来选择元素的子集,该PRNG接收PRNG种子122作为输入并输出经编码的比特或字节映射图作为结果。例如,为了生成载具/装置签名124,引导加载器116可以使用软件118的子集的元素作为输入来执行AES算法以生成MAC。载具102上的PRNG被配置成基于PRNG种子122的输入产生到元素的子集的编码映射图。当软件118在载具102上基线化时,可以初始化PRNG种子122。在一些示例中,用于生成载具/装置签名124的基线版本的该部分包括片段到作为基线版本的一部分而被加载到装置上的软件单元的仅一些数据和指令的基线逐元素映射图。用于确定当前签名的当前版本的相同部分包括片段到针对当前版本加载在装置上的相同数据和指令的当前的逐元素映射图。换言之,在步骤402中用于生成载具/装置签名124的基线版本的该部分包括软件单元118的在后续步骤408和步骤410中使用的对应数据和指令,参照用于最终确定当前签名的软件单元118的当前版本的相同部分。基线版本和当前版本的对应部分各自仅包括软件单元118的数据和指令的所有片段中的一些。也就是说,可以在步骤412处基于对包括在软件118中的所有数据和/或指令的仅一部分的评估(例如,过程400的在步骤412之前的其它步骤中)来执行加速完整性检查。
在步骤404,载具/装置签名和种子值被维持在存储器的安全部分中。安全部分与维持基线版本或当前版本的其它存储器部分隔离。例如,载具/装置签名124与PRNG种子122一起被安全地维持(例如,在装置或载具的非易失性存储器的安全部分中,在SCRM 112处),以用于得出软件单元的哪些部分在加速安全引导过程期间检查。PRNG种子122和/或载具/装置签名124被维持在SCRM 112上,使得它们可以在加速安全引导过程期间被访问。这样,加速安全引导过程被使能并且具有足够的开始信息以在下一次重新启动时执行。
在步骤406,在执行安装在装置上的软件单元的当前版本之前,通过首先识别基线版本的用于生成载具/装置签名的部分,并且确定当前版本的与基线版本的用于生成载具/装置签名的部分相同的部分的当前签名,来对照基线版本检查当前版本的完整性。例如,加速安全引导通过访问SCRM 112以取得载具/装置签名124和PRNG种子122而开始。选择当前版本的该部分以包括当前版本中所包括的所有元素的子集作为基线版本的该部分中所包括的所有元素的对应子集。对要针对当前版本选择的基线版本的部分中包括的所有元素的子集的识别可以使用PRNG来执行,该PRNG可以在装置上执行或者可以从装置访问。来自PRNG的输出可以用于获得到基于输入到在装置上执行的PRNG的PRNG种子122而先前识别的基线版本的部分的编码比特或字节映射图。通过确定子集的相同元素,可以再次得出载具/装置签名124以用作当前签名,当与SCRM 112存储的版本进行比较时,在各个加速安全引导期间不单独检查每一个数据或指令片段的情况下,使用该当前签名来检查整个软件单元118的完整性。
在408,识别用于生成载具/装置签名的元素的子集。例如,将PRNG种子122输入到PRNG,PRNG输出识别要检查的软件单元的当前版本的片段的逐元素映射图。由于安装了基线版本,所以使用软件单元的当前版本的仅一部分来确认整个软件单元的完整性。例如,基线版本的用于生成载具/装置签名124的部分可以包括基线版本的所有数据和指令中所包括的数据和指令的小百分比(例如,少于一半)。包括在当前版本中的数据和指令的相同部分是通过从PRNG获得到该部分的映射图而得出的。PRNG种子122可以类似于密钥来使用,以使得PRNG在生成载具/装置签名以与从基线维持的载具/装置签名124比较时解锁要被评估的单独字节或比特的子集。
在410,基于将加密算法应用于在步骤408识别的软件单元的元素,来确定当前签名。
在412,将在406从SCRM 112获得的载具/装置签名与在410确定的当前签名进行比较。例如,可以识别载具/装置签名和当前签名之间的差异,以确定当前签名是否对应于载具/装置签名,作为用于确定何时执行、何时禁止执行或停止执行、或在给定两个签名之间所识别的任何差异的情况下何时阻止软件单元的执行的条件。
在414,如果在422签名匹配并且软件单元被认为是可信的,则软件单元可以执行。例如,当当前签名与载具/装置签名匹配时,在装置上执行软件单元的当前版本。否则,当当前签名不同于载具/装置签名时,装置禁止执行软件单元。然后,在下一次重新启动期间,除非改变了软件单元的基线(例如,新版本安装、软件更新、补丁),否则在402,重复加速安全引导406,使得载具启动时间最小化。
在416,改变在加速安全引导之间保存的秘密信息以防止在安全漏洞的情况下重新使用的可选步骤。这发生在加速引导之外,并且可以作为后台任务来执行。提高加速安全引导的安全性的一种方式是每次递增或改变PRNG种子输入,使得每次不检查软件单元的相同片段。这可能使得加速安全引导过程更加安全并且难以被黑客攻击,因为PRNG种子和载具/装置签名,即使可发现,也可能被迫改变以防止它们在随后的加速安全引导周期期间被重新使用。例如,在执行软件单元的当前版本之后,可以改变保存在存储器的安全部分中的种子值。在改变了种子值之后,可以使用新的种子值来为软件118确定新的载具/装置签名,其可以被维持为载具/装置签名以用于下一次加速启动。
图5例示了根据本公开的技术的用于执行嵌入式控制器的加速安全引导的另一过程500的流程图。例如,当由微控制器106的处理器108执行时,过程500可由启动代码114、引导加载器116、软件118或其组合来执行。依赖于应用,过程500的步骤可以被重复、重排、省略或以其它方式修改。为了便于描述,在图1、图2A、图2B、图3A、图3B的元素的上下文中执行过程500。为了便于描述,在引导加载器116执行以验证软件118的动作的上下文中描述过程500。
在502,确定执行软件118的正常安全引导404还是加速安全引导406。例如,如果启动时间不是问题,则执行正常安全引导过程504。否则,需要较短的引导时间,执行加速安全引导过程506。然而,加速安全引导过程506可以在执行步骤512和514时进行调节,步骤512和514可以在如图所示的正常安全引导504之后执行,或者可选地,在软件单元在系统中被基线化的任何时间执行。
在508处,504处的正常安全引导过程开始于获得正被检查的软件118的单元签名120-1/120-2。单元签名可在CRM 110中维持,并在封装或编译时应用于软件单元。
在510,对照单元签名检查软件118。例如,软件118的各个字节或元素被评估并用于产生软件118的比较签名,该比较签名可与从信任源应用的单元签名进行比较。
如果在510签名匹配并且软件118被认为是可信的,则在524软件单元可以被执行。
在512,过程500可以包括识别软件单元的所有元素的子集。载具/装置签名124可以基于在512识别的子集得出。例如,为了生成载具/装置签名124,引导加载器116可以使用在512处识别的子集的元素作为输入来执行AES算法以生成MAC。这样,在506和随后的步骤中,通过确定子集的相同元素并应用相同的AES算法,可以再次得出载具/装置签名124,并将其与存储在SCRM 112中的MAC进行比较,以在每次加速安全引导期间检查整个软件118的完整性。
在514,安全地维持载具/装置签名(例如,在SCRM 112处)。在SCRM 112中还维持有PRNG种子,其用于得出软件单元的哪些部分在加速安全引导过程期间进行检查。这样,加速安全引导过程506被使能并且具有足够的开始信息以在下一次重新启动时执行。
在516处,在502处确定将发生加速安全引导之后,执行加速安全引导过程506。在516处,不是如在正常安全引导504期间那样检查应用于软件单元的单元签名,而是从SCRM112取得在512处生成的载具/装置签名。还从SCRM 112获得任何其他需要的信息(例如,PRNG种子),以对照在加速引导过程期间确定的签名来检查载具/装置签名。
在518,识别用于生成载具/装置签名的元素的子集。例如,将PRNG种子122输入到PRNG,该PRNG输出识别要被检查的软件单元的片段的逐元素映射图。与正常安全引导504不同,使用软件单元的仅一部分来确认整个软件单元的完整性。PRNG种子122可用作密码,其配置PRNG以指定在产生比较载具/装置签名时待检查的单独字节或比特。
在520,基于将加密算法应用于在步骤518识别的软件单元的元素,来确定当前签名。
在522处,将在516处从SCRM 112获得的载具/装置签名与在520处确定的当前签名进行比较。例如,识别两个签名之间的任何差异以确定两个签名是否相同。
在525,如果签名匹配并且在522软件单元被认为是可信的,则软件单元可以执行。可以重复加速安全引导程序506,使得载具启动时间最小化。
一些另外的实施方式包括以下各项:
实施方式1.一种方法,所述方法包括以下步骤:基于安装在载具的装置上的软件单元的基线版本的部分生成载具/装置签名;在运行安装在所述装置上的所述软件单元的当前版本之前,通过以下处理检查所述当前版本的完整性:识别所述基线版本的用于生成所述载具/装置签名的所述部分;以及确定所述软件单元的所述当前版本的与所述基线版本的所述用于生成所述载具/装置签名的部分对应的部分的当前签名;以及当所述当前签名与所述载具/装置签名匹配时,在所述装置上执行所述软件单元。
实施方式2.根据前述实施方式中的任一项所述的方法,所述方法还包括:当所述当前签名不同于所述载具/装置签名时,避免在所述装置上执行所述软件单元。
实施方式3.根据前述实施方式中的任一项所述的方法,其中:所述当前版本的所述部分包括所述软件单元的作为所述基线版本的所述部分的所有元素的对应子集;并且该方法还包括通过从伪随机数发生器获得所述基线版本的所述部分的编码比特或字节映射图来选择所述基线版本的所述部分中包括的所有元素的所述子集。
实施方式4.根据前述实施方式中的任一项所述的方法,所述方法还包括:通过将种子值输入到所述伪随机数发生器以产生所述编码比特或字节映射图,来获得所述编码比特或字节映射图以选择包括在所述基线版本的所述部分中的所有元素的所述子集。
实施方式5.根据前述实施方式中的任一项所述的方法,所述方法还包括:在存储器的安全部分中维持所述载具/装置签名和所述种子值,所述安全部分与维持所述基线版本或所述当前版本的其它存储器部分隔离。
实施方式6.根据前述实施方式中的任一项所述的方法,其中,所述存储器的安全部分包括所述装置的非易失性存储器或所述载具的非易失性存储器。
实施方式7.根据前述实施方式中的任一项所述的方法,所述方法还包括:在执行所述软件单元之后,改变在所述存储器的安全部分中维持的所述种子值;以及在改变所述种子值之后,使用所述种子值在所述存储器的安全部分中针对所述当前版本维持新的装置/载具签名。
实施方式8.根据前述实施方式中的任一项所述的方法,所述方法还包括:在所述装置上运行所述伪随机数生成器。
实施方式9.根据前述实施方式中的任一项所述的方法,其中:所述基线版本的所述部分包括片段到针对所述基线版本而加载在所述装置上的软件单元的仅一些数据和指令的基线逐元素映射图;以及所述当前版本的所述部分包括片段到针对当前版本而作为基线版本的数据和指令加载在所述装置上的软件单元的对应数据和指令的当前的逐元素映射图。
实施方式10.根据前述实施方式中的任一项所述的方法,所述方法还包括:将所述载具/装置签名与所述当前签名进行比较,以确定所述当前签名是否对应于所述载具/装置签名。
实施方式11根据前述实施方式中的任一项所述的方法,其中,所述基线版本的所述部分和所述当前版本的所述部分各自仅包括用于所述软件单元的所有数据和指令中的一些。
实施方式12.根据前述实施方式中的任一项所述的方法,所述方法还包括:运行引导加载器,所述引导加载器被配置成确定所述当前签名,并且基于所述载具/装置签名是否与所述当前签名匹配来阻止或引起所述当前版本的执行。
实施方式13.一种包括至少一个处理器的系统,所述至少一个处理器被配置成执行根据前述实施方式中的任一项所述的方法。
实施方式14.根据前述实施方式中的任一项所述的系统,其中,所述系统包括载具,所述载具具有包括所述至少一个处理器的装置。
实施方式15.一种系统,所述系统包括用于执行根据前述实施方式中的任一项所述的方法的单元。
实施方式16.一种计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令在被执行时使得至少一个处理器执行根据前述实施方式中的任一项所述的方法。
实施方式17.一种计算机系统,所述计算机系统包括被配置成执行根据前述实施方式中的任一项所述的方法的软件程序。
实施方式18.一种计算机软件产品,其被配置成在计算机硬件上执行,以所述计算机硬件执行根据前述实施方式中的任一项所述的方法。
实施方式19.一种包括至少一个处理器的装置,所述至少一个处理器被配置成执行根据前述实施方式中的任一项所述的方法。
实施方式20.一种包括安装在载具上的控制器的装置,所述控制器被配置成执行根据前述实施方式中的任一项所述的方法。
虽然在前面的描述中描述并在附图中示出了本公开的各种实施方式,但是应当理解,本公开不限于此,而是可以在所附权利要求的范围内以各种方式实施。根据前面的描述,显而易见的是,在不脱离本公开的精神和范围的情况下可以进行各种改变。与保护由嵌入式控制器执行的软件的引导过程相关联的问题可能发生在除汽车,卡车和其它载具之外的其它系统中。因此,虽然被描述为提高汽车系统的安全性和可靠性的方式,但是前述描述的技术可以应用于将受益于快速和安全引导过程的其它系统。
“或”和语法上相关的术语的使用表示非排他性的替代而没有限制,除非上下文另外清楚地指明。如这里所使用的,提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“以下中的至少一个:a、b或c”旨在涵盖a、b、c、a-b、a-c、b-c和a-b-c,以及相同元素的倍数的任何组合(例如,a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c和c-c或a、b和c的任何其他顺序)。

Claims (15)

1.一种方法,所述方法包括以下步骤:
基于安装在载具的装置上的软件单元的基线版本的部分生成载具/装置签名;
在运行安装在所述装置上的所述软件单元的当前版本之前,通过以下处理检查所述当前版本的完整性:
识别所述基线版本的用于生成所述载具/装置签名的所述部分;以及
确定所述软件单元的所述当前版本的与所述基线版本的用于生成所述载具/装置签名的所述部分对应的部分的当前签名;以及
当所述当前签名与所述载具/装置签名匹配时,在所述装置上执行所述软件单元。
2.根据权利要求1所述的方法,所述方法还包括:
当所述当前签名不同于所述载具/装置签名时,避免在所述装置上执行所述软件单元。
3.根据前述权利要求中的任一项所述的方法,其中:
所述当前版本的所述部分包括所述软件单元的作为所述基线版本的所述部分的所有元素的对应子集;并且
该方法还包括通过从伪随机数发生器获得所述基线版本的所述部分的编码比特或字节映射图来选择所述基线版本的所述部分中包括的所有元素的所述子集。
4.根据权利要求3所述的方法,所述方法还包括:
通过将种子值输入到所述伪随机数发生器以产生所述编码比特或字节映射图,来获得所述编码比特或字节映射图以选择包括在所述基线版本的所述部分中的所有元素的所述子集。
5.根据权利要求4所述的方法,所述方法还包括:
在存储器的安全部分中维持所述载具/装置签名和所述种子值,所述安全部分与维持所述基线版本或所述当前版本的其它存储器部分隔离。
6.根据权利要求5所述的方法,
其中,所述存储器的安全部分包括所述装置的非易失性存储器或所述载具的非易失性存储器。
7.根据权利要求5或6所述的方法,所述方法还包括:
在执行所述软件单元之后,改变在所述存储器的安全部分中维持的所述种子值;以及
在改变所述种子值之后,使用所述种子值在所述存储器的安全部分中针对所述当前版本维持新的装置/载具签名。
8.根据权利要求4至7中的任一项所述的方法,所述方法还包括:
在所述装置上运行所述伪随机数生成器。
9.根据前述权利要求中的任一项所述的方法,其中:
所述基线版本的所述部分包括片段到针对所述基线版本而加载在所述装置上的软件单元的仅一些数据和指令的基线逐元素映射图;以及
所述当前版本的所述部分包括片段到针对所述当前版本而作为所述基线版本的数据和指令加载在所述装置上的软件单元的对应数据和指令的当前的逐元素映射图。
10.根据前述权利要求中的任一项所述的方法,所述方法还包括:
将所述载具/装置签名与所述当前签名进行比较,以确定所述当前签名是否对应于所述载具/装置签名。
11.根据前述权利要求中的任一项所述的方法,
其中,所述基线版本的所述部分和所述当前版本的所述部分各自仅包括用于所述软件单元的所有数据和指令中的一些。
12.根据前述权利要求中的任一项所述的方法,所述方法还包括:
运行引导加载器,所述引导加载器被配置成确定所述当前签名,并且基于所述载具/装置签名是否与所述当前签名匹配来阻止或引起所述当前版本的执行。
13.一种包括至少一个处理器的系统,所述至少一个处理器被配置成执行根据前述权利要求中的任一项所述的方法。
14.根据权利要求13所述的系统,其中,所述系统包括载具,所述载具具有包括所述至少一个处理器的装置。
15.一种计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令在被执行时使得至少一个处理器执行根据前述权利要求中的任一项所述的方法。
CN202310092239.5A 2022-02-01 2023-01-30 用于嵌入式控制器的加速安全引导 Pending CN116720190A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63/267,425 2022-02-01
US18/154,667 US20230244790A1 (en) 2022-02-01 2023-01-13 Accelerated Secure Boot for Embedded Controllers
US18/154,667 2023-01-13

Publications (1)

Publication Number Publication Date
CN116720190A true CN116720190A (zh) 2023-09-08

Family

ID=87866597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310092239.5A Pending CN116720190A (zh) 2022-02-01 2023-01-30 用于嵌入式控制器的加速安全引导

Country Status (1)

Country Link
CN (1) CN116720190A (zh)

Similar Documents

Publication Publication Date Title
US20200272739A1 (en) Performing an action based on a pre-boot measurement of a firmware image
EP3637297A1 (en) Securing firmware
US11829479B2 (en) Firmware security verification method and device
US20150074387A1 (en) System and method for auto-enrolling option roms in a uefi secure boot database
CN106384052A (zh) 一种实现BMC U‑boot可信启动控制的方法
US10181956B2 (en) Key revocation
US9928367B2 (en) Runtime verification
US11048801B2 (en) Method and apparatus for secure computing device start up
CN109753788B (zh) 内核运行时的完整性校验方法及计算机可读存储介质
CN115934194A (zh) 一种控制器启动方法、装置、电子设备及储存介质
US11366911B2 (en) Cryptography module and method for operating same
CN114995894A (zh) 操作系统的启动控制方法、终端设备及可读存储介质
US20240086081A1 (en) External memory data integrity validation
CN115461742A (zh) 用于安全地启动容器实例的方法和装置
JP2024041711A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
CN115130114B (zh) 一种网关安全启动方法、装置、电子设备及存储介质
EP4220461A1 (en) Accelerated secure boot for embedded controllers
CN116720190A (zh) 用于嵌入式控制器的加速安全引导
CN114637996A (zh) 用于以确保安全的方式启动计算单元的方法
WO2016024967A1 (en) Secure non-volatile random access memory
KR20230082388A (ko) 차량 제어기의 부트로더 검증 장치 및 그 방법
CN115130106A (zh) 一种通过fTPM实现可信启动的方法及相关装置
CN108595981A (zh) 加密安卓系统的方法
CN117193863B (zh) 主机引导程序的启动方法、装置、系统和处理器
US20240020422A1 (en) Process and circuit for verifying the integrity of a software application

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
CB02 Change of applicant information

Country or region after: Luxembourg

Address after: Luxembourg

Applicant after: Aptiv Technology (2) Co.

Address before: Babado J San Michael

Applicant before: Aptiv Technologies Ltd.

Country or region before: Barbados

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20240304

Address after: Luxembourg

Applicant after: Aptiv Manufacturing Management Services Co.

Country or region after: Luxembourg

Address before: Luxembourg

Applicant before: Aptiv Technology (2) Co.

Country or region before: Luxembourg

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240326

Address after: Schaffhausen

Applicant after: APTIV Technology Co.,Ltd.

Country or region after: Switzerland

Address before: Luxembourg

Applicant before: Aptiv Manufacturing Management Services Co.

Country or region before: Luxembourg

TA01 Transfer of patent application right