例えば、とあるサービス等で
パスワードの再設定を行う際とかに
一時的にその人個人のURLが発行され、
そこにアクセス後、パスワードを再設定しますよね。
https://xxxxxxxxx.jp/?29ab650f56718d24673e35edb4d5446d
↑みたいな感じで。
セキュリティの観点からだと思うのですが
大体のサイトがこのURLの有効期限を1日とか2日に設定しているようです。
これにはどのようなセキュリティリスクがあるのでしょうか?
例えばmd5などで暗号化したURLであれば、問題ないんじゃないかなあなんて、素人知恵で思うのですが。
当方プログラマなのである程度のことはわかるのですが、セキュリティに関する知識が乏しいので
ご指導頂けると幸いです。
有効な期間が長いほど、総当たり攻撃による突破やメールなどで送られたそのアドレスの漏洩などの可能性が高まります。
現実にはその可能性は低いかもしれませんが、下げられるリスクは下げておくものでしょう。
http://ja.wikipedia.org/wiki/MD5
md5を暗号化関数と呼ぶのは不正確でハッシュ関数と呼ぶべきだと思います。その特徴の一つは不可逆性です。生成されたハッシュ値からもとデータを推測することができないということです。でも、適当に予想した文字列を同じmd5でハッシュ化して結果があっちゃえば、終わりです。
http://www.ecoop.net/memo/2006-04-11-2.html
ですから、ハッシュ化したら安心とはいえません。
次に暗号化すればどうかということですが、暗号化したからには復号する方法があるということですから、未来永劫破られない暗号などありません。ただし、破るのに天文学的な時間がかかる暗号化手法はいっぱいあります。
以上のような理由で、悪意のあるクラッカーなどに時間を与えないということが大事だと思います。だから、制限時間が設けられているのではないでしょうか。
銀行のパスワードだってなるべく頻繁に変更してくださいといっていますよね。
やはり総当りで合っちゃうのを防ぐということですね。
ハッシュに関してもご指摘ありがとうございます。
なるほど、ありがとうございました。