CN109324589A - 用于有效重新编程的车载装置及其控制方法 - Google Patents

用于有效重新编程的车载装置及其控制方法 Download PDF

Info

Publication number
CN109324589A
CN109324589A CN201711283780.5A CN201711283780A CN109324589A CN 109324589 A CN109324589 A CN 109324589A CN 201711283780 A CN201711283780 A CN 201711283780A CN 109324589 A CN109324589 A CN 109324589A
Authority
CN
China
Prior art keywords
firmware
controller
integrated
management device
integrated management
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
CN201711283780.5A
Other languages
English (en)
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 Motor Co
Hyundai AutoEver Corp
Kia Corp
Original Assignee
Hyundai Motor Co
Kia Motors Corp
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 Motor Co, Kia Motors Corp filed Critical Hyundai Motor Co
Publication of CN109324589A publication Critical patent/CN109324589A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • 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
    • 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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable
    • G06F9/44547Fat binaries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Abstract

本发明提供一种车辆的重新编程方法、一种计算机可读记录介质和一种车辆。该方法包括:认证诊断器;从完全认证的诊断器接收集成固件,该集成固件包括与多个目标控制器分别对应的多个固件;认证集成固件;加密并存储集成固件中包括的多个固件;以及生成与多个目标控制器分别对应的加密密钥。加密和存储包括将多个固件加密并存储到与多个固件分别对应的加密密钥。

Description

