LUKSパーティションに、マスターキー(MK)ダイジェスト、PBKDF2のMK反復、8つのキースロットに関する情報などの多くの情報を格納するプレーンテキストヘッダーがあることを知っています。また、ヘッダーにはaf-分割および暗号化されたマスターキー。
それを回復する方法があるかどうか私は尋ねています。私は単に使用できることを知っています:
cryptsetup luksDump --dump-master-key /dev/whatever
しかし、これは私に復号化されたMKを与えるだけです。
私が持っている情報だけはヘッダーからのものです:
キー素材オフセット:8(キー素材の開始セクター)
ストライプの数:4000
私の目標は、pbkdf2から派生したキーを使用してマスターキーを手動で復号化し、af-mergeを実行してから、この候補キーを使用してデータ全体を復号化することです。
これはあなたが望むもののようです。ヘッダーのサイズを想定せずに、ヘッダーのコピーを作成します。
# cryptsetup luksHeaderBackup /dev/sda5 --header-backup-file /tmp/luks-header
しかし、あなたの質問を100%理解したかどうかはわかりません。マスターキーを含むLUKSヘッダーを抽出する方法、またはjust暗号化されたマスターキーのみを抽出する方法を尋ねていますか?
LUKSボリュームをマウントできると仮定して、マウント時にこれを実行します。
$ dmsetup table --showkey myvolume
0 200704 crypt aes-xts-plain64 0ef81...9aef7 0 8:18 4096
長い文字列はマスターキーです。
しかし、これは同じです
$ cryptsetup luksDump --dump-master-key /dev/myrawvolume
MK dump: 0e f8 1. .. .. ..
.. .. .. .9 ae f7
だからあなたが何を求めているのか分かりません...
私はプログラムを書いた 昔、LUKSキーをダンプしましたが、Rubyで書かれており、必要な手順を実行する方法を理解しようとしている場合に便利です。キーを抽出します。
これにより、暗号化されたキーを含むLUKSヘッダー全体がダンプされます。
dd if=/dev/whatever bs=2M count=1 of=luks-header.img