1. 들어가면서

최근 한국수력원자력의 내부자료유출 사건 기사를 보면 용의자가 중국 선양에 있는 VPN(가상 사설망)업체를 통해 한수원에 접속하여 정보를 빼낸 듯 하다는 말이 많이 나타난다. 예전의 농협 전산망 중단 사건 때도 VPN을 거쳐 농협 전산망에 접속한 흔적을 발견했다는 기사가 나곤 했다. 여기에 공통적으로 해킹의 수단으로 사용된 것이 VPN인데 해커들이 VPN을 통해 IP 주소를 우회해서 접속하였다는 것으로 마치 VPN이 IP 주소를 우회하는 수단으로 오해를 받고 있다.  뿐만 아니라 스마트폰 등에서도 VPN 앱을 검색하면 수많은 VPN 앱이 나타나는데, 대부분의 용도가 차단된 사이트를 우회해서 접속하거나 혹은 자신의 IP를 감추는데 사용할 수 있다고 되어 있다.

이러한 기사나 앱의 용도로 보면 VPN은 마치 보안을 뚫기 위한 도구로 오해하기 쉬우나 실제로 VPN은 안전한 네트워크 접속을 위한 도구로 개발되었으며 용도에 맞게 사용한다면 보안을 강화하는데 큰 도움을 줄 수 있다. 이 글에서는 VPN에 대한 유래와 기본적인 개념에 대해서 설명하고자 한다.



2. 사설망(Private Network)과 공중망(Public Network)

VPN에 대한 이해를 위해서는 먼저 사설망(Private Network)과 공중망(Public Network)에 대한 이해가 필요하다.

  • 사설망(Private Network)이란 특정한 회사나 조직이 소유하고 독점적으로 사용하는 네트워크를 의미한다.   위키피디아에서는 “사설 IP 주소 공간을 이용하는 네트워크이며 RFC 1918과 RFC 4193 표준을 준수한다. 이러한 주소는 가정, 사무실, 기업 랜에 쓰인다”라고 설명하고 있다.  쉽게 말해서 우리가 가정에서 공유기 내부에서 사설 IP로 사용하고 있는 네트워크가 대표적인 사설망이라고 보면 된다.
  • 공중망(Public Network)은 사설망과 대칭되는 개념으로 불특정 다수의 사용자에게 서비스를 제공하는 통신망으로 우리가 흔히 쓰고 있는 인터넷이 대표적인 공중망이라고 볼 수 있다.

우리가 알고 있는 대표적인 사설망으로는 회사 내부의 네트워크, 행정전산망이나 금융 기관에서 사용하고 있는 금융망 등을 들 수 있는데, 사설망은 보안과 일정한 통신 품질을 제공한다는 면에서 공중망에 비해 장점이 있다.

그런데 은행 등에서 본점과 지점을 사설망으로 연결하고자 할 경우에는 어떻게 연결할 것인지를 고민해보자. 가장 안전하게 연결하고 싶다면 본점과 지점을 전용회선으로 연결하고 이를 사설망으로 구축하면 될 것이다. 그러나 전용회선의 경우 보안성이나 품질 면에서는 인터넷 망에 비해서 뛰어날 수도 있으나(최근에는 인터넷이 품질이나 속도는 더 뛰어나다) 직접 전용망을 구축하거나 통신 사업자에게서 전용망을 임대하고 이를 연결하기 위한 전용 네트워크 장비를 도입하는데 막대한 비용이 소요된다.

보라넷전용선

위의 그림은 2000년대 초반 데이콤(현재는 LG U+)에서 서비스하던 보라넷 전용선의 가격이다. 그림에서 볼 수 있듯이 512Kbps의 속도를 내는 전용선을 임대하는 경우에도 수십에서 수백만원의 비용을 지불해야만 했음을 알 수 있다. 이러한 이유로 고가의 전용망을 대체하여 인터넷을 이용하여 사설망처럼 안전한 전용 네트워크를 구성하고자 하는 요구가 생겨났는데, 이러한 요구로 개발된 것이 바로 VPN(Virtual Private Network,  가상 사설망)이다. 최근의 기업 전용선 서비스는 저 당시의 전용선 서비스와는 달리 인터넷 망을 이용하여 고정 IP를 부여하는 서비스가 대부분으로 엄밀한 의미에서의 사설망이라고 볼 수는 없다. 물론 최근에도 기관간에 전용망을 구축해주는 서비스는 통신사업자들이 계속 수행하고 있으나, 그 비용은 여전히 높은 실정이다.



3. VPN의 개념

앞에서 설명한대로 VPN은 인터넷을 이용하여 고비용의 사설망을 대체하는 효과를 얻기 위한 기술로 인터넷망과 같은 공중망을 사용하여 둘 이상의 네트워크를 안전하게 연결하기 위하여 가상의 터널을 만들고 암호화된 데이터를 전송할 수 있도록 구성된 네트워크라고 정의할 수 있으며 공중망 상에서 구축되는 논리적인 전용망이라고 할 수 있다. 위키피디아에서는 다음과 같이 VPN을 정의하고 있다.

공중 네트워크를 통해 한 회사나 몇몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다. 가상 사설망에서 메시지는 인터넷과 같은 공공망 위에서 표준 프로토콜을 써서 전달되거나, 가상 사설망 서비스 제공자와 고객이 서비스 수준 계약을 맺은 후 서비스 제공자의 사설망을 통해 전달된다.

전용망-2

전용망 연결

vpn-1

VPN 연결

위의 그림에서와 같이 본점과 지점간에 전용망을 연결하는 것과 공중망(인터넷) 상에서 VPN 터널을 구성하고 VPN을 연결하는 것이 논리적으로 동일하다고 할 수 있으며, VPN은 인터넷을 통해 전용망과 같은 사설 네트워크를 구성할 수 있도록 해주는 기술이라고 이해하면 된다.


실제 vpn에 연결된 장면을 보면 이해하기 쉽다. 




위 이미지는 52.194.196.239의 공용ip를 가진 서버가 vpn을 통한 이후에는 10.8.0.10이라는 사설ip도 함께 가지게 되는 것을 보여준다.


52.194.196.239:443 접속  -> vpn 기동 -> 10.8.0.10의 사설ip 반환 






4. VPN 터널링 프로토콜

VPN 연결을 구성하는 가장 중요한 요소인 VPN 터널링 프로토콜은 크게 VPN 연결 지점간에 오가는 데이터 패킷의 암호화, VPN 터널의 생성 및 관리, 그리고 암호화 키 관리를 수행한다.  터널링 프로토콜은 데이터가 전송 네트워크를 통과할 수 있도록 하는 라우팅 정보를 포함한 헤더와 개인데이터를 캡슐화한다. 캡슐화된 프레임은 헤더에 추가되어 있는 라우팅 정보를 기반으로 인터넷과 같은 공중망을 경유하여 터널의 엔드포인트로 전송되고 목적지에 도달하면 디캡슐화 되어 최종 목적지로 향하게 된다.

+ Recent posts