1. VPN(Virtual Private Network) 이란?
1) 등장배경
· VPN은 인터넷을 기반으로 한 기업 업무 환경의 변화에 기인한다.
· 즉, 본사와 다수의 지사관계, 또한 국내 지사와 국외 지사로 확장되는 기업의 활동규모 및 지역 증가라는 업무환경 변화에도 불구하고 모두가 하나의 네트워크로 맞물려 있어야 하는 과제가 생기게 되었다.
· 독립적인 네트워크 구축을 위해 기존 전용선을 이용하는 사설망은 비용을 포함하여 여러 가지 한계를 갖는다.
· 공중 네트워크는 보안과 관련해서는 서비스를 제공하지 않기 때문에 중요한 문제나 데이터를 전달하기에는 부족한 점이 있었다.
2) VPN의 정의
· 공중 네트워크를 이용하여 사설 네트워크가 요구하는 서비스를 제공할 수 있도록 네트워크를 구성한 것이기 때문에 가상 사설 네트워크라고 한다.
· 즉, 인터넷과 같은 공중 네트워크를 마치 전용회선처럼 사용할 수 있게 해주는 기술 혹은 네트워크를 통칭한다.
· 공중망을 경유하여 데이터가 전송되더라도 외부인으로부터 안전하게 보호되도록 주소 및 라우터 체계의 비공개, 데이터 암호화, 사용자 인증 및 사용자 액세스 권한 제한 등의 기능을 제공한다.
3) 특징
· 가상사설망은 응용프로그램 하단 계층에서 작동하므로 응용프로그램을 수정할 필요가 없기 때문에 투명성을 제공한다.
· 사용자가 필요에 따라 자체적으로 보안성을 적용한 네트워크를 구축할 수 있다. 이는 IPsec이나 TLS/SSL 등의 보안 프로토콜을 네트워크 관리자의 구성이 아닌 사용자의 요구로 적용시킬 수 있다는 것이다.
· 이미 구축되어 있는 사설망과의 연결, 모바일 환경, 외부와의 보안통신이 가능하기 때문에 추가적인 구축비용 부담이 적다.
4) VPN 구현기술
① 터널링
·상용망상에서 전용망과 같은 보안효과를 주기 위한 기법으로 VPN 내의 두 호스트 간에 가상경로를 설정해 주어 사용자에게 투명한 통신서비스를 제공한다.
· 인터넷과 같은 안전하지 못한 네트워크 환경에서 전용선과 같은 강력한 보안을 제공하는 것으로, IP 패킷이 공중망을 통과할 때 사용자 간에 마치 터널이 뚫린 것처럼 통로를 마련하여 이 통로를 통해 데이터를 안전하게 전송하는 것이다.
② 암호화 및 인증
· 네트워크를 통해 전달되는 IP 패킷은 spoofing, session hijacking, eavesdropping 및 sniffing을 통해 패킷정보가 유출될 수 있는데 정보의 기밀성을 제공하기 위해 VPN에서는 대칭키 암호(DES, RC5, SEEF, AES 등)를 사용한다.
· 암호화에 사용되는 대칭키는 공개키 암호방식(RSA, ElGamal 등)을 사용한 키 교환을 통해 공유된다.
· 메시지 인증은 MAC 또는 해시함수를 이용하여 수신된 메시지가 주장된 출처에서 왔고, 변경되지 않았다는 것을 확인한다.
· 사용자 인증은 VPN 접속요구 시 요구주체(시스템 혹은 사용자)의 신원을 확인하는 프로세스인데 보안서버로부터 인증을 받아야 접속이 허가된다.(공유키, 공개키, 인증서, 전자서명 등을 사용)
③ 접근제어
· 필터링은 세밀하게 접근제어를 결정할 수 있지만 암호화하지 않은 IP 패킷 정보에서만 필터링 수행이 가능하므로 암호화된 패킷에는 적용이 불가능하다.
서비스 | 내용 |
데이터 기밀성 | 송수신되는 데이터를 제3자가 그 내용을 파악하지 못하도록 암호화하여 전송 |
데이터 무결성 | 송수신 도중 데이터의 내용이 변경되지 않았음을 보장하는 방법으로 암호화 및 전자서명(Digital Signature)을 이용 |
데이터 근원 인증 | 수신한 데이터가 해당 송신자에 의해서 전송된 것임을 확인할 수 있는 서비스 제공 |
접근 통제 | 인증된 사용자에게만 접근을 허용하는 기능으로 협상내용을 모르는 제3자의 접근을 통제하는 서비스를 제공 |
2. VPN의 구성
1) 터널링
· 송신자와 수신자 사이의 전송로에 외부로부터의 침입을 막기 위해 일종의 파이프를 구성하는 것이다. 파이프는 터널링을 지원하는 프로토콜을 사용하여 구현하고 있으며 사설망과 같은 보안 기능을 지원한다.
· 터널링되는 데이터를 페이로드(Payload)라고 부르며 터널링 구간에서 페이로드는 그저 전송되는 데이터로 취급되어 그 내용은 변경되지 않는다.
· 터널링을 지원하는 프로토콜에는 PPTP, L2TP, L2F, MPLS, IPsec 등이 있다.
· 몇 계층에서 터널링을 지원하느냐에 따라서 분류되는데, PPTP, L2TP, L2F는 2계층 프로토콜이며, IPsec은 3계층 프로토콜, MPLS는 2계층과 3계층 모두를 지원한다.
구분 | 2계층 | 3계층 | MPLS | |
프로토콜 | L2TP, PPTP | IPSec, GRE | MPLS | |
구현 형태 | 클라이언트-서버 | 호스트-호스트 | 호스트-호스트 | |
캡슐화 대상 | IP, IPX, 애플토크 등 | IP | IP | |
보안 | 인증 | 비표준, 자체지원 | IPSec | 비표준 |
암호화 | 비표준, 자체지원 | IPSec | 비표준 | |
특징 | PPP 기술 활용 | 다중 서비스 지원 | QoS 제공 기능 |
2) 2계층 터널링 프로토콜
① PPTP(Point-to-Point Tunneling Protocol)
· Microsoft사에서 개발한 것으로 IP, IPX 또는 NetBEUI(Network BIOS Enhanced User Interface) 페이로드를 암호화하고, IP헤더로 캡슐화하여 전송한다.
· PPTP는 터널의 유지·보수·관리를 위하여 TCP연결을 사용하고, 이동통신사용자가 서버에 접속하기 용이하게 구성되어 있다.
· PPP(Point-to-Point)에 기초하여 두 대의 컴퓨터가 직렬 인터페이스를 이용하여 통신할 때 사용한다. 전화선을 통해 서버에 연결하는 PC에서 자주 사용되었다.
② L2F(Layer 2 Forwarding Protocol)
· Cisco사에서 제안된 프로토콜로서 NAC 개시 VPN형이기 때문에 사용자는 별도의 S/W가 필요 없다.
· 하나의 터널에 여러 개의 연결을 지원하여 다자간 통신이 가능하다.
· 전송 계층 프로토콜로 TCP가 아닌 UDP를 사용한다.
③ L2TP(Layer 2 Tunneling Protocol)
· L2TP는 PPTP와 L2F를 결합한 방법으로 마이크로소프트와 시스코에서 지원하고 있으며, 호환성이 뛰어나다.
3) 3계층 터널링 프로토콜
① IPSec
· IP망에서 안전하게 정보를 전송하는 표준화된 3계층 터널링 프로토콜이다. IP계층의 보안을 위해 IETF에 의해 제안되었으며 VPN 구현에 널리 쓰이고 있다.
· AH(Authentication Header)와 ESP(Encapsulation Security Payload)를 통해 IP 데이터그램의 인증과 무결성, 기밀성을 제공한다.
· IPSec의 두 가지 모드
· 전송모드 : IP 페이로드를 암호화하여 IP헤더로 캡슐화
· 터널모드 : IP 패킷을 모두 암호화하여 전송
· IPSec의 헤더
· AH: 데이터와 순서번호 보유, 송신자를 확인하고 메시지가 송신되는 동안 수정되지 않았음을 보장하는 헤더로 암호화 기능 없음
· ESP: IP 페이로드를 암호화하여 데이터 기밀성(Confidentiality)을 제공하므로 3자의 악의에 의해 데이터가 노출되는 것을 차단
4) SSL(Secure Sockets Layer) VPN
· SSL VPN은 일반 사용자가 쉽게 사용할 수 있는 보안 프로토콜로 특징은 다음과 같다.
· IPSec VPN에 비해 설치 및 관리가 편리하고 비용 절감도 가능
· 클라이언트와 서버 사이의 안전한 통신 채널 관리를 담당
· 데이터를 암호화와 인증을 통해 송수신 경로의 안전성 보장
· PKI의 공개키/개인키를 이용한 웹사이트 통신 보안 가능
구분 | IPsec VPN | SSL VPN |
접근 제어 | 애플리케이션 차원 정교한 접근제어 미흡 | 애플리케이션 차원의 정교한 접근제어 가능 |
적용 계층 | TCP/IP의 3계층 | TCP/IP의 5계층 |
지원성 | 별도의 소프트웨어 설치 필요 | 웹 브라우저 자체 지원 |
암호화 | DES/3DES/AES/RC4, MD5/SHA-1(패킷단위) | DES/3DES/AES/RC4, MD5/SHA-1(메시지 단위) |
적합성 | Site to Site | Site to Remote |
장점 | 종단간 보안 가능 종단 부하 없음 |
접속과 관리의 편리성 Client Server 상호 인증 |
5) 인증
① 데이터 인증
· 인증 프로토콜을 이용하여 패킷을 인증함으로서 무결성을 만족할 수 있다.
· 인증을 위한 프로토콜로는 MD5, SHA-1 등과 같은 해시 알고리즘을 이용하는 방법들이 대표적이다
② 사용자 인증
· 사용자 인증은 신분 확인을 통해 다른 사람이 자신이나 타인의 신분을 도용할 수 없도록하는 기능으로 VPN 보안에 있어서 필수적인 항목이다. 인증은 VPN 사용자, 특히 게이트웨이와 클라이언트 PC 사용자의 신원을 확인하는 역할을 수행한다.
· 인증절차에는 두 가지 방식이 있는데 상호 독립적인 Peer-Peer 방식과 주종관계인 클라이언트-서버(Client-Server) 방식이 있다.
· Peer-Peer 방식
· PAP(Password Authentication Protocol): PPP 연결 시 사용되는 인증 프로토콜이다. 연결을 원하는 호스트는 사용자 계정과 패스워드를 목적지 호스트로 보내고, 목적지 시스템은 요청 컴퓨터를 인증한 후 연결을 허용하는 두 단계의 핸드셰이킹으로 구성된다.
· CHAP(Challenge Handshake Authentication Protocol): PAP와 같은 용도에서 PPP 연결 인증 과정의 보안을 위해 보안요소를 강화시킨 프로토콜이다. 3단계 핸드셰이킹과 해시를 통해 보안요소를 첨가했지만, 컴퓨터 단위의 권한부여, 비밀키의 분배로 인한 불안전성, 사용자 데이터베이스의 보관 문제 등의 단점을 갖는다.
· 클라이언트-서버 방식
· RADIUS: 외부에서 회사 네트워크로 다이얼 업 모뎀에 접속하는 사용자를 인증하고, 내부시스템에 액세스할 수 있는 권한을 부여하기 위해서 중앙서버와 통신할 경우 사용될 수 있다.
· TACACS(Terminal Access Controller Access-Control System): 인증에 필요한 사용자 ID, 암호, PINs 및 암호키 정보를 인증서버에서 데이터베이스 형태로 관리하여 클라이언트로부터의 인증 요청을 처리한다. TACACS+에서는 MD(Messegee-Digest), 즉 해시함수를 추가하여 인증 데이터에 대한 보안 기능을 강화하였다.
구분 | 피어 투 피어 방식 | 클라이언트-서버 방식 |
프로토콜 | PKI | TACACS, RADIUS |
원격접속 유형 | IPsec | L2TP |
보안 | 매우 뛰어남 | 보통 |
특징 | 구축 복잡, 다양한 서비스 연계 | 기존 시스템 활용 |
4. MPLS VPN
1) MPLS 기본 개념
· 시스코사의 태그 스위칭과 IBM사의 ARIS를 결합해 IETF에서 정한 표준이다.
· 유입되는 패킷을 진입부분에서 3계층 주소를 이용해서 해당 라우터가 갖고있는 레이블 정보와 비교하여 부가적인 MPLS 레이블 정보를 덧붙인다.
· 현재 부여 받은 레이블이 다음 라우터에서 새로운 레이블로 변경되는 작업을 레이블 스와핑(Label swapping)이라 한다.
2) MPLS VPN
· MPLS 통신 네트워크를 이용하여 VPN을 이용하는 서비스로 여타 VPN 구조에 비하여 서비스 도입과 운영관리가 간단하고 편리하며 저가의 VPN 서비스 제공이 가능하다.
· MPLS VPN의 특징은 다음과 같다.
· 기존 인터넷에 그대로 적용가능
· 2계층의 스위칭 속도와 3계층의 라우팅 기능을 접목
· 짧고 고정된 길이(4Byte)의 레이블을 이용하여 스위칭
· 패킷 전달은 레이블 스와핑으로 수행
· 패킷 지연시간 감소
· 레이블 부여는 LER(Label Edge Router)에서만 수행
· 네트워크 내의 라우터와 스위치의 부담을 덜어줌
· 여러 가지 다양한 서비스 제공 가능 : QoS, VoIP, TE(Traffic Engineering) 등
'Network' 카테고리의 다른 글
[Network] network design (0) | 2020.12.01 |
---|---|
[Network] IPSec 키 관리 프로토콜 - ISAKMP (Internet Security Association and Key Management Protocol) (0) | 2020.11.27 |
[Network] IKE Keep-alive와 Dead Peer Detection의 차이 (0) | 2020.11.26 |
[Network] DHCP protocol 기본 원리 (0) | 2020.11.18 |
[Network] 통신방식 (Simplex, Duplex) (0) | 2020.11.15 |