VPN ( Virtual Personal Network )

2017. 7. 15. 18:19NetworkHacking/Network



VPN에 대해서 알아보기 전에 사설망과 공중망에 대해서 알아보도록 합시다



[1] 사설망 ( Private Network )

- 특정한 회사나 조직이 소유하고 독점적으로 사용하는 네트워크

- ex) 가정에서 공유기 내부에서 사설 IP를 사용하고 있는 네트워크



[2] 공중망 ( Public Network )

- 불특정 다수의 사용자에게 서비스를 제공하는 통신망

- 흔히 말하는 인터넷


회사나 은행에서 본점과 지점을 사설망으로 연결하여 데이터의 기밀성을 얻으려 했으나, 사설망으로 연결하기에는 막대한 비용이 소모되었다

그래서 고비용의 사설망을 대체하기 위해 VPN이 개발되었다



[3] 가상 사설망 ( Virtual Personal Network )

- 공중망을 이용해서 사설망이 요구하는 서비스( 전용선 )를 제공할 수 있다

- 데이터 암호화 및 사용자인증 , 사용자 액세스 권한 제한을 두어 보완성이 우수하다

- 기능

터널링 : 접근하고자 하는 데이터를 특정 프로토콜로 캡슐화하여 전송한다

기밀성 : 데이터를 암화화해서 전송한다 ( 대칭키 암호화 사용 / 공개키 암호화 방식으로 대칭키를 교환 )

무결성 : 데이터의 송,수신중 내용의 불변을 보장하는 기능으로써 암호화 및 전자서명을 이용한다 ( MAC or 해시함수 )

근원인증 : 데이터의 수신자가 송신자에 의해서 전송되어져 왔음을 확인할 수 있다 ( MAC or 해시함수 )

접근통제 : 인증된 사용자에게만 접근을 허용한다



[4] VPN 터널링 프로토콜 

데이터 패킷의 암호화, VPN 터널의 생성 및 관리, 암호화 키 관리를 수행한다

헤더와 개인데이터를 캡슐화하여 공중망을 경유해 터널의 엔드포인트로 전송되고 목적지에 도달한 뒤, 디캡슐화되어 최종 목적지로 향하게 된다

대표적인 VPN터널링 프로토콜은 PPTP, L2TP, IPsec가 있다


4-1> PPTP ( Point - to - Point Tunneling Protocol )

원격 사용자와 사설망 사이의 보안접속을 제공하는 Layer2 터널링 프로토콜 ( ex) 외부에서 사내 서버로의 접속 )

TCP/IP를 그대로 이용하면서 가상사설망을 구축할 수 있도록 한다 ( 서버에 접속 한 후 인증을 받고 VPN터널을 생성하고 VPN연결을 수행한다 )

두 지점 사이에 하나의 터널만 생성가능하다

IP기반의 네트워크에만 지원한다


[ IP Header ] - [ GRE Header ] - [ PPP Header ] - [ PPP Payload ]


[ PPTP VPN ]



4-2> L2TP ( Layer 2 Tunneling Protocol ) = PPTP + L2FP

IP 네트워크 뿐만 아니라 IP전송계층이 없는 WAN구간에서도 사용이 가능하며, 다양한 네트워크를 지원한다

두 지점사이에서 여러개의 터널을 사용할 수 있다

DES or 3DES 로 암호화 되며 인증서나 사전 공유키를 사용하여 인증을 수행한다


[ IP Header ] - [ IPsec ESP Header ] - [ UDP Header ] - [ L2TP Header ] - [ PPP Header ] - [ PPP Payload ] - [ IPsec ESP 트레일러 ] - [ IPsec 인증트레일러 ]


[ L2TP VPN ] 



4-3> IPsec ( Internet Protocol Security )

강력한 사용자 인증과 암호화를 제공하는 Layer 3 프로토콜이다

통신 세션의 각 IP패킷을 암호화하고 인증하여 보안 서비스를 제공한다


두 종류의 보안 서비스를 제공한다 ( AH , ESP )

1> AH ( Authentication Header )

데이터의 무결성과 인증 및 재사용 방지를 위한 헤더로 페이로드는 암호화되지 않아 기밀성 보장x , Replay Attack 방지

2> ESP ( Encapsulating Security Payload )

데이터의 무결성과 인증 및 기밀성을 제공한다. L4계층을 암호화할 경우와 전체 IP 패킷을 암호화할 경우 사용한다


보안 게이트웨이 간의 연결 상태에 따라서 두 종류의 모드로 나뉘어 진다 


[ Tunnel Mode & Transport Mode ]


1> Tunnel Mode

IP헤더와 payload를 모두 암호화하여 새로운 패킷의 payload가 된다

출발지의 라우터가 패킷을 암호화하고 IPsec를 통해서 전달한다

도착지의 라우터는 IPsec를 통해서 전달되어 온 패킷을 복호화한다

단말이 IPsec를 수정할 필요가 없이 트래픽을 분석할 수 있다는 장점이 있다


2> Transport Mode 

payload만 암호화한다

공용 네트워크 상에서 패킷의 출발지와 목적지를 식별할 수 있어 QoS 등이 가능하다

클라이언트가 패킷에 대한 암호호와 복호화를 수행한다

IP헤더가 암호화 되어 있지 않으므로 Layer 4 이상에서는 트래픽을 분석할 수 있다






'NetworkHacking > Network' 카테고리의 다른 글

FTP ( File Transfer Protocol ) / NFS ( Network File System ) / samba  (0) 2017.07.17
방화벽 ( Firewall )  (0) 2017.07.17
RFID ( Radio Frequency IDentifire )  (0) 2017.07.15
TCP Session Hijacking  (0) 2017.07.15
TCP 3-Way Handshake  (1) 2017.07.12