Search
Duplicate

컴퓨터 네트워크/ 가상 사설 네트워크

산업이 발달하고 경제규모가 세계화 되면서 조직이나 기업의 규모 역시 글로벌화 됨에 따라 본사와 지역적으로 떨어져 있는 다수의 지사의 형태를 갖춘 기업이 많아지면서 WAN(Wide Area Network)이나 전용선을 사용하여 통신 및 정보의 공유가 제공되어 왔다.
그러나 WAN이나 전용선을 이용한 네트워크 구축 방법은 회사로 하여금 과도한 통신비용을 부담하게 했으며 또한 본사나 지사의 위치가 변경되었을 경우 상당한 비용을 추가적으로 부담해야 했다.
이런 문제점들을 해결하고 이동성을 지원하기 위해 등장한 것이 바로 가상 사설 네트워크(VPN)이다.

VPN 개요

공중 네트워크(Public Network)

공중 네트워크란 우리가 늘 사용하는 전화 네트워크나 인터넷처럼 다수의 사용자간에 자유롭게 정보를 주고 받을 수 있도록 공개되어 있는 네트워크를 말한다.
공중 네트워크는 언제 어디서나 누구든지 사용할 수 있다는 장점이 있으며, 어느 누구와도 정보교환이 가능하다.
하지만 보안이 취약하여 정보유출 가능성이 높다는 단점이 있다. 또한 누구나 접속이 가능해야 한다는 점 때문에 UP 주소 등의 공인된 표준을 따르는 통신 방법을 채택해야 한다는 부담이 있다.

사설 네트워크(Private Network)

사설 네트워크는 해당 특정 네트워크를 구축한 조직에 관련된 사용자만 사용이 가능한 네트워크이다.
이러한 점은 인증되지 않은 사용자로부터의 접근을 차단하여, 네트워크의 보안성을 유지시켜주며, 네트워크를 직접적으로 통제함으로써 네트워크 운영에 유연성과 독립성을 기할 수 있다는 장점을 제공한다. 또한 네트워크 관련 규칙을 해당 조직이 임의로 결정가능하다.
그러나 다른 사설 네트워크와의 연동이 까다롭고 이동 사용자에 대한 지원이 곤란하다. 그리고 가장 큰 문제점은 원거리에 위치하고 있는 지점간의 WAN 또는 전용회선 구축 시에 고가의 관련 장비와 추가적으로 회선 비용을 지불해야 한다는 것이다.

VPN 등장배경 및 정의

VPN 등장배경은 인터넷을 기반으로 한 기업 업무 환경의 변화에 기인한다. 독립적인 네트워크 구축을 위해 기존 전용선을 사용하는 방법에는 비용을 포함한 여러 한계가 존재하고, 공중 네트워크는 보안과 관련한 문제가 있어서 VPN이 등장하게 되었다.

정의

VPN은 물리적으로 실제 사설 네트워크를 구축한 것이 아니라, 공중 네트워크를 이용하여 사설 네트워크가 요구하는 다양한 서비스를 제공할 수 있도록 네트워크를 공중 네트워크 내에서 가상으로 구성한 것이기 때문에 가상 사설 네트워크라고 불린다.
즉 VPN은 인터넷과 같은 공중 네트워크를 마치 기업이나 개인의 전용회선처럼 사용할 수 있게 해주는 기술 혹은 이런 네트워크를 통칭한다.
VPN은 공중 네트워크를 경유하여 데이터가 전송되더라도 외부인으로부터 안전하게 보호되도록 주소 및 라우터 체계의 비공개, 데이터 암호화, 사용자 인증 및 사용자 액세스 권한 제한 등의 기능을 제공한다.

장점

ISP(Internet Service Provider)들이 제공하는 인터넷 네트워크를 이용하여 구축
ISP가 제공하는 인터넷 네트워크에 직접 연결하여 VPN을 구성하므로 WAN이나 전용선을 전용으로 사용할 때 부가되는 장비 및 회선 등의 구축 비용을 감소시킬 수 있다.
지사는 해당 ISP가 있는 곳이면 어디든 접속가능
어디든 해당 ISP가 있어 서비스를 제공하는 곳이라면 접속이 가능하다.
관리 비용 감소
ISP가 운영하는 장비들은 ISP의 서비스 범위에 속하며, ISP는 이러한 장비를 직접 운영/관리하기 떄문에 가입자의 관리 비용이 감소된다.
다양한 구축 방법
IPSec(IP Security Protocol)을 이용한 방법, MPLS를 이용한 방법 등 다양한 VPN 구축 방법이 가능하다.
이동성 제공
이동 중인 사용자는 모뎀을 이용하여 접속해서 시내 혹은 시외 통화료를 지불하거나, 회사에서 지불하고 있는 특정 네트워크로 다이얼 업(Dial-Up) 접속을 하여야 했으나, VPN을 이용할 경우 위치와 상관없이 해당 ISP의 POP(Point of Presence)으로 접속하면 인터넷을 이용하여 VPN 접속이 가능하기 때문에 이동 사용자의 접속 부담이 감소되고 연결 유연성을 제공한다.
네트워크의 유연성
인터넷 네트워크를 하부구조로 이용하기 때문에 인터넷 하부구조의 변동과 상관없이 해당 ISP의 POP까지의 접속 경로만 설정해주면 되며, 지사가 생기거나 없어지더라도 POP까지의 경로만 변경하면 되므로 네트워크에 대한 유연성이 향상된다.
그림 10-1과 10-2는 각각 전용선과 인터넷을 사용했을 경우에 있어 사설 네트워크 구축 방법을 나타내고 있다.
전용선으로 본사와 지사를 연결해 놓으면 그 거리에 비례하여 회선을 설치하는 비용이 늘어나지만, 인터넷을 이용하면 각각의 접속은 ISP의 POP까지만 연결하면 되므로 회선 설치비용이 그만큼 줄어든다.

