Ch2. 암호학 — 비밀을 지키는 수학
암호학의 목적
암호학은 다음 보안 목표를 달성합니다:
- 기밀성: 데이터를 읽을 수 없게 만듦
- 무결성: 변조를 감지
- 인증: 신원 확인
- 부인 방지: 행동을 나중에 부인 불가
대칭 암호화 (Symmetric Encryption)
같은 키로 암호화·복호화. 빠르지만 키 공유 문제.
주요 알고리즘:
| 알고리즘 | 키 길이 | 상태 |
|---|---|---|
| DES | 56비트 | 취약(폐기) |
| 3DES | 112/168비트 | 레거시 |
| AES-128 | 128비트 | 현재 표준 |
| AES-256 | 256비트 | 최강 |
블록 vs 스트림:
- 블록 암호: 고정 크기 블록 단위 처리 (AES)
- 스트림 암호: 비트/바이트 단위 연속 처리 (RC4 - 현재 취약)
비대칭 암호화 (Asymmetric Encryption)
공개키(암호화)·개인키(복호화) 쌍 사용. 느리지만 키 공유 문제 해결.
송신자: 수신자 공개키로 암호화 → 수신자: 자신의 개인키로 복호화
주요 알고리즘:
- RSA: 가장 널리 사용, 소인수분해 난이도 기반
- ECC(타원곡선): 더 작은 키로 같은 보안 강도
- Diffie-Hellman: 키 교환 프로토콜
실제 사용 패턴: 비대칭 암호화는 느려서 실제로는 키 교환에만 사용. 데이터 암호화는 빠른 대칭 암호화(AES)로. “비대칭으로 대칭 키를 교환, 대칭으로 데이터 암호화” — 이것이 TLS/SSL의 원리.
해시 함수
입력 → 고정 길이 출력(다이제스트). 단방향, 역산 불가.
특성:
- 같은 입력 → 항상 같은 출력
- 다른 입력 → 다른 출력 (충돌 저항)
- 입력의 1비트 변화 → 출력 완전히 다름 (눈사태 효과)
주요 알고리즘:
- MD5: 128비트, 취약(충돌 발견됨)
- SHA-1: 160비트, 취약(폐기 권장)
- SHA-256/SHA-3: 현재 표준
PKI (Public Key Infrastructure)
디지털 인증서를 발급·관리하는 신뢰 체계.
CA(Certificate Authority): 인증서 발급·서명 기관
- Root CA → Intermediate CA → End-Entity Certificate
디지털 인증서(X.509): 공개키 + 소유자 정보 + CA 서명
디지털 서명:
송신자: 문서 해시 → 개인키로 서명
수신자: 공개키로 서명 검증 → 무결성·인증·부인방지 확인
TLS/SSL: 보안 통신의 기반
TLS 핸드셰이크 과정:
- Client Hello: 지원하는 암호화 스위트 목록
- Server Hello: 서버 인증서 + 선택한 암호화 방식
- 키 교환 (Diffie-Hellman 또는 RSA)
- 세션 키 생성
- 암호화 통신 시작
핵심 개념 카드
대칭 vs 비대칭 ★★★★★ : 대칭=빠름(AES, 데이터 암호화), 비대칭=느림(RSA, 키 교환). TLS는 두 가지 결합.
해시 함수 ★★★★★ : 단방향, 고정 길이 출력. SHA-256이 현재 표준. MD5/SHA-1=취약.
PKI와 디지털 서명 ★★★★★ : CA가 공개키 진위 보증. 디지털 서명=무결성+인증+부인방지.
실전 퀴즈
Q1. 파일 전송 시 수신자가 파일이 변조되지 않았음을 확인하려면?
해시 함수를 사용합니다. 송신자가 파일의 SHA-256 해시를 계산해 파일과 함께 전송합니다. 수신자가 받은 파일의 해시를 계산해 비교합니다. 해시가 일치하면 파일이 변조되지 않은 것입니다. 이것이 무결성 검증의 기본 원리입니다.
Q2. 디지털 서명이 부인 방지(Non-repudiation)를 보장하는 이유는?
디지털 서명에는 서명자의 개인키가 사용됩니다. 개인키는 오직 서명자만 가지므로, 서명된 문서는 해당 개인키 소유자가 서명했다는 것을 증명합니다. 나중에 서명을 부인하려면 개인키가 도난당했음을 입증해야 하는데, 이는 매우 어렵습니다.
OIYO 편집부
편집부OIYO 편집부는 경제·법률·생활·자기이해 주제를 1차 자료와 공개 통계로 검증해 정리합니다. 모든 글은 출처 표기와 정기 점검을 거쳐 실용성과 정확성을 함께 유지합니다.