피드로 돌아가기
Dev.toSecurity
원문 읽기
Database Breach 피해 최소화를 위한 Password Hashing 설계 전략
Your Database Will Be Breached Someday. The Question Is: Will Passwords Be Inside?
AI 요약
Context
방화벽 및 접근 제어 중심의 경계 보안 모델이 가진 한계로 인해 Database 유출 가능성을 상수로 취급하는 Zero Trust 관점의 접근 필요. Plain Text 저장 방식은 유출 시 사용자 Digital Identity 전체가 노출되는 치명적 Blast Radius를 가짐.
Technical Solution
- 유출 시 즉각적인 계정 탈취를 방지하기 위한 One-way Cryptographic Hashing 도입
- 단순 Hash 함수가 아닌 Computational Cost를 강제하는 Slow Hashing 알고리즘 채택
- SHA-256과 같은 고속 알고리즘 배제로 Brute Force 및 Hardware Acceleration 공격 무력화
- Argon2id, bcrypt, scrypt 도입을 통한 CPU/Memory Resource 소모량 증대로 공격 비용 극대화
- 데이터베이스 유출 상황을 가정한 최악의 시나리오 기반 Blast Radius 제한 설계
실천 포인트
- SHA-256, MD5 등 단순 Hash 함수 사용 여부 전수 조사 및 교체 - Argon2id 또는 bcrypt와 같은 Password-specific Hashing 알고리즘 적용 - 알고리즘별 Work Factor(Cost Parameter)를 최신 하드웨어 성능에 맞춰 최적화 - Database Backup 및 Log 파일 내 Plain Text 패스워드 잔존 여부 검토