ディスク全体の暗号化をブルートフォースで解読するのにかかる時間を長くしたいです。Ubuntu を使っていて、インストール時に Luks で暗号化しました。10 秒ごとに 1 つのパスワードしか入力できないようにするには、次のコマンドを使用するとよいと読みました。
$ sudo cryptsetup luksChangeKey --iter-time 10000 <device>
「device」を「/boot」に置き換えればよいのでしょうか? ブート パーティション、メイン パーティション、またはその両方でこれを行う必要があるかどうかはわかりません。
答え1
暗号化されたディスクをブルートフォース攻撃しようとする人は、自分のコンピュータでディスク ヘッダーに対して攻撃を実行することになります。OS のシステム パラメータは無意味になります。
編集
パーU. ウィンドルコメント 私はもっと注意深く見ました。上記の私の最初の発言は今でも正しいですが、反復時間はシステムパラメータではない名前から間違って推測した通りです。
反復時間それは正確には時間ではないようです反復これは、私が考えるに奇妙な方法で時間を使って定義されています。固定の反復回数ではなく、特定のマシンで定義されたミリ秒で可能な反復回数です。反復時間。そう、反復時間パラメータは時間ですが、特定のマシンの速度に応じて反復回数が異なります。
私は見つけたLinux ブログ – Dr. Mönchmeyer非常に有益です。
この記事から私が興味深いと思った部分を引用します。
...マスター キーの計算により、大きな遅延時間が発生します。AES 復号化自体は、起動遅延時間の主な原因ではありません...
これは、ブルート フォース パス フレーズの推測は遅くなるが、生のキーの推測は影響を受けないことを示しています。現実的には、生のキーの推測はいずれにしても絶望的です。
...また、暗号化されたディスクを物理的に制御できる攻撃者は、あなたのマシンよりもはるかに高速なマシンで LUKS パスワードを解読しようとすることも考慮する必要があります。したがって、1 秒あたり数千万回の PBKDF2 反復は確かに可能であり、これは 1 秒あたり複数のパスワード試行を意味します。...
改めて感謝申し上げますU. ウィンドルキックをさらに詳しく見るために。
答え2
このコマンドは暗号化されたパーティションで実行します。/boot
システムが LUKS パーティションを見つけて復号化するためのコードをロードする必要があるため、通常は含まれません。
システム上の LUKS で暗号化されたすべてのパーティションを検索するには:
sudo fdisk -l |grep ^/dev/ |grep -Eo '^\S+' |xargs --max-args=1 -d '\n' -I DEV bash -c 'sudo cryptsetup isLuks DEV && echo DEV'
cryptsetup
マニュアルページには、これを使用すると「その後のluksOpen操作がそれに応じて遅くなる」と書かれていることに注意してください--iter-time
。言い換えると、正しいパスフレーズを入力しても、パーティションのロックを解除するのに10秒待たなければなりません。また、10秒は次のように計算されると思います。あなたのシステムなので、より高速なコンピュータや複数のコンピュータを使用すると、パスフレーズをより速く解読できるようになります。
必ず強力なパスフレーズを使用してください。
答え3
LUKS デバイス/boot
が に対応するかどうかを確認するには、 を試しmount | grep /boot
、 とcat /etc/crypttab
を使用して検証しますblkid <your_device>
。出力は次のようになります。
/dev/sys/boot: UUID="f3aabb69-d3ca-41cf-87cf-b19585f2c123" TYPE="crypto_LUKS"
質問に対する私のコメントも参照してください。
答え4
自分がやろうとしていたことを誤解していたようです。これが自分のマシンでの時間を増やすだけなら、あまり意味がありません。すばらしい情報をくださった皆さんに感謝します。このような機能が暗号化モジュールに組み込まれ、暗号化されたドライブが取り付けられたすべてのマシンに適用されるタイムアウトを設定できればすばらしいと思います。例: ドライブがどのデバイスに取り付けられていても、10 秒または 15 秒のタイムアウト。長いパスフレーズを持っている人がいるなら、それは当然のことですが、私はこれを不便だとは思いません。ドライブの強化につながるだけです。