Method for programming a control unit of a motor vehicle

US10013365B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10013365-B2
Application numberUS-201615052750-A
CountryUS
Kind codeB2
Filing dateFeb 24, 2016
Priority dateMar 3, 2015
Publication dateJul 3, 2018
Grant dateJul 3, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for programming a control unit of a motor vehicle, a previous program code executed in the control unit being stored in a memory area, a new program code being written into the control unit, and a check of this new program code being carried out, the program code being executed by the control unit if the new program code is successfully verified in the course of the check, and the previous program code stored in the memory area being written from the memory area into the control unit and the previous program code being executed by the control unit if the new program code is not successfully verified in the course of the check.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for programming a control unit of a motor vehicle, the method comprising: storing in a memory area, which is associated with a second control unit, a previous program code executed in the control unit, wherein the control unit includes a hardware security module; writing a new program code into the control unit and checking the new program code; executing the new program code by the control unit if the new program code is successfully verified in the checking; and writing the previous program code stored in the memory area of the second control unit from the memory area of the second control unit into the control unit and executing the previous program code by the control unit, if the new program code is not successfully verified in the checking; wherein the previous program code executed in the control unit is encrypted and the encrypted previous program code is stored in the memory area of the second control unit, wherein a key for at least one of encrypting and decrypting the previous program code is stored in a memory area of the control unit, wherein the key for at least one of encrypting and decrypting the previous program code is stored in the hardware security module of the control unit, wherein a memory map file is encrypted using the key to provide an encrypted memory map file, and wherein the encrypted memory map file is signed with the aid of the key or a second key, so that a cryptographic signature is added to the encrypted memory map file as an authentication feature. 2. The method as recited in claim 1 , wherein the new program code is transmitted to the motor vehicle via a wireless connection. 3. The method as recited in claim 1 , wherein the new program code is written into the control unit in the course of over-the-air programming or firmware-over-the-air programming. 4. The method as recited in claim 2 , wherein the new program code is written into the control unit by a programming unit of the second control unit, which is external to or an additional control unit of the motor vehicle. 5. The method as recited in claim 4 , wherein second control unit is the additional control unit, and wherein the new program code is transmitted to the additional control unit of the motor vehicle via the wireless connection. 6. The method as recited in claim 4 , wherein the previous program code is stored in a memory area of the programming unit of the second control unit. 7. The method as recited in claim 1 , wherein an authenticity feature is added to the previous program code executed in the control unit and the previous program code provided with the authenticity feature is stored in the memory area. 8. The method as recited in claim 7 , wherein if the previous program code provided with the authenticity feature and stored in the memory area is written from the memory area into the control unit, an authenticity of the previous program code is checked, based on the authenticity feature. 9. The method as recited in claim 1 , wherein the previous program code executed in the control unit is stored in the memory area, in that the memory map of the control unit is stored in the memory area. 10. The method as recited in claim 1 , wherein an error correction method is carried out for the transfer of the previous program code into the memory area. 11. A computing device, comprising: a memory; and a control processor configured to perform the following: storing in a memory area of a second controller a previous program code executed in the control unit, wherein the control processor includes a hardware security module; writing a new program code into the control processor and checking the new program code; executing the new program code by the control processor if the new program code is successfully verified in the checking, and writing the previous program code stored in the memory area of the second controller from the memory area into the control processor and executing the previous program code by the control processor, if the new program code is not successfully verified in the checking; wherein the previous program code executed in the control processor is encrypted and the encrypted previous program code is stored in the memory area of the second controller, wherein a key for at least one of encrypting and decrypting the previous program code is stored in a memory area of the control processor, wherein the key for at least one of encrypting and decrypting the previous program code is stored in the hardware security module of the computing device, wherein a memory map file is encrypted using the key to provide an encrypted memory map file, and wherein the encrypted memory map file is signed with the aid of the key or a second key, so that a cryptographic signature is added to the encrypted memory map file as an authentication feature. 12. A non-transitory machine-readable storage medium storing a computer program, which is executable by a processor, comprising: a program code arrangement having program code for programming a control unit of a motor vehicle, by performing the following: storing in a memory area of a second control unit a previous program code executed in the control unit, wherein the control unit includes a hardware security module; writing a new program code into the control unit and checking the new program code; executing the new program code by the control unit if the new program code is successfully verified in the checking; and writing the previous program code stored in the memory area of the second control unit from the memory area into the control unit and executing the previous program code by the control unit, if the new program code is not successfully verified in the checking; wherein the previous program code executed in the control unit is encrypted and the encrypted previous program code is stored in the memory area of the second control unit, wherein a key for at least one of encrypting and decrypting the previous program code is stored in a memory area of the control unit, wherein the key for at least one of encrypting and decrypting the previous program code is stored in the hardware security module of the control unit, wherein a memory map file is encrypted using the key to provide an encrypted memory map file, and wherein the encrypted memory map file is signed with the aid of the key or a second key, so that a cryptographic signature is added to the encrypted memory map file as an authentication feature.

Assignees

Inventors

Classifications

  • Program or device authentication · CPC title

  • Encrypted data · CPC title

  • G06F21/572Primary

    Secure firmware programming, e.g. of basic input output system [BIOS] · CPC title

  • Revocation or update of secret information, e.g. encryption key update or rekeying · CPC title

  • by using cryptography (for digital transmission H04L9/00) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10013365B2 cover?
A method for programming a control unit of a motor vehicle, a previous program code executed in the control unit being stored in a memory area, a new program code being written into the control unit, and a check of this new program code being carried out, the program code being executed by the control unit if the new program code is successfully verified in the course of the check, and the prev…
Who is the assignee on this patent?
Bosch Gmbh Robert
What technology area does this patent fall under?
Primary CPC classification G06F21/572. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 03 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).