단점

표준의 부재
VPN 구축 및 운영에 대한 명확한 표준이 없기 때문에 구현하는 ISP마다 서로 다른 방식을 채택하고 있으며, 이는 상이한 방식을 따르고 있는 두 ISP의 네트워크 연동에 걸림돌이 되고 있다.
보안성의 부족
IPSec 또는 MPLS를 이용한 보안성의 강화를 시도하고 있지만, 암호화 기술의 노출과 국가 차원의 정책적인 보안강화 기반 및 보안에 대한 인식의 부족 및 해킹의 가능성이 잔존한다.
성능
일반 인터넷 네트워크를 이용하여 서비스를 제공하기 때문에 ISP의 VPN 성능 정책에 미치지 못하는 경우가 비일비재하다.

VPN 구현 기술

VPN을 구현하기 위해 필요한 기술로는 그림 10-3과 같은 것들이 있다. 이들에 대해서는 본 장의 후반부에 다룰 것이다.
암호화 기술
송신측은 데이터를 전송하기 전에 암호화하고, 수신측은 이를 복호화하는 것을 말한다.
터널링 기술
전송하고자 하는 데이터를 특정 프로토콜로 캡슐화하여 송수신하는 것을 말한다.

VPN 기능

VPN은 기존의 사설 네트워크의 서비스를 그대로 제공하면서 네트워크 하부 구조를 개선하는 기술이다. 즉 VPN이 성공하기 우해서는 기존 사설 네트워크가 제공했던 서비스들을 모두 제공할 수 있어야 한다는 것이다.
데이터 기밀성(Data Confidentiality)
데이터를 송수신 하는데 있어서 전송도중 데이터의 내용을 임의의 다른 사용자가 보았을 때 그 내용을 파악하지 못하도록 암호화하여 전송한다.
데이터 무결성(Data Integrity)
데이터의 송수신 도중 데이터의 내용이 변경되지 않았음을 보장하는 기능으로 암호화 및 전자서명(Digital Signature)을 이용하여 보장한다.
데이터 근원 인증(Data Origin Authentication)
데이터를 송수신 할 때 수신측이 수신한 데이터가 원래의 송신자에 의해 전송되어 졌음을 확인할 수 있는 서비스를 제공한다.
접근 통제(Access Control)
인증된 사용자에게만 접근을 허용하는 기능으로 IPSec을 이용하여 사전 협상된 내용에 따라 통신을 하게 되며, 이러한 경우 협상을 모르는 제 3자는 접근할 수 없게끔 하는 서비스를 제공한다.

VPN 분류

구성 형태에 따른 분류

VPN은 전용선 형태의 네트워크와는 달리 쉽게 확장될 수 있으며, 응용 분야에 따라 구성형태를 전환하는 것 또한 용이하다.
대표적인 구성형태로는 Intranet VPN, Extranet VPN, Remote Access VPN, Site-to-Site VPN 등이 있다.

Intranet VPN

본래 Intranet이라는 용어는 기업 내 전용 네트워크를 표준화하여 서버를 기반으로 공유하는 사내 인터넷/업무용 네트워크를 말한다. 이는 TCP/IP를 기반으로 하여 인터넷과 동일한 통신장비 및 응용 프로그램을 사용할 수 있다는 장점과 방화벽, ID, 암호 등을 입력하여 접속하는 형태의 보안성 있는 서비스를 제공한다.
인터넷 네트워크를 이용하여 Intranet VPN을 구축하는 형태는 작게는 기업 내부의 각 부서 간을 연결해 주는 Intranet VPN(그림 10-4 참조)과 크게는 지방의 지사까지 묶어주는 Extranet VPN(그림 10-5 참조)의 형태가 있다.

Extranet VPN

Extranet VPN은 자사와 밀접한 관계가 있는 고객사나 협력업체들에게 Intranet을 이용할 수 있도록 Intranet을 확장한 개념이다. 주로 업무 처리에 있어 기업간 원활한 데이터 교환을 목적으로 사용한다.
Intranet VPN에서 자사 이외의 고객들은 RAS(Remote Access Service)라고 하는 원격 접속 VPN에서 서비스를 이용하여 직접 사설 네트워크에 접속할 수 있다. 이러한 방법을 통하여 고객들은 해당 기업과 마치 LAN으로 연결되어 있는 것처럼 작업을 할 수 있다.
그러나 이러한 방법은 기업에서 RAS와 게이트웨이를 별도로 설치해야 하는 불편함이 있었으며, 고객들이 접속하는 것도 대부분 다이얼 업을 이용했기 때문에 그 비용 또한 문제가 되었다.
이런 문제점을 해결하기 위해 등장한 것이 Extranet VPN이다. 즉, Extranet VPN은 자사와 고객, 협력업체를 모두 VPN으로 구성하는 것이다.

Remote Access VPN

