engineering/Network Eng.2006. 8. 10. 14:25

VPN은 공중 네트워크를 사설 네트워크화해 사용함으로써, 비용 절감과 보안성의 두 마리 토끼를 잡을 수 있는 기술이다. 이같은 강점으로 인해 이미 많은 기업에서 도입하고 있으며, ISP에서도 VPN 서비스를 소개하며 서비스 시장에서 당당히 한자리를 차지하고 있다. 이번 강좌에서는 VPN의 구성요소와 발전 과정을 알아본다.

출처 - http://www.ionthenet.co.kr


김영미 기자

VPN(Virtual Private Network)은 공중 네트워크를 사설 네트워크처럼 사용할 수 있는, 인증과 데이터 암호화를 이용해 보안을 강화한 기술이다. VPN을 정확히 이해하기 위해 우선 사설 네트워크와 공중 네트워크의 차이점이 무엇인지 짚어보자. 사설 네트워크는 한 집단의 목적에 의해 만든 자체 네트워크로, 은행에서 구축한 본점과 지점간의 전용회선을 예로 들 수 있다. 이 전용회선은 은행 고객 정보를 교환하기 위해 물리적으로 폐쇄된 회선을 이용해, 네트워크 장비를 자체적으로 구축한다. 전용회선을 이용한 사설 네트워크는 보안성을 높이기 위한 최선의 방법이지만, 투자비가 많이 들고 운영 관리도 별도로 해야 하는 단점이 있다. 이와는 달리 공중 네트워크는 전화 통신처럼 모든 이에게 빌려주고 공개되는 것으로, ADSL, ISDN, 다이얼업 모뎀 등이 있다. 이용료는 저렴하지만 회선의 신뢰도, 보안성 등이 사설 네트워크보다 떨어지는 것이 사실이다. 
VPN은 공중 네트워크인 ADSL, ISDN, 다이얼 업 등의 방법으로 인터넷에 접속하고, VPN을 이용해 회사내의 사설 네트워크처럼 폐쇄적인 네트워크를 구성해 회사 내의 중요한 정보를 주고 받는다는 것이다. 인터넷을 이용해 VPN을 구성하면 인터넷 회선과 사설 회선을 별도로 구성해야 하는 번거로움이 사라질 뿐 아니라 전용회선을 도입하는 비용도 아낄 수 있다. 
따라서 대리점, 협력업체 간의 대금 지불, 구매, 발주 정보 등의 정보를 확인하는 익스트라넷(extranet)이 인터넷으로만 구성돼 있다면 VPN을 이용해서 보안성을 높일 수 있다. 부서원이 출장, 교육, 재택 근무를 할 때 집에서 개인적으로 ADSL, 케이블 모뎀, 다이얼업 모뎀 등으로 회사내의 게시판 정보나 급여 등을 인터넷을 통해 안전하게 볼 수 있다는 장점이 있다. 또한 VPN을 이용하면 지방이나 해외 지점에서 비싼 국제 전용 회선이 아닌 인터넷 회선을 이용해 본사 서버에 있는 게시판 등의 정보를 볼 수 있다.


(그림 1) VPN 적용 전과 적용 후 네트워크 구성



