弱いパスワードポリシー

C#の弱いパスワードポリシー

説明

ASP.NET Core Identityで短すぎるパスワードやよく使われるパスワードを許可すると、推測や総当たり攻撃に弱いパスワードが使われるおそれがあります。

想定される影響

  • パスワードの推測、クレデンシャルスタッフィング、権限昇格のリスクが高まる可能性があります。

対処方法

認証方式に合った最小文字数を定め、よく使われるパスワードや漏えいしたパスワードを拒否してください。複数の文字種を強制することだけで強度を判断しないでください。NIST SP 800-63B-4は単一要素認証で15文字以上を要求し、MFAの一部としてのみ使うパスワードでは8文字以上を認めています。

例

変更前

csharp
options.Password.RequiredLength = 6;

変更後

csharp
options.Password.RequiredLength = 12;

解説:

  • 変更前: 弱いパスワード要件は、パスワードの推測や解析を容易にするおそれがあります。
  • 変更後: 最小文字数を12文字に増やしていますが、これだけで認証ポリシー全体を満たすわけではありません。単一要素認証にはより長い最小文字数を適用し、MFAや漏えい済みパスワードの拒否も検討してください。

参考資料