0

Who is responsible for calculating the Platform Configuration Register (PCR) value? Is the operation system or the TPM?

What if the operating system is hacked? Can the hacked system always calculate the "right" PCR value to fool the verifier?

2
  • I googled "TPM PCR values" and got this as the top hit: learn.microsoft.com/en-us/windows/security/hardware-security/…
    – schroeder
    Commented Mar 18 at 12:55
  • A write to a PCR starts an extend operation, performed by the TPM. What to write to the PCR themselves is up to the software. PCRs are used to measure, they alone cannot guarantee integrity (see static and dynamic root of trust). Commented Mar 19 at 17:29

1 Answer 1

2

The TCG PC Client Platform Firmware Profile specification defines these usages. It depends on which PCRs you're discussing.

  • PCRs 0-7 are under the purview of BIOS/UEFI. PCR[0] can be extended by the early CPU code (Static Root of Trust for Measurement).
  • PCRs 8-15 are for the Operating System.
  • PCR[16] is for debug.
  • PCRs 17-20 are for the Dynamic Root of Trust for Measurement with PCR[17] assigned to Locality 4 and PCR[20] to Locality 1.

If BIOS/UEFI code is hacked, then the hacked code is able to pretend that it's not by replaying legit PCR measurements. This is why it's important to have a Hardware Root of Trust which checks the signature of the first mutable code that runs on the processor. For PCs, this is BIOS/UEFI code. AMD's answer for this is AMD Secure Boot. Intel's is Boot Guard. ARM has CryptoCell.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .