이 기사는 WireGuard® 및 Stealth VPN 프로토콜을 포함하도록 업데이트되었습니다.

VPN 프로토콜이 무엇이며 어떤 기능을 하는지 설명합니다. 또한 OpenVPN, WireGuard®, IKEv2, PPTP 및 L2TP를 포함한 가장 일반적인 프로토콜의 장단점을 비교합니다.

인터넷 활동을 보호하기 위해 VPN을 신뢰하기 전에 필요한 안전 조치를 마련했는지 확인해야 합니다. VPN의 기술적인 측면을 평가하는 것은 어려울 수 있습니다. 이는 종종 여러 약어들의 뒤죽박죽을 이해하려고 애쓰는 것을 의미합니다.

사람들이 더 정보에 입각한 결정을 내릴 수 있도록 저희의 보안 조치 중 일부를 설명하는 일련의 포스트를 시작했습니다. 첫 번째 포스트에서는 HMAC SHA-384의 의미를 설명했습니다. 이 포스트에서는 VPN 프로토콜, 그 기능, 작동 방식, 그리고 예를 들어 VPN 서비스가 L2TP를 통해 OpenVPN을 사용하는 경우 무엇을 의미하는지 알아봅니다.

이 포스트는 VPN의 내부 작동 원리 중 일부를 파헤칩니다. 용어를 명확하게 설명하려고 노력하지만, 기본적인 기술 지식을 가지고 있다면 이 포스트가 더 유용할 것입니다. VPN이 어떻게 작동하는지 확실하지 않다면 계속하기 전에 아래 링크된 기사를 읽는 것이 도움이 될 수 있습니다.

VPN 작동 방식 알아보기

VPN 프로토콜

VPN은 “터널링”이라고 하는 기술에 의존하여 인터넷을 통해 두 컴퓨터 간에 사설 네트워크를 생성합니다. “터널링 프로토콜”이라고도 하는 VPN 프로토콜은 기기가 귀하의 컴퓨터와 다른 컴퓨터 간의 네트워크를 형성하는 안전한 암호화됨 연결을 협상하는 데 사용하는 지침입니다.

VPN 프로토콜은 일반적으로 데이터 채널과 제어 채널이라는 두 가지 채널로 구성됩니다. 제어 채널은 키 교환, 인증 및 매개변수 교환(IP 또는 경로 및 DNS 서버 제공 등)을 담당합니다. 데이터 채널은 짐작하셨겠지만 인터넷 트래픽 데이터를 전송하는 역할을 합니다. 이 두 채널은 함께 안전한 VPN 터널을 설정하고 유지 관리합니다. 그러나 데이터가 이 안전한 터널을 통과하려면 캡슐화되어야 합니다.

캡슐화란 VPN 프로토콜이 인터넷 트래픽에서 데이터 패킷이라고 하는 데이터 비트를 가져와 다른 패킷 안에 넣는 것을 말합니다. 데이터 채널 내부에서 VPN이 사용하는 프로토콜 설정이 일반 인터넷이 사용하는 것과 반드시 같지는 않기 때문에 이 추가 계층이 필요합니다. 추가 계층을 통해 정보가 VPN 터널을 통과하여 올바른 목적지에 도착할 수 있습니다.

이 모든 것이 약간 기술적이므로 포괄적인 개요를 말씀드리겠습니다. VPN 서버에 연결하면 VPN은 제어 채널을 사용하여 공유 키를 설정하고 기기와 서버 간을 연결합니다. 이 연결이 설정되면 데이터 채널이 인터넷 트래픽 전송을 시작합니다. VPN이 성능의 장단점을 논의하거나 “안전한 VPN 터널”에 대해 이야기할 때는 데이터 채널에 대해 이야기하는 것입니다. VPN 터널이 설정되면 제어 채널은 연결의 안정성을 유지하는 임무를 맡게 됩니다.

PPTP

PPTP(Point-to-Point Tunneling Protocol)는 오래된 VPN 프로토콜 중 하나입니다. 초기에는 Microsoft의 지원으로 개발되었으므로 모든 Windows 버전과 대부분의 다른 운영 체제는 PPTP를 기본적으로 지원합니다.

