Presented by Nishishi via Movable Type. Last Updated: 2011/12/19. 22:09:47.

セッションIDの生成って

セッションIDを生成する場合、予測が困難な文字列で、毎回異なるような文字列にしておく必要があるわけですけど、それって単に、rand関数とかで得られる乱数を使っただけでいいのかな…?(^^;)

もちろん、シードが固定だとrand関数が返す値は同じになっちゃうので、毎回変わるようなシードを与えないといけませんけど。Perl5の場合、現在時刻とプロセスIDを組み合わせたシードを勝手に作って使ってくれるらしいですから、シードはこれで十分ですよね? プロセスIDって外からは分からんだろうし。

そうやって得られた乱数をそのまんまセッションIDにすると、なんか問題あるかなあ?
その乱数のハッシュを求めて、ハッシュをセッションIDにすれば、もう何が何やら分からなさそうだけど。

脆弱性の要因になるのは、セッションIDの予測の難易度だけじゃなくて、セッションIDの管理方法もだから、セッションIDの生成方法としては、「乱数を使う」というのだけで十分だと考えていいのかな…?

…と思ってちょっと調べたら、こんな記事を発見。

気を付けたい貧弱なセッション管理(@@IT)

この日記へのコメントはお気軽に! コメント数:0 トラックバック数:0

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

投稿後、投稿できていないように見えることがあります。ブラウザのキャッシュが読まれているだけですので、ページを再読込すれば(=たいてい[F5]キーを押せば)投稿内容が反映されていることが確認できるはずです。連続投稿を試す前にご確認下さい。(^^;)

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)