IPsec VPN
IPsec VPN은 IP 계층에서 동작하는 VPN 기술로, 네트워크 간 통신을 통째로 암호화해 안전한 전용망처럼 사용하는 방식이다. 핵심은 운영체제와 애플리케이션과 무관하게, IP 패킷 자체를 보호한다는 점이다.
IPsec은 데이터가 오가기 전에 먼저 서로를 인증하고, 암호화 방식과 키를 협상한다. 이 과정이 끝나면 두 지점 사이에 암호화된 터널이 형성되고, 그 안을 지나는 모든 IP 패킷은 자동으로 보호된다. 사용자는 별도로 애플리케이션을 신경 쓰지 않아도 되고, 내부망에 직접 연결된 것처럼 동작한다.
IPsec의 구성 요소를 이해하는 것이 중요하다.
먼저 AH(Authentication Header)는 패킷의 무결성과 송신자 인증을 제공한다. 데이터가 중간에 변조되지 않았는지는 확인하지만, 암호화는 하지 않는다.
다음으로 ESP(Encapsulating Security Payload)는 기밀성(암호화)과 함께 무결성, 인증까지 제공한다. 실제로는 대부분의 IPsec VPN이 ESP를 사용한다.
Transport 모드는 IP 헤더는 그대로 두고, 페이로드만 보호한다. 주로 호스트 간 통신에 사용된다.
Tunnel 모드는 원래 IP 패킷 전체를 새로운 IP 패킷으로 감싸서 전송한다. 외부에서는 내부 주소가 보이지 않기 때문에, 사이트 간 VPN이나 원격 접속 VPN에 주로 사용된다.
키 교환과 인증은 IKE(Internet Key Exchange)가 담당한다. IKE는 사전 공유 키(PSK), 인증서 등을 이용해 상대를 인증하고, 세션 키를 안전하게 교환한다. 이 과정이 있어야 IPsec 터널이 성립한다.
SSL VPN과 비교하면 차이가 명확하다. IPsec VPN은 네트워크 계층 기반이라 내부망 전체에 접근하는 느낌이고, SSL VPN은 애플리케이션 계층 기반으로 접근 범위를 세밀하게 제한할 수 있다. 대신 IPsec은 설정이 복잡하지만, 성능과 투명성이 뛰어나다.
IPsec VPN은 네트워크 계층 VPN이다.
IP 패킷 단위로 암호화·인증을 수행한다.
AH와 ESP가 있다(실무는 ESP 위주).
Transport / Tunnel 모드가 있다.
IKE로 인증과 키 교환을 한다.
요약하면, IPsec VPN은
“IP 패킷 자체를 보호해, 두 네트워크를 안전하게 하나로 연결하는 VPN”이라고 이해하면 된다.