telekom-mms / sectpmctl

sectpmctl - Secure Boot and TPM2 backed LUKS full disk encryption
GNU General Public License v2.0
13 stars 4 forks source link

[Enhancement] Mitigate faulTPM as much as possible #37

Open reitzrobert77 opened 1 year ago

reitzrobert77 commented 1 year ago

Description

Give zero trust to the TPM: https://arxiv.org/abs/2304.14717

As faulTPM had schown, all key material can be extracted from the TPM. The proposed mitigation from the authors recommend to use the TPM + password option, together with a KDF and appending the password to the TPM secret which opens LUKS:

Sealing

Unsealing

The catch is that if the TPM is completely broken, then the LUKS_SECRET is known to the attacker. But that won't not be sufficient to decrypt, because the original password needs to be known. The attacker has to brute force the password with argon2 as KDF. Therefor is sectpmctl with TPM+password option on a vulnerable system at least as strong as a software only encryption without a TPM at all.

Additional information

No response

reitzrobert77 commented 1 year ago

The command line utility argon2 on Ubuntu 22.04 seems to be broken when parallelism is used. It only uses as single thread. Interestingly the Ubuntu 22.04 libargon2 library doesn't suffer from this problem.