Method for assuring flash programming integrity
First Claim
1. A method for updating software applications in computerized controllers, comprising the steps of:
- (A) embedding an identifier in each of the software applications that uniquely identifies the application;
(B) embedding in a software update a list of identifiers for the software applications that the update is authorized to update;
(C) determining whether the identifier of a software application present in a controller is present in the list embedded in a proposed software update; and
, (D) installing the proposed software update in the controller only if the identifier of the software application to be updated is determined in step (C) to be present in the list embedded in the proposed software update.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is provided for assuring that only the correct version of a software update is permitted to be installed in a computer controlled module, such as a vehicle controller. Each version of the software is embedded with a unique identifier, and each software update has an embedded list of the identifiers of the software versions which it is authorized to update or replace. A flashloader is used to determine if the identifier of the software in the controller is present in the list embedded in a proposed update, and installs the update if a match is found. Checksums and encryption of the identifiers can be used to enhance reprogramming integrity.
48 Citations
20 Claims
-
1. A method for updating software applications in computerized controllers, comprising the steps of:
-
(A) embedding an identifier in each of the software applications that uniquely identifies the application;
(B) embedding in a software update a list of identifiers for the software applications that the update is authorized to update;
(C) determining whether the identifier of a software application present in a controller is present in the list embedded in a proposed software update; and
,(D) installing the proposed software update in the controller only if the identifier of the software application to be updated is determined in step (C) to be present in the list embedded in the proposed software update. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for updating software in a controller, comprising the steps of:
-
(A) storing a unique identifier in the controller that uniquely identifies the software present in the controller;
(B) storing with update software a list of the unique identifiers for software that the update software is authorized to update;
(C) determining whether the identifier stored in step (A) is present in the list of identifiers stored in step (B); and
,(D) updating the software in the controller with the update software only if the identifier is determined in step (C) to be present in the list. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of updating a software application in a computerized controller, comprising the steps of:
-
(A) determining values for identifiers in a configuration stored in the controller;
(B) determining criteria that the identifier values in the configuration must satisfy in order for a software update to be authorized;
(C) determining whether the criteria are satisfied;
(D) if criteria are satisfied, performing a software update; and
,(E) if criteria are not satisfied, inhibiting the software update. - View Dependent Claims (17, 18, 19, 20)
-
Specification