GNU/Linux >> Znalost Linux >  >> Linux

Linux – využití prostoru před 1. oddílem USB flash disku jako Luks Key?

Používám arch linux se zašifrovaným kořenovým oddílem luks (zavedení nešifrovaně), zatím s přístupovou frází.
Nyní mám soubor klíče (3072 bajtů), který je zapsán na USB-Stick tímto způsobem:

sudo dd if=tempKeyFile.bin of=/dev/sdd bs=512 seek=1 count=6

a také nastavit jako další průchod

sudo cryptsetup luksAddKey /dev/sdb6 tempKeyFile.bin

Když oddíl otevřu ručně pomocí:

sudo cryptsetup --key-file tempKeyFile.bin open /dev/sdb6 luks_root

vše funguje, oddíl je namapován a lze jej připojit.
Nyní můj kernel-parameter-line v grub.cfg vypadá takto:

linux /vmlinuz-linux root=UUID=$UUID_OF_luks_root$ rw cryptdevice=UUID=$UUID_OF_sdb6$:luks_root cryptkey=/dev/sdd:1:6

Ale při bootování se mi zobrazuje tato chyba:

No key available with this passphrase.
Invalid Keyfile. Reverting to passphrase.

Už jsem zkoušel offset 2 místo 1, ale stejný výsledek. Všiml jsem si, že to neříká, že soubor klíče nelze najít/přečíst, ale byl nesprávný.

Zdá se, že existuje jen málo dokumentace o tomto způsobu ukládání souboru luks keyfile. Arch-wiki to zmiňuje, ale velmi stručně a zdá se, že jsem v souladu, takže si myslím, že by to mělo být možné.

v mém mkinitcpio.conf MODULY, BINÁRIE a SOUBORY jsou prázdné a nastavil jsem:

HOOKS=(base udev autodetect keyboard modconf block encrypt filesystems fsck)

takže blok je těsně před šifrováním.

V čem je problém?

Přijatá odpověď:

Z šifrovacího háčku ArchLinux (/lib/initcpio/hooks/encrypt ):

*)
    # Read raw data from the block device
    # ckarg1 is numeric: ckarg1=offset, ckarg2=length
    dd if="$resolved" of="$ckeyfile" bs=1 skip="$ckarg1" count="$ckarg2" >/dev/null 2>&1
    ;;

Takže i když podporuje čtení klíče z nezpracovaného blokového zařízení, používá velikost bloku 1 (místo výchozích 512), takže musíte vynásobit své hodnoty 512, aby to fungovalo.

Takže místo cryptkey=/dev/sdd:1:6 zkuste cryptkey=/dev/sdd:512:3072 .


Linux
  1. Jak zálohovat nebo klonovat oddíly Linuxu pomocí příkazu „cat“.

  2. Bezpečný restart Linuxu pomocí klíče Magic SysRq

  3. Linux / UNIX :Jak vytvořit rozšířený oddíl pomocí fdisk

  1. Určení využití disku v Linuxu pomocí příkazu „du“.

  2. Jak klonovat oddíl disku Linux přes síť pomocí dd

  3. Simulace události Key Press pomocí Pythonu pro Linux

  1. Jak zašifrovat oddíl pomocí DM-Crypt LUKS na Linuxu

  2. Zkontrolujte místo na disku v Linuxu pomocí příkazů df a du

  3. Linux – instalace pomocí Gpt na 32bitovém systému s Biosem?