You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove notes to write down credentials as they are chosen since linuxboot/heads#1875 witll provide confirmation screen with creds and Qr code to safely safeguard them as provisioned.
No more typo.
Signed-off-by: Thierry Laurion <insurgo@riseup.net>
(16): Used for TPM futurecalc of LUKS header when setting up a TPM disk encryption key
197
-
198
-
Some history
199
-
---
200
-
Heads relied on coreboot patches until coreboot 4.8.1 for measured boot
201
-
implementation, since coreboot had none.
202
-
Heads measured boot scheme [changed](https://github.com/osresearch/heads/pull/793) to match coreboot 4.12's, which for the first time included seperated measured boot implementation from vboot implementation.
203
-
204
-
Since coreboot 4.12, Heads stopped patching coreboot to implement measured boot.
205
-
coreboot measured boot implementation is the one filling PCR2, above.
206
-
207
-
Heads since then solely extends PCRs of it's own (PCRs 4-5-6-7 above) which are used when
208
-
sealing/unsealing.
209
-
210
-
As you can see above, coreboot measures itself from bootblock then other boot phases up to its
211
-
payload in PCR2, in conformity of their [SRTM](https://doc.coreboot.org/security/vboot/measured_boot.html#srtm-mode) measured boot policy.
212
-
An example is given from [coreboot docs](https://doc.coreboot.org/security/vboot/measured_boot.html#platform-configuration-register).
213
-
214
-
TPM_Unseal errors
215
-
---
216
-
Consequently, if either coreboot phases, boot mode, kernel modules, LUKS headers
217
-
or CBFS files are different then when those measurements were used to seal secrets,
218
-
unseal operations will fail. HOTP/TOTP/TPM Disk Unlock Key passphrase should give errors
219
-
in case of tempering.
220
-
221
-
The TPM Disk Unlock Key passphrase would fail with a different error then:
222
-
`Error Authentication failed (Incorrect Password) from TPM_Unseal` when a user types
223
-
a [TPM Disk Unlock key passphrase](/Keys/#disk-unlock-key-passphrase-prompt-output).
224
-
225
-
Indeed, the PCRs measurements used to seal the Disk Unlock Key in TPM NV memory cannot unseal
226
-
that secret, even with a good TPM Disk Unlock Key passphrase, while HOTP/TOTP should not be able
227
-
to unseal either.
228
-
229
-
230
-
TCPA Event log
231
-
---
232
-
From the [Recovery Shell](/Recovery), it is possible to review PCR2 [TCPA event log](https://doc.coreboot.org/security/vboot/measured_boot.html#tcpa-eventlog) by typing:
233
-
`cbmem -L`
234
-
235
-
236
-
Disk Unlock Key passphrase prompt output
237
-
====
238
-

239
-
240
-
Here you can see that "Boot block, ROM stage, RAM stage, Heads payload", "Drive LUKS headers" and "Heads user-specific config files" have filled the registers PCR-02, PCR-06 and PCR-07 respectively. You can also see the TPM returning the error "Error Authentication failed (Incorrect Password)" which is an invitation to try again, this time typing more slowly. Measurements are consistent to what was sealed, but the passphrase is bad. This is good news.
241
-
242
-
After 3 unsuccessful attempts releasing TPM Disk Unlock Key, Heads will propose you to decrypt with your Disk Recovery Key passphrase, directly from the OS, bypassing Heads protection. Still good news.
243
-
244
-
If Disk Unlock Key passphrase throws a different error, it would be a good idea to meditate on your threat model and what happened to your computer since your last normal default boot.
245
-
246
-
The Disk Unlock Key is sealed in TPM NV memory with PCRs-2-4-5-6-7, which includes external content from the firmware, like your LUKS header measurements.
247
-
187
+
(16): Used for TPM futurecalc of LUKS header when setting up a TPM disk
188
+
encryption key
189
+
190
+
### Some history
191
+
Heads relied on coreboot patches until coreboot 4.8.1 for measured boot
192
+
implementation, since coreboot had none. Heads measured boot scheme
193
+
[changed](https://github.com/osresearch/heads/pull/793) to match coreboot
194
+
4.12's, which for the first time included separated measured boot
195
+
implementation from vboot implementation.
196
+
197
+
Since coreboot 4.12, Heads stopped patching coreboot to implement measured
198
+
boot. coreboot measured boot implementation is the one filling PCR2, above.
199
+
200
+
Heads since then solely extends PCRs of its own (PCRs 4-5-6-7 above) which are
201
+
used when sealing/unsealing.
202
+
203
+
As you can see above, coreboot measures itself from bootblock then other boot
204
+
phases up to its payload in PCR2, in conformity of their
0 commit comments