설명
충돌 내성이 필요한 용도로 MD5나 SHA1을 사용하거나, 암호화에 DES나 ECB 모드를 사용하면 암호학적 보호가 약해집니다.
잠재적 영향
- 무결성 검증 우회, 암호문 분석, 데이터 복호화 위험이 커질 수 있습니다.
해결 방법
충돌 내성이 필요한 해시에는 SHA-256 같은 현대적인 알고리즘을, 암호화에는 AES-GCM 같은 인증 암호화 모드를 사용합니다. 비밀번호 저장에는 일반 SHA-256 대신 전용 비밀번호 해싱 방식을 사용하세요.
예시
변경 전
csharp
using var md5 = MD5.Create();
변경 후
csharp
using var sha256 = SHA256.Create();
설명:
- 변경 전: MD5는 충돌 내성이 필요한 보안 검증에 적합하지 않습니다.
- 변경 후: 일반 해시를 SHA-256으로 교체합니다. 이 예시는 암호화나 비밀번호 저장 구현이 아닙니다.