Podczas korzystania z pełnego szyfrowania dysku w systemie Ubuntu (w przeciwieństwie do szyfrowania homedir), do szyfrowania woluminu używany jest dm-crypt z LUKS. W instalatorze (przynajmniej 12.04 na przemian) możesz wybrać konfigurację za pomocą hasła lub pliku klucza. Chciałbym użyć kombinacji tych dwóch; też nie, ale wymagają obu.
Dlaczego? Ponieważ zwiększa to bezpieczeństwo (dwuskładnikowe); musisz coś mieć i musisz coś wiedzieć, aby to odblokować. Następnie chcę umieścić plik klucza na małym wymiennym urządzeniu pamięci masowej (dysk flash USB) i podłączyć go tylko podczas rozruchu. W rezultacie powinno być wymagane włożenie odpowiedniego napędu flash i podanie odpowiedniego hasła do odblokowania partycji root.
Innymi słowy, chcę zostać zapytany podczas uruchamiania o hasło, do którego szyfrowany jest plik klucza na dysku zewnętrznym.
Widzę /usr/share/initramfs-tools/hooks/cryptgnupg
skrypt pomocnika, który może pomóc go osiągnąć, ale nie mam pojęcia, jak go używać.
Aby uniknąć zamieszania: nie pytam o sposób dodania dodatkowego klucza do woluminu, aby go odblokować.
źródło
/usr/share/doc/cryptsetup/README.gnupg
. Spróbuję znaleźć trochę czasu na jego zmianę, aby używał pliku klucza z zewnętrznych mediów.Odpowiedzi:
Robię to samo, ale obawiam się, że moja odpowiedź nie będzie satysfakcjonująca, ponieważ z różnych powodów wybrałem całkowicie niestandardowy Initramfs .
Zamiast
GnuPG
, który jest dodatkowym plikiem binarnym, który musi być zawarty w Initramfs (a w przypadkuGnuPG-2
dość złożonego), po prostu użyłem tego, co już tam jest. I to oczywiściedm-crypt/LUKS
.Załóżmy, że masz
keyfile
. Najlepiej z danymi losowymi.Dodaj szyfrowanie za pomocą LUKS (możesz dodać wybrane ustawienia szyfrowania).
Teraz masz plik klucza (512 bajtów) i plik klucza.luks (2 MB, który z jakiegoś powodu cryptsetup musi napisać 192k nagłówek LUKS). Ponieważ Initramf i tak zostanie skompresowany, nie jest to wcale takie złe (wciąż mniejsze niż
GnuPG
).Teraz możesz odszyfrować plik klucza:
I masz 512 bajtów losowych danych
/dev/mapper/lukskey
. (Możesz do niego napisać, jeśli chcesz go zmienić, abyśmy mogli wcześniej zainicjować plik zerami).W Initramfs
init
możesz następnie otworzyć z nim prawdziwy wolumin LUKS (zakładając, że najpierw dodałeś klucz).Takie podejście sprawia, że GnuPG jest całkowicie zbędny, a ponadto zyskujesz wszystkie zalety LUKS, takie jak wiele haseł dla klucza, wybrany szyfr i tak dalej. Nie wspominając już o ładnym (najczęściej zwykłym) pytaniu o hasło z wieloma próbami.
źródło