2018년 출시 이후 WireGuard는 빠르게 주목받는 신예 VPN 프로토콜로 자리 잡았습니다. 오랫동안 업계 표준처럼 사용되어 온 OpenVPN의 강력한 대안으로 떠오른 것이죠.
하지만 WireGuard가 OpenVPN보다 나은 점과 아쉬운 점은 무엇일까요? 두 프로토콜의 핵심 기능은 어떻게 비교되며, 현재 WireGuard를 지원하는 VPN 업체에는 어떤 곳들이 있을까요?
WireGuard vs OpenVPN: 코드량
WireGuard의 코드는 약 4,000줄에 불과합니다. 반면 오픈소스 버전의 OpenVPN은 70,000줄, 수정된 버전은 무려 600,000줄에 달하기도 합니다.
코드가 적으면 공격 표면(attack surface)이 작아진다는 것이 가장 큰 장점입니다. 해커가 취약점을 찾기 어려워지고, 개발자가 보안 허점을 보완하기도 훨씬 수월해집니다.
또한 코드가 적을수록 버그 발생 가능성도 낮아집니다. 문제가 생길 여지 자체가 줄어드는 것이죠. 반면 OpenVPN 사용자라면 크래시나 프리징이 드물지 않다는 사실을 잘 알고 있을 겁니다.
WireGuard vs OpenVPN: 크립토 애질리티(Crypto-Agility)
WireGuard는 '크립토 애질리티'가 없지만, OpenVPN은 이를 갖추고 있습니다. 크립토 애질리티란 보안 시스템이 보안 프로토콜과 암호화 방식을 유연하게 전환할 수 있는 능력을 말합니다.
흥미롭게도 크립토 애질리티가 없다는 점이 오히려 WireGuard를 더 안전하게 만듭니다. 단 하나의 암호화 스위트만 지원하기 때문에 복잡성이 줄어들고, 그만큼 취약점도 줄어들며 중간자(man-in-the-middle) 공격의 여지도 좁아집니다.
개발팀 역시 만약의 사태에 대비해 설계했습니다. 심각한 문제가 발생하면 새로운 암호화 스위트로 업데이트할 수 있도록 말이죠. 이는 일반적인 비(非)크립토 애질리티 시스템의 흔한 함정을 피하는 방법입니다.
WireGuard는 '버저닝(Versioning)'이라는 방식을 사용합니다. 변경이 필요하면 패키지 전체가 새로 릴리스되고, 서버는 새 버전으로 연결을 요청하며, 이전 버전은 완전히 비활성화됩니다. 반면 OpenVPN 업데이트는 훨씬 복잡합니다. 새 키와 키 길이를 항목별로 하나하나 합의해야 하기 때문입니다.
WireGuard vs OpenVPN: 연결 속도
구형 VPN 프로토콜에 대한 가장 큰 비판 중 하나는 연결 속도입니다. 핸드셰이크 과정이 완료되고 세션이 시작되기까지 몇 초씩 걸릴 수 있습니다.
WireGuard는 이 시간을 획기적으로 단축했습니다. 성능이 괜찮은 하드웨어에서는 단 0.1초 만에 연결될 수 있습니다.
WireGuard Windows
얼마 전까지 WireGuard에는 Windows 버전이 없었습니다. 아키텍처상의 이유로 macOS, iOS, Android, Linux에서만 사용할 수 있었죠. 리드 개발자 제이슨 도넨펠트(Jason Donenfeld)는 OpenTAP 어댑터 코드나 마이크로소프트의 네이티브 VPN API가 안고 있는 문제를 감수하고 싶지 않았습니다.
2019년 중반 상황이 바뀌었습니다. 드디어 WireGuard Windows가 등장한 것입니다. 커널 접근 불가 같은 Windows 설계상의 복잡함 때문에 팀은 프로젝트를 사실상 처음부터 다시 개발해야 했습니다. 단순 포팅이 아니라 ntoskrnl.exe와 ndis.sys 전체를 리버스 엔지니어링해야 했을 정도입니다.
기술에 익숙하지 않은 사용자도 걱정할 필요가 없습니다. 복잡한 설치 과정 없이 32비트와 64비트용 독립 실행형 인스톨러를 실행하기만 하면 됩니다. WireGuard Windows의 UI는 단순하지만 실용적이며, 개별 설정 파일이나 ZIP 파일로 묶인 여러 터널을 한꺼번에 가져올 수 있습니다.
가장 인상적인 기능은 시스템 재부팅 후에도 VPN 연결을 유지하는 능력입니다. UI를 열 필요조차 없이 즉시 재연결됩니다.
WireGuard 지원 VPN 업체
직접 WireGuard를 체험해 보고 싶다면 이 새 프로토콜을 지원하는 VPN 업체에 가입해야 합니다.
다행히 주요 VPN 브랜드 사이에서 지원이 점차 확대되고 있습니다. 지금 바로 이용해 볼 수 있는 대표적인 WireGuard VPN 업체 두 곳을 소개합니다.
1. Mullvad
Mullvad는 사용자에게 WireGuard 키 5개를 제공합니다. 기기당 키 1개가 필요하므로 최대 5대의 기기를 연결할 수 있습니다.
Mullvad의 WireGuard 서비스에 연결하려면 터미널을 사용해야 합니다. 키가 없다면(mullvad tunnel wireguard key check 명령으로 확인 가능) mullvad tunnel wireguard key generate 명령으로 새 키를 생성하세요.
키를 발급받은 후에는 mullvad relay set tunnel wireguard any로 연결하고, mullvad relay set tunnel openvpn any로 연결을 해제할 수 있습니다.
2. IVPN
IVPN 고객은 2018년 12월부터 IVPN 앱 내에서 WireGuard 프로토콜을 선택할 수 있습니다.
다만 회사 측은 다음과 같이 경고하고 있습니다.
"WireGuard 프로토콜은 현재 활발히 개발 중이며 실험적인 단계로 간주해야 합니다. 현 시점에서 우리는 보안 테스트 목적이나 보안이 중요하지 않은 상황을 제외하고는 WireGuard 사용을 권장하지 않습니다."
보안 위험을 줄이기 위해 IVPN의 모든 WireGuard 서버는 OpenVPN 서버와 분리되어 운영됩니다.
Private Internet Access는 WireGuard를 지원하나요?
Private Internet Access는 WireGuard의 잠재력을 빠르게 알아본 업체입니다. 2018년과 2019년 두 해 연속 이 프로젝트의 최대 후원자였습니다.
그러나 Private Internet Access는 아직 고객에게 WireGuard를 제공하지 않습니다. 해당 주제에 관한 블로그 게시물에는 이렇게 적혀 있습니다.
"WireGuard가 실무 환경에서 사용할 준비를 갖추려면 아직 해야 할 일이 많습니다 […] WireGuard가 개념적으로 매우 유망하고 그 개발 원칙이 탄탄하다는 점을 이해하는 것이 중요하지만, 프로덕션 환경에서 안전하게 사용하려면 기능이 완전해야 하고 모든 '최종' 구성 요소에 대한 독립적인 검토를 거쳐야 합니다."
이어서 "일부 VPN 업체는 성급하게 WireGuard를 도입해 이미 서비스를 운영하고 있습니다. 이는 신중하지 못한 행동이며, 초기 코드에서 보안 결함이 발견될 경우 심각한 위험을 초래할 수 있습니다"라고 덧붙였습니다.
WireGuard vs OpenVPN: 그래서 무엇을 선택해야 할까?
WireGuard는 전 세계 보안 전문가들로부터 극찬을 받아 왔습니다. 이미 수많은 VPN 업체가 WireGuard를 지원하고 있다는 사실 자체가 그 잠재력을 증명합니다.
하지만 아직은 이른 시기입니다. WireGuard는 이제 막 여정을 시작했을 뿐이며, 앞으로 문제가 생길 가능성도 배제할 수 없습니다. 당분간은 OpenVPN도 새 프로토콜과 함께 중요한 역할을 계속 수행할 것입니다.
다양한 VPN 프로토콜에 대해 더 알아보고, 최고의 VPN 서비스 추천도 함께 확인해 보세요.