IP Library Granted Patent US 8,484,752
Granted Patent B2
US 8,484,752 · App. 11/984,144 · Granted Jul 9, 2013

Verifying authenticity of electronic control unit code

Inventors: John L. Traenkenschuh (Mackinaw, IL); Paul W. Bierdeman (East Peoria, IL); Todd Wagner (Washington, IL)
Assignee: Caterpillar Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,484,752
App. No.
11/984,144
Granted
Jul 9, 2013
Kind
B2
Abstract

A method and apparatus are provided for verifying authenticity of program code for an electronic control unit. In one implementation, a method is provided. According to the method, program code for an the electronic control unit is received. The method may access metadata embedded in the program code. The metadata may identify a source of the program code. The method may further communicate via a network with a server to determine a status of the program code. The method may verify the authenticity of the program code based on the source of the program code and the status.

Claims (40)

1. A method for verifying authenticity of program code for an electronic control unit, comprising:

receiving the program code for the electronic control unit;

accessing metadata embedded in the program code, the metadata identifying a source of the program code, an identification of an individual that has modified the program code, and an indication of when the program code was modified;

communicating via a network with a server to determine a status of the program code after receiving the program code and before installation of the program code on the electronic control unit;

verifying the authenticity of the program code based on the source of the program code and the status;

when the authenticity of the program code is verified, permitting installation of the program code on the electronic control unit; and

when the authenticity of the program code is not verified, preventing installation of the program code on the electronic control unit,

wherein the server verifies the authenticity of the program code and determines the status of the program code.

2. The method of claim 1 , wherein the program code is received directly by a machine component that determines whether to install the program code.

3. The method of claim 1 , wherein the program code is received from an external code-loading device by a machine component and the machine component verifies the authenticity of the program code.

4. The method of claim 1 , wherein the authenticity of the program is verified by accessing a digital signature included in the metadata.

5. The method of claim 1 , further comprising:

when the authenticity of the program code is not verified, receiving a message indicating that the program code has been revoked.

6. The method of claim 1 , wherein verifying the authenticity of the program code includes verifying whether the program code has been tampered with or corrupted.

7. A system including a processor and a memory, the memory storing instructions operable with the processor for verifying authenticity of program code for an electronic control unit, the instructions associated with a plurality of components, the components comprising:

a receiving component that receives the program code for the electronic control unit;

a communication component for communication via a network with a server to determine a status of the program code after receiving the program code and before installation of the program code on the electronic control unit;

a verification component configured to:

access metadata embedded in the program code, the metadata identifying a source of the program code, an identification of an individual that has modified the program code, and an indication of when the program code was modified;

verify the authenticity of the program code based on the source of the program code and the status;

when the authenticity of the program code is verified, permit installation of the program code on the electronic control unit; and

when the authenticity of the program code is not verified, prevent installation of the program code on the electronic control unit,

wherein the server verifies the authenticity of the program code and determines the status of the program code.

8. The system of claim 7 , wherein the receiving component and verification component constitute a code-loading device that is external to a machine comprising the electronic control unit.

9. The system of claim 7 , wherein the receiving component and verification component are included in a machine comprising the electronic control unit.

10. The system of claim 7 , wherein the verification component verifies the authenticity of the program by accessing a digital signature included in the metadata.

11. The system of claim 7 , wherein the communication component receives a message indicating that the program code has been revoked.

12. The system of claim 7 , wherein the verification component is configured to verify the authenticity of the program code based on whether the program code has been tampered with or corrupted.

13. A non-transitory computer-readable storage medium storing computer program instructions for verifying authenticity of program code for an electronic control unit according to a method, the method comprising:

receiving the program code for the electronic control unit;

accessing metadata embedded in the program code, the metadata identifying a source of the program code, an identification of an individual that has modified the program code, and an indication of when the program code was modified;

communicating via a network with a server to determine a status of the program code after receiving the program code and before installation of the program code on the electronic control unit;

verifying the authenticity of the program code based on the source of the program code and the status; and

when the authenticity of the program code is not verified, performing one or more of the following:

preventing installation of the program code on the electronic control unit;

updating the program code on the electronic control unit; or

disabling the program code on the electronic control unit,

wherein the server verifies the authenticity of the program code and determines the status of the program code.

14. The computer-readable storage medium of claim 13 , wherein the program code is received directly by a machine component and the machine component verifies the authenticity of the program code.

15. The computer-readable storage medium of claim 13 , wherein the program code is received from an external code-loading device by a machine component and the machine component verifies the authenticity of the program code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2007
From: TRAENKENSCHUH, JOHN L.; BIERDEMAN, PAUL W.; WAGNER, TODD
To: CATERPILLAR INC.
Reel/Frame 020161/0721 →
Continuity (1)
Related Publication 20090125985A1 · May 14, 2009