Linuxで/dev/randomを/dev/urandomに接続するのは間違っていますか?

Linuxで/dev/randomを/dev/urandomに接続するのは間違っていますか?

gpg --genkey現在Linux仮想マシンでテストされています。残念ながら、このソフトウェアは/dev/randomエントロピーを収集し、ランダムな入力画面を暗号化した後、ユーザーに手動で画面を入力するように要求するようになりました。他のファイルをエントロピーの源として(その人このビデオでは同じ問題が発生しました...)。

ただし、ユーザーは自由に選択して/dev/urandom使用できる必要があります。大丈夫です。。これは主に暗号化の観点から弱かった以前のPRNGアルゴリズムを思い出すのに役立ちます。例えば、NetBSD マンページこの区別は、初期の開始段階においても依然として有用であることを認識しながら、以下のように区別を説明する。「民俗学」そして「国防専用ファンタジー脅威モデルの想像理論」。誰も同意しないコマンドに必要なエントロピーの量エントロピーが実際に消費されるという事実もありません。GPGのマンページ「何をしているのかわからない場合は、このコマンドを使用しないでください。システムから貴重なエントロピーが削除される可能性があります!」)。

私はそれについて読んだ人々はrngdデーモンをインストールします/dev/urandom供給されたエントロピーソースとして使用するように設定しましたが、/dev/randomこれは非常に汚れていることがわかりました。

FreeBSDの方法で問題を解決し、/dev/random問題を取り除き、次のリンクに接続してみました/dev/urandom

rm /dev/random
ln -s /dev/urandom /dev/random

背景知識のようなものです。「私は/dev/urandomエントロピーの源になると信じています」

どんなエラーが出るのか心配していましたが、今すぐコマンドが正常に返されるので、期待した結果を提供しているようです。

私の質問は次のとおりです/dev/randomLinuxシステムでデフォルトでFreeBSDシステムに接続する/dev/urandomと、既知の実際のバグがある副作用はありますか?/dev/randomまたは、特定のサービスロックによって問題が繰り返し発生する場合は、これを永久に設定することは可能ですか(たとえば、起動プロセスの終わりにスクリプトで)。

答え1

バラよりランダムに関する神話、/dev/randomに対する攻撃ではなく、/dev/urandomに対する既知の攻撃はありません。 Linuxシステムの主な問題は、複製されて複数の仮想マシンで実行されている場合、複製後に保存されたエントロピープールがリセットされないことです。これはあなたが望むものに触れる極端なケースです。

答え2

もう1つのことは、/dev/randomエントロピープールを使用した後に出力を停止することです。この試み:

$ cat /dev/random
(a few short lines of gibberish)^C
$ 

/dev/urandomただし、出力を継続するために同じプールが再利用されます。図のように:

$ cat /dev/urandom
(tons of gibberish fills the screen)^C
$

(これらの特殊デバイスをキャプチャしようとすると、プロンプトが混乱する可能性があります。入力してreset入力するだけで端末が正常に戻ります。)

/dev/urandom「ランダム」ビットの連続ストリームで何かを埋める必要がある場合に使用します。/dev/random絶対に任意のキーが必要なときに使用されます。

答え3

Linuxでは、/dev/random高品質のランダムビットを提供しています。彼らのソースはいいえ予測可能いいえ機械の外で繰り返すことができます。代わりに/dev/urandom(使用可能な場合)と同じ乱数データを使用し/dev/random、そうでない場合は疑似乱数ジェネレータを使用してください。決定論的。ほとんどの目的では十分に予測できませんが、いいえ非常に要求の厳しいアプリケーション(暗号化など)の場合、長期間有効な鍵(GPGなど)の生成は言うまでもありません。

関連情報