네트워크 계층에서 IP 패킷 단위로 인증, 암호화, 키 관리를 수행하여 안전한 통신을 제공하는 프로토콜 모음이다.
핵심 구성 요소
IPSec은 AH와 ESP를 사용하여 보안을 제공한다.
AH (Authentication Header, 인증 헤더)
AH는 이름 그대로 인증(Authentication) 에 중점을 둔 프로토콜입니다. 데이터가 전송 중에 변경되지 않았음을 보장(무결성)하고, 데이터를 보낸 사람이 진짜인지 확인(송신자 인증)하는 역할을 합니다.
- 주요 기능:
- 데이터 무결성: 데이터가 중간에 변조되지 않았음을 보장합니다.
- 송신자 인증: IP 패킷의 출발지 주소가 위조되지 않았음을 확인합니다.
- 재전송 공격 방지: 순서 번호를 사용하여 동일한 패킷이 재전송되는 것을 막습니다.
- 한계:
- 암호화 기능 없음: 데이터의 내용을 숨겨주지 않기 때문에, 기밀성이 요구되는 통신에는 적합하지 않습니다.
ESP (Encapsulating Security Payload, 캡슐화 보안 페이로드)
ESP는 암호화(Encryption) 를 통해 데이터의 기밀성(Confidentiality) 을 보장하는 데 중점을 둔 프로토콜입니다. 물론, AH처럼 데이터 무결성과 송신자 인증 기능도 선택적으로 제공할 수 있습니다.
- 주요 기능:
- 기밀성 (암호화): IP 페이로드(실제 데이터 부분)를 암호화하여 내용을 보호합니다.
- 데이터 무결성 (선택): 데이터가 변조되지 않았음을 보장합니다.
- 송신자 인증 (선택): 송신자를 인증합니다.
- 재전송 공격 방지: 순서 번호를 사용합니다.
동작 방식
IPSec은 데이터를 보호하는 범위에 따라 전송모드와 터널모드로 구분되어 동작한다.
| 구분 | 전송 모드 (Transport Mode) | 터널 모드 (Tunnel Mode) |
|---|---|---|
| 보호 범위 | IP 페이로드만 보호 | IP 패킷 전체 보호 |
| IP 헤더 | 기존 IP 헤더 유지 | 새로운 IP 헤더 추가 |
| 주요 용도 | 호스트 간 통신 (End-to-End) | 네트워크 간 통신 (Site-to-Site VPN) |
| 보안 수준 | 낮음 (IP 헤더 노출) | 높음 (전체 패킷 보호) |
전송 모드 (Transport Mode)
전송 모드는 IP 패킷의 페이로드(Payload)만 보호하는 방식입니다. 기존 IP 헤더는 그대로 두고, 그 뒤에 오는 데이터 부분만 암호화하거나 인증합니다.
- 보호 대상: IP 페이로드 (TCP/UDP 데이터)
- IP 헤더: 기존 IP 헤더 사용 (출발지, 목적지 주소 변경 없음)
- 주요 사용처: 두 개의 호스트(End-to-End) 간의 통신을 보호할 때 사용됩니다. (예: 내 컴퓨터와 회사 서버 간의 직접 통신)
터널 모드 (Tunnel Mode)
터널 모드는 IP 패킷 전체를 보호하는 방식입니다. 기존 IP 패킷 전체를 새로운 IP 패킷 안에 넣고, 이 새로운 패킷에 IPSec 헤더를 추가합니다. 마치 원래의 편지를 통째로 새로운 안전한 봉투에 넣어 보내는 것과 같습니다.
- 보호 대상: IP 패킷 전체 (기존 IP 헤더 + 페이로드)
- IP 헤더: 새로운 IP 헤더 사용 (출발지와 목적지가 게이트웨이로 변경됨)
- 주요 사용처: 두 개의 네트워크(Site-to-Site) 간의 통신을 보호할 때, 즉 VPN 게이트웨이 간의 통신에 주로 사용됩니다.