설명
ASP.NET Core Identity에서 너무 짧거나 흔한 비밀번호를 허용하면 사용자가 쉽게 추측되거나 대입 공격에 취약한 비밀번호를 사용할 수 있습니다.
잠재적 영향
- 계정 대입 공격, 크리덴셜 스터핑, 권한 상승 위험이 커질 수 있습니다.
해결 방법
인증 방식에 맞는 최소 길이를 정하고 흔하거나 유출된 비밀번호를 차단하세요. 문자 종류를 강제로 조합하게 하는 것만으로 강도를 판단하지 마세요. NIST SP 800-63B-4는 단일 요소 인증에 최소 15자를 요구하며, MFA의 일부로만 사용하는 비밀번호에는 최소 8자를 허용합니다.
예시
변경 전
csharp
options.Password.RequiredLength = 6;
변경 후
csharp
options.Password.RequiredLength = 12;
설명:
- 변경 전: 약한 비밀번호 요구사항은 사용자 비밀번호를 추측하거나 크래킹하기 쉽게 만듭니다.
- 변경 후: 예시는 최소 길이를 12자로 늘리지만, 이것만으로 전체 인증 정책이 충족되지는 않습니다. 단일 요소 인증에는 더 긴 최소 길이를 적용하고, MFA와 유출 비밀번호 차단도 함께 검토하세요.