PPTP는 그 자체로 원시 VPN과 같은 PPP(Point-to-Point Protocol)를 사용합니다. PPP는 꽤 오래되었지만, 사용자(주로 MS-CHAP v2 사용)를 인증하고 데이터 자체를 캡슐화하여 제어 채널 및 데이터 채널 임무를 모두 처리할 수 있습니다. 그러나 PPP는 라우팅할 수 없으므로 자체적으로 인터넷을 통해 보낼 수 없습니다. 따라서 PPTP는 GRE(Generic Routing Encapsulation)를 사용하여 PPP로 캡슐화된 데이터를 다시 캡슐화하여 데이터 채널을 설정합니다.

불행히도 PPTP에는 자체 암호화 또는 인증 기능이 없습니다. 이러한 기능을 구현하기 위해 PPP에 의존하는데, PPP의 인증 시스템과 Microsoft가 추가한 암호화인 MPPE가 모두 취약하기 때문에 문제가 됩니다.

암호화: RSA RC4 알고리즘을 사용하는 Microsoft의 Point-to-Point Encryption 프로토콜(MPPE(새 창)). MPPE의 최대 강도는 128비트 키입니다.

속도: 암호화 프로토콜이 많은 컴퓨팅 파워를 필요로 하지 않기 때문에(RC4 및 128비트 키만 사용), PPTP는 빠른 연결 속도를 유지합니다.

알려진 취약점: PPTP는 1998년부터 수많은 보안 취약점이 알려져 왔습니다. 가장 심각한 취약점 중 하나는 캡슐화되지 않은 MS-CHAP v2 인증을 악용하여 중간자(MITM) 공격을 수행하는 것입니다.

방화벽 포트: TCP 포트 1723. PPTP는 GRE를 사용하므로 네트워크 주소 변환 방화벽을 통과할 수 없으며 가장 차단하기 쉬운 VPN 프로토콜 중 하나입니다. (NAT 방화벽을 사용하면 여러 사람이 동시에 하나의 공용 IP 주소를 공유할 수 있습니다. 대부분의 개별 사용자는 자신의 IP 주소를 가지고 있지 않기 때문에 이는 중요합니다.)

안정성: PPTP는 불안정한 네트워크 연결에서 OpenVPN만큼 신뢰할 수 없으며 빠르게 복구되지 않습니다.

결론: 데이터 보안이 걱정된다면 PPTP를 사용할 이유가 없습니다. Microsoft조차도(새 창) 사용자에게 데이터를 보호하기 위해 다른 VPN 프로토콜로 업그레이드할 것을 권장했습니다.

L2TP/IPSec

L2TP(Layer Two Tunneling Protocol)는 PPTP를 대체하기 위해 개발되었습니다. L2TP는 인증을 자체적으로 처리하고 UDP 캡슐화를 수행하므로, 어떤 면에서는 제어 및 데이터 채널을 모두 형성할 수 있습니다. 그러나 PPTP와 마찬가지로 자체적으로 암호화를 추가하지는 않습니다. L2TP는 PPP를 보낼 수 있지만, PPP의 고유한 약점을 피하기 위해 L2TP는 일반적으로 암호화 및 인증을 처리하는 IPSec(Internet Protocol Security) 제품군과 짝을 이룹니다.

IPSec은 VPN뿐만 아니라 라우팅 및 애플리케이션 수준 보안에도 적용할 수 있는 유연한 프레임워크입니다. L2TP/IPSec으로 VPN 서버에 연결하면, IPSec은 공유 키를 협상하고 기기와 서버 간의 보안 제어 채널 연결을 인증합니다.

그런 다음 IPSec은 데이터를 캡슐화합니다. IPSec이 이 캡슐화를 수행할 때, 인증 헤더를 적용하고 ESP(Encapsulation Security Payload)를 사용합니다. 이러한 특수 헤더는 각 패킷에 전자서명을 추가하여 공격자가 VPN 서버에 경고하지 않고 데이터를 변조할 수 없도록 합니다.

