VPN 프로토콜은 귀하의 VPN 앱이 VPN 서버와의 연결을 설정하고, 보호하고, 제어하는 데 사용하는 지침 모음입니다. OpenVPN은 알려진 취약점이 없으며 특정 온라인 검열 방법을 우회하는 데 효과적인 VPN 프로토콜입니다. 또한 OpenVPN은 매우 다양한 플랫폼과 기기에서 지원된다는 장점이 있습니다.

OpenVPN의 소스 비공개 구현 방식도 존재하지만, 무료 오픈 소스인 Community Edition도 제공됩니다.

본 문서에서는 OpenVPN의 작동 방식, OpenVPN이 Proton VPN 커뮤니티를 안전하게 보호하는 방식, 그리고 다른 VPN 프로토콜과의 비교를 자세히 알아봅니다. 이 문서는 귀하가 VPN의 작동 방식을 이미 이해하고 계신 경우 가장 도움이 될 것입니다.

VPN 작동 방식에 대해 더 알아보기

2001년에 처음 출시된 OpenVPN은 속도, 성능, 효율성 면에서 세월의 흔적이 나타나기 시작했습니다. 하지만 여전히 안전한 것으로 널리 평가받고 있으며, 이러한 인식은 2013년 NSA 내부 고발자인 에드워드 스노든이 폭로한 문서로 인해 더욱 확고해졌습니다.

Proton VPN 받기

이 문서들은 귀하가 사전 공유 키를 사용하지 않는 한(새 창), OpenVPN이 당시 NSA가 해킹할 수 없었던 유일한 대중적 VPN 프로토콜이었음을 강력하게 시사했습니다. 더 최신의 안전한 VPN 프로토콜인 WireGuard®는 2013년 당시 아직 개발되지 않은 상태였습니다. WireGuard가 더 빠르고, 가벼우며, 효율적이지만, 오랜 기간 검증된 OpenVPN의 실적에는 미치지 못합니다.

OpenVPN 장점:

  • 오픈 소스
  • 실전에서 검증된 보안성
  • UDP 또는 TCP를 통해 실행 가능
  • 폭넓은 지원

OpenVPN 단점:

  • 현재로서는 성능이 WireGuard에 미치지 못함 (단, 이를 개선하기 위한 작업이 진행 중임)
  • 상대적으로 크고 복잡한 코드베이스

Proton VPN은 모든 앱에서 OpenVPN을 지원합니다:

  • Windows 
  • macOS
  • Android
  • Android TV(Smart Protocol을 통해)
  • iOS 및 iPadOS
  • Linux 앱 및 CLI
  • Chrome OS

OpenVPN은 어떻게 저를 안전하게 보호하나요?

OpenVPN은 귀하의 데이터를 안전하게 보호하기 위해 여러 암호화 기술을 사용하며 알려진 취약점은 없습니다. (Proton VPN의 구현을 포함하여) 대부분의 최신 OpenVPN 구현 방식에서 사용되는 기술은 다음과 같습니다:

AES

AES(Advanced Encryption Standard)는 귀하의 VPN 연결을 통해 전송되는 데이터를 암호화하고 복호화하는 데 사용되는 대칭 키 암호입니다.

이는 미국 국립표준기술연구소(새 창)(NIST)의 인증을 받았으며 기밀 데이터를 보호하기 위해 미국 정부에서 사용합니다. AES의 최대 키 크기는 256비트(AES-256)이며, 미국 정부는 AES-256을 “일급 비밀” 정보를 보호하기에 충분한 것으로 규정하고 있습니다(새 창).

OpenVPN 암호화 제품군의 일부로 사용되는 경우, AES는 AES-CBC(Cipher Block Chaining) 또는 AES-GCM(Galois/Counter Mode) 모드로 사용할 수 있습니다. Proton VPN의 작동 방식을 이해하는 데는 AES-GCM에 대해서만 알고 계시면 됩니다.

보안성은 동일하지만, 더 최신 기술인 AES-GCM은 데이터를 안전하게 보호하는 동시에 인증할 수 있는 연관 데이터가 포함된 인증된 암호화(새 창)(AEAD) 방식입니다. TLS 연결을 인증하려면 여전히 HMAC SHA(아래 참조)가 필요하지만, AES-GCM은 SHA보다 데이터를 인증하는 데 더 효율적이며 따라서 더 빠릅니다.

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

