Methods, systems and computer program products for secure firmware updates
First Claim
1. A method of controlling updates of a programmable memory of a device, the method comprising:
- providing an update window of predefined duration during which the programmable memory may be updated; and
allowing updates of the programmable memory only during the update window;
wherein the steps of providing an update window and allowing updates comprise the steps of;
allowing access to the programmable memory based on the state of an access latch;
setting the access latch to allow access to the programmable memory after a hardware reset of the device;
executing an update control program to control access to the programmable memory;
resetting the latch to prevent access to the programmable memory upon completion of the update control program;
allowing access to a memory where the update control program resides when the access latch allows access to the programmable memory; and
preventing access to the memory where the update control program resides when the access latch prevents access to the programmable memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems and computer program products which provide secure updates of firmware (i.e. data stored in a programmable memory device of a processing system) are disclosed. Updates of a programmable memory of a device may be controlled by providing an update window of finite duration during which the programmable memory may be updated. Access to the programmable memory may be based on the state of an access latch. The access latch may be set to allow access after a hardware reset of the device. An update control program may be executed to control access to the programmable memory and the latch reset to prevent access upon completion of the update control program. Verification of the update may be provided through encryption techniques and rules incorporated in certificates for application of updates to provide for selectively updating devices. Also disclosed are methods of securely providing differing functionality to generic devices.
209 Citations
36 Claims
-
1. A method of controlling updates of a programmable memory of a device, the method comprising:
-
providing an update window of predefined duration during which the programmable memory may be updated; and allowing updates of the programmable memory only during the update window; wherein the steps of providing an update window and allowing updates comprise the steps of; allowing access to the programmable memory based on the state of an access latch; setting the access latch to allow access to the programmable memory after a hardware reset of the device; executing an update control program to control access to the programmable memory; resetting the latch to prevent access to the programmable memory upon completion of the update control program; allowing access to a memory where the update control program resides when the access latch allows access to the programmable memory; and preventing access to the memory where the update control program resides when the access latch prevents access to the programmable memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for controlling updates of a programmable memory of a device, comprising:
-
means for providing an update window of predefined duration during which the programmable memory may be updated; and means for allowing updates of the programmable memory only during the update window; wherein the means for providing an update window and the means for allowing updates, comprise; means for allowing access to the programmable memory based on the state of an access latch; means for setting the access latch to allow access to the programmable memory after a hardware reset of the device; means for executing an update control program to control access to the programmable memory; means for resetting the latch to prevent access to the programmable memory upon completion of the update control program; means for allowing access to a memory where the update control program resides when the access latch allows access to the programmable memory; and means for preventing access to the memory where the update control program resides when the access latch prevents access to the programmable memory. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification