Іншим підходом до цієї конкретної проблеми є використання TPM для зберігання ключа шифрування, але захист дійсно покладається на користувача, щоб зробити його ефективним. Рудиментарне рішення на основі RHEL7 - це tpm-luks ( https://github.com/GeisingerBTI/tpm-luks ).
Те, як він працює під час завантаження, кожен етап процесу завантаження вимірює наступний і зберігає це вимірювання в ПЛР на TPM. Після завершення процесу завантаження tpm-luks перевіряє стан ПЛР на "відому хорошу" конфігурацію. Якщо в конфігурації "добре відома", TPM відкриє ключ LUKS, а tpm-luks передасть ці дані для розблокування кореневого розділу LUKS.
Оскільки все важливе вимірюється криптографічним хешем, по суті, немає можливості злій служниці замінити ваш GRUB / ядро / ramdisk, щоб збитко зібрати вашу пропускну фразу FDE. Як додатковий бонус, вам взагалі не потрібна парольна фраза FDE! Теоретично ви могли б повністю видалити людську читальну парольну фразу і повністю покладатися на tpm-luks, але якщо ви йдете цим маршрутом, це, мабуть, хороша ідея зберегти свій заголовок LUKS і зберегти його як резервну копію.
Як я вже згадував, для цього потрібна певна старанність користувача. Якщо ви залишили комп'ютер без нагляду, і вам запропоновано підказку із парольною фразою, це, мабуть, погана ідея вводити його до тих пір, поки ви не зробите деякі дослідження. У цей момент ви повинні завантажитися в середовище живого компакт-диска і подивитися, чи є помилка в tpm-luks або чи /boot
розділ справді змінений. Ви все ще залишаєте /boot
розділ незашифрованим, але якщо щось важливе буде змінено, основний диск ніколи не розшифровується.