SD-16

🧪 암호연산 (설계)

설계단계 보안설계 · 보안기능

위험도: 상
💡 쉽게 말하면
약한 암호 알고리즘을 쓰면, 이미 풀이법이 공개된 자물쇠를 채우는 것과 같습니다. AES-GCM, SHA-256 이상의 검증된 알고리즘을 쓰고 MD5/DES/ECB 같은 취약 방식은 배제하며 난수는 안전한 생성기(CSPRNG)로 설계해야 합니다.

🎯 직접 해보기 — 공격을 실행해 보세요

아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.

현재: 취약한 설정 — 공격이 통할까요?
# 취약한 알고리즘으로 암호화된 데이터를 깨려 한다 # [공격 실행] 버튼을 누르면 시작합니다.

📋 설정 비교 (왜 막혔나?)

✗ 취약한 설정
# 설계 결정 MD5/SHA1/DES, ECB 모드 사용 예측가능 난수(rand) → 복호화·위조 가능
✓ 안전한 설정
# 설계 결정 AES-GCM/SHA-256↑, 안전 모드 CSPRNG 난수 사용 → 암호 강도 확보

🔧 조치 방법

  1. 검증된 표준 알고리즘(AES, SHA-256 이상)과 안전 운용모드를 표준으로 지정합니다.
  2. 취약 알고리즘/모드(MD5, SHA1, DES, ECB)를 배제하도록 설계합니다.
  3. 키·IV·토큰은 암호학적 난수(CSPRNG)로 생성하도록 설계합니다.

✅ 점검 체크리스트

  • 표준 알고리즘이 지정됨
  • 취약 알고리즘이 배제됨
  • CSPRNG 사용이 설계됨
점검기준: 개발보안 설계기준 2.6 암호연산