IPsec·VPN의 보호 범위
AH·ESP, 전송·터널 모드와 SA·IKE의 역할을 연결합니다.
VPN은 공용망 등을 통해 사설 통신 경로를 구성하는 방식이다. VPN이라는 이름만으로 암호화가 자동 적용되는 것은 아니며, 사용 프로토콜과 실제 보호 구간을 확인해야 한다.
1. VPN 유형은 접속 위치와 전달 범위로 구분한다
Site-to-Site VPN
서로 떨어진 두 네트워크의 Security Gateway가 터널을 만든다.
지사 LAN ── 지사 VPN Gateway ===== 공용망 ===== 본사 VPN Gateway ── 본사 LAN
내부 Host는 IPsec을 직접 처리하지 않아도 Gateway가 대신 암호화·복호화할 수 있다. 일반적으로 Gateway 사이에는 ESP Tunnel Mode를 사용한다. 보호되는 것은 두 Gateway 사이 구간이며, 각 LAN 내부의 Gateway 이후 구간은 별도 신뢰 경계다.
Remote Access VPN
외부 사용자의 장치가 조직의 VPN Gateway와 터널을 만든다.
사용자 장치 ===== VPN Gateway ── 내부 Service
Gateway 인증뿐 아니라 사용자·장치 인증, MFA, 장치 보안 상태, 허용된 내부 Resource, Session 수명과 로그가 중요하다. VPN Client가 감염되어 있으면 암호화된 터널이 악성 트래픽의 안전한 운반 경로가 될 수 있다.
Host-to-Host 보호
두 종단 Host가 직접 IPsec SA를 맺어 End-to-End에 가까운 보호를 제공한다. 다만 중간 Gateway의 Application Inspection이 어려워질 수 있고, Host별 키·정책 배포와 운영 복잡도가 커질 수 있다.
Full Tunnel과 Split Tunnel
Full Tunnel은 일반 인터넷 트래픽까지 VPN으로 보내는 구성이고, Split Tunnel은 조직망 등 지정된 트래픽만 VPN으로 보낸다. 후자는 단말이 내부망과 외부망에 동시에 연결될 수 있어 접근 정책을 고려해야 한다. 어느 쪽도 이름만으로 안전성을 보장하지 않는다.
2. 터널링, 암호화, 논리적 분리는 서로 다르다
| 방식 | 핵심 목적 | 암호화가 자동인가 | 해석 |
|---|---|---|---|
| IP-in-IP·GRE 등 Tunnel | 다른 Packet 안에 원래 Packet을 넣어 전달 | 아니오 | 경로·캡슐화를 제공하며 별도 보안이 필요할 수 있음 |
| L2TP | Layer 2 Session을 IP망 위로 전달 | 아니오 | 기밀성이 필요하면 IPsec 등과 조합할 수 있음 |
| IPsec VPN | IP 계층의 암호학적 보호와 Policy 적용 | 구성에 따라 제공 | ESP와 IKEv2가 현대 일반 구성의 중심 |
| TLS VPN | TLS 기반 Gateway·Application·Tunnel 보호 | 보호 채널 안에서는 제공 | Application Proxy형과 Tunnel Client형의 경계가 다름 |
| MPLS VPN | 사업자망에서 Route·Label 기반 논리 분리 | 아니오 | 사설 경로 분리는 가능하지만 기밀성은 별도 암호화가 필요 |
Private라는 용어가 항상 Encrypted를 뜻하지 않는다. 또한 암호화된 VPN도 Traffic의 시간·양·외부 Tunnel Endpoint까지 모두 숨기지는 않는다.
3. IPsec의 구성 요소
IPsec은 IP Packet을 보호하는 Framework다.
- AH: 기밀성 없이 무결성·출처 인증·Replay 방지를 제공한다.
- ESP: 기밀성과 선택적 무결성·인증·Replay 방지를 제공한다.
- SA(Security Association): 사용할 알고리즘·키·SPI·Sequence 상태를 정의하는 단방향 보안 연결이다.
- IKE: Peer 인증과 Key 교환을 수행해 SA를 설정한다.
SPD(Security Policy Database)는 트래픽에 보호·우회·폐기 중 어떤 정책을 적용할지 정하고, SAD(Security Association Database)는 SA의 키·알고리즘·상태를 관리한다. 세부 데이터 구조보다 정책과 실제 보안 연결의 역할 차이를 이해한다.
4. AH와 ESP의 보호 범위를 구분한다
IANA의 IP Protocol Number에서 ESP는 50, AH는 51이다. 이 값은 TCP·UDP Port가 아니라 IPv4 Protocol 또는 IPv6 Next Header에서 상위 Header 종류를 나타낸다.
| 항목 | AH | ESP |
|---|---|---|
| 기밀성 | 제공하지 않음 | 제공 가능하며 현대 VPN의 일반적 목적 |
| 무결성·데이터 출처 인증 | 제공 | 제공 가능, 현대 구성은 기밀성과 함께 사용하는 것이 일반적 |
| Anti-Replay | 수신 측 선택에 따라 제공 | 수신 측 SA별로 제공 가능 |
| IP Header 보호 | 전송 중 변하지 않아야 하는 선택 필드까지 포함 | 외부 IP Header는 보호하지 않음 |
| NAT와의 관계 | NAT가 IP 주소를 바꾸면 검증 실패가 발생하기 쉬움 | NAT-T로 UDP 캡슐화 가능 |
| 현대 일반 용도 | 제한적·특수한 상황 | IPsec VPN의 중심 |
AH가 인증하는 대상
AH의 Data Origin Authentication은 Packet이 해당 SA Key를 가진 Peer에서 왔고 보호 범위가 변경되지 않았다는 근거다. 사람의 실명, 응용 사용자 계정, 업무 정당성까지 직접 인증하는 것은 아니다.
AH는 Payload뿐 아니라 전송 중 변하지 않아야 하는 일부 IP Header 필드도 무결성 범위에 포함한다. 그러나 NAT가 Source·Destination Address를 바꾸면 AH 검증과 충돌하므로 NAT 환경에서 사용하기 어렵다.
ESP가 보호하는 대상
ESP Packet의 핵심 필드는 다음과 같다.
ESP Header: SPI | Sequence Number
Protected Payload: Payload Data | Padding | Pad Length | Next Header
Authentication Data: Integrity Tag/ICV
SPI는 수신 측이 SA를 찾는 핵심 식별자다.Sequence Number는 Anti-Replay 판정에 사용된다.- Payload와 Trailer는 암호화 대상이 될 수 있다.
- 현대 AEAD 구성은 암호화와 무결성을 함께 제공한다.
- ESP Header의 SPI·Sequence Number와 외부 IP Header는 암호문 안에 숨겨지지 않는다.
암호화만 하고 강한 무결성 검증을 하지 않는 구성은 능동 공격에 취약할 수 있으므로 현대 일반 구성으로 삼지 않는다.
5. Transport Mode와 Tunnel Mode의 Packet 구조
Transport Mode
Original IP Header | ESP Header | Encrypted TCP/UDP + Data + ESP Trailer | Tag
- 원래 IP Header가 외부에서 보이고 Routing에 사용된다.
- ESP는 원래 IP Header보다 뒤에 삽입된다.
- TCP·UDP Header와 Application Data를 포함한 상위 계층 부분을 보호한다.
- Host-to-Host 보호에 적합하다.
- 중간 Security Gateway가 최종 Source 또는 Destination이 아닌 일반 전달 Packet에 적용하는 경우는 제약이 크다.
Tunnel Mode
Outer IP Header | ESP Header | Encrypted Original IP Header + Payload + Trailer | Tag
- Outer Header에는 IPsec Endpoint인 Gateway 또는 Host 주소가 들어간다.
- 원래 Source·Destination이 포함된 Inner IP Packet 전체가 ESP 보호 범위에 들어간다.
- 외부 관찰자는 Outer Tunnel Endpoint, Packet 크기·시간·방향 등은 볼 수 있다.
- Site-to-Site와 Remote Access에서 일반적이다.
- Security Gateway가 SA의 한쪽 종단이면 보통 Tunnel Mode가 사용된다.
주소 예시
학습용 문서 주소와 사설 주소를 사용한 예다.
원래 Packet
10.10.1.25:53000 → 10.20.5.80:443
ESP Tunnel Packet
198.51.100.10 → 203.0.113.20
Protocol = ESP(50), SPI = 0x2A10B7C4, Seq = 1842
Encrypted Inner = 10.10.1.25:53000 → 10.20.5.80:443
NAT-T가 사용되면 외부는 UDP 4500으로 보이고 그 안에 ESP가 들어간다. 복호화한 Gateway는 Inner Destination인 10.20.5.80으로 Packet을 다시 Routing한다.
6. SA와 IKE의 기본 관계
SA는 단방향이므로 양방향 통신에는 일반적으로 두 개 이상의 SA가 필요하다. IKE는 Peer를 인증하고 알고리즘·Key를 협상하여 IKE SA와 IPsec SA를 만든다.
IKE는 일반적으로 UDP 500을 사용하며 NAT 환경에서는 UDP 4500의 NAT-T를 사용할 수 있다. 세부 Exchange Message는 심화다.
개념 확인 문제
문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.
01ESP 터널 모드에서 원래 IP 헤더와 외부 IP 헤더 중 무엇이 암호화 범위에 들어가는가?
암호화를 사용하는 ESP 터널 모드에서는 원래 IP 패킷 전체가 보호 범위에 들어가고 새 외부 IP 헤더는 라우팅을 위해 보인다.
02SA가 단방향이면 양방향 IPsec 통신에 몇 개가 필요한가?
일반적으로 방향별 SA가 필요하므로 최소 두 개가 필요하다. 복수 보호 관계를 구성하면 더 많아질 수 있다.