3.4. Random number Generator の使用
簡単に破損できない安全な暗号鍵を生成できるようにするには、ランダムな数字のソースが必要です。通常は、数字がランダムなほど、一意の鍵を取得する可能性が高くなります。通常、乱数を生成するエントロピー は、コンピューティング環境から「noise」またはハードウェア 乱数ジェネレーター を使用して取得されます。
rng-tools パッケージの一部である
rngd デーモンは、環境侵害とハードウェア乱数ジェネレーターの両方を使用してエントロピーを抽出できます。デーモンは、ランダム性のソースによって提供されたデータが十分にランダムなものかどうかをチェックしてから、カーネルの random-number エントロピープールに保存します。生成されるランダムな数字は /dev/random、およびの /dev/urandom 文字デバイスから利用できます。
/dev/random との違いは、以前のデバイス /dev/urandom がブロックデバイスであることです。つまり、エントロピーの量が、正しくランダムな出力を生成するのに不十分であると判断すると、数字を提供しなくなります。逆に /dev/urandom、ブロック以外のソースで、カーネルのエントロピープールを再読み込みし、擬似アンダークラウド番号を無制限に提供でき、エントロピーが少なくなります。/dev/urandom したがって、は長期暗号鍵の作成に使用しないでください。
rng-tools パッケージをインストールするには、
root で以下のコマンドを実行します。
yum install rng-tools
~]# yum install rng-tools
rngd デーモンを起動するには、root で以下のコマンドを実行します。
service rngd start
~]# service rngd start
デーモンのステータスをクエリーするには、以下のコマンドを使用します。
service rngd status
~]# service rngd status
オプションのパラメーターを指定して
rngd デーモンを起動するには、直接実行します。たとえば、(以外の /dev/hwrandom)random-number 入力の代替ソースを指定するには、以下のコマンドを使用します。
rngd --rng-device=/dev/hwrng
~]# rngd --rng-device=/dev/hwrng
上記のコマンドは、ランダムな数字が読み取られるデバイス
/dev/hwrng として、で rngd デーモンを起動します。同様に、-o (または --random-device)オプションを使用して、ランダムな出力(デフォルト以外の /dev/random)のカーネルデバイスを選択できます。以下を参照してください。 rngd(8) 利用可能なすべてのオプションの一覧の man ページです。
rng-tools パッケージには、データのランダム性を確認するために使用できる rngtest ユーティリティーも含まれます。の出力のランダム性レベルをテストするには
/dev/random、以下のように rngtest ツールを使用します。
rngtest ツールの出力で表示される多くの障害は、テストされたデータのランダム性が最適で、依存しないことを示しています。以下を参照してください。 rngtest(1) rngtest ユーティリティーで利用可能なオプションの一覧の man ページです。