VPN 암호화 프로토콜 뭐가 다를까?
우리가 VPN을 가입하려고 정보를 찾다 보면 OpenVPN을 가장 많이 보게 되고, 네이버 지식인을 검색해보면 특정업체는 중국에서 IKEv2가 잘 안막히니 짱이라고 이야기 합니다.(하지만 여전히 유명해지지 않고있는걸 보면…) 구체적인 차이점은 설명하지 않고 다들 자기에게 유리한게 최고라고 하니 헷갈리지 않을 수 없습니다. 암호화의 차이가 궁금하신 분들은 대부분 초보분들일테니 최대한 간단하게 설명하도록 하겠습니다.
프로토콜(Protocol)이란 무엇인가?
한 단어로 이야기 하자면 ‘통신 규약(通信規約)‘ 입니다. 한국말을 쓰는 사람은 한국말로 대화를 해야 서로 알아먹고, 영어만 사용할줄 아는 사람은 영어로 소통해야겠지요. 컴퓨터끼리 서로 데이터를 주고 받고 통신하기 위해서 만든 하나의 규칙이라고 볼 수 있습니다.
갤럭시 안드로이드폰 충전기와 아이폰 충전기가 서로 달라서 충전을 시켜줄 수 없는 것 처럼 세상에는 다양한 규약과 규칙이 있습니다. 프로토콜 또한 그런 종류지요.
VPN 암호화의 종류는?
가장 널리 알려진 것들은 다섯 종류 입니다.
- OpenVPN
- SSTP
- L2TP-IPsec
- IKEv2
- PPTP
이 중에서 PPTP는 이제 쓰면 안된다고 볼 수 있는 취약한 구식 암호화 입니다.
VPN도 해킹될까?
VPN의 핵심은 ‘암호화(Encryption)‘ 입니다. ‘암호화 터널‘을 생성해서 사용자가 주고 받는 데이터를 모두 누구도 알아 볼 수 없게 만들어 주는 것이 가장 중요한 기능인데요. VPN이라고 해서 모두 안전한 것이 아닙니다.
해커, 특정 의도를 가진 정부 조직으로 부터 무조건 안전하다고 할 수 없습니다. 여전히 많은 VPN들이 겉모습만 그럴싸하게 만들어놨지 속을 들여다 보면 ‘속 빈 강정‘경우가 허다 합니다. 두가지는 확실히 알아두고 가면 좋습니다.
- 가장 취약한 암호화 방식인 PPTP도 쓰지 않는 것 보다는 무조건 안전하고 좋다.
- 우리가 크게 나쁜 짓을 하지 않는 이상 굳이 우리를 해킹하려 들지 않을 것 이다.
하지만 더, 혹은 확실하게 안전하다면 나쁠 것 없죠.
미국 정보기관을 폭로한 에드워드 스노든 Said
사람들이 쓰는 인터넷과 전화통화 등을 모두 감청할 수 있다고 폭로되었던 미국의 NSA(국가안보국). 스노든이 폭로한 문서에 의하면 NSA는 실시간으로 엄창난 규모의 암호화된 인터넷 트래픽을 ‘복호화(decryption)‘ 할 수 있다고 합니다. NSA의 음모론에 항상 등장하는 것이 바로 MS(마이크로소프트)인데 바로 PPTP라는 암호화 방식을 만든게 마이크로소프트이고 대표적인 미국 기업인 마소가 NSA와 뒷거래를 했다는 이야기는 예전부터 떠돌았습니다.
NSA가 VPN, SSH, HTTPS 같은 암호화 기술에 구멍을 낼 수 있었던 이유는 디피-헬만 키 교환 알고리즘(Diffie-Hellman key exchange)의 취약점을 이용했기 때문입니다. 디피 & 헬만 두사람이 만든 저 알고리즘은 IPSec, SSL 등 유명한 암호화 방식의 기초가 되는 기술 입니다.
A와 B가 암호화를 주고 받는다고 가정했을때 제3자가 B인 것 처럼 키를 받을 수 있고, 검증 구조가 복잡하지 않아 스니핑으로 암호화 된 정보를 재전송 및 조작할 수 있다고 합니다. 우리가 자세한 것을 다 알필요도 없고, 알아도 할 수 있는게 제한적이기 때문에 PPTP 같은 이미 수명이 정해져있는 방식은 이왕이면 피하는게 좋다는 것을 이야기 하고 싶었습니다. 그와 함께 L2TP/IPSec도 미덥지 않은 것으로 알려져 있습니다.
PPTP
위에서 말씀 드린것과 마찬가지로 iOS(아이폰, 아이패드)에서는 기본적으로 사용을 막아놨을 정도로 신뢰를 많이 잃은 상태입니다. 항상 미국 정부와 커넥션이 있다고 의심을 받아온 Microsoft가 만들기도 했고 취약하다고 알려진 MS CHAPv2을 여전히 많이 쓰기도 합니다.
뜻은 포인트-투-포인트 터널링(Point to Point Tunneling) 입니다. 장점은 암호화 수준이 낮아서 인지 ‘속도’가 빠릅니다. 그래서 무료 VPN과 일부 스펙 딸리는 유료 VPN 업체들이 PPTP를 기본으로 사용 합니다.
굳이 비유하자면 ‘오토바이’나 ‘자전거’와 비슷 합니다. 가볍고 민첩하지만 사고가 났을때 크게 다칠 확률이 큽니다.
L2TP/IPsec
처음 이 프로토콜이 만들어진 이유는 PTPP의 단점을 조금 보완해보자는 취지였습니다. 업체들이 이 프로토콜을 많이 쓰지 않는 이유는 두가지 입니다. 1. 굳이 쓸 필요가 없고 2. CPU 부하가 다른 암호화 방식 보다 좀 더 크다. 고 볼 수 있습니다.
L2TP 자체적으로는 데이터의 암호화, 기밀성을 제공하지 않아서 IPsec을 붙여서 사용합니다. UDP 500 Port를 사용하는데 NAT 방화벽에 쉽게 막힌다고 하네요. 이 프로토콜 역시 스노든의 문서로 인해서 NSA로부터의 위협에서 자유로울 수 없을 수 있다는 의심을 받고있습니다.
SSTP
Secure Socket Tunneling Protocol(보안 소켓 터널링 프로토콜)은 성능만 본다면 좋은 점수를 받을 수 있지만 가장 큰 단점은 바로 PTPP와 마찬가지로 ‘마이크로소프트’가 만들었다는 것 입니다.(윈도우 Vista SP1부터 시작) 그것 때문에 태생부터 신뢰를 잃고 시작했다고 할 수 있습니다. 리눅스에서도 사용이 가능하긴 하지만 윈도우 전용이라고 말할 수 있으며, 마소가 독점적 권리를 가지고 있습니다.
TCP 443 포트를 통한 SSL 프로토콜을 이용하기 때문에 중국 같이 차단벽이 견고한 곳에서 좀 더 빛을 발휘합니다.
IKEv2
SSTP 처럼 중국에서 잘 먹힌다고 특히나 ‘한국 VPN 업체’들이 가장 많이 이야기 하고 있지만, 전세계 유명 업체들은 기본 프로토콜로 사용한 것을 거의 못봤습니다. 보안 전문가들로 부터 가장 단점이라고 지적 받는 부분은 ‘오픈소스’가 아니라는 것 입니다. 투명성에 있어서 점수가 깎이는 것.
VPN 제공자 측에서 안정적인 서버 구현이 어려워 잠재적으로 문제가 생길 수 있으며, 다양한 플랫폼을 지원하지 않아 사용이 제한적 입니다.
그리고 IKEv2 역시 마이크로소프트+시스코의 품에서 태어났습니다.
OpenVPN
전세계적으로 가장 널리 많이 쓰이며 저 또한 가장 신뢰하는 암호화 방식 입니다. 세계 TOP VPN 회사들 중에서 쓰지 않는 곳이 없으며, 가장 믿을 수 있는 부분은 ‘오픈소스(OpenSource)‘라는 것 입니다. 오늘 소개해드린 암호화 프로토콜 중에서 ‘유일’하게 MS의 그늘에서 벗어나 있습니다. 유연하고 투명하며 성능까지 좋습니다.
여기까지 간략하게 알아보았는데요. 일반인이야 PPTP 쓰셔도 뭐 크게 위험하지 않으리라 생각합니다. 다시 말씀드리지만 하지 않는 것 보다는 훨씬 나으니까요. 다만 우리가 얼마든지 선택할 수 있는 상황에서 가장 좋은 옵션은 오픈VPN이라는 것 이지요.