Manufacturing mode for secure firmware using lock byte
First Claim
1. A method for securing non-volatile memory comprising:
- updating a signature byte, stored within a non-volatile memory, from a default value specifying a write-protected mode to an updated value specifying a write-enabled mode;
after updating the signature byte from the default value to the updated value, determining that the signature byte is set to a value associated with the write-enabled mode;
write-protecting at least one sector of the non-volatile memory if the signature byte is not set to the value associated with the the write-enabled mode;
after updating the signature byte from the default value to the updated value, preventing an entire sector in which the signature byte resides from being set to a predefined sector value unless a replacement firmware identifier associated with a replacement firmware matches a required replacement firmware identifier;
determining whether a reflash of the non-volatile memory is authorized by comparing the replacement firmware identifier against the required replacement firmware identifier and indicating that reflash of the non-volatile memory is authorized if the replacement firmware identifier matches the required replacement firmware identifier; and
if the reflash of the non-volatile memory is authorized, write-enabling the non-volatile memory, reflashing the non-volatile memory, and setting the signature byte to a value different from the value associated with the the write-enabled mode.
6 Assignments
0 Petitions
Accused Products
Abstract
Upon initialization or startup of an electronic device, the device checks a predetermined section of non-volatile memory, referred to as the signature byte or lock byte, and allows either the manufacturing mode which allows for installation of the final or production version of firmware to be loaded into non-volatile memory, or the production mode which write-protects certain portions of non-volatile memory before giving operating control of the electronic device to another program, for example, an operating system. By only allowing execution of operating system or other executable code after write-protecting certain portions of non-volatile memory, system security, integrity, and robustness are substantially increased.
-
Citations
24 Claims
-
1. A method for securing non-volatile memory comprising:
-
updating a signature byte, stored within a non-volatile memory, from a default value specifying a write-protected mode to an updated value specifying a write-enabled mode; after updating the signature byte from the default value to the updated value, determining that the signature byte is set to a value associated with the write-enabled mode; write-protecting at least one sector of the non-volatile memory if the signature byte is not set to the value associated with the the write-enabled mode; after updating the signature byte from the default value to the updated value, preventing an entire sector in which the signature byte resides from being set to a predefined sector value unless a replacement firmware identifier associated with a replacement firmware matches a required replacement firmware identifier; determining whether a reflash of the non-volatile memory is authorized by comparing the replacement firmware identifier against the required replacement firmware identifier and indicating that reflash of the non-volatile memory is authorized if the replacement firmware identifier matches the required replacement firmware identifier; and if the reflash of the non-volatile memory is authorized, write-enabling the non-volatile memory, reflashing the non-volatile memory, and setting the signature byte to a value different from the value associated with the the write-enabled mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. An electronic device, comprising:
-
a processor; and a system memory, coupled to the processor, the system memory maintaining instructions that if executed by the processor, cause the processor to; update a signature byte, stored within a non-volatile memory, from a default value specifying a write-protected mode to an updated value specifying a write-enabled mode; after updating the signature byte from the default value to the updated value, determine that the signature byte is set to a value associated with the write-enabled mode; write-protect at least one sector of the non-volatile memory if the signature byte is not set to the value associated with the the write-enabled mode; after updating the signature byte from the default value to the updated value, prevent an entire sector in which the signature byte resides from being set to a predefined sector value unless a replacement firmware identifier associated with a replacement firmware matches a required replacement firmware identifier; determining whether a reflash of the non-volatile memory is authorized by comparing the replacement firmware identifier against the required replacement firmware identifier and indicating that reflash of the non-volatile memory is authorized if the replacement firmware identifier matches the required replacement firmware identifier; and if the reflash of the non-volatile memory is authorized, write-enabling the non-volatile memory, reflashing the non-volatile memory, and setting the signature byte to a value different from the value associated with the the write-enabled mode.
-
-
23. A processor readable storage medium storing code segments, that if executed by a processor, cause the processor to:
-
update a signature byte, stored within a non-volatile memory, from a default value specifying a write-protected mode to an updated value specifying a write-enabled mode; after updating the signature byte from the default value to the updated value, determine that the signature byte is set to a value associated with the write-enabled mode; write-protect at least one sector of the non-volatile memory if the signature byte is not set to the value associated with the the write-enabled mode; after updating the signature byte from the default value to the updated value, prevent an entire sector in which the signature byte resides from being set to a predefined sector value unless a replacement firmware identifier associated with a replacement firmware matches a required replacement firmware identifier; determining whether a reflash of the non-volatile memory is authorized by comparing the replacement firmware identifier against the required replacement firmware identifier and indicating that reflash of the non-volatile memory is authorized if the replacement firmware identifier matches the required replacement firmware identifier; and if the reflash of the non-volatile memory is authorized, write-enabling the non-volatile memory, reflashing the non-volatile memory, and setting the signature byte to a value different from the value associated with the the write-enabled mode. - View Dependent Claims (24)
-
Specification