web-dev-qa-db-ja.com

rngd -r / path / to / fileは/ dev / randomに加えて/ dev / urandomに挿入されますか?

/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がランダムエントロピーで完全にバイパスされるように、それにビットを付加する同様のユーティリティを挿入しますユーザーランドでは?

3
CoryG

Linuxでは少なくとも/dev/randomおよび/dev/urandomは基本的に同じものです。具体的には、どちらもLinux Random Number Generator(LRNG)と呼ばれる同じ内部RNGへのインターフェイスであり、入力エントロピープールを共有します。それらの唯一の違いは、LRNGが低エントロピーのときにブロックするかどうかです。

/ dev/randomのmanページ によれば:

/ dev/randomまたは/ dev/urandomに書き込むと、書き込まれたデータでエントロピープールが更新されます。

下の図では、ユーザースペースからいずれかのデバイスに書き込むと、両方の出力インターフェイスで共有されるメインの入力エントロピープールに入ります。 ( 記事 )。

現在のLRNG設計では、/dev/random/および/dev/urandomそれぞれに独自の出力エントロピープールとエントロピーカウンターがあります。

Current Linux RNG design

また、StephanMüller(LRNGを管理するLinuxカーネル開発者)による2020論文もあり、/dev/randomおよび/dev/urandom同じ出力プールを共有することで、さらに近づきます( ソース記事 ):

2020 proposal for Linux RNG design


要約:はい、rngdは両方にエントロピーを追加しています/dev/randomおよび/dev/urandom

6
Mike Ounsworth