IPsec이란? AH·ESP와 터널모드·전송모드 완전정복

기업 VPN 뒤에서 조용히 일하는 IPsec을 AH와 ESP, 전송·터널모드, IKE 순서로 풀어 보고 실제 연구 사례와 점검 목록까지 정리했습니다.

한눈에 보기

IPsec은 IP 계층에서 패킷을 보호하는 보안 프로토콜 묶음입니다. 보안 구조를 정리한 RFC 4301은 IPsec이 접근 통제, 비연결형 무결성, 데이터 출처 인증, 재전송 탐지·거부 같은 서비스를 제공한다고 설명합니다. 그래서 웹 브라우저든 파일 공유든 애플리케이션을 고치지 않고도 지사와 본사 사이 통신을 통째로 보호할 수 있습니다. 이 글에서는 AH와 ESP의 차이, 전송모드와 터널모드, 키를 협상하는 IKE, 그리고 실제 연구 사례와 가상 점검 시나리오를 차례로 살펴봅니다. 일반 정보이며 특정 장비의 설정 방법이나 보안 컨설팅이 아닙니다.

어떤 문제를 풀려고 만든 표준인가

인터넷의 IP 패킷은 기본적으로 암호화도 인증도 없이 오갑니다. 경로 중간의 누군가가 내용을 읽거나 바꿔 끼워도 수신자는 알 수 없습니다. 애플리케이션마다 보안을 따로 붙이는 대신 IP 계층에서 한 번에 처리하자는 것이 IPsec의 발상입니다. 현재의 보안 구조 문서는 RFC 4301이고, ESP는 RFC 4303, AH는 RFC 4302, 키 교환 프로토콜 IKEv2는 RFC 7296이 각각 정의합니다. 아래 카드는 이 구성 요소를 하나씩 풀어 쓴 것입니다.

🔐

IPsec이란 - IP 계층에서 동작하는 보안 프로토콜 모음

개별 애플리케이션이 아니라 네트워크 계층(IP) 자체에서 데이터를 암호화·인증하는 프로토콜 집합으로, 특정 앱과 무관하게 모든 트래픽을 보호할 수 있습니다.

HTTPS 같은 보안 기술이 특정 애플리케이션(브라우저) 수준에서 동작하는 것과 달리, IPsec(IP Security)은 그보다 아래 계층인 IP 계층에서 동작합니다. 그 덕분에 어떤 애플리케이션의 트래픽이든 IP 패킷으로 나가는 순간 자동으로 암호화·인증할 수 있어, 기업의 사이트 투 사이트 VPN이나 원격 접속 VPN의 핵심 기술로 널리 쓰입니다.

✅

AH(인증 헤더) - 무결성과 출처만 확인, 암호화는 안 함

AH(Authentication Header)는 패킷이 중간에 변조되지 않았는지, 정말 주장하는 발신자가 보낸 것인지만 검증하며 내용 자체는 암호화하지 않습니다.

AH(RFC 4302)는 패킷에 무결성 검사값(ICV)을 덧붙여, 수신 측이 이 패킷이 전송 도중 조작되지 않았고 정당한 발신자로부터 왔는지 확인할 수 있게 해줍니다. 검사 범위에는 IP 헤더의 바뀌지 않는 필드도 들어가고, TTL(IPv6는 Hop Limit)처럼 경로에서 바뀌는 필드는 0으로 간주해 계산합니다. 다만 데이터 내용 자체를 암호화하지는 않기 때문에 도청 자체를 막지는 못합니다. 보안 구조 문서(RFC 4301)도 IPsec 구현이 ESP는 반드시(MUST) 지원해야 하지만 AH는 지원해도 되는(MAY) 선택 사항으로 규정합니다.

🔒

ESP(캡슐화 보안 페이로드) - 암호화까지 포함, 실무에서 주로 사용

ESP(Encapsulating Security Payload)는 데이터 내용을 암호화해 도청을 막고, 동시에 무결성 검증 기능도 함께 제공합니다.

ESP는 AH의 인증 기능에 더해 실제 데이터 내용을 암호화하는 기능까지 갖추고 있어, 오늘날 사실상 대부분의 IPsec 구현은 ESP를 기본으로 사용합니다. RFC 4303에 따르면 ESP는 기밀성, 데이터 출처 인증, 비연결형 무결성, 재전송 방지를 제공하며, 무결성 검사는 ESP 헤더부터 트레일러까지만 포함하고 바깥쪽 IP 헤더는 포함하지 않습니다. 이 덕분에 AH보다 IP 헤더 변화에 덜 민감하지만, NAT 환경이 완전히 문제없다는 뜻은 아닙니다. 그래서 IKE는 NAT를 만났을 때 ESP를 UDP 4500번 포트로 감싸는 NAT 통과(NAT-T) 방식을 함께 지원합니다.

📨

전송모드 - 원본 IP 헤더는 그대로, 데이터만 보호

전송모드에서는 원래의 IP 헤더는 그대로 두고, 그 안의 실제 데이터(페이로드) 부분만 암호화·인증합니다.