OSI 계층별로 다른 VPN 프로토콜
공중 네트워크를 사설 네트워크처럼 사용할 수 있게 하는 핵심적인 기술은 터널링(tunneling)이다. 터널링 과정은 연결하고자 하는 두 지점 간에 가상 터널을 형성해, 외부로부터 영향을 받지 않은 상황에서 정보를 주고 받는 것이다. 
터널링의 핵심은 OSI 7계층 중 어느 계층에서 터널링을 수행하는가와 어느 구간까지 터널을 구성하는가이다. 최종 사용자와 백본까지 엔드 투 엔드로 터널을 뚫을 것인가, 아니면 백본과 가입자 앞단의 VPN 게이트웨이나 라우터까지만 터널을 구성할 것인가 등을 고려해야 한다. 터널링하는 방법에는 크게 2계층과 3계층 터널링이 있는데, OSI 2계층에서 동작하는 방식으로는 PPTP(Point-to-Point Tunneling Protocol), L2TP(Layer 2 Tunneling Protocol)가 있고, OSI 3계층에서 동작하는 방식으로는 IPSec을 들 수 있다(표 1).
PPTP(Point-to-Point Tunneling Protocol)는 PPP의 확장 개발된 프로토콜로, 인터넷을 통한 새로운 수준의 강화된 보안과 멀티 프로토콜 통신 기능이 추가됐다. 인터넷 프로토콜인 TCP/IP를 그대로 이용하면서도 외부인은 접근할 수 없는 별도의 VPN을 운용할 수 있는 프로토콜이다. 특히 PPTP 기반의 VPN을 통한 데이터 전송은 새로운 EAP(Extensible Authentication Protocol)를 사용하기 때문에 단일 LAN 내의 회사 사이트에서 데이터를 전송하는 것만큼이나 안전성을 보장한다. VPN 서버는 모든 보안 검사와 유효성 검사를 수행하고 데이터를 암호화해, 보안되지 않는 네트워크를 통해 가상 터널을 생성해서 보다 안전하게 전송할 수 있다. PPTP에서는 전화 접속 연결이 필요하지 않다. 그러나 컴퓨터와 서버가 IP로 연결돼 있어야 한다. IP LAN에 직접 연결돼 있으면서 서버와 접속할 수 있으면 LAN을 통한 PPTP 터널을 설정할 수 있다. 그러나 인터넷을 통해 터널을 만드는 중이고 일반적으로 ISP와의 전화 접속을 통해 인터넷에 액세스하는 경우 터널을 설정하기 전에 전화 접속으로 인터넷에 연결해야 한다.
L2TP(Layer 2 Tunneling Protocol)는 마이크로소프트의 PPTP와 시스코의 L2F(Layer 2 Forwarding) 프로토콜이 결합돼 IETF가 산업 표준으로 제정한 터널링 프로토콜이다. 현재 L2TP v3는 L2TP를 확장해 일부 새로운 서비스 모델을 포함시켰다. LT2P는 IP, IPX, NetBEUI 트랙픽을 암호화한 다음, IP 헤더로 캡슐화해 전송한다. PPP에서 제공되는 데이터 암호화 기법을 사용할 수도 있고 IPSec에 의해 제공되는 데이터 암호화 기법을 사용할 수 있는데, 이것을 L2TP/IPSec라고 한다. L2TP와 IPSec의 결합 형태에서 연결은 DES(Data Encryption Standard) 알고리즘을 사용하는데, 이 알고리즘은 DES에 대해 하나의 56비트 키를, 3DES에 대해 세 개의 56비트 키를 사용한다. L2TP/IPSec 연결은 두 가지 수준의 인증을 요구한다. IPSec SA(보안 연결)를 작성해 L2TP 캡슐화 데이터를 보호하기 위해 L2TP/IPSec 클라이언트는 인증서나 미리 공유된 키를 사용해 컴퓨터측에서 인증을 수행한다. IPSec SA가 성공적으로 작성되면 연결의 L2TP 부분에서 PPTP와 동일한 사용자측에서 인증을 수행한다.


(표 1) 터널링 프로토콜의 종류

(그림 2) 터널링 구현 과정


IPSec으로 집중되는 VPN
VPN에서 가장 많이 사용되는 프로토콜은 IPSec(Internet Protocol Security)이다. 이전의 보안 기법들은 보안 프로토콜이 통신 모델의 애플리케이션 계층에 삽입됐다면 IPSec은 본질적으로 데이터 송신자의 인증을 허용하는 인증 헤더 AH(Authentication Header)와 송신자의 인증과 데이터 암호화를 함께 지원하는 ESP(Encapsulating Security Payload), 키교환을 위한 IKE 등을 이용해 보안 서비스를 제공한다. 즉 터널로 들어가기 전의 IP 패킷은 IP 헤더와 페이로드(payload)로 구성된다. 터널로 들어가면 AH가 추가돼 캘슐화되는 것이다. 다음으로 ESP 헤더가 삽입되면서 IP 패킷을 암호화한다.
AH는 MD5 또는 HMAC 알고리즘을 사용해 인증을 처리한다. ESP는 DES, RC5 등의 암호화 알고리즘을 사용해 데이터를 암호화한다. IKE 키관리 절차에서는 ISAKMP/Oakley 프로토콜과 같은 별개의 키 프로토콜을 선택할 수 있다. 이같은 각 서비스에 관련된 명확한 정보는 IP 패킷 헤더의 뒤를 잇는, 헤더 속의 패킷에 삽입된다. AH가 무결성을 보장한다면 ESP는 보안성을 보장한다.
그리고 IPSec으로 전송시 트랜스포트 모드(Transport Mode)와 터널 모드(Tunnel Mode)를 지원한다. 트랜스포트 모드는 IP 헤더와 페이로드 사이에 AH 헤더가 삽입돼 IP 헤더의 일부, AH 헤더, IP 페이로드를 인증하는데, 이 방식은 호스트에서 구현할 수 있다. 터널링 모드는 IP 헤더와 페이로드 앞에 새로운 IP 헤더를 붙여서 IP 헤더의 일부, AH 헤더, 원본 IP 헤더, IP 페이로드를 인증한다. 이는 주로 호스트나 보안 게이트웨이에 적용할 수 있다. 트랜스포트 모드는 원본 IP 헤더의 일부분만 인증하지만, 터널 모드는 새로운 IP 헤더를 만들면서 원본 IP 헤더와 페이로드까지 인증한다. 인증 범위가 넓으니 신뢰성이 더 높아진다고 볼 수 있다.