用于有效重新编程的车载装置及其控制方法
相关申请的交叉引用
本申请要求于2017年7月31日提交的第10-2017-0096914号韩国专利申请的优先权的权益,该申请通过引用并入本文,如同在此完全阐述。
技术领域
本发明涉及一种用于车辆的控制器的重新编程,并且更具体地,涉及一种用于多个控制器的有效重新编程的网关及其控制方法。
背景技术
近来,车辆以如下方式配置,在该方式中,车辆网络的大多数节点包括用于控制电子部件和底盘部件的电子控制单元(ECU),例如车身控制模块/电子时间和警报控制系统(BCM/ETACS)、防抱死制动系统(ABS)ECU、发动机ECU和安全气囊ECU。这些ECU设置有用于安全且经济的车辆驱动的车辆诊断服务,以防止由此引起的汽车故障,并且设置有各种车辆信息项,例如车辆驱动记录管理和统计信息。另外,ECU还设置有软件升级,即,根据需要进行重新编程,例如,改变规格并升级功能,这将参考图1进行描述。
图1是示出一般车辆中的重新编程过程的示例的示图。
参考图1,通过诊断器120、车辆的诊断器连接器130和中央网关(CGW)140将最新的固件110发送至车辆的控制器150中的作为升级对象的目标控制器。目标控制器通过预定过程、认证固件来验证诊断器,并且通过使用完全认证的固件160进行升级。这里,车辆的诊断器连接器130连接至车辆的车载诊断(OBD)2节点。
在此过程中,例如固件签名工具(FST)和标准重新编程工具(SRT)的安全性解决方案用于控制器的固件安全性。FST是用于通过预定过程来认证控制器的固件以获得车辆制造商的许可的工具。未经车辆制造商许可,固件不能够被认证,并且因此防止制造的固件被注入控制器中。SRT是用于许可访问对应控制器的工具,以允许仅认证证书和加密密钥的所有者被授权重新编程,以用于固件重新编程。
然而,由于车辆控制器的数量和技术细节的增加,控制器被高度关联,并且因此需要相对于共同的技术/功能来更新多个控制器。例如,智能巡航控制(SCC)的功能与例如发动机控制器、制动器控制器和传感器控制器的多个控制器关联。然而,通过根据诊断器和控制器的一一对应对固件重新编程来升级通用控制器的固件。将参考图2描述该过程。
图2A至图2C是用于说明一般车辆中的诊断器和控制器之间的重新编程过程的示例的示图。
参考图2A,准备了用于三个相应控制器的固件。这里,伴随着针对每个控制器的固件分别计算的认证信息。也就是说,当存在三个固件时,认证信息的数量也是3。
当使用固件同时更新控制器时,重新编程请求发送至与由诊断器准备的固件对用的控制器中的任何一个,如图2B所示(S210)。相应地,对应控制器将种子(seed)值发送至诊断器(S220)。诊断器可以使用种子值经由预定方法(位计算、加密等)来计算密钥值,并将密钥值返回至控制器(S230)。控制器使用发送至诊断器的种子值经由预定方法来计算密钥值,然后将所计算的密钥值与从诊断器接收的密钥值进行比较,以认证诊断器(S240)。当完成对诊断器的验证时,控制器将验证消息发送至诊断器(S250),并且诊断器发送固件和认证信息(S260)。控制器通过确定通过接收到的固件计算的认证信息和接收到的认证信息是否彼此相同来认证固件(S270)。
需要通过每个控制器来进行参考图2B描述的过程。例如,假设如图2C所示存在N个控制器和N个固件,每个固件需要从安全性管理器获取签名,以通过固件注入设备(诊断器)将签名分别发送至车辆中的控制器,并且由每个控制器进行认证。最后,当相对于不同控制器对固件1至N中的全部都重复进行图2B的操作S210至S270时,完全更新了N个固件。
由于该问题,特别是在更新与一个功能关联的多个固件时,即使使用相同的诊断器,也需要针对每个固件重复进行上述重新编程过程以更新每个固件,并且因此,存在的问题在于效率降低,安装在控制器中的固件在重新编程之后没有被重新认证,并且当出现问题时通过重新连接诊断器能够重新安装固件。
发明内容
本发明的目的在于提供一种用于有效重新编程的装置及其控制方法。
具体地,本发明的目的在于提供一种用于多个控制器的有效重新编程的装置及其控制方法。
本发明的附加优点、目的和特征将在下面的描述中被部分地阐述,并且对于本领域普通技术人员来说,在研究以下内容时将部分地变得显而易见,或者可以从本发明的实践中获得。本发明的目的和其他优点可以通过在书面说明书及其权利要求书以及附图中特别指出的结构来实现和获得。
为了实现这些目的和其他优点,并且根据本发明的目的,如在本文中体现和广泛描述的,车辆的重新编程方法包括:通过网关认证诊断器;通过固件集成管理装置从完全认证的诊断器接收集成固件,该集成固件包括与多个目标控制器分别对应的多个固件;通过固件集成管理装置认证集成固件;通过固件集成管理装置加密并存储集成固件中包括的多个固件;以及通过固件集成管理装置生成与多个目标控制器分别对应的加密密钥,其中,加密和存储包括将多个固件加密并存储到与多个固件分别对应的加密密钥。
在本发明的另一方面中,车辆包括:多个控制器;网关,配置为认证诊断器;以及固件集成管理装置,配置为:在从完全认证的诊断器接收集成固件时,认证集成固件,其中该集成固件包括与多个控制器中的多个目标控制器分别对应的多个固件;并且加密和存储集成固件中包括的多个固件,其中,固件集成管理装置生成与多个目标控制器分别对应的加密密钥,并且将多个固件加密并存储到与多个固件分别对应的加密密钥。
附图说明
包括用于提供对本发明的进一步理解并被并入和构成该申请的一部分的附图与用以解释本发明的原理的说明书一起示出本发明的实施例。在附图中:
图1是示出一般车辆中的重新编程过程的示例的示图;
图2A至图2C是用于说明一般车辆中的诊断器和控制器之间的重新编程过程的示例的示图;
图3是用于说明根据本发明的实施例使用集成固件和固件集成管理装置的更新过程的概念的示图;
图4是示出根据本发明的实施例的固件更新系统的结构的框图;
图5是示出根据本发明的实施例的固件更新消息的格式的示例的示图;
图6是示出根据本发明的实施例的集成固件和通过固件集成管理装置进行的固件更新过程的示例的流程图;以及
图7是示出根据本发明的实施例的固件集成管理装置检查和恢复安装在单独控制器中的固件的过程的示例的流程图。
具体实施方式
详细描述本发明的示例性实施例,以使得本领域普通技术人员能够参考附图容易地实施。然而,本发明可以以各种不同的形式来实施,并且不限于这些实施例。为了清楚地描述本发明,在附图中省略了与描述无关的部分,并且在说明书中相同的附图标记表示相同的元件。
贯穿本说明书,除非明确地相反地描述,否则词语“包括”和例如“包含”或“具有”的变型将被理解为暗示包括陈述的要素,但不排除任何其他要素。另外,贯穿附图将使用相同的附图标记来指示相同或相似的部分。
根据本发明的实施例,包括多个固件的集成固件发送至车辆,并且车辆包括用于认证和管理集成固件的单独对象(以下称为“固件集成管理装置”)。
为此,根据本发明的实施例,一个信息项用于整个集成固件,而不是认证信息项对应于集成固件中包括的相应固件。另外,根据本发明的实施例,由网关进行针对诊断器的认证,并且通过固件集成管理装置进行针对集成固件的认证以及集成固件中包括的多个固件的管理。这里,固件的管理可以包括备份功能、用于单独控制器的固件传送功能、用于被完全重新编程的固件的完整性管理功能以及当固件完整性被损坏时控制器的恢复功能。
首先,将参考图3描述根据本发明的实施例的固件更新概念。
图3是用于说明根据本发明的实施例使用集成固件和固件集成管理装置的更新过程的概念的示图。
参考图3,当在固件开发操作中准备多个固件时,可以将多个固件组合成一个集成固件。例如,固件1、固件2和固件3可以包括在集成固件A中。一个集成固件中包括的固件的引用可以是车辆中实施的功能(例如,智能巡航控制、前部碰撞预防、车道偏离警告等)中涉及的控制器或更新数据,并且可以是示例性的,并且因此本发明可以不限于一个集成固件中包括的固件的引用。
在接下来的安全性管理器操作中,可以以包括分离的固件的一个集成固件为单位进行认证,而不是对单独的固件进行认证。相应地,集成固件可以包括签名信息。
可以经由诊断通信将包括签名信息的集成固件发送至车辆,并且车辆的固件集成管理装置可以认证和备份所发送的集成固件。这里,可以通过使用集成固件中包括的签名信息以集成固件为单位进行认证。固件集成管理装置可以将集成固件分成分离的固件,然后在备份期间加密并存储分离的固件,并且在这种情况下,可以生成与每个控制器对应的加密密钥,并且使用加密密钥来加密固件。
在完成认证和备份时,固件集成管理装置可以将与单独控制器对应的加密密钥和固件发送至对应的单独控制器,并且单独控制器可以对接收到的固件进行重新编程,并将结果发送至固件集成管理装置。在这种情况下,固件集成管理装置可以将加密的固件数据发送至单独控制器,或者可以在发送之前对加密的固件进行解密,并以明文的形式将固件发送至单独控制器。当发送加密的固件数据时,对应控制器可以通过使用利用固件数据获取的加密密钥来对加密的固件数据进行解密。
当使用上述方法时,通过集成多个固件而不是以单独的固件为单位进行签名和认证,可以减少签名的数量和认证的次数,由此简化更新操作和签名,并且可以将对单独控制器的认证负载移动到集成管理装置,以减轻控制器的负担。
在下文中,将参考图4描述根据本发明的实施例的固件更新系统的结构。
图4是示出根据本发明的实施例的固件更新系统的结构的框图。
参考图4,固件更新系统可以分成车辆部分和非车辆部分。在图4中,诊断器230可以对应于非车辆部分,其余部件可以对应于车辆部分。
更详细地,诊断器230可以经由诊断通信(例如,OBD-2)连接至车辆的中央网关(CGW),并且CGW 240可以通过数据路径(例如,CAN总线)连接至固件集成管理装置210以及单独控制器251、252和253。
诊断器230可以具有将新的集成固件注入车辆并在由CGW 240认证之后访问固件集成管理装置210的功能。
CGW 240可以是用于从车辆外部访问车辆网络的网关,并且可以认证诊断器230。
固件集成管理装置210可以加密并存储相应控制器的固件211。固件集成管理装置210可以包括用于确保数据完整性和机密性的相应控制器的加密密钥215或用于单独存储认证数据的安全性模块213。为此,固件集成管理装置210可以包括存储器以及用于存储相应控制器的固件211的区域,并且分配到安全性模块213的区域可以在逻辑上或物理上彼此分离。固件集成管理装置210可以包括处理模块,该处理模块对应于相应功能,例如集成固件的认证、加密和备份以及针对相应控制器的固件的完整性检查,并且在一些实施例中,可以包括与相应处理模块对应的软件以及用于驱动/计算软件的处理器。
控制器251、252和253中的每个都可以存储与相应控制器对应的加密密钥和固件,并且通过使用加密密钥对加密的固件进行解密,或者可以通过预定算法(例如,Hmac、sha等)来自主检查固件完整性。在这种情况下,为了检查固件完整性,可以使用从固件集成管理装置210发送的随机数,并且可以将检查结果重新发送至固件集成管理装置210,这将参考图7进行更详细的描述。
在下文中,将参考图5描述发送集成固件的形式。
图5是示出根据本发明的实施例的固件更新消息的格式的示例的示图。
如图5所示,可以以固件更新消息的形式将集成固件从诊断器发送至车辆。固件更新消息可以包括报头、多个固件数据(固件1、固件2、固件3、固件X等)和签名信息(签名)。
这里,报头可以实现消息的报头功能,并且这里,包括以下中的至少一个:包括报头的版本信息的报头版本、用于从其他集成固件识别集成固件的集成固件标识信息、对应消息中包括的固件编号信息、与每个固件对应的控制器标识(ID)信息、消息长度信息以及单独固件的版本信息。
签名信息可以是认证信息,指示包括报头的每个固件的签名值,并且以例如“signature=do_sign(Header,firm1,firm2,firm3,…,firm x)”的形式表示。
由于使用上述形式的更新消息,所以可以排列和管理针对每个集成固件的安全性强度、认证元素、认证方法等。当集成固件时,根据控制器软件制造商,可以减少由安全性管理器和车辆制造商管理的原始设备制造商(OEM)的固件的数量,从而提高管理效率。另外,如果根据控制器操作功能来集成固件,则当根据添加的或改变的车辆功能来更新多个控制器时,可以同时更新对应功能涉及的控制器,并且当根据数据/时间集成和管理控制器时,可以容易地管理版本。
在下文中,将参考图6更详细地描述固件更新过程。
图6是示出根据本发明的实施例的集成固件和通过固件集成管理装置进行的固件更新过程的示例的流程图。在图6中,假定集成固件包括与控制器1和控制器2分别对应的两个固件。
参考图6,更新过程可以主要包括:在诊断器和车辆网关之间进行的车辆访问安全性认证操作S610、固件集成管理装置接收集成固件并进行更新预处理的固件认证操作S620以及进行实际重新编程的固件重新编程操作S630。在下文中,将详细描述每个操作。
首先,现在将描述车辆访问安全性认证操作S610。
诊断器可以连接至车辆,并且然后可以向中央网关(CGW)发送认证请求(S611)。因此,CGW可以认证诊断器(S613),并且在成功认证诊断器时,CGW可以将指示认证完成的认证信息返回至诊断器(S615)。
在固件认证操作S620中,由CGW成功认证的诊断器可以访问固件集成管理装置并将集成固件发送至固件集成管理装置(S621)。固件集成管理装置可以通过使用集成固件中包括的签名来认证集成固件,并且在成功认证集成固件时,固件集成管理装置可以生成与集成固件中包括的相应固件对应的诊断器的加密密钥,并通过使用生成的加密密钥来存储单独的固件(S623)。在成功认证集成固件时,固件集成管理装置可以将与其对应的认证结果返回至诊断器(S625)。
在固件重新编程操作S630中,首先,固件集成管理装置可以将与相应控制器对应的固件和加密密钥发送至控制器(S631A和S631B)。接收固件和加密密钥的每个控制器都可以通过使用接收到的固件来更新固件并存储加密密钥(S633A和S633B)。然后,在成功更新固件时,每个控制器都可以将更新结果返回至固件集成管理装置(S635A和S635B)。因此,固件集成管理装置可以将整个集成固件的重新编程结果发送至诊断器(S637)。
当通过图6所示的过程完成重新编程时,固件集成管理装置还可以进行重新编程的后检查和恢复,这将参考图7在下面进行描述。
图7是示出根据本发明的实施例的固件集成管理装置检查和恢复安装在单独控制器中的固件的过程的示例的流程图
参考图7,在固件更新之后由固件集成管理装置进行的管理功能可以主要分为固件完整性检查功能(S710)和用于固件恢复的重新编程功能(S720)。
首先,可以如下进行完整性检查功能(S710)。
首先,固件集成管理装置可以生成随机数(S711)并将随机数发送至目标控制器(S712)。固件集成管理装置可以通过使用随机数、固件和用于对应控制器的加密密钥来进行MAC计算(S713A),并且目标控制器可以通过使用接收到的随机数、在固件更新期间接收到的加密密钥以及安装在目标控制器中的固件来进行MAC计算(S713B)。目标控制器可以将作为计算结果而生成的MAC值发送至固件集成管理装置(S714),并且固件集成管理装置可以将接收到的MAC值和由装置生成的MAC值进行比较,以确定两个值是否相同,确定目标控制器的固件完整性方面不存在问题,否则,进行到固件重新编程(S720)以用于恢复(S715)。
上述完整性检查功能可以以预定时间段(基于时间或车辆里程数)进行,或者基于事件(例如,当车辆启动时等)进行。可以针对相应控制器以不同的时间段或根据事件条件来触发完整性检查。
在下文中,将描述用于恢复的固件重新编程(S720)。
当在固件完整性方面存在问题时(即,当MAC值不同时),固件集成管理装置可以确定与在备份至装置的加密固件和加密密钥中存在完整性方面的问题的控制器对应的固件(S721),并将加密固件发送至对应的控制器(S723)。控制器可以通过使用预先存储的加密密钥对加密固件数据进行解密,然后进行重新编程以恢复固件(S725)。在完成固件恢复时,对应控制器可以将重新编程结果信息发送至固件集成管理装置(S727)。固件集成管理装置可以重新进行前述固件完整性检查操作(S710)以重新检查重新编程结果(S729)。
尽管图7示出了针对一个控制器的固件完整性检查和恢复操作,但固件集成管理装置可以在单独控制器的至少一个部分或整个部分上进行固件完整性检查和恢复操作,而与管理固件和加密密钥的控制器的数量无关。
前述的本发明也可以被实现为存储在计算机可读记录介质上的计算机可读代码。计算机可读记录介质是可以存储随后可由计算机读取的数据的任何数据存储设备。计算机可读记录介质的示例包括硬盘驱动器(HDD)、固态驱动器(SSD)、硅盘驱动器(SDD)、只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储设备等。
可以通过与如上所述配置的本发明的至少一个实施例相关的固件集成管理装置来高效地实现多个控制器。
具体地,可以通过使用一个认证信息项,由固件集成管理装置来认证和管理多个固件,并且因此可以不需要在逐个控制器的基础上进行重复认证,并且可减小认证信息的大小。
本领域技术人员将理解的是,可以通过本发明实现的效果不限于上文具体描述的内容,并且从结合附图的上述详细描述中将更清楚地理解本发明的其他优点。
对本领域的技术人员显而易见的是,在不脱离本发明的精神或范围的情况下,可以在本发明中进行各种修改和变型。因此,本发明旨在涵盖在所附权利要求及其等同物的范围内的本发明的修改和变型。