전송모드(Transport Mode)는 RFC 4301이 말하듯 보통 두 호스트 사이의 종단 간 보안에 쓰이며, 원본 패킷의 출발지·목적지 IP 주소는 그대로 노출된 채 그 안의 데이터 내용만 보호합니다. 오버헤드가 상대적으로 적다는 장점이 있지만, 통신하는 두 기기의 실제 IP 주소가 그대로 드러난다는 특징이 있습니다.

🚇

터널모드 - 전체 패킷을 새 IP 헤더로 감싸는 방식

터널모드는 원본 패킷 전체(헤더 포함)를 암호화한 뒤, 그 위에 새로운 IP 헤더를 씌워 게이트웨이 사이의 새로운 경로로 전달합니다.

터널모드(Tunnel Mode)는 원본 IP 헤더까지 포함한 패킷 전체를 암호화하고, 그 바깥에 두 VPN 게이트웨이(예: 지사와 본사의 라우터)의 IP 주소로 된 새 헤더를 씌웁니다. 그 결과 내부 네트워크의 실제 IP 대역은 외부에 노출되지 않고, 마치 두 지점 사이에 안전한 터널이 뚫린 것처럼 동작합니다. 기업의 사이트 투 사이트 VPN에서 가장 흔히 쓰이는 방식입니다.

🤝

IKE - 양쪽이 안전하게 암호키를 협상하는 절차

IKE(Internet Key Exchange)는 IPsec 통신을 시작하기 전에 양쪽이 어떤 암호화 방식을 쓸지, 어떤 키를 쓸지 안전하게 협상하는 절차입니다.

IPsec으로 암호화 통신을 하려면 양쪽이 같은 암호키를 공유해야 하는데, 이 키를 안전하게 만들고 교환하는 절차가 바로 IKE입니다. IKE는 디피-헬만 키 교환 같은 기법으로 도청자가 있어도 안전하게 공통의 키를 만들어내고, 이후 이 키를 이용해 실제 IPsec(AH·ESP) 통신에 필요한 보안 연결(SA)을 수립합니다. IKEv2는 RFC 7296(2014)에 정리되어 있으며, 보통 UDP 500번 포트를 쓰고 NAT 통과가 필요하면 UDP 4500번 포트로 옮겨 갑니다.

🏢

실제 활용 - 사이트 투 사이트 VPN과 L2TP/IPsec

기업의 지사-본사 연결에는 IKEv2 기반 IPsec이, 개인 VPN 앱에서는 L2TP와 IPsec을 결합한 방식이 흔히 쓰입니다.

기업 환경에서는 지사와 본사 네트워크를 상시로 안전하게 연결하는 사이트 투 사이트 VPN에 IPsec(주로 IKEv2 조합)이 널리 쓰입니다. 개인용 VPN 서비스나 원격 접속 VPN에서는 자체적으로 암호화 기능이 없는 L2TP 터널링 프로토콜에 IPsec을 결합한 L2TP/IPsec 방식이 자주 쓰이는데, 이때 IPsec이 실제 암호화와 인증을 담당하고 L2TP는 터널 자체를 만드는 역할을 나눠 맡습니다.

한 장으로 비교: AH와 ESP, 전송모드와 터널모드

구분AH (RFC 4302)ESP (RFC 4303)
무결성·출처 인증제공제공
암호화(기밀성)제공하지 않음제공(선택 사항, 암호화를 쓰지 않는 NULL 설정도 가능)
재전송 방지제공(수신 측이 SA별로 켬)제공
바깥 IP 헤더 보호바뀌지 않는 필드는 검사 범위에 포함포함하지 않음(ESP 헤더부터 보호)
구현 의무(RFC 4301)MAY(지원해도 됨)MUST(반드시 지원)
구분전송모드터널모드
보호 대상상위 계층 프로토콜(데이터 부분)원본 IP 패킷 전체(내부 헤더 포함)
IP 헤더원본 헤더를 그대로 사용게이트웨이 주소를 가진 새 바깥 헤더가 추가됨
주로 쓰는 곳호스트와 호스트 사이의 종단 간 보호보안 게이트웨이를 낀 사이트 투 사이트·원격 접속 VPN

RFC 4301은 AH와 ESP 모두 두 모드를 지원한다고 규정합니다. 즉 "ESP는 터널모드 전용" 같은 연결은 성립하지 않고, 보호 방식과 사용 모드는 서로 독립된 선택입니다.

연결이 만들어지는 순서: IKE 훑어보기

RFC 7296에 따르면 IKE는 먼저 IKE_SA_INIT에서 암호 알고리즘을 협상하고 난수(nonce)와 디피-헬만 값을 교환합니다. 이어지는 IKE_AUTH에서 서로의 신원을 확인하고 첫 번째 Child SA, 즉 실제 ESP 또는 AH 통신용 보안 연결을 만듭니다. 이후 키를 바꾸거나 연결을 추가할 때는 CREATE_CHILD_SA를 쓰고, 상대가 살아 있는지는 내용이 없는 INFORMATIONAL 메시지로 확인하는 경우가 흔합니다. 통신은 보통 UDP 500번 포트로 시작하며, NAT가 있으면 UDP 4500번 포트로 옮겨 가 NAT 통과를 지원합니다.

