Linuxのエントロピーソース

Linuxのエントロピーソース

/dev/randomでワンタイムフィルに適した約ギガバイトのランダムデータが欲しいとしましょう。したがって、/dev/urandom は廃止されました。これを行うのに十分なエントロピーを/ dev / randomにどのようにシードしますか?これに関する特定のコマンドとプログラムを探しています。私は何も買いたくありません。違いがある場合は、Arch Linuxを使用しています。

ベストアンサー1

残念ながら、/dev/randomは使い捨てパッドでの使用には適していません。少なくともほとんどの人が使い捨てパッドを考えたり実装したりすると、想像している種類の使い捨てパッド(証明可能なセキュリティ保証を含む)には適していません。以下の情報のほとんどは(非常に長い)記事で要約されています。http://www.2uo.de/myths-about-urandom/

問題は、/dev/randomが実際にランダムではないということです。 CSPRNG を使用して出力を生成します。実際、/dev/random は /dev/urandom とまったく同じ CSPRNG を使用します。唯一の違いは、内部エントロピー推定が不十分な場合、/ dev / randomがブロックされることです。

前の文の「推定」という言葉が鍵です。ほとんどの人はこの見積もりは常に正確で完璧だと思いますが、実際にはまったく正確ではありません。推定が間違っていると、使い捨てパッドの実証可能なセキュリティ保証がすべて失われ、計算セキュリティのみが残ります。 /dev/urandomを使用するよりも優れていません!

エントロピー推定が少しでも間違っても使い捨てパッドのセキュリティが低下するわけではありません。使い捨てパッドの実証済みのセキュリティ保証は、全部または専務です。

この質問の前提は、エントロピーを追加すると、/dev/random問題を「修正」できることです。残念ながら、この前提は間違っていた。エントロピーソースはしばしば内部データにアクセスし、RNG出力を使用して秘密にこのデータをエクスポートする可能性があるため、悪意のあるエントロピーソースはエントロピーがまったくないよりもはるかに悪いです。http://blog.cr.yp.to/20140205-entropy.html完全な議論をしてください(ここでは要約するには長すぎます)。特に、ハードウェアエントロピーソース(他のいくつかの答えで推奨されています)は、セキュリティの観点から見て非常に間違った選択です。ハードウェアは悪意のあるタスクを実行するのに最適な場所にあり、本質的に監査できないためです。

おすすめ記事