Claims (19)

1.一种车辆的重新编程方法,所述方法包括以下步骤:
通过网关认证诊断器;
通过固件集成管理装置从完全认证的诊断器接收集成固件,所述集成固件包括与多个目标控制器分别对应的多个固件;
通过所述固件集成管理装置认证所述集成固件;
通过所述固件集成管理装置加密并存储所述集成固件中包括的多个固件;以及
通过所述固件集成管理装置生成与所述多个目标控制器分别对应的加密密钥,
其中,加密和存储包括将所述多个固件加密并存储到与所述多个固件分别对应的加密密钥。
2.根据权利要求1所述的方法,其中,所述集成固件包括与全部所述多个固件有关的一个认证信息项。
3.根据权利要求2所述的方法,其中,以更新消息的形式通过所述诊断器发送所述集成固件;并且
其中,所述更新消息包括报头。
4.根据权利要求3所述的方法,其中,所述报头包括以下中的至少一个:报头版本、集成固件标识信息、指示所述多个固件的数量的固件编号信息、针对每个固件的对应控制器标识信息、消息长度信息和单独固件版本信息。
5.根据权利要求1所述的方法,其中,与所述多个固件分别对应的控制器的加密密钥存储在所述固件集成管理装置的安全性模块中。
6.根据权利要求1所述的方法,还包括以下步骤:通过所述固件集成管理装置将所述多个固件中的对应固件和对应加密密钥发送至所述多个目标控制器中的每个。
7.根据权利要求6所述的方法,还包括以下步骤:当所述多个目标控制器中的每个对被发送至所述多个目标控制器中的每个的固件加密时,通过使用发送至所述多个目标控制器中的每个的加密密钥来对加密的固件进行解密,然后进行重新编程。
8.根据权利要求6所述的方法,还包括以下步骤:通过所述固件集成管理装置周期性地检查所述多个目标控制器中的每个的固件完整性。
9.根据权利要求8所述的方法,还包括以下步骤:通过所述固件集成管理装置将多个加密的固件中的与检查到存在所述固件完整性问题的控制器对应的固件重新发送至所述多个目标控制器中存在所述问题的控制器。
10.一种计算机可读记录介质,所述计算机可读记录介质上记录有用于执行根据权利要求1所述的方法的程序。
11.一种车辆,包括:
多个控制器;
网关,配置为认证诊断器;以及
固件集成管理装置,配置为:在从完全认证的诊断器接收到集成固件时,认证所述集成固件,其中,所述集成固件包括在所述多个控制器中与多个目标控制器分别对应的多个固件;并且加密和存储所述集成固件中包括的多个固件,
其中,所述固件集成管理装置生成与所述多个目标控制器分别对应的加密密钥,并且将所述多个固件加密并存储到与所述多个固件分别对应的加密密钥。
12.根据权利要求11所述的车辆,其中,所述集成固件包括与全部所述多个固件有关的一个认证信息项。
13.根据权利要求12所述的车辆,其中,以更新消息的形式通过所述诊断器发送所述集成固件;并且
其中,所述更新消息包括报头。
14.根据权利要求13所述的车辆,其中,所述报头包括以下中的至少一个:报头版本、集成固件标识信息、指示所述多个固件的数量的固件编号信息、针对每个固件的对应控制器标识信息、消息长度信息和单独固件版本信息。
15.根据权利要求11所述的车辆,其中,与所述多个固件分别对应的控制器的加密密钥存储在所述固件集成管理装置的安全性模块中。
16.根据权利要求11所述的车辆,其中,所述固件集成管理装置将所述多个固件中的对应固件和对应加密密钥发送至所述多个目标控制器中的每个。
17.根据权利要求16所述的车辆,其中,当对被发送至所述多个目标控制器中的每个的固件加密时,所述多个目标控制器中的每个通过使用被发送至所述多个目标控制器中的每个的加密密钥来对加密的固件进行解密,然后进行重新编程。
18.根据权利要求16所述的车辆,其中,所述固件集成管理装置周期性地检查所述多个目标控制器中的每个的固件完整性。
19.根据权利要求18所述的车辆,其中,所述固件集成管理装置将多个加密的固件中的与检查到存在所述固件完整性问题的控制器对应的固件重新发送至所述多个目标控制器中存在所述问题的控制器。
CN201711283780.5A 2017-07-31 2017-12-07 用于有效重新编程的车载装置及其控制方法 Pending CN109324589A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0096914 2017-07-31
KR1020170096914A KR102368606B1 (ko) 2017-07-31 2017-07-31 효율적인 차량용 리프로그래밍 장치 및 그 제어방법