ESP는 캡슐화된 데이터 패킷을 암호화하여 공격자가 읽을 수 없도록 합니다(또한 VPN 설정에 따라 데이터 패킷도 인증합니다). IPSec이 데이터를 캡슐화하면, L2TP는 데이터 채널을 통과할 수 있도록 UDP를 사용하여 해당 데이터를 다시 캡슐화합니다.

IKEv2를 포함한 여러 VPN 프로토콜은 IPSec 암호화를 사용합니다. 일반적으로 안전하지만 IPSec은 매우 복잡하여 구현이 미흡할 수 있습니다. L2TP/IPSec은 대부분의 주요 운영 체제에서 지원됩니다.

암호화: L2TP/IPSec은 3DES 또는 AES 암호화를 사용할 수 있지만, 3DES는 이제 약한 암호로 간주되므로 거의 사용되지 않습니다.

속도: L2TP/IPSec은 동일한 암호화 강도를 사용할 때 일반적으로 OpenVPN보다 느립니다. 이는 주로 OpenVPN에서 사용하는 AES 암호화가 대부분의 일반 프로세서에서 하드웨어 가속되기 때문입니다.

알려진 취약점: L2TP/IPSec은 고급 VPN 프로토콜이지만, 유출된 NSA 프레젠테이션(새 창)에 따르면 정보 기관이 이미 이를 변조할 방법을 찾은 것으로 보입니다. 게다가 IPSec의 복잡성으로 인해 많은 VPN 제공 업체가 사전 공유 키를 사용하여(새 창) L2TP/IPSec을 설정했습니다.

방화벽 포트: 초기 키 교환에는 UDP 포트 500, NAT 통과에는 UDP 포트 5500, L2TP 트래픽 허용에는 UDP 포트 1701이 사용됩니다. 이러한 고정 포트를 사용하기 때문에 L2TP/IPSec은 다른 프로토콜보다 차단하기 쉽습니다.

안정성: L2TP/IPSec은 일부 고급 VPN 프로토콜만큼 안정적이지 않습니다. 복잡성으로 인해 네트워크 끊김이 자주 발생할 수 있습니다.

결론: L2TP/IPSec의 보안은 확실히 PPTP보다 개선되었지만, 지능형 공격자로부터 데이터를 보호하지 못할 수도 있습니다. 속도가 느리고 불안정하기 때문에 사용자는 다른 옵션이 없을 때만 L2TP/IPSec 사용을 고려해야 합니다.

IKEv2/IPSec

IKEv2(Internet Key Exchange Version Two)는 비교적 새로운 터널링 프로토콜이며 실제로는 IPSec 제품군의 일부입니다. Microsoft와 Cisco는 원래 IKEv2/IPSec 프로토콜 개발에 협력했지만 현재는 많은 오픈 소스 반복 버전이 있습니다.

IKEv2는 Diffie–Hellman 키 교환(새 창) 알고리즘을 사용하여 기기와 VPN 서버 간의 보안 통신 채널을 인증함으로써 제어 채널을 설정합니다. 그런 다음 IKEv2는 해당 보안 통신 채널을 사용하여 보안 연결(security association)을 설정하는데, 이는 단순히 기기와 VPN 서버가 동일한 암호화 키와 알고리즘을 사용하여 통신한다는 것을 의미합니다.

보안 연결이 설정되면 IPSec은 터널을 생성하고, 인증된 헤더를 데이터 패킷에 적용하고, ESP로 캡슐화할 수 있습니다. (다시 말하지만, 어떤 암호를 사용하느냐에 따라 ESP가 메시지 인증을 처리할 수도 있습니다.) 캡슐화된 데이터 패킷은 터널을 통과할 수 있도록 UDP로 다시 캡슐화됩니다.

IKEv2/IPSec은 Windows 7 이상 버전, macOS 10.11 이상 버전 및 대부분의 모바일 운영 체제에서 지원됩니다.

암호화: IKEv2/IPSec은 AES, Blowfish, Camellia를 포함한 다양한 암호화 알고리즘을 사용할 수 있습니다. 256비트 암호화를 지원합니다.

