9

The Definition of CRTM in TCG specification says:

Typically, the RTM is the CPU controlled by the Core Root of Trust for Measurement (CRTM). The CRTM is the first set of instructions executed when a new chain of trust is established. When a system is reset, the CPU begins executing the CRTM. The CRTM then sends values that indicate its identity to the RTS.

I'm wondering, which part of machine is the CRTM? Is it a part of BIOS? If so, CRTM is written by the BIOS vendors. And it makes BIOS to measure bootloader, but BIOS could not determine user's bootloader and seems unable to perform the measurement work.

I am confused, please help me.

Anders
  • 65,052
  • 24
  • 180
  • 218
Yuan Song
  • 91
  • 1
  • 2

1 Answers1

8

CRTM is saved in the Platform Configuration Registers (PCR), register 0 to be more precise (PCR-0). CRTM is (physically) embedded into chip silicon and provided by the BIOS, but is a logical part of the TBB (Trusted Building Block). The measurement itself is stored in PCR0.

In order to fully understand how CRTM works, you should study the chain of trust in more detail.

The (static) chain of trust starts at powers on (or reboot), which resets all PCRs to their default value. The first measurement is made by hardware (the processor) to measure a digitally signed module (called ACM - Auth'ed Code Module) which is provided directly by the chipset manufacturer. The processor validates the signature and integrity of the signed module and if it is valid it starts executing it. The ACM then measures the first BIOS code module, which can make various additional measurements. The measurements of the ACM and BIOS code modules are extended to PCR0, which holds the (CRTM), as well as the measurement of the BIOS TCB (Trusted Comp. Base). Then the BIOS measures additional components into PCRs, from PCR-0 to PCR-7.

Physically, the PCR is stored in the TPM (Trusted Platform Module) is a microcontroller security chip that resides on the mother board of most enterprise level computers that are shipping today.

Oren Milman
  • 149
  • 7
Overmind
  • 8,829
  • 3
  • 19
  • 28
  • By TBB do you mean Trusted Building Block? Also, what do you mean when you say that CRTM is saved in PCR-0? I.e., which measurement exactly is considered the CRTM? – Oren Milman Jan 06 '19 at 21:26
  • 2
    Yes, Trusted Building Block. To detail, CRTM is programming code. It measures BIOS routines and saves that information in the PCR regs. After storing them, it transfers control to the BIOS, which will check hardware components and boot loader routines. New information is again saved into the PCRs, after which control is transfered to the boot loader to assess OS routines and PCRs are updated again. That way, on each step, the system can verify if it works on a trusted environment. So basically on each step there's a check for the validity of the next step. – Overmind Jan 07 '19 at 08:01