パスワードリセットトークンの有効期間はどれくらいですか?
短すぎるとユーザーエクスペリエンスが低下し、長すぎるとセキュリティが低下します。
Microsoft ID デフォルトは1日ですが、これは非常に長いです。
答えは、リセットトークンの複雑さによって異なります。目的は、指定された有効期間内にリセットトークンを推測できないようにすることです。
たとえば、リセットトークンが5文字で数字のみであり、サーバーがレート制限なしで1秒あたり100リクエストに応答できる場合、15分は長すぎる可能性があります。考えられる攻撃について考えてみてください。
これ-特にステップ3-は、指定された時間内に可能ではありません。つまり、(32文字、英数字などの)リセットキーを描画するのに十分な大きさのユニバースと、アプリケーションでのレート制限があれば、1日でもセキュリティに大きな影響はありません。また、実行したパスワード変更について、2番目の電子メール/メッセージでユーザーに通知することもできます(そうする必要があります)。また、アプリケーションはユーザーが入力する必要がないため、ユーザーエクスペリエンスを損なうことなく、非常に長いリセットトークンをサポートする場合があることに注意してください。
編集:もちろん、所定の時間内にテストできるキーの割合が非常に少ない方法で計算する必要があります。たとえば、指定されたタイムスロットで0.000001%の確率で正しいキーを推測することは、許容できるリスクである可能性があります。少量のリスクは、何らかの形で受け入れる必要があるものです。