LUKS暗号化で提供されるオプションを使用すると、--header=<file>
dm-cryptを使用するのと同じです。合理的な否認性それとも、ヘッダーを含まないにもかかわらず、特定のパーティションがLUKSで暗号化されていることを知る方法はありますか?
答え1
使用すると、データのみがデバイス--header
に書き込まれます。ループデバイスを作成し、使用または使用せずに一度使用してluksFormat
これを確認できます--header
。このオプションを使用すると、暗号化されたデバイスは変更されず、復号化されたデバイスは大きくなります。
start cmd: # cd /tmp
start cmd: # dd if=/dev/zero of=luks.img bs=1M count=100
start cmd: # dd if=/dev/zero of=luksheader bs=1M count=10
start cmd: # cryptsetup --force-password --header luksheader luksFormat /dev/loop0
start cmd: # cryptsetup --header luksheader luksOpen /dev/loop0 luks
start cmd: # blockdev --getsz /dev/mapper/luks
204800
start cmd: # blockdev --getsz /dev/loop0
204800
start cmd: # dd if=/dev/loop0 bs=1K count=1 | od
0000000 000000 000000 000000 000000 000000 000000 000000 000000
*
0002000
start cmd: # cryptsetup luksClose luks
start cmd: # cryptsetup --force-password luksFormat /dev/loop0
start cmd: # cryptsetup luksOpen /dev/loop0 luks
start cmd: # blockdev --getsz /dev/mapper/luks
200704
start cmd: # dd if=/dev/loop0 bs=1K count=1 | command od
0000000 052514 051513 137272 000400 062541 000163 000000 000000
0000020 000000 000000 000000 000000 000000 000000 000000 000000
0000040 000000 000000 000000 000000 072170 026563 066160 064541
[...]
答え2
LUKSファイルの場合:
デバイスには正常ですが、餌/偽のLUKSヘッダを作成するにはどうですか?その後、ベイトヘッダを介してurandom(またはメディア内の他のより速いノイズフィル)を実行して、そのベイトヘッダでノイズを完全に埋めることができます。
必要に応じて復元できるように、このヘッダーを保存します。次に、安全なパスワードで新しいヘッダーを作成し、ファイルシステムを作成した後にファイルを保存したいときに使用します。
一部の機能ですが、実行可能なシェルスクリプトを使用すると、これをすばやく簡単に実行できます。メディアを使用したい場合は、メディアに正しいluksヘッダーを書き、ファイルシステムへのフルアクセス権を持ちます。完了したら、ヘッダー領域をクリアし、ルアー LUKS ヘッダーをメディアに書き換えます。実行可能なシェルスクリプトを使用するのは非常に簡単で高速です。
私が見るには、デコイヘッダーを使ってLUKSメディアを開くと、完全に消去されたように見え、隠されたボリュームもないので、このような動きに対する疑惑は高くないようです。
ただ考えです。
答え3
いいえ、2つは同等ではありません。合理的な否認性。その理由は、暗号化で隠されないヘッダファイルが存在するためです。