IPSec으로 설계하는 네트워크 계층 VPN 보안

IPSec의 전송·터널 모드와 SA, AH·ESP, SPD·SAD, IKE 기반 키 관리를 네트워크 보안 관점에서 정리한다.

2026-08-14 · 최초 발행 2025-05-29

IP 패킷 자체에 보안을 적용하는 방식

IPSec(Internet Protocol Security)은 네트워크 계층(Layer 3)에서 IP 패킷의 인증, 암호화, 접근제어, 키 관리를 제공하는 IETF 표준 프로토콜이다. 평문으로 흐르는 기존 IP 통신의 도청과 위변조 위험을 줄이기 위해 IP 수준의 보안 서비스를 표준화한 기술이며, 인터넷 보안과 VPN 구성의 핵심 기반으로 사용된다.

전용선 대신 공중 인터넷을 보안 통신 경로로 활용할 수 있고, 원격지 네트워크를 연결하는 VPN도 구성할 수 있다. 네트워크 환경이 달라도 일관된 보안 서비스를 적용할 수 있으며, 암호화 알고리즘을 보안 요구사항에 맞춰 선택할 수 있다는 점도 IPSec의 특징이다.

IPSec은 상위 프로토콜과 애플리케이션을 바꾸지 않고 IP 패킷 수준에서 적용된다. 공개 네트워크 위에서 사설 네트워크를 연결할 때는 원본 IP 패킷을 새 IP 헤더로 캡슐화하는 터널링을 사용한다. 전송 중 데이터의 변조를 막는 무결성과 정보 노출을 막는 기밀성도 이 과정에서 제공한다.

보호 범위에 따라 달라지는 전송 모드와 터널 모드

전송 모드(Transport Mode)는 호스트 간 직접 통신인 End-to-End 구간에 맞는다. 데이터그램 내용만 보호하고, 기존 IP 헤더와 나머지 패킷 사이에 보안 헤더를 삽입한다. 전송 데이터 가로채기를 막아야 하는 단일 LAN 세그먼트나 사설 네트워크 내부 통신에 적용할 수 있다.

터널 모드(Tunnel Mode)는 게이트웨이 간 통신인 Gateway-to-Gateway 구간을 대상으로 한다. 데이터그램 내용뿐 아니라 통신자의 IP 정보도 보호하며, 새 IP 헤더를 패킷 앞에 추가한다. 공중 네트워크 또는 보안되지 않은 네트워크를 거쳐 패킷을 전달할 때, 특히 VPN 구성에 주로 사용된다.

정책 조회부터 AH·ESP 적용까지

AH/ESP 적용AH/ESP 검증 복호화IPSec 프로세스패킷 인터셉션SPD 검색SA 결정SAD 검색AH/ESP 적용IP 엔진으로 전달송신자IPSec 처리IP 네트워크IPSec 처리수신자

애플리케이션이 IP 패킷을 만들면 IP 스택은 패킷을 인터셉션하고 SPD를 조회해 적용할 보안 정책을 확인한다. 기존 SA가 있는지 확인하고, 없다면 IKE로 새 SA를 협상한 뒤 보안 파라미터를 SAD에 저장한다.

이후 선택된 전송 모드 또는 터널 모드에 맞춰 AH나 ESP를 적용한다. 암호화와 인증 값 계산, 헤더 추가가 끝난 패킷은 전송되며, 수신 측은 인증 검증과 복호화를 포함한 역순 처리로 원래 데이터를 복원한다.

SA와 프로토콜이 담당하는 역할

SA(Security Association)는 IPSec 통신의 기본 단위다. 보안 서비스, 인증 방식, 암호화 알고리즘 등의 구성을 담은 단방향 논리 연결이므로, 양방향 통신에는 2개의 SA가 필요하다.

SPI(Security Parameter Index)는 SA를 식별하는 고유 식별자다. SAD에서 특정 SA를 찾는 인덱스로 사용되며, 패킷 헤더에 포함되어 수신자가 적용할 SA를 식별할 수 있게 한다.