속도: IKEv2/IPSec은 빠른 VPN 프로토콜이지만 일반적으로 하드웨어 가속 OpenVPN이나 WireGuard만큼 빠르지는 않습니다.

알려진 취약점: IKEv2/IPSec에는 알려진 약점이 없으며, 거의 모든 IT 보안 전문가는 Perfect Forward Secrecy로 적절하게 구현될 경우 안전한 것으로 간주합니다.

방화벽 포트: 초기 키 교환에는 UDP 포트 500이 사용되고 NAT 통과에는 UDP 포트 4500이 사용됩니다. 항상 이러한 포트를 사용하기 때문에 IKEv2/IPSec은 다른 프로토콜보다 차단하기 쉽습니다.

안정성: IKEv2/IPSec은 Mobility and Multihoming 프로토콜을 지원하므로 대부분의 다른 VPN 프로토콜보다 신뢰할 수 있으며, 특히 다른 WiFi 네트워크 간에 자주 전환하는 사용자에게 유용합니다.

결론: 강력한 보안, 빠른 속도, 향상된 안정성을 갖춘 IKEv2/IPSec은 좋은 VPN 프로토콜입니다. 하지만 최근 WireGuard가 도입되면서 새로운 VPN 프로토콜보다 이것을 선택할 이유는 거의 없습니다.

OpenVPN

OpenVPN은 오픈 소스 터널링 프로토콜입니다. IPSec 제품군에 의존하는 VPN 프로토콜과 달리 OpenVPN은 SSL/TLS를 사용하여 키 교환을 처리하고 제어 채널을 설정하며, 고유한 OpenVPN 프로토콜을 사용하여 캡슐화 및 데이터 채널을 처리합니다.

즉, 데이터 채널과 제어 채널이 모두 암호화되므로 다른 VPN 프로토콜에 비해 다소 독특합니다. 타사 소프트웨어를 통해 모든 주요 운영 체제에서 지원됩니다.

암호화: OpenVPN은 OpenSSL(새 창) 라이브러리에 포함된 다양한 암호화 알고리즘(AES, RC5, Blowfish 포함)을 사용하여 데이터를 암호화할 수 있습니다.

AES 암호화에 대해 더 알아보기

속도: UDP를 사용할 때 OpenVPN은 빠른 연결을 유지하지만, 일반적으로 IKEv2/IPSec 및 WireGuard가 더 빠른 것으로 알려져 있습니다.

알려진 취약점: OpenVPN은 충분히 강력한 암호화 알고리즘과 Perfect Forward Secrecy로 구현되는 한 알려진 취약점이 없습니다. 데이터 보안을 중시하는 VPN의 업계 표준입니다.

방화벽 포트: OpenVPN은 모든 UDP 또는 TCP 포트에서 실행되도록 구성할 수 있습니다. 여기에는 모든 HTTPS 트래픽을 처리하는 TCP 포트 443이 포함되어 있어 차단하기가 매우 어렵습니다.

안정성: OpenVPN은 일반적으로 매우 안정적이며 검열을 무력화하기 위한 TCP 모드를 갖추고 있습니다.

결론: OpenVPN은 안전하고 신뢰할 수 있으며 오픈 소스입니다. 현재 사용 중인 최고의 VPN 프로토콜 중 하나이며, 특히 데이터 보안을 주로 우려하는 사용자에게 적합합니다. TCP를 통해 연결을 라우팅하는 기능(아래 참조) 덕분에 검열을 회피하는 데에도 좋은 선택입니다. 하지만 OpenVPN의 검열 방지 이점은 없지만 WireGuard도 안전하며 OpenVPN보다 빠릅니다.

WireGuard®

WireGuard(새 창)는 안전하고 빠르며 효율적인 오픈 소스 VPN 프로토콜입니다.

암호화: WireGuard는 대칭 암호화에 ChaCha20(RFC7539(새 창)), 익명 키 교환에 Curve25519, 데이터 인증에 Poly1305, 해시에 BLAKE2s(RFC7693(새 창))를 사용합니다. Perfect Forward Secrecy를 자동으로 지원합니다.

