암호화 VPN 프로토콜 비교(PPTP,OpenVPN,SSTP,L2TP-IPsec,IKEv2)

유료 VPN을 사용할때 보면 프로토콜(Protocol)이라는게 항상 보입니다.

OpenVPN,SSTP,L2TP-IPsec,IKEv2,PPTP 이런것들이 막 둥둥 떠다니는데, 흰것은 바탕이요 검은것은 글씨라.. 도대체 저 단어들이 뭘 의미하는지 알 수 없습니다. 사실 알고보면 별거 아니거든요.

제가 간단한 설명과 조금 더 자세한 설명을 같이 포스팅하겠습니다.

우선 프로토콜(Protocol)이란 무엇인가 부터 알아봅시다.

한 사무실에서 일을 하는데, 누구는 한국어 쓰고.. 누구는 영어.. 누구는 러시아어를 쓴다면 도무지 일이 되지 않을 것 입니다.  서로 ‘소통’이 되어야 하는데요. 프로토콜이라는 것은 서로 어떻게 소통할지에 대한 ‘약속’이라고 생각하시면 됩니다.

한국에서는 220v 콘센트를 쓰는데, 해외나가면 110v가 있죠? 그럼 서로 ‘규격’이 맞지 않으니 사용할 수 없잖아요. 이런 예들 처럼 서로 호환이 가능하도록 만든 거에요.

한마디로 프로토콜이라는 것은 ‘이쪽’이랑 ‘저쪽’이랑 ‘주고 받기’가 가능하도록 맞춘 규약 입니다.

뭘 만들거면 딱 한가지로 통일을 할것이지 뭐가 이렇게 많은거여???

PPTP,OpenVPN,SSTP,L2TP-IPsec,IKEv2 이중에 뭐가 젤 좋은가염?

예전에 만들어진것은 기술적으로 좀 뒤떨어지기도 하고.. 새로 만든것도 어떤 환경에선 잘되는데 또 다른곳에서는 잘 안되기도 하고… 어떤 조직에서는 우리가 따로 좋은거 만들거야!!! 하면서 또 만들기도 하고.. 그런거죠.

그냥 간단하게 이야기 하면 오픈VPN만 사용하시면 충분하고 차고 넘칩니다.

대부분의 유료 VPN들이 채택한데는 이유가 있지요. 거기다가 ‘오픈소스(Opensource)라 믿을 수 있지요.

암호화 수준이 높을수록 속도는 희생되는 단점이 있긴 하지만 막 엄청~ 느려지고 그런것은 아닙니다.

예를 들면 모스부호 같은걸로 메세지를 주고 받을때 그걸 받아서 해석을 해야 하니 그냥 말을 주고 받는것 보다는 시간이 걸리겠죠, 또 답장을 보낼때도 보내는 사람은 보낼말을 신호로 바꿔서 보내야하니 생각을 하고 그 형태로 보내야 하니까 또 시간이 걸리구요.

네트워크 용어에서 P 들어가면 대부분 프로토콜(Protocol)인 경우가 많습니다.

TCP/IP 역시 Transmission Control Protocol / Internet Protocol 두번이나 들어감!

실시간으로 암호화(Encryption)를 해서 엄청난 데이터를 주고 받아야 중간에서 해커, 정부, ISP(인터넷 서비스를 제공하는 회사) 등이 우리가 무러하는지 들여다 볼 수 없지요.

아래에 다시 설명을 드리겠지만 openvpn 보다 sstp같은게 좀 더 안전해 보일수도 있는데.. 사실 저건 마이크로소프트에서 만든거라서 미국 정부, NSA 같은데서 언제나 들여다 볼 수 있게 백도어를 만들어놨는지 아닌지 확인할 길이 없습니다. 그래서 탑급 VPN 업체들은 다들 openvpn을 주력으로 쓰지요.

호환성도 좋고, 속도도 좋고 장점이 많습니다.

그럼 좀 더 자세히 하나씩 하나씩 장단을 따져봅시다.

PPTP – 한물갔고 취약점이 있는 프로토콜

PPTP는 Microsoft Corporation가 만든 컨소시엄을 통해 개발되었습니다. 뜻은 포인트-투-포인트 터널링(Point to Point Tunneling)이라는 뜻인데요. 윈도우(Windows)에 기본적으로 사용되어져 왔기 때문에 가장 많이 쓰였고 지금도 꽤 많이 쓰이고 있어요.

무료 VPN 프로그램들 중에서도 PPTP를 쓰는 곳들이 많습니다. 암호화 수준이 비교적 낮아서 불안하지만 그만큼 속도에서 희생을 덜하기 때문에 사용자들에게는 조금이라도 빠르게 느껴질것이니 막 쓰는거죠. 거기다가 아무데나 깔기 좋고 설치도 쉽고 어떻게 보면 업체 측에서는 모르는 사람들에게 제공하기 딱 좋지요.

결론만 말씀드리면 PPTP는 이제 ‘보안’ 카테고리에서 빠져야 한다고 생각합니다. 미 NSA(National Security Agency) 및 주요 국가의 정보부에서는 PPTP 해독은 이제 어렵지 않은 수준이라고 하니까요.

전문가들도 그렇고 세계적으로 많은 유저들에게 인정받은 VPN 중에서 PPTP를 주로 쓰는 곳은 단 한 사람도 한곳도 없을거라고 생각합니다. 저도 안써요. 중국에서도 PTPP 쓰면 잘 막힙니다.

아맞다! 차로 치면 딱 ‘경차’라고 생각하시면 되요. ㅎㅎ

L2TP/IPsec – 얘도 불안함, 그리고 OpenVPN에 비해서 느려서 별로 선호되지 않음

