これは、 「urandom に似ていますが、エントロピー プールの枯渇を最小限に抑えることを目的としています」random.c
というカーネル ソースで言及されています。get_random_int
しかし、どこで (そしてどのように)get_random_int
エントロピー プールと相互作用するのでしょうか?
さて、urandom
実際に を呼び出しますextract_entropy_user
が、 に似たものは見当たりませんget_random_int
。get_random_int
独自のエントロピー ソースを使用しているようです(キーボード、マウス、およびディスクのアクティビティとは関係ありません)。
hash[0] += current->pid + jiffies + get_cycles();
システムで一般的に利用可能なエントロピーの状態を気にしない(または更新しない)のですか?
エントロピー プールはどのようにget_random_int
枯渇しますか? これはどこで更新されますか? プログラムを実行すると、entropy_avail で cat を実行するだけで、エントロピー プールがどのように枯渇するかを確認できるため、何かが足りないか、ソースを間違って読んでいることがわかります。
http://xorl.wordpress.com/2011/01/16/linux-kernel-aslr-implementation/を調べましたが、これがどのように機能するかについては言及されていないようです。