2

電子メールで送信されたリセット パスワード キーの有効期限に関する基準は何ですか?

私のアプリケーションは、URL に追加される 30 文字の英数字キーを生成します: http://site.com/reset/keygoeshere

ユーザーがパスワードをリセットすると、キーはユーザーのアカウントから削除されます。

This questionは期限切れのキーについて語っていますが、別のユーザーは、電子メールアカウントが侵害された場合、明らかに新しいリセットキーを簡単に要求できると述べています.

このアプローチの主な潜在的な脆弱性は、誰かがリセットキーをブルートフォースしようとする可能性があり、キーがどのアカウントに属しているかわからなくても、誰かのパスワードを変更できることだと思います.

たとえば、Facebook から 3 日前に送信されたリセット リンクをクリックしたところ、まだ機能していました。

標準的な慣行として、パスワード リセット キーの有効期限は必要ですか? もしそうなら、どのくらいの期間鍵を「新鮮」なままにしておくべきですか?

4

3 に答える 3

4

侵害されたユーザーの電子メール アカウントに対処することは期待できません。ただし、ブルートフォースを防ぐために、15 分のような短い有効期限が望ましいです。ユーザーがパスワードのリセットを要求している場合、通常はすぐにアクセスしたいと考えており、何らかの理由で後で使用するパスワードのリセット リンクを要求している場合は、別のリンクを要求する必要があります。あなたがリンクした Q に関する最初のコメントは、それをほぼ要約しており、ユーザーが安全に保たれているという事実を気に入らない場合、それは彼らの問題です。

また、チャレンジ質問を用意することで、リセットをより安全にすることができます。「あなたの最初の車は何でしたか」のようなもの。これらのタイプの対策は標準的なものであり、通常、ユーザーに関する情報を見つけるのは難しくありませんが、ランダムなブルート フォーサーはおそらく気にすることはありません。リンクをリセットします。

于 2012-02-18T08:19:17.257 に答える
2

いくつかのメモ:

  1. リセット URL に到達したら、キーを Cookie に保存し、リファラーに含まれないようにすぐにリダイレクトします。Cookie はブラウザを閉じると期限切れになり、パスワードがリセットされたときに明示的に削除する必要があります。
  2. 私は自分のサービスのために 3 時間のリセットを行っていますが、それでも時間がかかりすぎると思います。30分でもOKです。
  3. パスワードのリセット リンクは完全に安全ではありません。サービスが何らかの種類のクレジット カード データ、両替、または個人情報を保持している場合は、いくつかのチャレンジ質問を含めることも検討する必要があります。
于 2012-02-18T08:24:31.820 に答える
0

私の理解では、両方が必要です。そうしないと、多くの深刻なセキュリティ問題が発生します。通常、私は4時間しか保持しません。

于 2012-02-18T08:19:15.040 に答える