암호 방식·키 교환·전자서명 구분
대칭키·공개키·해시가 실제 프로토콜에서 어떤 순서로 결합되는지 설명합니다.
세 가지 기본 도구
대칭키 암호는 같은 비밀키로 암·복호화해 대용량 처리에 유리하고, 공개키 암호는 공개키와 개인키 쌍으로 키 전달·서명 등에 활용됩니다. 해시는 임의 길이 입력을 고정 길이 요약값으로 바꾸는 단방향 함수입니다.
- 암호화는 기밀성, 전자서명은 인증·무결성·부인방지가 중심이다.
- 해시는 복호화하는 방식이 아니다.
- HMAC은 비밀키와 해시를 결합해 메시지 인증을 제공한다.
키 교환과 인증
Diffie-Hellman은 안전하지 않은 채널에서 공유 비밀을 합의하지만 상대 신원을 자체적으로 보장하지 않아 중간자 공격에 취약할 수 있습니다. 인증서나 서명된 키 교환을 결합해 상대를 인증합니다.
- 인증서는 공개키와 주체 정보를 CA 서명으로 연결한다.
- CRL과 OCSP는 인증서 폐지 상태 확인 방식이다.
- 세션키는 연결마다 생성해 장기키 노출 위험과 연산 비용을 줄인다.
전자서명 검증
서명자는 메시지의 해시를 자신의 개인키에 기반한 서명 알고리즘으로 처리하고, 검증자는 서명자의 공개키와 메시지 해시를 사용해 무결성과 서명 주체를 확인합니다. 서명 과정이 메시지 전체의 기밀성을 자동으로 제공하지는 않습니다.
- 개인키는 서명자만 통제해야 한다.
- 검증은 서명자의 공개키를 사용한다.
- 기밀성까지 필요하면 별도의 암호화를 함께 적용한다.
키의 주체와 제공 속성을 먼저 표시하기
암호 프로토콜은 누가 어떤 키를 가지고 암호화·서명·검증하는지 화살표로 그리면 기밀성과 인증을 혼동하지 않습니다. 실제 전송에서는 공개키 방식으로 세션키를 합의하고 대칭키 방식으로 본문을 처리하는 혼합 구조가 널리 사용됩니다.
- 수신자 공개키로 암호화하면 수신자 개인키로 복호화해 기밀성을 얻는다.
- 송신자 개인키로 서명하고 송신자 공개키로 검증해 출처와 무결성을 확인한다.
- 인증서 검증은 서명뿐 아니라 유효기간·호스트명·신뢰 체인·폐기 상태를 함께 본다.
블록 암호 모드와 TLS 흐름
블록 암호 모드는 같은 알고리즘을 사용해도 블록 연결 방식과 무결성 제공 여부가 다릅니다. TLS에서는 인증서로 서버 신원을 확인하고 키 교환으로 세션 비밀을 만든 뒤 대칭키 기반 레코드 보호로 실제 데이터를 효율적으로 처리합니다.
- ECB는 같은 평문 블록이 같은 암호문 블록이 되어 패턴이 드러날 수 있다.
- CBC는 예측 불가능한 IV가 필요하고 병렬 복호화 가능 여부를 암호화와 구분한다.
- GCM은 기밀성과 인증을 함께 제공하는 AEAD 모드다.
- 완전 순방향 비밀성은 장기 개인키가 노출되어도 과거 세션키가 바로 복구되지 않도록 하는 성질이다.
암호 알고리즘·해시·MAC 빠른 분류
암호 문제는 대칭키·공개키·해시·메시지 인증 코드를 먼저 분류하고 키 길이와 블록 크기를 섞지 않습니다. 시험에서 알고리즘 이름이 나오면 구조·키 종류·대표 용도를 함께 연결하되 현재 안전성 평가와 역사적 알고리즘을 구분합니다.
- AES는 128비트 블록과 128·192·256비트 키를 사용하는 대칭키 블록 암호이고 DES·3DES와 블록·키 크기를 혼동하지 않는다.
- RSA는 큰 정수의 소인수분해 문제, Diffie-Hellman 계열은 이산대수 문제에 기반하며 키 합의 자체는 상대 인증을 제공하지 않는다.
- 해시에는 역상 저항성·제2역상 저항성·충돌 저항성이 요구되고 서로 다른 입력의 동일 해시를 찾는 충돌 공격은 생일 역설과 연결된다.
- HMAC은 비밀키와 해시를 결합한 메시지 인증 코드이며 단순 해시만 붙이는 것과 다르다.
- 스트림 암호는 키스트림과 평문을 결합하므로 같은 키스트림·nonce 재사용은 평문 관계를 노출할 수 있다.
시험에 바로 쓰는 비교표
| 기술 | 키 | 주요 목적 | 대표 주의점 |
|---|---|---|---|
| 대칭키 암호 | 공유 비밀키 | 빠른 기밀성 | 키 배포 |
| 공개키 암호 | 공개키·개인키 | 키 전달·서명 기반 | 연산 비용 |
| 해시 | 보통 없음 | 무결성 요약 | 충돌 저항성 |
| HMAC | 공유 비밀키 | 무결성·메시지 인증 | 키 관리 |
지문 표현을 판단 기준으로 바꾸기
- 개인키로 서명하고 공개키로 검증
- 공유 비밀을 합의하지만 상대 인증은 별도 → Diffie-Hellman
- 고정 길이 요약값 → 해시
자주 틀리는 판단
- 전자서명만으로 기밀성도 제공된다고 판단
- Diffie-Hellman이 상대 인증까지 자동 제공한다고 판단
- 해시와 암호화를 모두 가역 변환으로 이해
개념을 확인했다면 실제 문제에서 판단 기준을 적용해보세요.
첫 관련 문제 풀기