RSA

OpenVPN은 데이터를 보호하기 위해 AES에 의존하지만, VPN 연결을 통해 데이터를 전송하기 위해 공개 키 암호화(새 창)를 적용합니다. 이 암호화 시스템은 비대칭 키 교환을 사용하는데, 여기서 데이터는 수신인의 공개적으로 공유된 공개 키를 사용하여 암호화됩니다. 그런 다음 이 데이터는 수신인의 비밀 키로만 복호화할 수 있습니다, .

비대칭 키 암호화는 인터넷을 통해 비밀리에 데이터를 보내는 데 효과적이지만, AES와 같은 대칭 암호화 시스템에 비해 속도가 느립니다. 이 때문에 주로 VPN에서 VPN 클라이언트와 VPN 서버 간의 연결을 인증하는 데 사용됩니다. OpenVPN은 이를 위해 RSA 암호화 시스템(새 창)을 사용합니다.

RSA 키 길이는 거의 모든 크기가 될 수 있지만, 4096비트 키는 리소스를 낭비하고 귀하의 연결 속도를 저하시키는 높은 연산 오버헤드를 발생시키지 않으면서 충분히 안전합니다.

DHE

디피-헬먼 키 교환(새 창)(DHE)은 RSA와 유사하게 TLS 키 교환을 보호하는 데 사용될 수 있으며, 추가적으로 전방향 안전성(새 창)(forward secrecy)도 제공한다는 장점이 있습니다. 전방향 안전성은 각 세션마다 새로운 키가 사용되도록 보장하므로, 하나의 세션이 유출되더라도 다른 세션은 영향을 받지 않습니다. 전방향 안전성은 공격자가 단 하나의 유출된 키로 과거의 VPN 세션을 복호화할 수 없도록 보장합니다.

그러나 DHE는 제한된 소수 집합을 재사용하기 때문에 로그잼(logjam) 공격(새 창)에 취약할 수 있습니다. 충분히 큰 키 크기를 사용하면 이 문제에 대한 우려가 훨씬 줄어들지만, TLS 키 교환을 보호하는 데 사용하는 것은 여전히 논란의 여지가 있습니다.

이 때문에 Proton VPN은 전방향 안전성을 제공하기 위해 OpenVPN 암호화 제품군에서 DHE 지원을 활용하지만, 키 교환 자체를 보호하는 데는 사용하지 않습니다.

HMAC SHA

OpenVPN은 TLS 키 교환에 사용되는 TLS 인증서를 검증하기 위해 HMAC SHA를 사용합니다. 이를 통해 중간자 공격을 방어합니다.

암호화 해시 함수(새 창)SHA 제품군(새 창)은 데이터를 인증하는 데 사용됩니다. 데이터 집합에 대해 이러한 복잡한 수학적 함수가 수행되면 고유한 지문이 생성됩니다. 해당 데이터 중 단 1비트만 변경되어도 SHA 지문 역시 변경됩니다.

SHA-1(160비트 해시 함수)은 충돌 공격에 취약한 것(새 창)으로 알려져 있지만, SHA-2는 여전히 안전한 것으로 간주됩니다. 더욱 중요한 것은 OpenVPN이 어쨌든 해시 메시지 인증 코드(새 창)(HMAC) 값을 계산하는 데만 SHA를 사용한다는 점입니다. 이 값은 SHA 알고리즘 단독보다 공격하기가 훨씬 더 어려우며, SHA-1조차도 여전히 HMAC용으로는 충분히 안전한 것으로 평가받을(새 창) 정도입니다.

OpenVPN 채널

OpenVPN은 귀하의 기기와 VPN 서버 간에 데이터를 안전하게 전송하기 위해 두 개의 개별 채널을 사용합니다.

OpenVPN 작동 방식 개요

데이터 채널

VPN 터널을 통해 귀하의 데이터를 보내기 전에 OpenVPN은 대칭 키 암호로 데이터를 암호화합니다.

Proton VPN은 데이터를 검증하기 위해 GCM 모드에서 최대 AES-256을 사용합니다.

