[ロ]パスワードをハッシュ化してあってもセッションIDに含めてはいけない理由

このエントリーをはてなブックマークに追加
はてなブックマーク - [ロ]パスワードをハッシュ化してあってもセッションIDに含めてはいけない理由
Share on Facebook
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]

ちょっと良い思考訓練ぽ。というかわけで考えてみる。
夜も遅いので軽めに途中までになるかな。
Webアプリケーションでログインしてきた各ユーザを識別するためにはセッションIDを利用する。
その際に、セッションIDはユーザ名や、パスワードを使ってはもちろんいけないし、それらを何らかの方法で計算した結果であっても使うのはこのましくない。また、セッションIDは都度変化するのが好ましく、常に同じセッションIDが使われるのは好ましくない。


1. セッションIDはユーザ名や、パスワードを使ってはもちろんいけない
ユーザ名や、パスワードをセッションIDに使った場合万が一盗聴された場合に成りすましが可能だから。
2. ユーザ名やパスワードを何らかの方法で計算した結果(ハッシュとか、単に1足すとか。)であっても使うのはこのましくない
ユーザ名やパスワードを何らかの方法で計算した結果のセッションIDが万が一盗聴された場合にりすましが可能だから。
3. 常に同じセッションIDが使われるのは好ましくない
万が一盗聴された場合にりすましが可能だから。
というわけで、どんな場合でも絶対に盗聴はされないという前提があれば、脆弱ではない。
で、盗聴されないからといってユーザ名とパスワードがセッションIDにつかわれていたら、大体の人は「脆弱である」と思うんじゃないかな。思わないのかな。
「セッションIDにユーザ名や、パスワードを使っている場合脆弱であるという」が正しいと感じる人の場合、「パスワードをハッシュ化した値がセッションIDである状態」(= 2 + 3) も同様に「脆弱である」と思わないとへんじゃなかろうか?同じことできるわけだし。
つまり、この場合の脆弱性は前提条件として常に「盗聴された場合」がある。
どんなにへぼい、パスワード生だしであっても「盗聴されない」という前提があれば脆弱ではない。
で、超疑問なのが、どんなにへぼい、パスワード生だしであっても「盗聴されない」という前提があれば脆弱ではない。は正しいのか。GETを使っているとリファから取れるとか、GETの部分を知り合いに見られちゃうとかくだらないのはあるけど。この眠い頭で考えると正しいんだよね。また明日考えてみよう。

Popular Posts:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*