When TPM's self-test passes, it measures mainboard first.
If Mainboard is trusted, TPM extends trust from itself to
TPM+Mainboard. Mainboard will then measure the on-board
chip such as the north-bridge chip, the south-bridge chip,
BIOS and so on. If BIOS is trusted, trust is extended to
TPM+Mainboard+BIOS, and CPU is measured subsequently.
This process continues on until the entire platform devices
are measured eventually.
Suppose each platform hardware has a self-measurement
chip and a Device Status Register(DSR). The hardware also
has the encryption/decryption engine. The DSR is cleared to
zero automatically when the hardware powers up. When the
hardware receives the self-measurement command Self
MeaCmd coming from TPM, it starts the self measurement
and collects the corresponding hardware
information:SeILMealn-jo=(lIJ2J3, ...... In), and then stores
this information into DSR like this:DSR=SHAI(lnll ... SHAI(l3
II( SHAI(h II(SHAI(OIi II»»»'
The self measurement process of platform hardware is as
follows:
(1 )TPM sends the self-measurement command
SelL MeaCmd and a random number n to the hardware to be
measured Challreq(SelL MeaCmd+n).
(2)The hardware performs the self-measurement
command, collects all of the relative information, and then
signs the measurement result as: SIG=sig(DSR,n )AlKpr;v'
Finally it sends the signature SIG to TPM.
(3)TPM analyzes the measurement result, and then
determines whether the hardware is trusted. TPM also stores
the measurement result into the Platform Configuration
Register (PCR) of TPM for further attestations.
Above steps gives the main steps of hardware integrity
measurement. Step one is easy to understand, so we only
explain step two and step three detailedly.
We require that there is a configurable standard platform
device table(SPD1) in the TPM. This table is configured by
the administrator in advance, and it stores the standard
hardware configuration information of a platform.
Suppose set DEVICE includes all of the platform
hardware, and a concrete device is device E DEVICE. The
SPDT is composed of many entries, and each entry is related
to a specific device of the platform. Each entry contains the
unique information of that device, leading the platform to
distinguish it from a different one. Now The entry is defined
as follows: