From: KOSAKI Motohiro Date: 2011-08-15T12:55:02+09:00 Subject: [ruby-dev:44389] Re: [Ruby 1.8 - Bug #5105] CGI::Session#session_id の生成方法について > forking server だと request ごとに消費しちゃうというのが嫌な感じなのですが、 > OS 自体の消費に対して線形ならいいかなぁと思いつつも、 > >> 加えて、現在攻撃側に経って考えると usec/nsec * pid あたりが予測不可能性を担保しているところ、 >> これって 100万~1億 * 6万なわけで、42bit くらいしか空間ありませんよね。 >> ちょっと seed が弱いと思うんです。 > > これは違います。 > RAND_seed() はその時点の種にデータを混ぜるものなので、 > 最初に openssl が /dev/urandom から読んだ種が消えるわけではありません。 > > RAND_add(3SSL): > RAND_add() mixes the num bytes at buf into the PRNG state. おっと。僕はここを誤解していました。 なので先の主張は撤回したいと思います。