제어 채널

데이터가 암호화되면 VPN 터널을 통해 전송될 수 있습니다. 제어 채널은 VPN 클라이언트와 VPN 서버 간의 TLS 연결을 설정합니다. 이는 대칭 키 암호를 사용하여 보호되지만 비대칭 키 교환이 적용됩니다.

Proton VPN은 대칭 암호화에 최대 AES-256-GCM을 사용하며, TLS 인증서를 검증하기 위해 RSA-4096 및 HMAC SHA-384 해시 인증을 적용합니다. 당사가 사용하는 암호화 제품군에는 전달 비밀성을 제공하는 디피-헬먼 키 합의(DHE)도 포함되어 있습니다.

OpenVPN으로 VPN 검열을 우회할 수 있을까요?

OpenVPN의 큰 장점 중 하나는 인터넷을 통해 데이터를 보내는 방식을 처리하는 두 가지 주요 프로토콜인 UDP와 TCP 전송 프로토콜 모두에서 실행할 수 있다는 것입니다. UDP는 더 빠르고 TCP는 더 안정적이지만, 이러한 유연성이 제공하는 핵심 장점은 TCP가 정부 및 기타 조직의 검열을 무력화하는 데 유용하다는 점입니다.

UDP와 TCP의 차이점에 대해 더 알아보기

TCP 포트 443은 웹을 보호하는 암호화 표준인 HTTPS(새 창)에서 사용됩니다. 이 때문에 모든 HTTPS 트래픽을 차단하지 않고는 TCP 포트 443을 통해 실행되는 OpenVPN을 차단하기 어렵기 때문에, OpenVPN은 저수준 VPN 차단을 우회하는 데 유용합니다.

그러나 더 발전된 형태의 심층 패킷 분석은 HTTPS와 VPN 패킷의 차이를 쉽게 감지할 수 있습니다.

심층 패킷 분석에 대해 더 알아보기

OpenVPN은 감사를 받았나요?

크라우드펀딩 캠페인 이후, OpenVPN 2.4는 2016년에 OSTIF와 QuarksLab으로부터 독립적인 감사(새 창)를 받았습니다. 결과는 매우 긍정적이었으며, 발견된 유일한 심각/높음 등급의 취약점은 서비스 거부(DoS) 취약성에 관한 것이었으며 사용자의 보안에는 영향을 미치지 않았습니다. 이 문제 또한 신속하게 해결되었습니다.

그러나 2016년은 이제 꽤 오래전 일이며, 집필 당시 기준 최신 버전은 OpenVPN 2.6.1입니다.

OpenVPN vs. WireGuard

더 새로운 WireGuard 프로토콜은 안전하고 빠르며 효율적이며, 이것이 바로 Proton VPN이 현재 이를 기본 VPN 프로토콜로 사용하는 이유입니다. TCP를 통해 실행되는 OpenVPN의 기능은 바닐라 WireGuard에 비해 여전히 장점이지만, Proton VPN은 이제 TCP를 통해서도 실행되는 WireGuard 버전을 개발했습니다.

WireGuard에 대해 더 알아보기

또한 WireGuard는 당사의 Stealth 난독화 프로토콜의 기반을 형성하며, 이는 TCP를 통해 OpenVPN을 실행하는 것보다 검열 차단을 회피하는 데 훨씬 더 효과적입니다.

Stealth에 대해 더 알아보기

OpenVPN의 보안이 WireGuard보다 더 오랜 시간 동안 검증되었다는 사실이 일부 사용자에게는 여전히 매력적일 수 있지만, 귀하의 현재 기기가 WireGuard를 지원하지 않는 한 WireGuard 대신 OpenVPN을 선택할 이유는 거의 없습니다.

맺음말

수년 동안 OpenVPN은 사실상 기본 VPN 프로토콜이었으며, 이 때문에 라우터 및 기타 인터넷 가능 기기에서 여전히 매우 잘 지원됩니다. 여전히 매우 안전하지만, 더 최신 기술인 WireGuard(특히 더 새로운 프로토콜에 대한 Proton VPN의 사용자 지정 구현)에 비하면 장점이 거의 없습니다.