1

phpassそのため、php で認証システムのパスワードをハッシュするために使用する予定です。私の質問は、誰かがパスワードを忘れたためにパスワードの回復を要求した場合のベストプラクティスは何ですか? Q&A システムを実装し、サイト上でリセットできるようにしますか? それとも、ランダムなパスワード文字列でパスワードを一時的にリセットし、メールで送信しますか? 次回のログイン時に変更する必要がありますか? それとも、別のより良いアプローチがありますか?

4

2 に答える 2

2

ユーザーが推測しやすい質問を選択した場合、または攻撃者が被害者について詳細な知識を持っている場合、クエリ/応答は不十分になる可能性があります。有名なサイトの多くは、元のユーザーから提供された情報 (電子メール アドレス) を利用しています。メール アドレスにパスワード リセット リンクを送信し、ユーザーがリンクをたどってパスワードをリセットできるようにします。

于 2011-06-28T15:37:14.183 に答える
0

パスワード回復をより安全にする方法と、セキュリティの質問が悪い考えである理由については、パスワード回復のベスト プラクティスの実装に関するJay の回答を参照してください。

Bruce Schneier もこの件について考えを述べています。

ダンカンが提案したものをお勧めします。

ただし、してはいけないこと:

パスワードを送信します - 結局のところ、すでに述べたように、パスワードを持っていないからです。

新しい一時パスワードを生成します。これは、パスワードを送信するのと同じくらい安全ではないだけでなく、サービス拒否攻撃の可能性にもつながります。私はそのサイトに行き、あなたのふりをして新しいパスワードを要求することができますが、(電子メールをチェックしていない場合) ログインできず、理由がわからず、新しい新しいパスワードを要求する必要があります.. .

トークンはおそらく行く方法です。それを受信すると、パスワードを忘れたという要求が通知されますが、確認しない限り、何のアクションも実行されません。また、リスクを制限するために、有効期限が比較的短いワンタイム トークンにすることもできます。

どちらかといえば、セキュリティの質問を使用して、ユーザーがパスワードのリセット要求を開始できるようにする必要があります。IE パスワード リセット リクエストを送信するには、電子メール アドレスと秘密の質問への回答を提供する必要があります。

于 2011-06-28T15:50:22.360 に答える