web-dev-qa-db-ja.com

暗号化されたマスターキーをLUKSヘッダーから抽出するにはどうすればよいですか?

LUKSパーティションに、マスターキー(MK)ダイジェスト、PBKDF2のMK反復、8つのキースロットに関する情報などの多くの情報を格納するプレーンテキストヘッダーがあることを知っています。また、ヘッダーにはaf-分割および暗号化されたマスターキー。

それを回復する方法があるかどうか私は尋ねています。私は単に使用できることを知っています:

cryptsetup luksDump --dump-master-key /dev/whatever

しかし、これは私に復号化されたMKを与えるだけです。


私が持っている情報だけはヘッダーからのものです:

キー素材オフセット:8(キー素材の開始セクター)

ストライプの数:4000

私の目標は、pbkdf2から派生したキーを使用してマスターキーを手動で復号化し、af-mergeを実行してから、この候補キーを使用してデータ全体を復号化することです。

3
refex

これはあなたが望むもののようです。ヘッダーのサイズを想定せずに、ヘッダーのコピーを作成します。

# cryptsetup luksHeaderBackup /dev/sda5 --header-backup-file /tmp/luks-header

しかし、あなたの質問を100%理解したかどうかはわかりません。マスターキーを含むLUKSヘッダーを抽出する方法、またはjust暗号化されたマスターキーのみを抽出する方法を尋ねていますか?

3
forest

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で書かれており、必要な手順を実行する方法を理解しようとしている場合に便利です。キーを抽出します。

1
starfry

これにより、暗号化されたキーを含むLUKSヘッダー全体がダンプされます。

dd if=/dev/whatever bs=2M count=1 of=luks-header.img
0
Lie Ryan