SD-15
🗝️ 암호키 관리 (설계)
설계단계 보안설계 · 보안기능
위험도: 상💡 쉽게 말하면
암호 키를 코드에 박아두면, 금고 열쇠를 금고 문에 테이프로 붙여두는 것과 같습니다. 키는 전용 금고(KMS/HSM)에 보관하고 하드코딩을 금지하며 주기적으로 교체하도록 설계해야 합니다.
암호 키를 코드에 박아두면, 금고 열쇠를 금고 문에 테이프로 붙여두는 것과 같습니다. 키는 전용 금고(KMS/HSM)에 보관하고 하드코딩을 금지하며 주기적으로 교체하도록 설계해야 합니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 소스코드를 입수해 박혀 있는 암호 키를 찾아낸다
# [공격 실행] 버튼을 누르면 시작합니다.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
# 설계 결정
키를 소스/설정 파일에 하드코딩
교체·백업 절차 없음
→ 유출 시 전체 복호화 가능
✓ 안전한 설정
# 설계 결정
KMS/HSM 보관 + 주기 교체
키 백업·폐기 절차 정의
→ 키 노출·만료 위험 감소
🔧 조치 방법
- 암호키는 코드/설정에서 분리해 KMS/HSM 등 안전저장소에서 관리하도록 설계합니다.
- 키 생성·교체·백업·폐기의 생명주기와 유효기간을 설계합니다.
- 키 접근 권한을 최소화합니다.
✅ 점검 체크리스트
- 키가 안전저장소에서 관리되도록 설계됨
- 키 생명주기가 정의됨
- 키 접근 최소권한이 설계됨
점검기준: 개발보안 설계기준 2.5 암호키 관리