Remote Access VPN을 설명하기 위해 예를 하나 들어보자. 영업사원 한 명이 급히 출장을 가게 되었는데, 필요한 문서를 가져오지 않아서 계약이 파기될 수도 있는 상황이라 하자. 이때 이 사원에게 자신의 컴퓨터를 인터넷을 통해 자사로 접속할 수 있도록 해주는 것이 필요할 것이다. 이것이 바로 Remote Access VPN이다.
재택근무자 역시 Remote Access VPN의 사용자가 될 수 있다. 재택근무자나 원격 접속자는 다이얼 업을 이용하여 가까운 ISP의 NAS(Network Access Server)에 접속한다.
접속 경로는 PSTN(Public Switched Telephone Network), ISDN(Integrated Services Digital Network), xDLS(x Digital Subscribet Line: ASDL, VDSL 등) 그리고 Mobile 인터넷 등이 될 수 있으며 NAS는 사용자 접속 인증 절차와 터널링에 관련된 기능을 수행한다. 이때 ISP가 제공하는 NAS는 VPN 제공을 위한 기능이 추가되어 있어야 한다.
Remote Access VPN에서 가장 중요한 요소는 보안이다. 사용자가 언제 어디에서 접속할지 모르는 상황이기 때문에 연결설정 및 데이터 전송에 대한 철저한 보안이 문제가 된다. 이러한 문제는 후반부에 설명할 IPSec 등의 보안을 이용하여 해결한다.

구현에 따른 분류

VPN을 구성하려면 VPN을 지원하는 장비를 갖추어야 하는데, 이 장비를 어떻게 사용하느냐에 따라 구현에 따른 분류가 나뉘어진다.
VPN 구현에 따른 분류에는 크게 방화벽형 VPN, 라우터형 VPN, VPN 서버형, 전용시스템 VPN을 들 수 있다. 물론 이 모든 장비들은 VPN 기능을 수행할 수 있어야 한다.
모든 경우에 있어서 VPN 기능이라 함은 암호화, 복호화 및 터널링 기능 등을 의미한다.

방화벽 형 VPN(방화벽 + VPN)

정보통신의 발달로 모든 데이터들이 컴퓨터에 의해 디스크로 저장되고 통신선로를 통해 목적지로 전달됨에 따라 조직의 중요한 데이터들이 빠져나가거나 허가되지 않은 접속지로부터의 접속을 근원적으로 차단할 필요성이 생겼다.
이러한 이유에서 방화벽이 탄생하였으며 방화벽은 패킷을 검사하여 차단여부를 결정하는 중요한 역할을 하게 되었다. 이것을 패킷 필터링(Packet Filtering)이라고 한다.
방화벽 기능은 라우터나 응용게이트웨이를 설치함으로써 가능해지며, 이때 모든 정보는 이 장비를 통해서만 외부로 나가고 들어올 수 있게 된다.
이러한 보안 기능은 VPN을 구축하는데 필수 요소로 작용하며, 방화벽에 별도의 암호화, 복호화 기술과 터널링으로 대표되는 VPN 기능을 추가함으로써 VPN을 구성할 수 있게 된다.
그러나 방화벽은 모든 패킷을 검사하고, 암호화, 복호화하며, 패킷 필터링을 수행해야 하지만 많은 양의 트래픽이 발생하였을 경우 방화벽의 성능저하 및 방화벽으로 인한 병목현상(Bottle Neck) 등이 초래될 수 있다.
그림 10-7은 방화벽을 이용한 VPN의 한 예를 보여주고 있다.

라우터 형 VPN(라우터 + VPN)

주로 대규모 통신 네트워크에서 도입하는 방법으로, 라우터나 접속서버(Access Server)에 VPN 기능을 추가한 것이다. VPN 기능의 추가는 라우터 내에 S/W(software)를 설치하는 방법과 별도의 H/W(hardware) 장치를 설치하는 두 가지 방법이 있다.
라우터 형의 VPN의 성능은 VPN 터널 종단간의 라우터의 성능에 의해 좌우된다.

VPN 서버 형(기존 서버 + VPN)

VPN을 구성하고자 하는 조직의 메일 서버에 데이터 암호화, 복호화와 사용자 인증 기능을 부가하여, 사용자에서 해당 서버와의 인증 절차를 거쳐 접속할 수 있도록 구성하는 방식이다. 이는 구현이 쉽고 비용 측면에서 상당히 유리하다.

전용 시스템 VPN

기업의 내부와 사용자 사이, 보안의 유지가 필요한 부분에 인증 절차 및 데이터 암호화, 복호화 기능을 수행할 수 있는 별도의 시스템을 두어 VPN을 구성하는 방식이다.
이들은 대부분 별도의 데이터베이스 장치를 필요로 하지만 독립적인 측면에서 트래픽의 증가에 비교적 안정적인 편이며, VPN의 구축이 쉽고 그 확장성이 매우 뛰어나다.
그러나 별도의 장비를 구입해야 하는 비용적 측면에서의 단점이 존재한다.

VPN 구성

VPN을 구성하기 위해 반드시 구현되어야 할 몇 가지 중요한 기술들이 있는데, 터널링과 인증절차 및 암호화에 관련된 기술이다.

터널링

터널링은 VPN의 구성 기술 중 가장 기본적인 것이다. 터널링은 VPN에서만 쓰이는 것은 아니며, IPv6를 사용하는 네트워크와 IPv4를 사용하는 네트워크간의 통신에도 터널링은 이용될 수 있다.

정의

터널링은 송신자와 수신자 사이의 전송로에 외부로부터의 침입을 막기 위해 일종의 파이프를 구성하는 것을 말한다. 이때 파이프는 터널링을 지원하는 프로토콜을 사용하여 구현하며 사설 네트워크와 같은 보안 기능을 지원한다.
터널링 기술에서는 터널링되는 데이터를 페이로드(Payload)라고 부르며, 터널링 구간에서 페이로드는 그저 전송되는 데이터로 취급되어 그 내용은 변경되지 않는다.
그림 10-8은 터널링 구조를 도시하고 있다.

프로토콜 분류

터널링을 지원하는 프로토콜에는 PPTP(Point-to-Point Tunneling Protocol), L2TP(Layer 2 Tunneling Protocol), L2F(Layer 2 Forwarding Protocol), MPLS, IPSec 등이 있다. 이들 프로토콜은 몇 계층에서 터널링을 지원하느냐에 따라 분류된다.
PPTP, L2TP, L2F는 2계층 프로토콜이며, IPSec은 3계층 프로토콜, MPLS는 2계층과 3계층 모두를 지원한다.
2계층 터널링 프로토콜
2계층 터널링 프로토콜은 주로 사용자와 접속하고자 하는 위치의 LAN을 연결해 주는 역할을 한다. 2계층 터널링 프로토콜은 주로 Remote Access VPN에 사용되며, 이러한 구성을 Client-to-LAN이라 한다.
사용자 측에서 다이얼 업을 이용하여 접속할 때 ID와 암호를 사용하여 인증절차를 거친 후에 터널링을 시작한다.
2계층 터널링의 특징은 다음과 같다.
2계층 레벨의 VPN을 구성한다.
Client-Server 모델이다.
PPP(Point-to-Point Protocol) 기반의 프로토콜이다.
다이얼 업으로 연결에 대한 기본적인 보안성이 제공되지만, 암호화 기능이 미흡하다.
ATM(Asynchronous Transfer Mode), Frame Relay 등을 지원한다.
2계층 터널링 프로토콜을 사용하여 VPN 터널을 구성하는 방법에는 두 가지가 있다.
클라이언트 개시 VPN(Client-Initiated VPN)
PC 등 사용자 장비에 VPN 지원 소프트웨어를 설치해야 함
소규모의 네트워크에 사용됨
인증절차 이후 NAS는 터널링 프로토콜에 관여하지 않음
하나의 터널에 단 하나의 접속만이 존재
PPTP(Point-to-Point Tunneling Protocol)
그림 10-9에서 알 수 있듯이 클라이언트 개시 VPN 접속절차는 크게 3단계로 구분된다.
우선 접속하고자 하는 사용자는 PSTN, ISDN, xDSL 네트워크 등을 통하여 근처 NAS로 접속한다. NAS는 ISP에서 관리하고 있으며 해당 사용자가 유효한 사용자인지 판단하는 인증기능을 갖고 있다. 이때 사용될 수 있는 수단은 접속 ID와 암호가 될 수 있다.
인증 절차가 끝나면 사용자는 2계층 터널링 프로토콜을 이용하여 해당 목적지의 게이트웨이와 VPN 터널링을 설정한다. 이때 NAS는 관여하지 않는다.
NAS(Network Access Server) 개시 VPN(NAS-Initiated VPN)
개인 PC에 별도의 장치 및 소프트웨어 불필요
NAS가 인증절차 및 터널링 프로토콜을 이용한 터널 생성에 책임
NAS에 VPN 기능을 추가해야 함
하나의 터널에 여러 사용자가 동시에 접속 가능
SP의 NAS에서 기업의 Gateway까지 터널 형성
대규모 네트워크에 적합
L2F(Layer 2 Forwarding Protocol), L2TP(Layer 2 Tunneling Protocol)
그림 10-10은 NAS 개시 VPN의 접속절차를 보여준다. 이 방식은 NAS가 인증절차 및 VPN 터널 형성에 책임을 진다. 따라서 NAS의 기능이 복잡해지는 경향이 있다. 그러나 하나의 터널에 대하여 다중 접속을 지원하기 때문에 클라이언트 개시 VPN 보다 효율적인 네트워크 관리가 가능하다.
2계층 터널링 프로토콜 각각에 대해 간략히 알아보자.
PPTP(Point-to-Point Tunneling Protocol)
PPTP는 마이크로소프트에서 PPP(Point-to-Point Protocol) 기술을 확장하여 개발한 것으로 IP, IPX 또는 NetBEUI(Network BIOS Enhanced User Interface, IBM) 페이로드를 암호화하고 IP 헤더로 캡슐화 하여 전송한다. PPTP는 터널의 유지, 보수, 관리를 위하여 TCP 연결을 사용하고 있다.
PPTP는 특히 이동사용자가 서버에 접속하기에 용이하게 구성되어 있다. 그러나 서버가 마이크로소프트의 윈도 NT(Windows New Technology) 서버이어야 한다는 제약이 있으며, 사용자는 별도의 PPTP 지원 소프트웨어를 사용해야 한다.
또한 PPTP는 하나의 터널에 하나의 연결만을 지원하여 일대일 통신만 가능하다는 단점이 있다. PPTP는 Client-Initiated VPN에 사용된다.
L2F(Layer 2 Forwarding Protocol)
L2F는 시스코에서 제안된 프로토콜이다. 이것은 NAS-Initiated VPN 형이기 때문에 사용자들은 PPTP처럼 특별한 소프트웨어를 필요로 하지는 않는다.
또한 PPTP가 하나의 터널에 하나의 연결만을 지원하는 반면, L2F는 하나의 터널에 여러 개의 연결을 지원하여 다자간 통신이 가능하다. L2F는 전송계층 프로토콜로 TCP가 아닌 UDP를 사용한다.
L2TP(Layer 2 Tunneling Protocol)
L2TP는 PPTP와 L2F를 결합한 방법으로 마이크로소프트와 시스코에서 지원하고 있으며, 호환성이 뛰어나다. L2TP는 PPTP와 캡슐화 방법이 유사하다. 그러나 IPSec을 이용하여 패킷을 암호화하는 기능을 갖고 있다.
인터넷, X.25, Frame Relay, ATM 등을 지원한다. 전송계층 프로토콜은 UDP를 사용한다.
그림 10-11은 L2TP 프로토콜을 이용한 VPN 구성 예이다.
2계층 터널링 프로토콜은 이렇게 3가지가 대표적이지만, 현재 사용하거나 개발 중인 프로토콜은 PPTP와 L2TP가 주류이다. PPTP와 L2TP는 유사한 기능을 제공하지만 아래 표와 같은 차이점이 있다.
PPTP
L2TP
표준화
마이크로소프트
RFC2261
터널 서비스
하나의 터널에 단 하나의 접속
터널 하나에 다수의 접속 가능
헤더 압축
지원하지 않음
지원함
터널 인증
지원하지 않음
지원함
3계층 터널링 프로토콜: IPSec, MPLS
3계층 터널링은 IPSec과 MPLS로 대표되며 주로 LAN-to-LAN VPN에 이용된다. LAN-to-LAN VPN은 VPN 터널을 이용하여 통신하는 주체가 LAN 단위의 네트워크라는 뜻이며, 주로 기업의 본사와 지사간의 네트워크를 말한다.
이러한 3계층 터널링은 기업에게 여러 이점을 제공하는데 이를 채택한 네트워크 관리자는 원격 노드나 CPE(Customer Premises Equipment)에 특별한 소프트웨어를 설치할 필요가 없다.
여기서 CPE는 고객의 구내에 설치되어 각종 통신장비(전화, 컴퓨터 등)가 공중 네트워크에 접속할 수 있게 해 주는 장비를 총칭하여 부르는 말이다.
3계층 터널링 프로토콜의 특징은 다음과 같다.
네트워크 계층 레벨의 VPN을 구성함
LAN-to-LAN 모델
링크 계층과 독립적
우수한 보안성
CPE에 특별한 변화 없이 구축 가능

