Vaše debata mě přiměla to prostě vyzkoušet. O této možnosti dávno vím, ale nikdy jsem nezkoušel, až dneska:
# vytvoříme si klíč
root@bigos:/# dd if=/dev/random of=/tmp/key bs=512 count=1
0+1 records in
0+1 records out
113 bytes (113 B) copied, 0.000146124 s, 773 kB/s
# vytvoříme si nějaké blokové zařízení, 100MB bude stačit
root@bigos:/# lvcreate -L 100M -n test rootvg
Logical volume "test" created
# to blokové zařízení zaplníme nějakým smetím
root@bigos:/# dd if=/dev/urandom of=/dev/rootvg/test
dd: writing to '/dev/rootvg/test': No space left on device
204801+0 records in
204800+0 records out
104857600 bytes (105 MB) copied, 13.7658 s, 7.6 MB/s
# spočítáme si hash toho smetí
root@bigos:/# sha1sum </dev/rootvg/test
f292dd2538711b3b4798116f75c81b72cee4197a -
# vytvoříme si šifrované zařízení
root@bigos:/# cryptsetup -c twofish-xts-plain -s 512 --key-file /tmp/key create encryptedtest /dev/rootvg/test
# zašifrujeme, tedy zkopírujeme data dd-čkem z nešifrovaného do šifrovaného
root@bigos:/# dd if=/dev/rootvg/test of=/dev/mapper/encryptedtest bs=4096
25600+0 records in
25600+0 records out
104857600 bytes (105 MB) copied, 3.32001 s, 31.6 MB/s
# checkneme si, zda šifrované zařízení obsahuje to stejné smetí, jako to nešifrované
root@bigos:/# sha1sum </dev/mapper/encryptedtest
f292dd2538711b3b4798116f75c81b72cee4197a -
# ano, obsahuje
# zrušíme šifrované zařízení
root@bigos:/# cryptsetup luksClose encryptedtest
# ano, opravdu bylo zrušeno
root@bigos:/# cryptsetup luksClose encryptedtest
Device encryptedtest is not active.
# pro jistotu si checkneme, že nešifrované zařízení nyní obsahuje jiné smetí, než obsahovalo na začátku, tedy že je to opravdu zašifrovano
root@bigos:/# sha1sum </dev/rootvg/test
ec07359db29eadaf587d2c708c82cad0eeaf1591 -
# ano, hash je jiný, je to zašifrované
# opět vytvoříme šifrované zařízení, tentokrát s jiným jménem
root@bigos:/# cryptsetup -c twofish-xts-plain -s 512 --key-file /tmp/key create encryptedtest2 /dev/rootvg/test
# zkontrolujeme si hash na tom právě vytvořeném zařízení
root@bigos:/# sha1sum </dev/mapper/encryptedtest2
f292dd2538711b3b4798116f75c81b72cee4197a -
# ano, je takový, jaký očekáváme, můžeme se pustit do dešifrování
# dešifrujeme
root@bigos:/# dd if=/dev/mapper/encryptedtest2 of=/dev/rootvg/test bs=4096
25600+0 records in
25600+0 records out
104857600 bytes (105 MB) copied, 1.54076 s, 68.1 MB/s
# zavřeme
root@bigos:/# cryptsetup luksClose encryptedtest2
# opravdu se zavřelo?
root@bigos:/# ls -l /dev/mapper/|grep encrypt
# ano
# hotovo, zkontrolujeme hash
root@bigos:/# sha1sum </dev/rootvg/test
f292dd2538711b3b4798116f75c81b72cee4197a -
# očekávaný
Závěr: funguje to, jak jsme očekávali. Nicméně jedna chyba či výpadek napájení = sbohem data.
Petr