L2TP가 처음 만들어지게 된 이유는 PPTP + L2F 둘을 결합해서 각각의 장점을 모아서 좋은거 한번 만들어보자! 한건데요.. ATM, IP, SONET 등 다양한 형태의 네트워크 상에서PPP 트래픽을 터널링해 주는 프로토콜이라고 할 수 있습니다. IPsec은 Internet Protocol Security Protocol의 약자 입니다. Network 레벨에서 상호간 좀 더 안전한 통신을 하도록 도와주는 IP 보안 프로토콜 입니다.

데이터(Data)이 압축이 두번 이루어져져서 CPU 부하가 조금 더 크다고 하네요.

개소리가 길었는데요. 그냥 쉽게 생각해서 개선된 PPTP라고 생각하면 되실 듯 해요. 그리고 굳이 이거 쓸 필요가 없어요. OpenVPN이 우선이고 만약에 이게 없는 허접한 VPN일때나 쓰는건데 또 굳이 그런 VPN은 쓸필요가;;

IKEv2 아 이건 또 뭐야..

L2TP/IPsec이랑 비슷하거나 살짝 더 안전하다고는 하는데 IKEv2를 쓰는 경우는 블랙베리(BlackBerry), 리눅스(Linux) 사용자들이 쓰는것 말고는 별로 못본 것 같아요.

이용할 수 있는 플랫폼이 제한 되어있고,  OpenVPN이나 SSTP같은 SSL 기반 프로토콜과 비교해 보았을때 서비스 제공자 입장에서 좀 까다롭기도 하고, 잠재적인 불안성 문제도 있고, 오픈소스가 아니라 신뢰도 면에서도 떨어질 수 밖에요.

SSTP 이건.. SS가 두개나 있어서 귀해 보이는데 좋은건가요..

좋긴 합니다. SSTP는 SSL v3 기술을 채용했는데요. 그래서 NAT Firewall(방화벽) 문제를 방지하고, 보안성과 속도면에서 OpenVPN의 그것과 흡사한 수준이라고 할 수 있습니다. 하지만 가장 큰 단점은 Microsoft가 만들어 독점하고 있다는 것이고, NSA에게 협력적인 기업인것은 이미 알려져 있는 사실이기 때문에, 크게 신뢰를 얻지 못하고 있습니다. 윈도우 전용이라 다른곳에서 쓰지도 못함.

최근 한 랜섬 바이러스 사태만 하더라도 그렇습니다. 한 해커그룹이 NSA가 만든 해킹툴을 탈취 했는데 그게 바로 윈도우 네트워크 구조의 취약점을 이용한 것이지요. 이걸 훔쳐서 랜섬웨어를 만들었는데, NSA에서 즉시 마소에 통보했고 즉시 업데이트가 이루어졌지요.

사람들은 마이크로소프트가 NSA와 손잡고 그런것을 만들게 도와줬고, 이게 유출되어 문제가 생기자 바로 통보해줬다고 보고 있습니다. 여튼 전 안쓸래요.

OpenVPN 세계적인 VPN들이 많이 쓰는데는 이유가 있다.

모든 면에서 만족스럽습니다. 안전성, 속도, 지원 플랫폼 거기다가 소스가 오픈되어있기 때문엔 SSTP처럼 백도어(Backdoor) 걱정을 할 필요가 전혀 없습니다.  SSLv3/TLSv1 프로토콜 + OpenSSL 라이브러리 그리고 블로우피시(Blowfish),3DES, AES, 카멜리아(Camellia), CAST-128 등 다양한 암호화 알고리즘을 제공합니다.

160비트, 256비트 둘다 지원하며 속도를 좀 더 중요하게 생각하신다면 160bit를 고르면 되겠지요.현재 모든 운영체제(윈도우 windows,맥 Mac OSX, 리눅스 Linux)를 지원하며, 안드로이드, iOS 스마트기기에서도 모두 사용이 가능합니다.

무선 공유기, 라우터가 좋지 못해 네트워크(와이파이 Wi-FI)가 불안정한 상황에서도 믿고 쓸수 있고 안정적이지요. OpenVPN UDP, TCP 둘중에 하나 알아서 골라쓰시면 되고 잘 모르시면 디폴트로 정해져있는 것을 쓰시면 됩니다.

VPN 업체들은 고만고만한 애들이야 그냥 대충 마케팅 잘해서 호구들 속여서 팔아먹으면 땡이지만, 탑클래스 VPN들의 경우에는 서로 경쟁도 꽤 심하고 ‘신뢰도’가 가장 중요하기 때문에 보안 부분은 최상으로 설정을 해놨기 때문에 그냥 설치해서 그대로 쓰시면 됩니다.

제가 가장 추천하는 VPN을 보시려면 아래 리뷰를 참고하세요.

1위 VPN 리뷰보기

기타 프로토콜, 암호화 관련 이야기들

  • OpenVPN 등은 NAT방화벽이 있는 경우에 더 좋다.
  • NAT은 Network Address Translation(네트워크 주소 변환)이라는 뜻으로, 내부 네트워크 주소와 외부에 드러나는 주소를 다르게 설정해놓을 수 있어서 내부가 좀 더 안전하다.
  • 암호화 프로토콜들은 미국국립표준기술연구소(NIST)의 인증을 거치는데, 여기소 NSA와 한통속이라는 말이 있음.
  • VPN 프로토콜 선택은 킬스위치 등과 함께 매우 중요한 요소.
  • OpenVPN이 L2TP, PTPP가 막힌 곳에서 안정적으로 인터넷을 가능하게 해주는 이유는 오픈소스라 포트 배정이 되지않아서임.
  • 오픈VPN를 저렴한 해외 가상서버를 임대해서 설치한 후 개인용 VPN으로 사용해도 된다. 물론 복잡고 귀찮아서 결국 유료 VPN 쓰게됨.