실제 사례와 가상 점검 시나리오

사례 1. 1024비트 디피-헬만 그룹 연구(2015)

2015년 ACM CCS 학회에서 아드리안, 그린, 핼더먼, 하이닝어 등 연구진이 발표한 논문 「Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice」(Best Paper 수상)는 서로 다른 서버들이 같은 소수를 디피-헬만에 재사용하는 현실을 짚었습니다. 연구진의 웹 페이지는 IPv4 주소 공간을 조사한 결과, 가장 흔한 1024비트 그룹이 깨진다면 IKEv1을 쓰는 IPsec VPN 서버의 약 66%가 영향을 받을 수 있다고 정리합니다. 또한 공개된 유출 문서에 나온 국가 기관의 VPN 공격이 이런 해독이 가능했다는 가정과 일치한다고 서술합니다. 이는 추정이며 실제 공격이 확인되었다는 뜻은 아닙니다. 여기서 배울 점은 IPsec 자체의 구조적 결함이 아니라 협상에 쓰이는 키 교환 설정(그룹 크기, 재사용)이 전체 보안을 좌우한다는 것입니다. 운영자는 장비가 허용하는 DH 그룹과 IKE 버전을 점검해야 합니다.

가상 예시. 지사와 본사를 잇는 터널모드 (실제 사건이 아님)

가상의 지사 PC(내부 주소 10.1.0.5)가 본사 서버(10.2.0.9)로 보내는 패킷이 있다고 해 봅시다. 지사 게이트웨이(공인 주소 198.51.100.1)는 이 패킷 전체를 ESP로 감싸고, 바깥에 본사 게이트웨이(203.0.113.1)를 목적지로 하는 새 IP 헤더를 붙여 인터넷에 내보냅니다. 중간 경로에서는 두 게이트웨이 주소만 보이고 10.x 내부 주소와 내용은 보이지 않습니다. 반대로 같은 두 PC가 게이트웨이 없이 직접 전송모드로 통신하면 두 PC의 실제 주소가 그대로 노출됩니다. 위 주소는 설명용 예시 값입니다.

직접 점검해 볼 체크리스트

흔한 오해와 정정

한계와 더 알아볼 점

IPsec은 기기 사이의 구간을 보호할 뿐, 단말이 악성코드에 감염되었거나 계정이 탈취된 경우까지 막아 주지는 않습니다. 설정 항목이 많아 장비 제조사 사이의 상호 운용 문제가 생기기 쉽고, NAT와 방화벽을 지날 때 추가 조치(NAT-T)가 필요합니다. 어떤 VPN 프로토콜이 더 낫다는 단정은 용도와 환경에 따라 달라지므로 아래 비교 가이드를 함께 보시기 바랍니다.

자주 묻는 질문

AH는 요즘도 쓰이나요?

RFC 4301은 구현이 ESP를 반드시 지원하되 AH는 선택으로 둡니다. 암호화가 없어 도청을 막지 못하고, 실무에서는 ESP가 주로 쓰입니다. AH는 개념을 설명하거나 특수한 요구가 있을 때 언급되는 경우가 많습니다.

IPsec과 SSL/TLS VPN은 뭐가 다른가요?

IPsec은 IP 계층에서 동작해 모든 트래픽을 통째로 보호하는 반면, SSL/TLS 기반 VPN은 더 상위 계층에서 동작해 브라우저만으로 접속하거나 특정 애플리케이션 트래픽만 선택적으로 보호하기가 더 쉽습니다. 기업들은 필요에 따라 두 방식을 함께 쓰기도 합니다.

SA(보안 연결)가 정확히 무엇인가요?

RFC 4301은 SA를 해당 트래픽에 보안 서비스를 제공하는 단방향 "연결"로 정의합니다. 단방향이므로 양방향 통신에는 보통 방향별로 SA가 하나씩 필요하고, 어떤 알고리즘과 키를 쓸지가 SA마다 정해집니다.

IKEv1과 IKEv2 중 무엇을 써야 하나요?

RFC 7296은 IKEv2를 인터넷 표준으로 올리고 이전 문서(RFC 5996, 그보다 앞선 RFC 4306)를 대체합니다. 장비가 지원한다면 IKEv2를 쓰는 것이 일반적인 방향이지만, 실제 선택은 장비 지원 범위와 조직의 보안 정책에 따라 정하세요.

IPsec 터널이 올라왔는데 통신이 안 되는 이유는 뭔가요?

IKE 단계는 성공해도 양쪽이 보호 대상으로 합의한 주소 범위가 다르거나, 경로·방화벽 규칙이 빠져 있으면 통신이 되지 않습니다. 이런 경우가 흔하니 설정 대조를 먼저 해 보세요.

이어서 읽을 가이드