(그림 3) AH 트랜스포트 모드 터널링 모드


분산 터널링으로 일정한 인터넷 접속 속도 유지 
그렇다면 본사와 지사를 잇는 인트라넷이 아닌 인터넷을 사용할 경우에도 터널링을 통해 접속할까. 이는 VPN 장비가 제공하는 분산 터널링(Split Tunneling) 기능에 따라 달라질 수 있다. 예를 들어 본사에서는 인터넷 회선으로 E1(2.048Mbps)을 사용하는데 인터넷을 사용할 때 속도가 평균 100Kbps라고 가정하면, 지점에서 ADSL로 1Mbps의 고속 인터넷을 사용하다가 VPN 소프트웨어를 설치해 본사와 터널링을 구성해 본사 서버와 안정적으로 통신할 수 있다.
그러나 인터넷을 사용할 때는 본사와 연결된 터널링을 빠져나갈 수 없으니 본사의 E1 인터넷 회선으로 사용할 수밖에 없다. 그렇게 되면 직원들은 인터넷 접속 속도가 늦다고 불평을 할 것이다. 그래서 필요한 것이 분산 터널링이다. 분산 터널링을 적용하지 않으면 모든 트래픽이 VPN 장비까지 연결된 터널링으로 송수신해야 되므로, 사용자들은 인터넷에 접속할 때도 본사 VPN을 경유해야 한다. 이런 경우 보안은 강화될 지 모르나 접속 속도는 굉장히 늦어진다. 하지만 분산 터널링을 적용하면 인터넷을 사용할 때는 터널링을 적용하지 않고 바로 ISP로 연결되도록 할 수 있기 때문에 인터넷 속도가 빨라진다. 


네트워크 기반의 VPN
VPN의 발전을 살펴보면, 고전적인 VPN은 OSI 7계층 모델의 2계층을 이용한 프레임 릴레이, ATM이었다. 이는 터널링 기법이 아닌 PVC나 SVC 등을 통해 VPN을 구현한 형태다. 이들은 단순 회선의 개념으로 다양한 부가 서비스와 접목할 수 없는 가장 초보적인 VPN이라고 할 수 있다.
이후 등장한 것이 L2TP, PPTP, IPSec 등 다양한 터널 기법을 기반으로 한 CPE(Customer Premise Equipment) 기반의 VPN이다. 기업들은 CPE 기반의 VPN을 가장 선호하고 있다. CPE 기반 VPN은 VPN 장비에서 전적으로 터널링이나 암호화 등을 수행하도록 하는 것으로, 파이어월에서 VPN 기능을 수용한 장비, VPN 전용 게이트웨이, 라우터에 모듈을 장착해 VPN을 수행하는 것, 소프트웨어로 VPN 기능을 하는 것 등 다양한 솔루션들이 출시돼 있다.
CPE 기반의 VPN은 단순 회선 접속 솔루션이 아니라 보안성을 감당해야 하기 때문에 암호화 강도를 높일수록 비용은 올라가고 성능은 떨어지게 된다. 따라서 각 장비 업체들은 데이터 압축 등과 같은 기술을 발전시켜 암호화를 수행하더라도 일정 수준의 성능을 유지할 수 있도록 하고 있다. 
네트워크 기반의 VPN은 쉽게 생각해 서비스 제공업체에게 장비부터 회선, 관리까지 모두 아웃소싱하는 형태를 말한다. 네트워크 기반의 VPN은 최근 등장한 것으로, CPE 기반 VPN이 발전을 거듭하면서 생겨난 형태라고 볼 수 있다. 네트워크 기반의 VPN은 CPE VPN과는 달리 네트워크에서 ISP나 통신업체들이 VPN을 구현하는 것으로, 고객 입장에서는 투자 비용을 절감할 수 있고 ISP에게는 새로운 수익원이 될 수 있다. 때문에 향후 CPE 기반 VPN 시장을 다수 잠식하면서 세력을 키워나갈 것으로 전망된다.
네트워크 기반 VPN은 MPLS 기반 2계층 VPN, BGP/MPLS VPN이나 RFC2547bis(3계층), VRM(Virtual Router Model) 등의 기법에 의해 구현할 수 있다. BGP MPLS이 논리적인 포워딩 기술에 기반하고 있다면 VRM은 물리적인 라우터에서 논리적인 라우팅을 수행하는 기술이다.


