Saat menggunakan enkripsi disk lengkap dengan Ubuntu (berlawanan dengan enkripsi homedir), dm-crypt dengan LUKS digunakan untuk mengenkripsi volume. Dalam installer (setidaknya pada 12,04 alternatif) Anda dapat memilih antara pengaturannya menggunakan frasa sandi atau keyfile. Saya ingin menggunakan kombinasi keduanya; tidak keduanya, tetapi membutuhkan keduanya.
Mengapa? Karena ini meningkatkan keamanan (dua faktor); Anda harus memiliki sesuatu dan Anda perlu tahu sesuatu untuk membukanya. Lalu saya ingin meletakkan keyfile pada perangkat penyimpanan kecil yang dapat dilepas (USB flash drive) dan hanya mencolokkannya saat boot. Hasilnya harus bahwa itu harus dimasukkan ke dalam flash drive yang tepat dan memberikan frasa sandi yang tepat untuk membuka kunci partisi root.
Jadi, dengan kata lain, saya ingin ditanya saat boot untuk frasa sandi yang keyfile pada drive eksternal dienkripsi.
Saya melihat /usr/share/initramfs-tools/hooks/cryptgnupg
skrip pembantu yang dapat membantu mencapainya, tetapi saya tidak tahu bagaimana menggunakannya.
Hanya untuk menghindari kebingungan: Saya tidak meminta cara untuk menambahkan kunci tambahan ke volume untuk membukanya.
sumber
/usr/share/doc/cryptsetup/README.gnupg
. Saya akan mencoba mencari waktu untuk mengubahnya agar dapat menggunakan keyfile dari media eksternal.Jawaban:
Aku melakukan hal yang sama, namun saya takut jawaban saya tidak akan memuaskan, seperti untuk berbagai alasan saya pergi dengan benar-benar kustom initramfs .
Alih-alih
GnuPG
, yang merupakan biner tambahan yang harus dimasukkan dalam Initramfs (dan dalam kasusGnuPG-2
, yang agak rumit), saya hanya menggunakan apa yang sudah ada di sana. Dan itu jelasdm-crypt/LUKS
.Jadi misalkan Anda punya
keyfile
. Lebih disukai satu dengan data acak.Tambahkan enkripsi untuk itu dengan LUKS (jangan ragu untuk menambahkan pengaturan cipher pilihan Anda).
Sekarang Anda memiliki keyfile (512 byte) dan keyfile.luks (2MB, yang cryptsetup karena beberapa alasan perlu menulis header LUKS 192k). Karena Initramf akan dikompres, itu tidak terlalu buruk (masih lebih kecil dari
GnuPG
).Sekarang Anda dapat mendekripsi keyfile:
Dan Anda memiliki 512 byte data acak di
/dev/mapper/lukskey
. (Anda dapat menulis kepadanya jika Anda ingin mengubahnya, jadi kami dapat menginisialisasi file dengan nol sebelumnya.)Dalam Initramfs
init
Anda kemudian dapat melanjutkan untuk membuka volume LUKS nyata dengan itu (dengan asumsi Anda menambahkan kunci terlebih dahulu).Pendekatan ini membuat GnuPG sepenuhnya berlebihan, ditambah Anda mendapatkan semua keuntungan LUKS, seperti beberapa frasa sandi untuk kunci, sandi pilihan Anda, dan lain-lain. Belum lagi prompt kata sandi yang bagus (kebanyakan reguler) dengan beberapa percobaan ulang.
sumber