LUKSで--use-urandomまたは--use-randomオプションの目的は何ですか?

LUKSで--use-urandomまたは--use-randomオプションの目的は何ですか?

私は現在、Windowslandではなく一部のオペレーティングシステムを自分で教えようとしています。私はLVMを「マスター」しているので、cryptsetupとLUKSに慣れようとしています。

もう理解になり始めたのですが、一つの混乱した点は...

...--use-urandomまたは--use-randomオプションによって生成された乱数の目的は何ですか?

cryptsetup コマンドのコンテキストでは、次のようになります。

$ sudo cryptsetup luksFormat --cipher=aes-xts-plain64 --key-size=512 --hash=sha256 --use-random /dev/sdb1 --key-file=/crypto/keyfile

ここで、/dev/random(乱数エントロピーを抽出するために--use-randomと仮定します)を使用すると、システムがより多くのエントロピーを生成するために時間がかかることがわかりました。したがって、場合によってはこれをお勧めします。 --use-urandom(したがって/dev/urandomから取得し、私が知っている限り完全に擬似ランダムです)を使用すると、システムはエントロピープールが「補充」されるのを待つ必要はありません。

私は暗号を完全に理解していませんが、推測するこのオプションを一度だけ使用して、暗号化スキーム全体の初期状態を設定します。もしそうなら、私のデータを保護するために素晴らしい、汚れた暗号化ベッドを待つことに問題はありません。しかし、ディスクを読み書きするたびにこの問題を処理する必要がある場合は、おそらくかなり高速です。 。

私は正しいですか?これは一回限りですか?それとも、私のコマンドに --use-random を設定すると、長期間の LUKS のオープンとクローズ、読み書きなどができなくなりますか?

ベストアンサー1

(...)を使用すると、/dev/randomシステムはより多くのエントロピーを生成するため、時間がかかることがあります。

正しい。

場合によっては --use-urandom を使用することをお勧めします(それぞれ/dev/urandom

ほとんどすべての場合は使用しないことをお勧めします/dev/random/dev/urandomのrandはログインキーにとって安全ですか?またはランダムに関する神話

/dev/urandom、私が理解している限り、これは完全に疑似ランダムです。

いいえ、urandom医師はランダムではありません。 「擬似ランダム」は「決定的」を意味する。urandom決定論的ではなく(暗号品質)、決定論的ランダムジェネレータを使用します。播種エントロピーを通して、少量の非晶質データから事実上無限のランダムバイトストリームが生成される。

これらのオプションは、キーが生成されたときに発生する状況--use-randomにのみ--use-urandom影響し、ボリュームが使用されたときに発生する状況には影響しません。したがって、--use-randomボリュームの使用を遅くするのではなく、ボリュームを遅くするだけです。それでも--use-urandom一般的には大丈夫で、インタラクティブな--use-random使用には大丈夫ですが、システムにエントロピー数を増やすことができるものがないと永久にブロックされる可能性があるため、スクリプトではお勧めできません。これが機能しない唯一の/dev/urandomケースは、エントロピーを収集する時間のない新しくインストールされ、新しく起動されたシステムです。残念ながら、urandomこの場合、予測可能なデータが返されます。システムを数分間使用した後は、(またはシステムのインストール後に再起動しても)/dev/urandom安全です。

おすすめ記事