Patent ID: 8639916

Claim:
A method of maintaining the integrity of software stored in memory, the method comprising: a. storing indicators associated with the memory, on a per memory sector basis, resulting in a stored indicator for each such memory sector, wherein each indicator comprises a checksum; b. calculating a reference value from the stored indicators, wherein the reference value is calculated based on a secret key; c. storing the reference value; d. modifying the indicator for a given memory sector when the software in the given memory sector is modified resulting in a modified indicator for that memory sector; e. storing the modified indicator; f. recalculating the reference value using the indicators and the modified indicator resulting in a recalculated reference value; g. storing the recalculated reference value; and h. during a secure boot procedure, verifying the integrity of the software by: i. retrieving the indicators and the modified indicator; ii. calculating an expected value from the indicators and the modified indicator; and iii. comparing the expected value with the recalculated reference value, wherein the integrity of the software is verified in step h. without calculating a checksum value from the software stored in memory.