Systems and methods are provided for maintaining and updating a secure
boot process on a computer with a trusted platform module (TPM). A boot
process may be maintained by inspecting a log of TPM activity,
determining data that prevented a secret to unseal, and returning the
data to an original state. In situations where this type of recovery is
not workable, techniques for authenticating a user may be used, allowing
the authenticated user to bypass the security features of the boot
process and reseal the boot secrets to platform configuration register
(PCR) values that may have changed. Finally, a secure boot process may be
upgraded by migrating TPM sealed secrets to a temporary storage location,
updating one or more aspects of a secure boot process, and resealing the
secrets to the resulting new platform configuration. Other advantages and
features of the invention are described below.