-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
preinstall: Add initial checks for TCG log consistency with PCR values
This adds a function that verifies that the TCG log is well formed and is consistent with the TPM's PCR values for at least one supported PCR bank. On success, it returns the best PCR bank to use and the startup locality, and any errors that occurred for non-mandatory PCRs. A PCR might not be mandatory because we don't have a way to generate profiles for it, or because the input flags to RunChecks marked it as not required. The startup locality is later on with the discrete TPM indication to customize the PCR profile. It performs some other tests, notably that: - the TCG defined PCRs contain a EV_SEPARATOR event between the pre-OS and OS-present environment (although the one in PCR7 separates secure boot policy from secure boot authentication). - none of the EV_SEPARATORs in the TCG defined PCRs indicated that an error occurred. - there are no pre-OS measurements to non-TCG defined PCRs (8-). Future PRs will add more specific checks for each supported PCR. This pulls in a newer go-tpm2 for TPM2_PCR_Allocate support in the library and test harness. This is a function that's normally ever called from firmware, but we need to be able to do what the firmware does to enable/disable PCR banks here.
- Loading branch information
1 parent
54f79b1
commit 64dc595
Showing
8 changed files
with
1,471 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.