cryptsetup luksFormatが暗号化されたデバイスからluksヘッダーを生成するのを防ぐ方法は?

cryptsetup luksFormatが暗号化されたデバイスからluksヘッダーを生成するのを防ぐ方法は?

パーティションを設定しようとしていますが、USBデバイスにluksヘッダーを挿入しようとしてパラメータを使用していますが、--header /path/to/usb-deviceUSBデバイスをマウントしなくても暗号化を解除できます。 cryptsetupが暗号化されたデバイスでluksヘッダーを生成しないようにする方法は?

答え1

どこかで間違ったコマンドを使用していること間違いありません。cryptsetupどこでも LUKS ヘッダーを生成しません。指示どおりに行い、通常はそうする前に確認を求めます。

例:

# truncate -s 8M luksheader luksdevice
# cryptsetup luksFormat --header luksheader luksdevice

WARNING!
========
This will overwrite data on luksheader irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase: 
Verify passphrase: 

# file -s luks*
luksdevice: data
luksheader: LUKS encrypted file, ver 1 [aes, xts-plain64, sha256] UUID: …

ご覧のとおり、後で luks デバイスに LUKS ヘッダーはありません。もしあれば、以前にあったのです。

「暗号化デバイス」を指定せずに外部デバイス/ファイルを直接使用することもできますluksFormat(これはluksOpen

単純化された例:

# cryptsetup luksFormat luksheader

これは上記のより複雑なコマンドとほぼ同じであり、唯一の違いはPayload offsetで確認できることですluksDump。このオフセットは、ヘッダーが最初に外部ヘッダーとして生成された場合でなければならず、そうでない場合は約2MiB0です。4096

必要に応じて、すべてのLUKSヘッダーを外部ヘッダーとして使用でき、Payload offsetそのままにすることが利点です。設定を変更することにした場合は、外部ヘッダーを元のデバイスに再配置します(またはその逆の場合は、既存のデバイスの外部ヘッダーに切り替えます)。

関連情報