IPSec을 이용한 VPN

IPSec은 IP 네트워크에서 안전하게 정보를 전송하는 표준화된 3계층 터널링 프로토콜이다. IPSec은 IP 계층의 보안을 위해 IETF에 의해 제안되었으며 VPN 구현에 널리 쓰이고 있다.
IPSec은 AH(Authentication Header)와 ESP(Encapsulation Security)를 통해 IP 데이터그램의 인증과 무결성, 기밀성을 제공하며, ISAKMP/IKE(Internet Security Association and Key Management Protocol/Internet Key Exchange)에서는 AH/ESP에 필요한 보안관련 협상(Security Association Negotiation)과 키 관리를 담당한다.
IPSec은 두 호스트 사이, 두 보안 게이트웨이 사이 또는 보안 게이트웨이와 호스트 사이의 통신을 보호하기 위해 사용된다.
IPSec의 두 가지 모드
전송모드
IP 페이로드만을 암호화한다.
터널 모드
패킷으 모두 암호화하여 전송한다. 터널모드 IPSec은 터널의 종단점과 첫 번째 라우터 사이는 평문으로 전송하며 라우터와 라우터 사이만 암호화 되기 때문에 주로 네트워크간 연결에 사용된다.
IPSec의 헤더
인증 헤더(AH: Authentication Header)
인증 데이터와 순서번호를 갖는다. 이것은 송신자를 확인하고 메시지가 송신되는 동안 수정되지 않았음을 보장하는 헤더로 암호화 기능은 없다.
캡슐 보안 페이로드(ESP: Encapsulating Security Pay-load)
IP 페이로드를 암호화하여 데이터 기밀성(Confidentiality)을 제공하며, 제 3자의 악의에 의해 데이터가 노출되는 것을 막는다.
우리는 그림 10-12에서 IP 헤더가 두 번 나오는 것을 알 수 있다. 왜 두 개의 IP 헤더가 존재하는 것일까? 이것이 바로 터널링 패킷의 실 예이다.
왼쪽의 IP 헤더는 실제로 IPSec을 이용하여 전송되는 네트워크 내에서 라우팅에 사용될 헤더이다. 오른쪽의 IP 헤더는 실제로 송신측에서 전송한 IP 패킷의 헤더가 된다.

인증

인증이란 크게 데이터 변형 여부를 증명하는 데이터의 인증과 송신자의 접근 권한을 부여하는 사용자 인증으로 구분할 수 있다.
Remote Access VPN의 경우 고정된 장소에서 접근하는 방식이 아니라 언제 어디에서 접근할지 모르는 경우에 해당되므로, 초기 VPN 접근 시 보안서버로부터 인증절차를 반드시 거쳐야 한다.
이러한 인증 절차에는 두 가지 방식이 있는데 첫 번째는 상호 독립적인 Peer-Peer 방식과 주종의 관계인 클라이언트-서버(Cilent-Server) 방식이 있다.

Peer-Peer 방식

독립적인 2개의 호스트 간에 요청 및 응답을 통한 사용자 인증을 수행하는 방식으로 PAP(Password Authentication Protocol)과 CHAP(Challenge Handshake Authentication Protocol)이 있다.
PAP는 Two-Way Handshaking 방식으로 인증을 요청하는 호스트에서 사용자 ID와 암호를 일반 텍스트 형태로 전달한다. 따라서 이 방법은 인증 정보의 외부 노출이 쉽게 이루어질 수 있다.
반면 CHAP은 Three-Way Handshaking 방식으로 인증 서버는 호스트로 Challenge 메시지를 보내면, 호스트는 보안을 위해 해시 함수(Hash Function)을 이용하여 계산한 값을 보내고 그런 다음 인증 서버는 값이 일치하면 인증하는 방식이다.
그러나 Peer-Peer 방식은 동일한 호스트를 사용하는 사용자 별로 차별화된 네트워크 접근 권한을 할당할 수 없다는 단점을 갖고 있다.

클라이언트-서버(Client/Server) 방식

보안 관리 기능에 대해 좀 더 편리하고 유연하게 제공하기 위한 방식으로 TACACS(Terminal Access Controller Access-Control System)와 RADIUS(Remote Access Dial-In User Service)가 있다.
TACACS는 인증에 필요한 사용자 ID, 암호, PINs 및 암호키 정보를 인증서버에서 데이터베이스 형태로 관리하며, 클라이언트로부터의 인증 요청을 처리한다.
TACACS에서 사용자와 서버 사이에 전달되는 모든 데이터는 일반 텍스트 형태이다. 이를 보완하고자 TACACS+에서는 MD(Message-Digest) 즉 해시 함수를 추가하여 인증 데이터에 대한 보안 기능을 추가시켰다.
그리고 TACACS+는 멀티프로토콜 로그인(Multiprotocol Login)을 지원함으로써 IP 이외에도 IPX, AppleTalk 등의 네트워크에서도 로그인이 가능하다.
RADIUS는 사용자 인증 이외에도 사용자 연결 관리를 위해 NAS와 연동하여 인증 시스템을 구성한다. NAS는 사용자가 네트워크로의 접속을 제공하는 서버 기능을 제공하면서 동시에 RADIUS에 대해 클라이언트 역할을 수행한다.
RADIUS도 TACACS와 마찬가지로 인증 서버에서 인증에 관련된 정보를 단일 데이터베이스 형태로 관리한다.
RADIUS 서버와 클라이언트는 사용자 암호의 안전한 송수신을 위해 비밀키 암호화 방식을 사용한다.
클라이언트-서버 방식은 PAP와 CHAP 인증을 지원하고, 다른 인증 시스템에 대해 Proxy 서버역할도 지원함으로써 Peer-Peer 방식에 비해 좀 더 유연하고 신뢰성 있는 인증 기능을 제공한다.

VPN 보안

VPN의 가장 중요한 요소 중 하나인 보안은 최근 IPSec의 활발한 도입으로 많은 발전을 이루고 있다.
MPLS가 트래픽 엔지니어링(Traffic Engineering)이나 자원 예약(Resource Reservation) 등의 강력한 기능으로 사설 네트워크에 근접한 서비스를 제공한다 할지라도 보안에 있어서는 그다지 특별한 대책을 마련하고 있지 못하다.
이를 극복하기 위해 MPLS VPN이 나오기 전부터 학자들은 IPSec를 도입하여 VPN을 구성하려 했으며 실제로 많이 사용되고 있다.

IPSec

IPSec은 IETF에 의해 IP 계층 보안을 위해 개방형 구조로 설계된 표준이다. IPSec은 네트워크 계층의 보안에 대해 안정적이고 표준화된 기초를 제공한다. IPSec을 이용하여 IP 계층에서 직접 보안 서비스를 제공함에 따라 상위 계층 프로그램의 변경이 필요하지 않는다.
즉 암호화된 패킷은 보통의 IP 패킷과 동일한 형태를 갖기 때문에 네트워크 장비의 내부 변경 없이 IP 네트워크를 통해서 쉽게 라우팅 할 수 있다.
암호화헤 관련된 유일한 장비는 종단점이 된다. 이러한 형태의 구성은 구현과 관리 비용을 모두 크게 줄일 수 있는 장점이 있다.
IPSec은 오늘날의 암호화 알고리즘을 수용할 수 있을 뿐만 아니라 새로운 알고리즘을 쉽게 수용할 수도 있다. 이러한 특징으로 인해 차세대 인터넷 프로토콜인 IPv6에서는 IPSec을 기본적으로 포함하고 있다.
또한 현재 사용되고 있는 IPv4에서도 IPSec을 사용하는 것이 보안을 위해서 필요하다. IPSec은 인터넷의 기초적인 보안을 튼튼하게 할 수 있는 방법을 제공하며, 이 기술은 방화벽이나 VPN 등의 응용에도 도입되고 있다.
IPSec이 제공하는 기능은 다음과 같은 것들이 있다.
데이터 원본 인증(Data Source Authentication)
요청한 수신인에 의해 각각의 데이터가 원본인가를 확인한다.
데이터 무결성(Data Integrity)
데이터의 내용들이 이동 중 제 3자의 고의적 파괴나 네트워크 내에서 발생될 수 있는 오류들에 의해 변화되지 않았다는 것을 확인한다.
데이터 기밀성(Data Confidentiality)
암호를 사용해서 메시지의 내용을 은폐한다.
Replay 보호(Protection Against Replay Attack)
제 3자가 데이터를 가로채어 분석 후 그 정보를 이용한 불법 침입을 방지한다.
IPSec은 공개키 암호화 방식을 사용한다. 일반적으로 IPSec으로 통신할 때 송수신측은 공개키를 교환하고 인증 및 암호화 알고리즘과 암호키에 대한 정보를 교환해야 한다.
이러한 암호관련 프로파일(Profile)을 SA(Security Association)이라 한다. 이는 송신측과 수신측의 트래픽 보안 서비스를 제공하기 위해 상호 협상에 의해 생성되며 애플리케이션마다 독립적으로 생성되고 관리된다.
SA가 단방향이기 때문에 양단간의 통신이 필요한 경우 각 방향에 대해 하나씩의 SA를 정의해야 한다.
IPSec을 구성하는 프로토콜에는 AH, ESP, ISAKMP(Internet Security Association and Key Management Protocol)가 있다.
AH는 데이터 송신자의 인증을 허용하는 헤더이며, ESP는 송신자의 인증 및 데이터 암호화를 함께 지원한다. IPSec은 이러한 두 종류의 보안 서비스를 제공한다.
두 개의 프로토콜 헤더는 IP 페이로드에 연속적으로 삽입되며, ISAKMP와 같은 별개의 키 프로토콜이 선택될 수 있다. 그림 10-13은 이러한 IPSec의 통신 방법을 보여주고 있다.

인증 헤더(AH: Authentication Header)

AH는 IP 패킷에 대해 무결성과 데이터 원본 인증을 제공한다. 그리고 Replay에 대한 보호를 제공한다.
데이터 무결성은 메시지 인증 코드(MD5: Message Digest 5)에 의해 생성되는 체크섬(Checksum)에 의해 보증되는데, 데이터 원본 인증은 인증된 데이터 안에 있는 공유된 비밀키에 의해 보증된다.
그리고 Replay 보호는 AH 헤더의 필드에서 일련 번호를 사용함으로써 제공된다.
전송모든 원래 IP 헤더의 출발지, 목적지를 그대로 유지하는 방법이며, 터널 모드는 새로운 IP 헤더를 만들어서 원래의 IP 패킷 모두를 AH의 페이로드로 만드는 방법이다.
전송모드는 IP 페이로드 부분만을 암호화한다. 주로 두 개의 호스트간의 통신에 사용된다. 이거은 원본 인증은 지원하지만, 헤더부분의 모든 정보는 평문으로 되어 있어 노출의 가능성이 있다.
이에 반해 터널모드는 IP 헤더까지 모든 패킷을 암호화하여 페이로드에 포함시킨다. 따라서 암호화된 IP 헤더 이외의 부가적인 IP 헤더가 필요하게 되며, 통신 주체인 양단 중 하나가 게이트웨이일 경우에는 터널모드를 사용해야 한다.
그렇다고 호스트와 호스트간의 통신에 터널모드가 사용되지 못하는 것은 아니다.

캡슐 보안 페이로드(ESP: Encapsulation Security Payload)

ESP는 데이터 기밀성, 패킷 단위의 무결성, 데이터 원본 인증 및 Replay에 대한 보호를 제공한다. AH와 비교해 ESP는 암호화를 제공한다는 점이 다르다. ESP의 암호화는 공유된 대칭키를 사용한다. 그 공유된 키는 그들 사이에서 교환되는 데이터를 암호화하고 복호화하기 위해 사용된다.
ESP는 또한 인증기능을 제공하기 위해 AH와 같은 알고리즘을 이용한다.
ESP도 AH와 마찬가지로 전송모드와 터널모드 두 가지로 사용될 수 있다. 전송모드에서 ESP의 인증기능들은 오직 고유 IP 페이로드만을 보호하고, 고유 IP 헤더는 보호하지 않는다. 터널모드에서 ESP의 인증은 고유 IP 헤더와 IP 페이로드를 보호한다. 그러나 새로운 IP 헤더는 보호하지 않는다.
전송모드에서 데이터그램의 고유 IP 헤더는 계속 유지된다. 고유 IP 데이터그램의 페이로드와 ESP 트레일러가 암호화된다. 그 자신의 IP 헤더의 기록은 인증되거나 암호화되지 않는다. 그러므로 바깥쪽 헤더에 있는 주소 정보는 데이터그램이 전송되는 동안 공격자가 볼 수 있다.
그림 10-16의 터널모드에서 여러분은 새로운 IP 헤더를 볼 수 있을 것이다. 이것은 터널 모드의 고유 IP 데이터그램(IP 헤더와 IP 페이로드 모두)과 ESP 트레일러가 암호화된 것이다. 그러므로 전송되는 동안 공격자가 원본 IP 헤더의 내용을 볼 수 없게 된다.
일반적으로 ESP 터널모드는 두 방화벽 사이에 터널을 만들고 통신하는 동안 방화벽 뒤의 실제 통신에 참여하는 호스트들에 대한 내부 주소정보를 숨기기 위해 사용한다.
ESP는 단독으로 혹은 AH와 함께 사용할 수 있다. 이렇게 두 개의 프로토콜을 사용하면 호스트와 호스트 사이, 방화벽과 방화벽 사이 또는 호스트와 방화벽 사이에 인증이 제공된다.
AH, ESP는 앞서 설명했듯이, 데이터를 전송하는데 있어 인증처리와 암호화를 어떻게 할 것이냐에 초점을 맞추고 있다. 그러나 암호화를 위해서는 동일한 공개키를 갖고 있어야 하며, 터널링 세션이 설정되었을 때 이를 관리할 필요가 있다.
키를 교환하고 SA(Security Association)의 설정, 협상, 변경, 삭제 등 처리를 하기 위해 정의해 놓은 프로토콜이 있다.
ISAKMP/Oakley(Internet Security Association and Key Management Protocol), IKE(Internet Key Exchange) 등이 그러한 역할을 한다.

