Pendekatan lain untuk masalah khusus ini adalah dengan menggunakan TPM untuk menyimpan kunci enkripsi, tetapi pertahanan tidak bergantung pada pengguna untuk membuatnya efektif. Solusi berbasis RHEL7 yang belum sempurna adalah tpm-luks ( https://github.com/GeisingerBTI/tpm-luks ).
Cara kerjanya adalah saat boot, setiap langkah dari proses boot mengukur langkah berikutnya dan menyimpan pengukuran ini ke PCR pada TPM. Setelah proses boot selesai, tpm-luks memeriksa status PCR terhadap konfigurasi "yang dikenal baik". Jika dalam konfigurasi "dikenal baik", TPM akan membuka segel kunci LUKS, dan tpm-luks akan meneruskan data ini untuk membuka kunci partisi root LUKS.
Karena semua yang penting diukur dengan hash crpytographic, pada dasarnya tidak ada cara bagi seorang maid jahat untuk mengganti GRUB / kernel / ramdisk Anda untuk secara jahat mengumpulkan frasa sandi FDE Anda. Sebagai bonus tambahan, Anda tidak memerlukan frasa sandi FDE sama sekali! Secara teori Anda bisa menghapus kata sandi yang dapat dibaca orang dan sepenuhnya mengandalkan tpm-luks, tetapi jika Anda memilih rute itu, mungkin ide yang baik untuk menyimpan header LUKS Anda dan menyimpannya sebagai cadangan.
Seperti yang saya sebutkan, ini membutuhkan beberapa ketekunan pada pengguna. Jika Anda meninggalkan komputer tanpa pengawasan, dan Anda diberikan prompt kata sandi, mungkin itu ide buruk untuk mengetiknya sampai Anda telah melakukan beberapa penyelidikan. Pada titik itu, Anda harus mem-boot ke lingkungan CD langsung dan melihat apakah ada bug di tpm-luks, atau apakah /boot
partisi benar-benar diubah. Anda masih membiarkan /boot
partisi tidak terenkripsi, tetapi jika sesuatu yang penting diubah, disk utama tidak pernah didekripsi.