- ベストアンサー
【PHPで認証】パスワードの暗号化は無意味では??
PHPにて会員専用ページを作りたいと考えているものです。 パスワードは暗号化すれば安全…と思っていました。しかしよく考えると暗号化されたパスワードをハッカーが盗んで自分のPCのCookieに入れたらなりすましが可能ではないのか?ということに気づきました。正規のユーザーもログイン後は暗号化パスワードをサーバーに渡してページごとに認証しているわけですから。 パスワードの暗号化は本当に意味があるのでしょうか? 暗号化されたパスワードは盗まれても問題ないのでしょうか? お詳しい方、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
がると申します。 …とりあえず。 「暗号化されたパスワードをハッカーが盗んで自分のPCのCookieに入れたらなりすましが可能ではないのか?」 無理です。というか「暗号化したパスワードをCookieに入れるような実装」は、その時点でNGです。 多分、そのあたりから調べなおしをされるとよいと思います。
その他の回答 (2)
- galluda
- ベストアンサー率35% (440/1242)
がるです。 確認をしたわけではないのですが。もし >> 「暗号化したパスワードをCookieに入れる」は割と一般的に行われている手法のような気がしていました。 ヤフーあたりも(http://my.yahoo.co.jp/)Cookieに暗号化したユーザー名とパスワードを入れて自動ログインを実現しているように見えますし… << がtrueだとすると、恐ろしく脆弱性の度合いの高い、危険な設計であるといえます。 通常、こういった「セッションの維持」には、 ・セッションIDと呼ばれる、ユーザIDとはまったく無関係な文字列を用意して ・セッションIDを暗号化、適宜入れ替えたりしながら使う のが通例なので(それでもセッションIDの寿命次第では、セッションハイジャックなどの危険性を孕むので)。 まぁこのあたりは「有名どころがやっているやっていない」ではなくて「理論的にセキュアであるアンセキュアである」で発想されたほうがよいように思われます。
補足
ありがとうございます。 セキュリティの専門書を買って勉強してみます。
- rabbit_cat
- ベストアンサー率40% (829/2062)
普通、ページごとの認証は、暗号化パスワードではなくてセッションIDでやるのでは?
補足
自分のPCのCookieに入れたら ← そうなんですか。不可能なんですか。安心しました。 「暗号化したパスワードをCookieに入れる」は割と一般的に行われている手法のような気がしていました。 ヤフーあたりも(http://my.yahoo.co.jp/)Cookieに暗号化したユーザー名とパスワードを入れて自動ログインを実現しているように見えますし… ありがとうございました。