Patent ID: 8181020

Claim:
A computer-implemented method of providing secure storage for firmware for a computing device comprising: creating, during a build of a ROM image, a designated secure storage area holding firmware, the creating marking one or more files as requiring encrypted storage, the build combining the one or marked files into the designated secure storage area, the firmware executable prior to the loading of an operating system for the computing device, the designated secure storage area located outside the ROM image; including, during the build of the ROM image, a reference to the designated secure storage area in a build of firmware placed in the ROM image, the reference including: a message digest generated for the designated secure storage area, at least one unique identifier used to write the designated secure storage area to secondary storage, and a flag indicating a current encrypted status of the designated secure storage area; and where pre-boot code: uses the reference in the ROM image to retrieve the designated secure storage area prior to the loading of the operating system for the computing device, the retrieved designated secure storage area loaded into a memory on the computing device and subsequently modified, encrypts the modified designated secure storage area based on a result of an examination of the flag; generates a new message digest for the encrypted designated secure storage area; writes the encrypted designated secure storage area to secondary storage outside the ROM image using the at least one unique identifier; and updates the reference in the ROM image with the new message digest and a changed status for the flag.