つい先日、個人情報の漏洩事件において、一部情報がログから流出したのではないかという記事を読みました。
そこで、パスワード送信に関して以下のようにふと思いました。
・ログイン時のパスワード送信もまかり間違ってログとして残しているケースもあるのではないか?
・そういったケースも想定して、サーバ側に送出されるパスワードは、パッシュ化されているべきなのではないか?
つまり、現状、パスワード照合は
・ブラウザに入力された生パスワードがサーバに送られる
・サーバでは受け取ったパスワードのハッシュ値と DB 上のハッシュ値を比較
といった手順で行われると思いますが、以下の手順で行うべきではないかという疑問です。
・ブラウザに入力された生パスワードをハッシュ化してサーバへ送出
・サーバでは、受け取ったハッシュ値と DB 上のハッシュ値を比較
ちゃんと調べてないですが、ハッシュ値を送出するようなシステムは見かけたことがありません。
なにか仕組み上の問題点があるのでしょうか?
ちょっと質問するタイミングが適切でないので、セキュリティ系の人の手が空くまで、少し長めにオープンにしておきたいと思います。
ご教示いただけると幸いです。
追記
上記と回答の一部を取り込み整理してみました。
クライアントでのハッシュ化に対してご指摘も続けていただきたいのですが、問題点の解決に対してのご提案もいただけると幸いです。
想定している脅威
・ログ等での生パスワードの流出
・生パスワード流出により、パスワードを使い回した他のサイトへ攻撃される
要件
・サーバ側に生パスワードを渡さない
実現方法
・クライアント側でハッシュ化を行い、サーバ側でそのハッシュ値を使用して検証
問題点
・要するに生パスワードの代わりにハッシュ化されたデータを使うということだから、自サイト内に閉じて考えると、セキュリティ強度は変わらない。(他サイトに対しては意味がある?)
・パスワード登録時に、パスワード強度の検証ができなくなる。(フロントのみではダメか?)
・クライアント側でのみハッシュ化を行う場合、自サイト内では生パスワードの保存と同じ状況になるので、流出時に自サイトへの影響はサーバでのハッシュ化時より大きなものになる。(もう一段階ハッシュ化する?)
頂いた回答は、今のところ、否定的ですが、本人はむしろ手応えを感じております^^;
面白いと思った方、ご意見やご指摘いただけるとうれしいです。
#さらに追記
以前、同じような質問があったようです^^;
SSLを利用したWebサービスでログインパスワードを安全に保存するには?
質問者が非常に真面目な方のようで、活発な意見交換がなされており、勉強になりました。
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/05/16 00:11
2017/05/16 00:15
退会済みユーザー
2017/05/16 00:16
退会済みユーザー
2017/05/16 00:35
2017/05/16 00:45
2017/05/16 00:55
退会済みユーザー
2017/05/16 00:56
退会済みユーザー
2017/05/16 00:57
2017/05/16 01:02
退会済みユーザー
2017/05/16 03:55
2017/05/16 04:09
退会済みユーザー
2017/05/16 04:34