Re: Recreation of LUKS header when the master key is known

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5 Aug 2018 23:53 +0200, from mmorfikov@xxxxxxxxx (Mikhail Morfikov):
> # cryptsetup luksFormat -v -y -c aes-xts-plain64
> --master-key-file=/tmp/master_key /dev/sdd1
> 
> But he was unable to decrypt the data (I know the ext4 superblock is damaged,
> but the volume can be tested whether it is decrypted or not, and in this case it
> wasn't).
> 
> He said that the original container was created (probably) using this command:
> 
> # cryptsetup -v -y -c aes-xts-plain64 -s 512 -h sha512 -i 5000 --use-random
> luksFormat /dev/sdd1
> 
> He ultimately found the header backup and everything went well, but I have a
> question -- what parameters are needed in order to recreate the header when the
> master key is known?

Well, the cipher spec for one would obviously need to match exactly
for the newly created header to be useful for decrypting the existing
data. So depending on the defaults, the missing `-s 512` absolutely
could make a difference.

My cryptsetup says the default for LUKS1 is aes-xts-plain64 with 256
bits of key. So if your friend's system is similar to mine, chances
are good that the missing key length specifier had something to do
with it. The man page doesn't seem to say anything about what happens
if the provided master key file has a length different from the key
length that ends up being used by the selected cipher.

Keep in mind that with XTS you're effectively running the cipher
itself in half the key length mode (so if you specify AES-XTS and 256
bits of key, then the actual key used by AES is a 128 bit one). Thus,
the difference between specifying 512 bits and 256 bits means running
AES with a 256 bit key or a 128 bit key, respectively. Specifically
for AES, this also means running a different number of rounds; IIRC,
with a 256 bit key, AES uses 14 rounds, whereas with a 128 bit key, it
uses 10 rounds. So it's effectively a _very_ different cipher if you
use a different key length.

Personally, I have written down the exact commands used to create the
LUKS containers, just in case.

At least in this case your friend _had_ a header backup.

-- 
Michael Kjörling • https://michael.kjorling.se • michael@xxxxxxxxxxx
  “The most dangerous thought that you can have as a creative person
              is to think you know what you’re doing.” (Bret Victor)
_______________________________________________
dm-crypt mailing list
dm-crypt@xxxxxxxx
https://www.saout.de/mailman/listinfo/dm-crypt




[Index of Archives]     [Device Mapper Devel]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux