diff --git a/doc/security-model.md b/doc/security-model.md index 5979db53c..d09d05472 100644 --- a/doc/security-model.md +++ b/doc/security-model.md @@ -409,13 +409,6 @@ creating additional hardware binding: │ │ → Changing kernel modules or LUKS headers requires resealing DUK │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ │ │ -│ ┌─────────────────────────────────────────────────────────────────────┐ │ -│ │ PCR 16 (Scratch) │ │ -│ │ │ │ -│ │ Used internally for calcfuturepcr (pre-computing future values) │ │ -│ │ Not part of any sealing policy - purely for calculation │ │ -│ └─────────────────────────────────────────────────────────────────────┘ │ -│ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` diff --git a/doc/tpm.md b/doc/tpm.md index 8cecfb55b..8cc2ccf77 100644 --- a/doc/tpm.md +++ b/doc/tpm.md @@ -164,7 +164,6 @@ unchanged; the TXT mechanism adds the DRTM capability on top of it. | 5 | Heads `insmod` wrapper | Each loaded kernel module: parameters + binary content (default `MODULE_PCR=5`) | | 6 | Heads `qubes-measure-luks.sh` | LUKS header dump for each encrypted drive | | 7 | Heads `cbfs-init.sh`, `uefi-init.sh` | Each CBFS/UEFI file: filename then content (default `CONFIG_PCR=7`) — covers `config.user`, GPG keyring, user CBFS files | -| 16 | `tpmr.sh calcfuturepcr` (scratch use only) | Resettable debug PCR used as scratch pad during pre-computation of future PCR values; not part of any sealing policy | PCRs 0-3 are read at seal time and included in sealing policies. The zero state of PCRs 0, 1, and 3 is intentional — any unexpected extension of those diff --git a/initrd/bin/kexec-seal-key.sh b/initrd/bin/kexec-seal-key.sh index 9c2674b8d..ce19c3e33 100755 --- a/initrd/bin/kexec-seal-key.sh +++ b/initrd/bin/kexec-seal-key.sh @@ -269,10 +269,8 @@ for dev in $key_devices; do STATUS_OK "$dev: LUKS TPM Disk Unlock Key added to slot $duk_keyslot" done -# Now that we have setup the new keys, measure the PCRs -# We don't care what ends up in PCR 6; we just want -# to get the /tmp/luksDump.txt file. We use PCR16 -# since it should still be zero +# Now that we have setup the new keys, measure the LUKS headers into PCR 6. +# The dump goes to /tmp/luksDump.txt for calcfuturepcr to use as input. STATUS "Measuring TPM Disk Unlock Key (DUK) for sealing policy (PCR[6])" echo "$key_devices" | xargs /bin/qubes-measure-luks.sh || DIE "Unable to measure the LUKS headers"