METHOD FOR SELECTIVE SOFTWARE ROLLBACK
First Claim
1. A method for validating a software file to be installed into a controller, said method comprising:
- preparing the software file;
assigning a software version code to the software file;
assigning a security version code to the software file;
digitally signing the software file with the software file version code and the security version code;
presenting the signed software file to the controller for installing on the controller;
verifying the software file signature in the controller to determine if the software file is valid;
determining whether the security version code in the software file is valid if the controller determines that the signed software file is valid; and
allowing the software file to be installed in the controller if the signed software file is valid and the security version code is valid.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for validating a software file to be installed into a controller. The method includes preparing the software file including assigning a software version code to the software file, assigning a security version code to the software file, and signing the software file with the software file version code and the security version code. The signed software file is presented to the controller for installing on the controller and the controller verifies the software file signature to determine if the software file is valid and the security version code is valid. The controller allows the software file to be installed in the controller if both the signed software file is valid and the security version code is valid.
30 Citations
17 Claims
-
1. A method for validating a software file to be installed into a controller, said method comprising:
-
preparing the software file; assigning a software version code to the software file; assigning a security version code to the software file; digitally signing the software file with the software file version code and the security version code; presenting the signed software file to the controller for installing on the controller; verifying the software file signature in the controller to determine if the software file is valid; determining whether the security version code in the software file is valid if the controller determines that the signed software file is valid; and allowing the software file to be installed in the controller if the signed software file is valid and the security version code is valid. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for validating a software file to be installed into an electronic control unit (ECU) on a vehicle, said method comprising:
-
preparing the software file; assigning a software version code to the software file; assigning a security version code to the software file, wherein assigning a security version code to the software file includes keeping the security version code the same if the software file has not been prepared for correcting a security vulnerability and increasing the security version code if the software file has been prepared for correcting a security vulnerability; digitally signing the software file with the software file version code and the security version code; presenting the signed software file to the ECU for installing on the controller; verifying the software file signature in the ECU to determine if the software file is valid; and determining whether the security version code in the software file is valid if the ECU determines that the signed software file is valid, wherein determining whether the security version code in the software file is valid includes determining whether the security version code is an older version of the security version code stored on the controller, and if so, not allowing the software file to be installed in the controller, and if not, allowing the software file to be installed in the controller. - View Dependent Claims (9, 10)
-
-
11. A system for validating a software file to be installed into a controller, said system comprising:
-
means for preparing the software file; means for assigning a software version code to the software file; means for assigning a security version code to the software file; means for signing the software file with the software file version code and the security version code; means for presenting the signed software file to the controller for installing on the controller; means for verifying the software file signature in the controller to determine if the software file is valid; means for determining whether the security version code in the software file is valid if the controller determines that the signed software file is valid; and means for allowing the software file to be installed in the controller if the software file is valid and the security version code is valid. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification