Skip to content

Commit 9d3cc64

Browse files
authored
Merge pull request #1206 from Dasharo/measurement-updates
kb/pcr-measurements.md: update regarding coreboot extending multiple banks
2 parents 20d9b13 + 45e0d17 commit 9d3cc64

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

docs/kb/pcr-measurements.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,13 @@ firmware after coreboot, you get a mix of both.
4545

4646
### PCR banks
4747

48-
At the time of writing (September 2025) coreboot supports extending only a
49-
single bank of a PCR despite ability of TPM 2.0 to handle multiple banks. A PCR
50-
bank, which corresponds to a specific hash function, is fixed at build time:
48+
Since 2026 Dasharo's fork of coreboot started supporting extending all active
49+
banks of a TPM 2.0 that it knows about. All prior releases (including some in
50+
the early 2026 and releases using older version of the code base) can update
51+
at most a single PCR bank.
52+
53+
A PCR bank corresponds to a specific hash function, it's fixed for TPM 1.2 and
54+
is selected during build for TPM 2.0:
5155

5256
| TPM version | PCR Bank
5357
| ----------- | --------
@@ -56,9 +60,15 @@ bank, which corresponds to a specific hash function, is fixed at build time:
5660

5761
This has an implication for TPM 2.0 case when multiple PCR banks are active and
5862
used by EDK. This is handled by using dummy hash values (`0100...`) for missing
59-
digests (SHA-1) which do not correspond to actual PCR updates. Doing this
60-
breaks replaying of TPM log unless fake digests are skipped, but it allows to
61-
comply with TPM event log format.
63+
digests (most often SHA-1) which do not correspond to actual PCR updates.
64+
Doing this breaks replaying of TPM log unless fake digests are skipped, but it
65+
allows to comply with TPM event log format.
66+
67+
While newer versions of the firmware support multiple digests, the exact set of
68+
supported algorithms is still fixed at build time. This means that it is still
69+
possible to have some banks unpopulated if coreboot doesn't know a particular
70+
digest (by default only SHA-1 and SHA-256 are selected leaving less popular
71+
SHA-384 and SHA-512 disabled).
6272

6373
### PCR measurements
6474

0 commit comments

Comments
 (0)