From: "NARUSE, Yui" Date: 2011-08-13T23:12:02+09:00 Subject: [ruby-dev:44386] Re: [Ruby 1.8 - Bug #5105] CGI::Session#session_id の生成方法について (2011/08/13 20:35), KOSAKI Motohiro wrote: >>> ふと思ったのですが、 openssl を使うときでも、/dev/urandom があるならば、 >>> openssl の seed に /dev/urandom を一部使ってもいいんじゃないでしょうか。 >> >> fork する頻度で /dev/urandom から読み出すことが望ましいか、 >> という問題ですかね。 > > あんまり詳しくないんですが。 > > PRNGである以上、seedが予測されたら、全乱数列が予測されてしまうので、 > 安全側に倒すほうがエントロピー枯渇よりも重要なんじゃないかという気がするんですけどねえ・・ > > OSのレベルでも、ASLRの実現のためにprocess > spawnするたびに/dev/urandom読んでるので、許容範囲内ではないかなあ。恣意的な運用を考えたらダメなケースは発生しうるかもしれないけど /dev/random ではなく urandom なのでいいんじゃないでしょうか、 もちろんエントロピーは消費するわけですが。 加えて、現在攻撃側に経って考えると usec/nsec * pid あたりが予測不可能性を担保しているところ、 これって 100万~1億 * 6万なわけで、42bit くらいしか空間ありませんよね。 ちょっと seed が弱いと思うんです。 -- NARUSE, Yui