Sherry Moore wrote:
> 
> Scott Rotondo will be posting summary with regard to interaction
> between this project and PSARC 2008/195 "Validated Execution".

We need to worry about interactions with Validated Execution and with 
the state of the Trusted Platform Module (TPM), even in the absence of 
validation.

A hardware reset is the only way to set the TPM's Platform Configuration 
Registers (PCR's) back to their initial value of 0. Because Fast Reboot 
is a "warm start," the PCR's will continue to contain values that 
reflect the sequence of code that was executed during the original 
system boot.

Since the PCR's will not be reset to their starting value, it is 
important for the reboot code *not* to extend code measurements into the 
PCR's as it would during a normal boot. [1] If it did, the PCR's would 
contain a different set of values every time the system was rebooted 
without a hardware reset.

As others have suggested, it makes sense to treat the reboot as an 
extension of the original boot and require the kernel to perform the 
validation that would normally be done by the boot loader. The kernel 
will still need to validate the initial manifest, and we want to 
maintain the property that successful validation of the initial manifest 
requires administrative action using the TPM Owner password.

Therefore, we probably want to seal the new initial manifest using the 
current PCR contents (and the TPM Owner password) at the time that the 
reboot is requested. Upon reboot, the kernel must recognize that it 
should not extend PCR values for bootstrapping code, and it needs to 
validate the code it loads using the appropriate new initial manifest.

The two project teams will need to work together on some details, but we 
are convinced that Validated Execution and Fast Reboot are not incompatible.

     Scott


[1] PCR values are never overwritten. They are "extended" by 
concatenating the existing value and the new measurement and then 
hashing the concatenation to produce the new value. This allows a single 
fixed-size register to contain a value that is uniquely determined by an 
arbitrarily long sequence of measurements.

Reply via email to