/dev/random
パイプと/dev/urandom
パイプは一般的に初めてで、エントロピーを注入しようとしている/dev/urandom
から呼び出すアプリケーションがあります。このアプリケーションのソースを変更したくないのですが、rngd -r /path/to/file
を呼び出す追加のプロセスで、エントロピーを/dev/random
に注入し、ブロックを解除できるようにサイズを増やしているようです。
今私の質問は:rngd -r /path/to/file
と並行して/dev/urandom
が/dev/random
に挿入されますか、それとも/dev/random
に制限されますか?
答えが「いいえ」の場合、/dev/urandom
-またはそれよりも良い-マシンのPRNGがランダムエントロピーで完全にバイパスされるように、それにビットを付加する同様のユーティリティを挿入しますユーザーランドでは?
Linuxでは少なくとも/dev/random
および/dev/urandom
は基本的に同じものです。具体的には、どちらもLinux Random Number Generator(LRNG)と呼ばれる同じ内部RNGへのインターフェイスであり、入力エントロピープールを共有します。それらの唯一の違いは、LRNGが低エントロピーのときにブロックするかどうかです。
/ dev/randomのmanページ によれば:
/ dev/randomまたは/ dev/urandomに書き込むと、書き込まれたデータでエントロピープールが更新されます。
下の図では、ユーザースペースからいずれかのデバイスに書き込むと、両方の出力インターフェイスで共有されるメインの入力エントロピープールに入ります。 ( 記事 )。
現在のLRNG設計では、/dev/random/
および/dev/urandom
それぞれに独自の出力エントロピープールとエントロピーカウンターがあります。
また、StephanMüller(LRNGを管理するLinuxカーネル開発者)による2020論文もあり、/dev/random
および/dev/urandom
同じ出力プールを共有することで、さらに近づきます( ソース記事 ):
要約:はい、rngdは両方にエントロピーを追加しています/dev/random
および/dev/urandom
。