Patent ID: 6907522

Claim:
An electronic device that must be booted-up to operate, comprising: (a) a non-volatile memory in which a plurality of machine instructions are stored, said non-volatile memory including a main portion, and a preloader portion that is predefined in regard to a content, a size, and a location; (b) a processor that is coupled to the non-volatile memory to execute the machine instructions; (c) a bootstrap code firmware element that specifies machine instructions defining a hashing algorithm and an expected hash value, the machine instructions of said bootstrap code firmware being executed by the processor initially during a boot-up of the electronic device, causing the processor to: (i) hash the preloader portion of the non-volatile memory to determine a preloader hash value; (ii) compare the preloader hash value to the expected hash value; and (iii) terminate the boot-up of the electronic device if the preloader hash value does not equal the expected hash value; and (d) a plurality of secondary machine instructions that are included in the preloader portion of the non-volatile memory, the secondary machine instructions, when executed by the processor, causing the processor to: (i) hash the non-volatile memory, producing a memory hash value; (ii) compare the memory hash value to an expected memory hash value that is included in the preloader portion; and (iii) terminate the boot-up of the electronic device if the memory hash value does not equal the expected memory hash value, the expected memory hash value being included as a digital signature within the non-volatile memory, but excluded when the non-volatile memory is hashed.