MPLS VPN

VPN 기술에 있어 커다란 변화가 무엇이냐고 물으면 대부분의 사람들은 MPLS VPN의 등장이라 할 것이다. MPLS는 자체적인 터널 기능과 대다수의 링크 계층 프로토콜을 지원하며, 기존 IP 네트워크의 비효율적인 라우팅 방식과 속도를 개선하였다.

MPLS(Multi-Protocol Label Switching)

MPLS는 시스코사의 태그 스위칭(Tag Switching)과 IBM의 ARIS(Aggregate Route-based IP Switching)를 결합해 IETF에서 정한 표준이다. MPLS는 지금까지의 고전적인 여러 스위칭 기술의 문제점들을 해결하려는 목적으로 만들어졌다.
MPLS은 MPLS를 지원하는 네트워크로 들어오는 패킷에 진입부분에서 3계층 주소를 이용해서 해당 라우터가 갖고 있는 레이블 정보와 비교하여 부가적인 MPLS 레이블정보를 덧붙인다.
레이블이 부가된 패킷은 이제 MPLS 네트워크 내에서는 오직 레이블로만 스위칭 된다. 레이블은 다음 라우터로 가서 레이블과 레이블이 매핑되어 있는 테이블에서 새로운 레이블을 부여 받으며, 이것을 레이블 스와핑(Label Swapping)이라 한다.
이러한 과정을 반복하면서 MPLS 네트워크의 마지막 라우터까지 도달하면 마지막에 거치게 되는 라우터는 레이블정보를 떼어버리고 다시 3계층 주소를 이용하여 라우팅하게 된다.
그림 10-18은 MPLS 데이터 포맷의 다양한 구성 형태를 나타내고 있다.
MPLS는 ATM, Frame Relay 등 다수의 프로토콜을 지원하기 때문에 사용 네트워크에 따라 그 포맷이 다를 수도 있다.
그림 10-18의 b)의 경우는 PPP over SONET/SDH(Synchronous Optical Network/Synchronous Digital Hierarchy)에서 사용된다.
특히 ATM의 경우는 VCI/VPI(Virtucal Channel Identifier/Virtual Path Identifier) 필드를 MPLS 헤더로 대체하기 때문에 더 이상 VCI/VPI 필드의 의미는 없어지게 된다.
흔히 MPLS가 어떤 계층의 프로토콜이냐는 질문을 받을 때 상당히 혼란스러워지는데, 레이블이 2계층인지 3계층인지 애매모호할 때가 많은 것이 그 이유일 것이다. 그런 이유에서 MPLS를 대부분 2.5계층의 프로토콜이라 한다.

MPLS VPN(Multi-Protocol Label Switching VPN)

MPLS VPN은 MPLS 통신 네트워크를 이용하여 VPN을 제공하는 서비스로 여타 VPN 구조에 비하여 서비스 도입과 운용관리가 간단하고 편리하며 저가의 VPN 서비스 제공이 가능하다.
하드웨어 또는 소프트웨어를 이용하는 LAN-to-LAN VPN이나 액세스 VPN 서비스는 기업 입장에서 초기 구축비가 많이 드는 반면, MPLS VPN은 통신사업자가 모든 장비와 운용 인력을 지원하기 때문에 초기 비용이 적게 드는 장점이 있다.
MPLS VPN은 RFC2547: BGP/MPLS VPNs(Border Gateway Protocol/MPLS VPNs) 권고안을 기준으로 개발되고 있다.
MPLS VPN의 특징은 다음과 같다.
기존 인터넷에 그대로 사용가능
2계층 스위칭 속도와 3계층의 라우팅 기능을 접목
짧고 고정된 길이(4byte)의 레이블(label)을 이용하여 스위칭
패킷 포워딩(packet forwarding)은 레이블 스와핑(label swapping)으로 수행
패킷 지연시간 감소
레이블 부여는 LER(Label Edge Router)에서만 수행
네트워크 내의 라우터와 스위치의 부담을 덜어줌
여러 가지 다양한 서비스 제공 가능: QoS(Quality of Service), VoIP(Voice over IP), TE(Traffic Engineering) 등
가입자에게 일정한 대역폭을 할당할 수 있어 높은 수준의 서비스 지원 가능
사설주소 체계 사용 지원(RFC1918)
MPLS VPN은 MPLS 자체가 터널링을 지원한다는 커다란 장점을 제공한다. 터널링 기능은 MPLS 레이블을 이용하여 수행되는데, 일단 LER에서 레이블을 부여하기 때문에 MPLS 네트워크 내부에서는 해당 레이블을 부여 받은 데이터의 흐름 내로 침입이 불가능하다.
LER은 MPLS를 사용하는 네트워크 사이에서 레이블을 할당하고 삭제하는 역할을 하는 종단 라우터이다.
그러나 MPLS VPN은 터널링 IPSec VPN에 비해 가입자단 라우터의 부하를 줄일 수 있지만 암호화 기능이 상대적으로 취약하다는 단점을 갖고 있다.

VPN의 미래

(생략)