Publications (1)

Publication Number Publication Date
CN109324589A true CN109324589A (zh) 2019-02-12

Family

ID=65038807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711283780.5A Pending CN109324589A (zh) 2017-07-31 2017-12-07 用于有效重新编程的车载装置及其控制方法

Country Status (3)

Country Link
US (1) US11182485B2 (zh)
KR (1) KR102368606B1 (zh)
CN (1) CN109324589A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111880824A (zh) * 2020-07-24 2020-11-03 欧姆龙(上海)有限公司 固件数据的校验设备和方法、固件更新设备和方法及系统
CN115828273A (zh) * 2021-11-29 2023-03-21 宁德时代新能源科技股份有限公司 车辆安全启动方法、装置,电子控制单元及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200012489A1 (en) * 2018-07-06 2020-01-09 Seagate Technology Llc Combined file firmware upgrade
CN113138775B (zh) * 2020-01-20 2022-11-18 上海交通大学 车载诊断系统固件保护方法及系统
US20220365788A1 (en) * 2021-05-14 2022-11-17 Samsung Electronics Co., Ltd. Automotive image sensor, image processing system including the same and operating method thereof
CN114326679B (zh) * 2021-12-30 2023-07-18 深蓝汽车科技有限公司 一种基于一版集成软件刷写控制器的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681264A (zh) * 2007-04-23 2010-03-24 汤姆森许可贸易公司 网络中软件下载的方法和装置
CN104773120A (zh) * 2014-01-13 2015-07-15 现代自动车株式会社 用于高效重新编程的车内设备及其控制方法
CN106458112A (zh) * 2014-11-12 2017-02-22 松下电器(美国)知识产权公司 更新管理方法、更新管理装置以及控制程序
CN106664311A (zh) * 2014-09-10 2017-05-10 思科技术公司 支持异构电子设备之间差异化的安全通信
CN106796538A (zh) * 2015-09-14 2017-05-31 松下电器(美国)知识产权公司 网关装置、车载网络系统以及固件更新方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060111759A (ko) 2005-04-25 2006-10-30 엘지전자 주식회사 오디오 펌웨어 업데이트가 용이한 텔레메틱스 단말기 및텔레메틱스 단말기 상에서 오디오 펌웨어를 업데이트하는방법
KR100675646B1 (ko) 2006-09-14 2007-01-30 (주)대성정보 차량용 디브이알의 프로그램, 데이터 및 설정 값의업데이트 장치 및 방법
KR20080082868A (ko) 2007-03-09 2008-09-12 (주)하이게인안테나 교통 정보 통신용 차량 탑재 단말기
KR100872849B1 (ko) 2007-08-21 2008-12-10 (주)컴아트시스템 자동 펌웨어 업그레이드 차량용 디브이알 장치와 차량에설치되는 디지털 장비의 연동 시스템 및 그 방법
KR101328167B1 (ko) 2009-12-04 2013-11-13 한국전자통신연구원 차량의 소프트웨어 플랫폼 검증 방법 및 그 시스템
EP2423887A1 (de) 2010-08-26 2012-02-29 OBD Tuning GmbH Portable Vorrichtung zur Veränderung von Betriebsparameterwerten und/oder Firmware von elektronischen Steuerungseinrichtungen von Kraftfahrzeugen
US9418229B2 (en) * 2013-10-28 2016-08-16 Disney Enterprises, Inc. Firmware security
KR20150074414A (ko) * 2013-12-24 2015-07-02 현대자동차주식회사 펌웨어 업그레이드 방법 및 그 시스템
DE102014200089A1 (de) 2014-01-08 2015-07-09 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zum Programmieren von mehreren Steuergeräten
US9436456B2 (en) * 2014-04-17 2016-09-06 Myine Electronics, Inc. System and method for management of software updates at a vehicle computing system
KR20150136350A (ko) 2014-05-27 2015-12-07 김용기 이동통신단말기의 펌웨어 애플리케이션과 유심칩을 연동한 영상데이터 제어 및 차량제어 융합 시스템 블랙박스
US9215228B1 (en) * 2014-06-17 2015-12-15 Cisco Technology, Inc. Authentication of devices having unequal capabilities
US9722781B2 (en) * 2014-07-09 2017-08-01 Livio, Inc. Vehicle software update verification
US20160099806A1 (en) * 2014-10-07 2016-04-07 GM Global Technology Operations LLC Distributing secret keys for managing access to ecus
KR101619645B1 (ko) 2014-11-20 2016-05-18 현대자동차주식회사 차량의 펌웨어 업데이트 시스템 및 방법
JP6079768B2 (ja) * 2014-12-15 2017-02-15 トヨタ自動車株式会社 車載通信システム
US11397801B2 (en) * 2015-09-25 2022-07-26 Argus Cyber Security Ltd. System and method for controlling access to an in-vehicle communication network
US10412088B2 (en) * 2015-11-09 2019-09-10 Silvercar, Inc. Vehicle access systems and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681264A (zh) * 2007-04-23 2010-03-24 汤姆森许可贸易公司 网络中软件下载的方法和装置
CN104773120A (zh) * 2014-01-13 2015-07-15 现代自动车株式会社 用于高效重新编程的车内设备及其控制方法
CN106664311A (zh) * 2014-09-10 2017-05-10 思科技术公司 支持异构电子设备之间差异化的安全通信
CN106458112A (zh) * 2014-11-12 2017-02-22 松下电器(美国)知识产权公司 更新管理方法、更新管理装置以及控制程序
CN106796538A (zh) * 2015-09-14 2017-05-31 松下电器(美国)知识产权公司 网关装置、车载网络系统以及固件更新方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111880824A (zh) * 2020-07-24 2020-11-03 欧姆龙(上海)有限公司 固件数据的校验设备和方法、固件更新设备和方法及系统
CN115828273A (zh) * 2021-11-29 2023-03-21 宁德时代新能源科技股份有限公司 车辆安全启动方法、装置,电子控制单元及存储介质
CN115828273B (zh) * 2021-11-29 2024-03-29 宁德时代新能源科技股份有限公司 车辆安全启动方法、装置,电子控制单元及存储介质

