암호화 기초 복습
암호화는 정보보안기사의 핵심 출제 영역입니다. 대칭키, 비대칭키, 해시 함수의 상세 동작과 실제 적용 방법을 이해해야 합니다.
대칭키 암호화 심화
AES (Advanced Encryption Standard)
- 블록 크기: 128비트 고정
- 키 길이: AES-128, AES-192, AES-256
- SPN(Substitution-Permutation Network) 구조
- 현재 가장 널리 사용되는 대칭키 알고리즘
AES 운영 모드
- ECB(Electronic Codebook): 블록 독립 암호화. 동일 평문→동일 암호문 (패턴 노출, 사용 금지)
- CBC(Cipher Block Chaining): 이전 암호문 블록을 XOR. IV(초기화 벡터) 필요. 패딩 오라클 취약점
- CTR(Counter): 카운터를 암호화하여 키스트림 생성. 병렬 처리 가능
- GCM(Galois/Counter Mode): CTR + 인증 태그 = 인증 암호화(AEAD). TLS 1.3에서 사용
AEAD (Authenticated Encryption with Associated Data)
암호화와 인증(무결성 보장)을 동시에 제공. AES-GCM, ChaCha20-Poly1305
비대칭키 암호화 심화
RSA
- 키 길이: 최소 2048비트 (권장), 4096비트
- 소인수 분해 난제 기반
- OAEP(Optimal Asymmetric Encryption Padding): RSA 암호화에 권장되는 패딩 방식
- PSS(Probabilistic Signature Scheme): RSA 서명에 권장되는 패딩
ECC (Elliptic Curve Cryptography)
- 타원 곡선 이산 로그 문제 기반
- RSA 대비 동일 보안 수준에서 훨씬 짧은 키 길이
- ECC-256 ≈ RSA-3072 보안 수준
- ECDH: 키 교환 / ECDSA: 전자서명
해시 함수 심화
- SHA-256: SHA-2 계열. 출력 256비트. 현재 표준
- SHA-3(Keccak): SHA-2와 다른 스펀지(Sponge) 구조. 동시 개발 표준
- HMAC: 해시 + 비밀키 = 메시지 인증 코드 (MAC)
- bcrypt/Argon2: 패스워드 해싱 전용. 의도적으로 느리게 설계 (GPU 공격 방어)
해시 취약 알고리즘
- MD5: 충돌 발견됨, 보안 목적 사용 금지
- SHA-1: 실용적 충돌 공격 가능, 사용 금지
전자봉투 (Digital Envelope)
대칭키의 속도와 비대칭키의 키 교환 편의성을 결합한 하이브리드 암호화 방식입니다.
- 대용량 데이터를 대칭키(세션키)로 암호화
- 세션키를 수신자의 공개키로 암호화하여 전송
- 수신자는 개인키로 세션키 복호화 후, 세션키로 데이터 복호화
- TLS, S/MIME, PGP가 이 방식 사용
키 관리
- 키 에스크로(Key Escrow): 키를 제3자(법 집행기관)에게 백업. 사생활 침해 논란
- 키 분리(Key Separation): 용도별 다른 키 사용 (암호화 키 ≠ 서명 키)
- 완전 순방향 비밀성(PFS): 세션키가 노출되어도 과거 통신 기밀성 유지. ECDHE로 구현
시험 핵심 포인트
- AES-GCM: 인증 암호화(AEAD), TLS 1.3 필수 암호 스위트
- ECB 모드: 동일 평문→동일 암호문, 패턴 노출 → 사용 금지
- 전자봉투: 세션키(대칭) + 공개키(비대칭) 하이브리드
- bcrypt/Argon2: 패스워드 해싱 전용 (느린 해시)
- PFS: ECDHE로 구현, 세션키 노출 시 과거 통신 보호
마무리
암호화 알고리즘은 정보보안기사의 핵심 파트입니다. AES 운영 모드의 차이와 전자봉투 구조, 해시 함수의 적절한 사용처를 중심으로 학습하세요.