속도: WireGuard는 새로운 고속 암호화 알고리즘을 사용합니다. 예를 들어 ChaCha20은 동일한 강도의 AES 암호보다 훨씬 간단하며, 대부분의 기기가 하드웨어에 AES 명령어가 내장되어 있음에도 불구하고 거의 그만큼 빠릅니다. 결과적으로 WireGuard는 빠른 연결 속도를 제공하고 CPU 요구 사항이 낮습니다.

알려진 취약점: WireGuard는 다양한 공식 검증을 거쳤으며, Linux 커널에 포함되기 위해 WireGuard Linux 코드베이스는 제3자에 의해 독립적인 감사(새 창)를 받았습니다.

방화벽 포트: WireGuard는 모든 포트를 사용하도록 설정할 수 있으며 일반적으로 UDP를 통해 실행됩니다. 하지만 Proton VPN은 대부분의 앱에서 WireGuard TCP도 제공합니다.

안정성: WireGuard는 매우 안정적인 VPN 프로토콜이며 VPN 서버를 변경하거나 WiFi 네트워크를 변경하는 동안 VPN 연결을 유지하는 등 다른 터널링 프로토콜에는 없는 새로운 기능을 도입했습니다.

결론: 최첨단 VPN 프로토콜인 WireGuard는 빠르고 효율적이며 안전합니다. OpenVPN만큼 “실전 검증”되지는 않았고 OpenVPN의 TCP 기반 검열 방지 기능(아래 참조)을 제공하지는 않지만, 대부분의 경우 저희가 사용을 권장하는 VPN 프로토콜입니다.

WireGuard에 대해 더 알아보기

OpenVPN 대 WireGuard

Stealth

Stealth는 Proton이 개발한 새로운 VPN 프로토콜입니다. 이를 통해 일반 VPN 프로토콜이 정부나 조직에 의해 차단된 경우에도 검열된 사이트에 접근하고 소셜 미디어에서 사람들과 소통할 수 있습니다.

Stealth는 TLS를 통해 터널링된 WireGuard를 기반으로 합니다. 따라서 WireGuard와 동일한 암호화를 사용하며 TLS 암호화 계층이 추가되었습니다. 그 외에는 WireGuard(위에 설명됨)와 동일합니다.

Stealth에 대해 더 알아보기

기타 중요한 용어

다양한 VPN 프로토콜의 비교를 살펴보면서 익숙하지 않은 약어나 기술 용어를 접했을 수 있습니다. 여기서는 가장 중요한 몇 가지를 설명합니다.

TCP 대 UDP

전송 제어 프로토콜(TCP)과 사용자 데이터그램 프로토콜(UDP)은 기기가 인터넷을 통해 서로 통신할 수 있는 두 가지 다른 방법입니다. 둘 다 인터넷 프로토콜에서 실행되며, 이는 IP 주소로 데이터 패킷을 보내고 받는 역할을 합니다.

터널링 프로토콜이 TCP 포트 또는 UDP 포트를 사용하는 것을 보면, 이는 이 두 프로토콜 중 하나를 사용하여 컴퓨터와 VPN 서버 간의 연결을 설정한다는 것을 의미합니다.

VPN 프로토콜이 TCP, UDP 또는 둘 다를 사용하는지 여부는 성능에 큰 영향을 미칠 수 있습니다. TCP는 주로 데이터가 올바른 순서로 되어 있는지 확인하고 그렇지 않은 경우 수정하는 추가 검사를 실행하여 데이터를 정확하게 전달하는 데 중점을 둡니다.

이는 좋은 기능처럼 들리지만, 검사를 수행하는 데 시간이 걸려 성능이 느려집니다. TCP를 통해 VPN을 실행(TCP over TCP)하면 TCP 멜트다운이라고 불리는 현상으로 인해 연결 속도가 느려질 수 있습니다.

예를 들어, OpenVPN TCP 터널을 통과하는 TCP 트래픽이 있고 터널의 TCP 데이터가 오류를 감지하면 보상을 시도하게 되는데, 이로 인해 TCP 터널이 과잉 보상을 하게 될 수 있습니다. 이 과정은 데이터 전달에 심각한 지연을 초래할 수 있습니다.

