IPsec이란 무엇이며 VPN에 어떤 기능을 하나요?
인터넷 엔지니어링 태스크 포스(IETF)는 인터넷 프로토콜(IPv4)의 보안 취약점에 대응하여 IPsec을 개발했습니다. IPv4를 통해 인터넷에 전송된 데이터를 가로채는 것은 누구에게도 어려운 일이 아니었습니다. 그래서 IPsec이 등장했습니다. IPsec은 보안 프로토콜의 집합을 사용하여 IPv4의 보안 결함을 해결하고 인터넷을 통한 통신이 안전하도록 보장합니다.
Open Systems Interconnection(OSI) 모델의 네트워크 계층에서 작동하는 IPsec을 사용하여 네트워크와 호스트 간에 안전하게 통신할 수 있습니다. 따라서, IPsec 구현은 호스트 대 호스트, 네트워크 대 호스트, 네트워크 대 네트워크 통신에서 발생합니다.
IPsec은 두 엔드포인트 간의 종단 간 보안이 필요한 모든 산업, 특히 VPN 산업에서 인기가 있습니다. 다른 프로토콜 중에서도 VPN은 데이터 무결성, 기밀성 및 인증을 제공하기 때문에 데이터 전송을 보호하기 위해 IPsec을 사용합니다. 이 글은 IPsec을 이해하고 VPN이 소비자의 인터넷 트래픽을 보호하기 위해 왜 IPsec에 의존하는지에 대해 다룹니다.
IPsec이란 무엇인가?
인터넷 프로토콜 보안(IPsec)은 인터넷을 통해 컴퓨터 간에 안전한 연결을 설정하기 위해 함께 작동하는 프로토콜 모음 또는 프로토콜 그룹입니다. IPsec은 암호화된 연결을 제공하여 제3자가 관련 컴퓨터 간의 통신 내용을 볼 수 없게 합니다. 암호화 외에도, IPsec은 데이터 패킷이 올바른 출처에서 왔는지 확인하기 위한 인증 메커니즘도 제공합니다. 아래에서 IPsec이 제공하는 표준 보안 기능을 살펴보겠습니다.
1. 인증: 연결의 양쪽 끝에서 데이터를 인증함으로써, IPsec은 데이터 전송이 시작되기 전에 끝점이 신뢰할 수 있는지 확인합니다.
2. 기밀성: IPsec은 종단 간 데이터 암호화를 제공함으로써 악의적인 개체가 네트워크에 침입하여 데이터를 도난하거나 네트워크를 도청하는 것을 방지합니다.
3. 무결성: IPsec은 해싱을 사용하여 데이터 무결성을 확인하고, 변경된 데이터를 감지합니다.
4. 재전송 방지: 시퀀스 번호를 사용하여 IPsec은 악의적인 행위자들이 데이터 패킷을 복제하여 네트워크에 침입하는 것을 방지합니다.
두 호스트(호스트 대 호스트) 사이, 두 네트워크/게이트웨이(네트워크 대 네트워크) 사이, 또는 호스트와 네트워크(네트워크 대 호스트) 사이에서 IPsec을 사용할 수 있습니다. 또한, 가상 사설망(VPN), 라우팅 보안, 애플리케이션 수준 보안과 같은 보안 도메인에서 IPsec의 구현을 찾을 수 있습니다. IPsec만으로는 고급 보안에 충분히 효과적이지 않을 수 있기 때문에, 경우에 따라 다른 프로토콜과 함께 구현됩니다.
IPSec 프로토콜
IPsec 스위트의 일부인 세 가지 프로토콜이 있습니다. 이 프로토콜들은 데이터 인증, 무결성, 기밀성 및 반복 방지를 제공하기 위해 함께 작동합니다. 아래에서 살펴보겠습니다.
1. 인증 헤더 (AH)
인증 헤더의 주요 역할은 IP 데이터 패킷을 인증하는 것입니다. 해시 함수와 비밀 키를 사용하여 VPN 터널의 양쪽 끝에서 오는 모든 패킷을 검증합니다. 이는 악의적인 개체가 데이터를 수정하고 진짜로 위장하는 것을 방지합니다. AH는 인증, 무결성, 반복 방지 보호를 제공합니다. 그러나 어떠한 형태의 암호화도 제공하지 않습니다.
2. 보안 페이로드 캡슐화 (ESP)
캡슐화 보안 페이로드의 주요 역할은 데이터 패킷을 암호화하는 것입니다. IPsec 모드에 따라 페이로드만 암호화하거나 페이로드와 IP 헤더를 함께 암호화합니다. 전송 모드에서는 ESP가 전송 계층 세그먼트와 페이로드만 암호화하고 IP 헤더는 암호화하지 않습니다. 반면에, 터널 모드에서 ESP는 IP 헤더와 전송 계층 세그먼트, 페이로드를 함께 암호화합니다. ESP는 인증, 무결성, 기밀성 및 반복 재생 방지 보호를 제공합니다.
3. 보안 연결 (SA)
IPSec는 보안 연결을 사용하여 끝점이 암호화 알고리즘과 키를 협상하는 데 사용하는 보안 프로토콜을 설정합니다. 간단히 말해서, 보안 연결은 두 끝점이 IPsec 터널을 안전하게 설정하고 유지하기 위한 매개변수에 동의하는 방법입니다.
IPsec의 보안 연결은 세 가지를 요구합니다: 보안 매개 변수 인덱스(SPI), 목적지 IP 주소, 그리고 IPsec 프로토콜(AH 또는 ESP). SA는 단방향으로 작동하기 때문에, 각 끝점마다 두 개의 SA(발신 및 수신)가 필요합니다. IPsec은 인터넷 보안 연결 및 키 관리 프로토콜(ISAKMP)을 사용하여 SA를 설정합니다.
IPsec이 어떻게 작동하나요?
아래에서는 IPsec이 어떻게 두 개의 엔드포인트 사이에 안전한 연결을 구축하고 데이터를 출발지부터 목적지까지 보호하는지 살펴봅니다.
1. 키 교환
인터넷 키 교환 프로토콜(IKE)은 양쪽 끝점이 사용할 키와 알고리즘의 협상을 처리합니다. 그 결과, IPsec을 사용하여 안전하고 신뢰할 수 있는 연결을 구축하는 데 있어 중요한 과정입니다. IKEv1은 두 단계로 구성되어 있습니다: IKE 단계 1과 IKE 단계 2입니다.
IKE 단계 1의 목적은 끝점들이 서로를 인증하고 연결을 보안하는 방법에 대한 제안을 교환하는 것입니다. 그들은 암호화 알고리즘, 인증 알고리즘, Diffie-Hellman(DH) 그룹, 사전 공유 키 또는 RSA/DSA 인증서와 같은 보안 매개변수에 대한 제안을 교환합니다. 결과적으로, 이 단계가 끝날 때까지 적어도 하나의 양방향 ISAKMP SA가 피어들 사이에 설정되어야 합니다. 단계 1은 Main Mode(끝점 간 총 여섯 메시지) 또는 Aggressive Mode(끝점 간 총 세 메시지)로 사용할 수 있습니다.
IKE 단계 2는 엔드포인트 또는 피어가 안전한 연결을 설정한 후에 시작됩니다. 이 단계에서, 엔드포인트는 IPsec 터널을 통과하는 데이터를 안전하게 유지할 SA를 협상합니다. 보안 프로토콜(ESP 또는 AH), 암호화 알고리즘, 그리고 인증 알고리즘이 이 단계에서 협상됩니다. 또한, 디피-헬만(DH) 그룹과 완벽한 전진 기밀성도 제안의 일부가 될 수 있습니다.
IKEv2는 IKEv1의 업데이트된 버전으로, 1단계나 2단계가 없습니다. 그러나, 끝점들은 IPsec 터널을 위한 보안 파라미터를 협상하기 위해 4개의 메시지를 교환합니다. VPN은 IKEv2를 사용하는 것을 선호하는데, 이는 설정하기가 더 쉽고 더 안전하기 때문입니다.
2. 패킷 헤더와 트레일러
엔드포인트가 보안 매개변수에 동의한 후, 이제 서로 데이터를 전송할 수 있습니다. 먼저, IP 패킷을 캡슐화해야 합니다. 터널 모드를 사용하는지 트랜스포트 모드를 사용하는지에 따라, IPsec은 전송되어야 할 각 패킷에 필요한 헤더와 트레일러를 추가합니다.
3. 인증 및 암호화
IPsec은 AH와 ESP를 사용하여 인증 및 암호화를 적용합니다. AH는 암호화를 제공하지 않지만 데이터 패킷을 인증합니다. 반면에, ESP는 암호화와 인증을 제공합니다.
4. 전송
IP 패킷은 이제 전송 프로토콜(가급적이면 UDP)의 도움으로 IPsec 연결을 통해 엔드포인트로 이동할 수 있습니다.
5. 복호화
암호 해독은 연결의 수신 쪽에서 발생합니다. 일단 해독되면, 데이터는 필요로 하는 애플리케이션으로 이동합니다.
IPsec 전송 모드 대 터널 모드
IPsec은 두 가지 운영 모드를 가지고 있습니다: 터널과 전송. 각각이 서로 다른 점이 무엇인지 아래에서 살펴보겠습니다.
운송 모드
IPsec 회로가 전송 모드에서 작동할 때는 보통 두 호스트 간의 직접 연결입니다. 전송 모드에서는 엔드포인트가 전체 IP 패킷을 암호화하거나 인증하지 않고, 페이로드만을 암호화합니다. IP 헤더가 수정되거나 캡슐화되지 않기 때문에, 두 엔드포인트 외부의 제3자 장치들은 패킷의 목적지와 출발지를 볼 수 있습니다.
터널 모드
터널 모드에서 작동하는 IPsec 회로는 보통 두 개의 게이트웨이(네트워크 간 통신) 사이에 있습니다: 두 개의 라우터 또는 라우터와 방화벽입니다. 그러나, 호스트 대 호스트 및 호스트 대 네트워크 통신에도 사용할 수 있습니다. 이 모드에서는 페이로드만 암호화되는 것이 아니라 전체 IP 패킷이 암호화되고 인증됩니다. VPN은 IPsec 터널 모드를 사용하는데, 이는 데이터만이 아니라 전체 네트워크를 종단 간 암호화를 통해 보호하기 때문입니다.
VPN에서의 IPsec
VPN이 인터넷을 통해 안전하게 통신할 수 있는 방법을 제공하기 때문에, VPN이 IPsec 프로토콜을 사용하는 것은 당연합니다. VPN이 IPsec을 사용할 때, 일반적으로 종단 간 암호화를 제공하기 때문에 ESP를 터널 모드로 사용합니다. 경우에 따라 IKEv2/IPsec 또는 IKEv2를 사용할 수 있는 VPN 프로토콜로 볼 수 있습니다. 둘 다 IKEv2가 IPsec 터널 모드를 사용하여 안전한 연결을 설정한다는 것을 의미합니다.
또한, VPN은 L2TP와 같은 덜 안전한 프로토콜을 IPsec와 결합하여 안전한 연결을 보장합니다. 이것이 VPN 애플리케이션에서 L2TP/IPsec을 옵션으로 볼 수 있는 이유입니다. 이제, VPN 애플리케이션에서 연결 버튼을 클릭할 때 IPsec이 작동하는 기본적인 방식을 살펴보겠습니다.
“연결” 버튼을 클릭하면, IPsec이 ESP와 터널 모드를 사용하여 안전한 연결을 설정하기 시작합니다.
터널의 끝점들은 보안 연결(SAs)을 사용하여 보안 파라미터에 대해 합의합니다.
데이터는 이제 암호화 및 복호화가 양쪽 끝에서 발생하기 때문에 한쪽 끝에서 다른 쪽 끝으로 안전하게 이동할 수 있습니다. 한쪽 끝에서는 IP 패킷을 받아 암호화한 후 다른 쪽 끝으로 전송합니다. 수신 측에서는 다른 쪽 끝에서 IP 패킷을 복호화하고 필요한 애플리케이션으로 전송합니다.
위의 설명은 충분히 자세하지 않지만, VPN에서 IPsec이 어떻게 작동하는지에 대한 아이디어를 줄 수 있어야 합니다.
결론
IPsec은 두 엔드포인트 간의 데이터 기밀성, 무결성 및 인증이 필요한 경우 중요합니다. 대부분의 VPN은 보안 VPN 프로토콜의 일부로 IPsec(IKEv2/IPsec 또는 L2TP/IPsec)을 포함합니다. 이 기사가 IPsec이 인터넷상의 통신을 보호하는 데 VPN이 사용하는 중요한 프로토콜 스위트임을 이해하는 데 도움이 되기를 바랍니다.