In primo luogo, spiegherò più o meno come intendo utilizzare il TPM:
Sto usando qualcosa chiamato tpm-luks
che memorizza una chiave in entrambi i TPM NVRAM e aggiunge la chiave a una dei keylots LUKS. Initramfs decodifica quindi la partizione crittografata con LUKS di root utilizzando la chiave che ottiene dal TPM. Uso anche tpm-luks
per seal la chiave in modo che la chiave venga rilasciata dalla NVRAM TPM solo quando i registri PCR TPM si trovano in uno stato dato (ad es. Dopo un bootloader predeterminato, initramfs, linux ecc. sono stati caricati). TrustedGRUB [2] viene utilizzato come bootloader in modo che registri i propri hash sulle PCR TPM.
Ho anche in programma di fare aggiornamenti remoti e incustoditi al sistema di volta in volta (ad esempio aggiornando il kernel che cambierà anche gli hash dei file del kernel, ecc.). Per ovviare a questo problema, tpm-luks
fornisce un modo per pre-calcolare gli hash e reseal la chiave usando i nuovi valori prima di riavviare la macchina in modo che la chiave possa essere sbloccata di nuovo con la nuova PCR stato.
Attualmente questo processo richiede che io inserisca la password del proprietario del TPM ogni volta che eseguo un aggiornamento e voglio aggiungere una nuova chiave.
Le mie domande sono:
- Va bene usare la password nota di 20 byte di 0 come password proprietario / SRK?
tpm-luks
ha le opzioni per utilizzare queste password ben note per eseguire queste operazioni in modo che possano essere non interattive. Dato che il sistema è bloccato, presumo che nessuno sarà in grado di sfruttarlo? - In caso contrario, sarebbe possibile mantenere le password sulla partizione di root crittografata? Il sistema è affidabile al momento della decifrazione della partizione di root, quindi dovrebbe essere sicuro memorizzare la password lì (e accedervi in sicurezza)?
- Sarebbe meglio mantenere le password in un altro luogo sicuro e inviarle alla macchina se è necessario eseguire tali operazioni? Non sono sicuro che sia più sicuro della seconda opzione sopra.
- Esistono altre soluzioni migliori per raggiungere gli obiettivi di cui sopra (memorizzazione non interattiva delle chiavi su NVRAM TPM)?