서비스 업체의 새로운 수익원 VoIP VPN
현재 대부분의 VPN은 데이터 중심의 서비스가 주류를 이루고 있지만, VoIP 기술의 향상과 실제 적용 기업의 증가로 새로운 VPN 서비스로 VoIP VPN이 주목을 받고 있다. 이는 서비스 업체에게는 새로운 수익원으로, 기업은 저렴한 비용으로 기존의 음성 관리 및 통신비를 줄일 수 있을 것으로 기대되고 있다. 더 나아가 음성뿐 아니라 향후에는 화상 전송까지 포함한 멀티 서비스 over VPN이 등장하게 될 것이다.
VoIP VPN의 기본 개념은 기존의 데이터 VPN과 같지만, 음성이 네트워크를 타고 전송된다는 것이 다르다. VoIP VPN을 적용한 기업은 지역에 관계없이 공중 IP 네트워크를 이용해 4∼5자리의 구내 번호를 이용할 수 있다.
VoIP VPN은 비싼 음성 전용회선 대신 인터넷을 이용해 데이터 뿐 아니라 음성 서비스를 제공할 수 있어, ITSP(Internet Telephony Service Provider)나 서비스 공급업체들에게는 VoIP 기반의 새로운 서비스가 될 수 있다.


웹 기반의 인프라, SSL VPN 보안성 향상 
IPSec VPN이 설치가 복잡하고 각 플랫폼별로 호환이 잘되지 않는다는 이유 때문에 최근에는 SSL(Secure Socket Layer)  VPN에 관심이 높아지고 있다. SSL은 원래 넷스케이프(Netscape)에서 암호화된 웹 브라우징을 제공하기 위해 만든 프로토콜이다. SSL은 넷스케이프 뿐만 아니라 마이크로소프트의 인터넷 익스플로러에서도 지원하게 됐고 현재 많은 웹사이트에서 SSL을 통한 암호화 기능을 제공하고 있다. SSL은 사용자 영역 프로토콜(5계층)이기 때문에 기존의 커널을 수정하지 않고 단순히 웹 브라우저만 있으면 사용할 수 있다는 장점이 있다.
만약 기존의 VPN으로 하던 일을 SSL로 할 수 있게 된다면 커널을 수정하지 않고도 이미 거의 모든 시스템에 설치돼 있는 웹 브라우저를 이용해 쉽게 VPN 작업을 사용할 수 있을 것이다. 이같은 아이디어에서 출발한 것이 SSL VPN이다.
SSL VPN은 웹 브라우저를 통해 원격지에서 회사 네트워크에 접속할 수 있도록 한다. 이름에서 알 수 있는 것처럼 SSL VPN은 SSL 프로토콜을 이용하기 때문에 기존의 네트워크 애플리케이션 SSL을 지원하지 않을 경우에는 각각을 커스터마이징해야 한다는 단점이 있다. 하지만 대부분의 사용자가 웹, 메일, SSH 등을 사용한다고 봤을 때 대부분의 SSL VPN은 이들 프로토콜을 지원하기 때문에 사용하는데 큰 불편함이 없을 것이다.


(그림 4) SSL VPN과 IPSec VPN 비교


(그림 4)에서는 IPSec VPN과 SSL VPN을 비교했다. 일단 서버측에는 IPSec VPN과 SSL VPN의 위치가 크게 다르지 않다. 다만 일반적으로 IPSec VPN은 파이어월 기능을 함께 제공하는 제품이 많이 있기 때문에 별도의 파이어월을 설치하지 않는 경우가 많고 SSL VPN은 파이어월 기능을 제공하지 않기 때문에 별도의 파이어월이 필요하다는 점이 다르다.
클라이언트의 경우 IPSec은 전용 클라이언트를 설치해야 하지만 SSL VPN은 전용 클라이언트를 설치하지 않아도 된다는 큰 차이점이 있다. 그래서 IPSec의 경우 회사의 업무용 노트북이 아니면 사용하기 어렵지만 SSL VPN의 경우 웹 브라우저가 설치된 거의 모든 PC(게임방이나 공공 PC 포함)에서 사용할 수 있다는 장점이 있다.

Posted by theYoungman