Memory device with secure boot updates and self recovery
US-2024406008-A1 · Dec 5, 2024 · US
US10013365B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10013365-B2 |
| Application number | US-201615052750-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 24, 2016 |
| Priority date | Mar 3, 2015 |
| Publication date | Jul 3, 2018 |
| Grant date | Jul 3, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
Program or device authentication · CPC title
Encrypted data · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.