Also Published As

Publication number Publication date
US11182485B2 (en) 2021-11-23
KR102368606B1 (ko) 2022-03-02
US20190034637A1 (en) 2019-01-31
KR20190013018A (ko) 2019-02-11

Similar Documents

Publication Publication Date Title
CN109324589A (zh) 用于有效重新编程的车载装置及其控制方法
US11283601B2 (en) Update management method, update management system, and non-transitory recording medium
CN109257374B (zh) 安全控制方法、装置和计算机设备
CN107925600B (zh) 安全处理方法以及服务器
CN108762783B (zh) 车辆系统的软件更新方法、装置及车辆系统
JP5975964B2 (ja) 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
JP5864510B2 (ja) 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
CN104773120B (zh) 用于高效重新编程的车内设备及其控制方法
EP1518349B1 (en) Method and system for vehicle authentication of a component
EP3276876B1 (en) Management device, vehicle, management method, and computer program
CN111466094A (zh) 基于车辆私钥的车辆安全消息
CN114095298B (zh) 一种管理控制器局域网中模块间安全通信的系统及方法
CN112532574A (zh) 车辆数据验证
WO2017104112A1 (ja) セキュリティ処理方法及びサーバ
CN110225063A (zh) 汽车车载系统的升级方法、升级系统、服务器及车载终端
US11728987B2 (en) Secure vehicular part communication
EP1518350B1 (en) Method and system for vehicle authentication of a component
CN210136494U (zh) 片上系统
CN112740617B (zh) 证书列表更新方法及装置
CN116451238A (zh) 一种ecu固件升级方法、装置、设备及可读存储介质
JP2021027448A (ja) 車載中継装置、車載通信システム、通信プログラム及び通信方法
CN112448809B (zh) 密钥配置系统及相关方法和产品
CN115499190A (zh) 车辆密钥管理方法、安全服务设备、密钥管理系统
CN116346398A (zh) 安全汽车系统
CN116599678A (zh) 一种基于hsm模块的信息安全管理方法

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