AH(Authentication Header)는 데이터 인증과 무결성을 제공한다. IP 패킷의 출처를 인증하고 데이터 변조를 감지하지만 암호화 기능은 제공하지 않는다. 헤더는 다음 헤더, 페이로드 길이, SPI, 시퀀스 번호, 인증 데이터로 구성된다.

ESP(Encapsulation Security Payload)는 IP Datagram의 인증, 무결성, 암호화를 제공한다. AH와 달리 데이터 기밀성을 보장하며, SPI, 시퀀스 번호, 암호화된 데이터, 패딩, 패딩 길이, 다음 헤더, 인증 데이터를 헤더 구조에 포함한다.

SPD·SAD와 IKE가 정책과 키를 관리하는 방식

SPD(Security Policy Database)는 IPSec 통신에 적용할 보안 정책을 저장한다. 트래픽 흐름별 보안 요구사항을 정의하고, 패킷을 보호할지 폐기할지 우회할지를 결정한다.

SAD(Security Association Database)는 활성화된 SA 정보를 관리한다. SPI, 암호화 키, 알고리즘, 수명 등의 보안 파라미터를 담고 있으며, SPD 정책에 따라 생성된 SA를 저장한다.

IKE(Internet Key Exchange)는 ISAKMP(Internet Security Association and Key Management Protocol)와 Oakley 키 교환 프로토콜을 결합한 방식이다. SA 협상과 설정, 암호화 키 생성 및 분배, 암호화 알고리즘 협상을 맡는다. Phase 1에서는 ISAKMP SA를 설정해 보안 채널을 구성하고, Phase 2에서는 실제 데이터 보호에 사용할 IPSec SA를 설정한다.

IPSec VPN과 SSL VPN의 선택 기준

IPSec VPN은 네트워크 계층(L3) 기반 VPN이다. 방화벽 기능을 내장하고 전용 클라이언트를 필요로 하며, 전체 네트워크 트래픽을 터널링한다. 사이트 간(Site-to-Site) VPN에 적합하다.

SSL VPN은 애플리케이션 계층(L7) 기반 VPN이다. 별도 방화벽 장비가 필요하고 웹 브라우저로 접속할 수 있는 클라이언트리스 방식을 제공한다. 특정 애플리케이션 접근에 초점을 두며, 원격 사용자 접속(Remote Access)에 적합하다.

연결 대상에 따른 활용 장면

본사와 지사를 연결할 때는 IPSec 터널 모드로 안전한 통신 경로를 만들 수 있으며, 전용선 비용 절감 효과를 기대할 수 있다. 재택근무 환경에서는 직원이 가정에서 회사 네트워크에 안전하게 접속하도록 클라이언트-게이트웨이 VPN을 구성한다.

온프레미스 환경과 클라우드 서비스 사이의 보안 통신에도 활용할 수 있어 하이브리드 클라우드 구성에 적용된다. 협력사와 데이터를 교환해야 할 때는 제한된 리소스에 대한 접근제어와 함께 안전한 연결을 구성하는 데 사용할 수 있다.

운영 환경에서 확인할 조건

암호화와 복호화는 CPU 부하를 유발하고 처리 지연 시간이 생길 수 있다. 키는 안전하게 생성·교환해야 하며, 키 수명 관리와 갱신 정책도 필요하다.

NAT 환경에서는 IPSec 구현 중 문제가 발생할 수 있으므로 NAT-T(NAT Traversal) 기술을 고려한다. 방화벽에는 ESP, AH, IKE IPSec 트래픽을 허용하는 규칙이 필요하며, 프로토콜 50(ESP), 51(AH), UDP 500(IKE) 포트를 열어야 한다.

IPSec은 원격 사무실 연결, 재택근무, 클라우드 연동처럼 공개 네트워크 위에서 보호된 통신이 필요한 환경에 적용할 수 있다. 보호 모드와 정책, 키 관리 방식을 통신 구간에 맞춰 정하고 성능과 NAT, 방화벽 조건까지 함께 운영해야 한다.

IPSec네트워크 보안VPN터널링암호화