하지만 검열을 우회하는 데에도 좋습니다. HTTPS(새 창) 트래픽은 TCP 포트 443을 사용하므로, VPN 연결을 동일한 포트를 통해 라우팅하면 일반적인 보안 VPN 트래픽처럼 보이기 때문입니다.

포트 443을 통해 VPN 트래픽을 실행할 수 있는 기능은 OpenVPN(및 Proton VPN의 사용자 지정 TCP 구현을 사용하는 경우 WireGuard)을 사용하는 가장 큰 장점 중 하나입니다.

TCP 및 UDP에 대해 더 알아보기

Perfect Forward Secrecy

Perfect Forward Secrecy는 암호화된 통신의 중요한 보안 구성 요소입니다. 이는 암호화 키가 생성되는 방식을 관리하는 작업을 말합니다. VPN이 Perfect Forward Secrecy를 지원하는 경우 각 세션(즉, 새 VPN 연결을 설정할 때마다)에 대해 고유한 키 세트를 생성합니다.

이는 공격자가 어떻게든 키 중 하나를 얻더라도 해당 특정 VPN 세션의 데이터에만 접근할 수 있다는 것을 의미합니다. 나머지 세션의 데이터는 서로 다른 고유 키로 보호되므로 안전하게 유지됩니다. 또한 VPN의 비밀 키가 노출되더라도 세션 키는 안전하게 유지됨을 의미합니다.

Proton VPN 앱에서 사용하는 프로토콜

저희는 활동가, 반체제 인사, 언론인이 안전하고 비공개적으로 인터넷에 접근할 수 있도록 보장하기 위해 Proton VPN을 시작했습니다. Proton 커뮤니티를 안전하게 유지하기 위해 신뢰할 수 있고 검증된 VPN 프로토콜만 사용합니다. 다음 목록은 다양한 앱에서 지원되는 VPN 프로토콜을 보여줍니다:

  • Windows: OpenVPN, WireGuard®, 및 Stealth
  • macOS: OpenVPN, IKEv2, WireGuard, 및 Stealth
  • Android: OpenVPN, WireGuard, 및 Stealth
  • iOS/iPadOS: OpenVPN, IKEv2, WireGuard, 및 Stealth
  • Linux: OpenVPN 및 WireGuard

UDP 또는 TCP 모드에서 OpenVPN 및 WireGuard를 사용할 수 있습니다.

VPN 프로토콜 변경 방법 알아보기

Windows, macOS, Android, 및 iOS/iPadOS 앱은 Smart Protocol을 지원합니다. 이 검열 방지 기능은 네트워크를 지능적으로 탐색하여 최적의 성능에 필요하거나 검열을 우회할 수 있는 최상의 VPN 프로토콜 설정을 찾습니다.

예를 들어, 필요에 따라 다른 포트를 사용하여 IKEv2에서 OpenVPN으로, 또는 OpenVPN UDP에서 OpenVPN TCP로 자동으로 전환할 수 있습니다.

Smart Protocol에 대해 더 알아보기

저희의 모든 앱은 VPN 프로토콜이 지원하는 가장 강력한 보안 설정을 사용합니다. OpenVPN, WireGuard, 및 IKEv2/IPSec은 대다수의 IT 보안 전문가가 안전하다고 동의하는 유일한 프로토콜입니다.

저희는 PPTP 또는 L2TP/IPSec을 사용하는 VPN 연결(운영 비용이 저렴하고 설정하기 쉽지만)은 보안이 저희 기준을 충족하지 않기 때문에 제공을 거부합니다.

Proton VPN에 로그인하면 VPN 연결이 최신의 가장 강력한 터널링 프로토콜을 사용하고 있다고 확신할 수 있습니다.

감사합니다,
Proton VPN 팀

PROTON VPN 받기

소셜 미디어에서 저희를 팔로우하여 최신 Proton VPN 릴리스 소식을 받아보세요:

Twitter (새 창)| Facebook(새 창) | Reddit(새 창)

무료 Proton Mail 암호화된 이메일 계정을 받으려면 다음을 방문하세요: proton.me/mail(새 창)