# VPN

## 개념

* Virtual Private Network
* 전용선으로 연결되어 있지 않지만, 가상으로 직접 연결한 것과 같은 효과를 내주는 네트워크 기술
* 논리적으로 직접 연결된 것 처럼 만들어주는 통로인 **터널**을 이용한다.
* 인터넷같은 공중망을 전용선과 같은 사설망으로 사용하기 위해 도입하므로, 강력한 보안을 제공해야 한다.

> 인터넷이 아닌 전용 회선으로 연결되어 있더라도 VPN을 추가 구성하여 회선에 흐르는 데이터를 암호화하는 경우도 있다.

## 종류

* 통신 사업자 VPN
  * 타 도시나 해외 등 먼 거리를 잇는 전용선 비용은 매우 비싸다. 그리고 가입자가 항상 계약된 대역폭을 100% 사용하는 것이 아니므로 낭비되는 비용이 클 수 있다.
  * 이 비용을 줄이기 위해 여러 가입자가 하나의 망에 접속해 통신하므로 공용 회선을 함께 이용하는 MPLS VPN 등의 방식을 사용한다.
  * MPLS VPN 기술 사용 시 가입자는 일반 전용선 연결과 동일한 접속 기술을 사용하면 된다.
* 가입자 VPN
  * 일반 사용자가 일반 인터넷망을 이용해 가상 전용 네트워크를 구성할 수 있다.

## 동작 방식

* 패킷을 터널링 프로토콜로 감싸 통신하는 터널링 기법을 사용한다.
* VPN이라 부르는 프로토콜은 터널링에 보안을 위한 다양한 기술을 포함한다.
* 패킷 암호화, 인증, 무결성 체크 기능을 이용해 인터넷에 패킷이 노출되어도 해커나 기관이 감청하지 못하도록 보호할 수 있다.
* 일반적으로 다음 세 가지 형태로 구현된다.
  * Host to Host 통신 보호
    *   두 호스트 간에 직접 VPN 터널을 연동한다.

        <figure><img src="https://946524419-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqOTWctN1y9hEXEl4sKd%2Fuploads%2FMJOcu9s00cxAY6XDJ2iY%2Fimage.png?alt=media&#x26;token=3a94045d-c638-48c4-af2c-b1785df3052a" alt=""><figcaption></figcaption></figure>
  * Network to Network 통신 보호
    *   특정 네트워크를 가진 두 종단을 연결하는 경우 사용된다.

        <figure><img src="https://946524419-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqOTWctN1y9hEXEl4sKd%2Fuploads%2FgU3J5PUc1GuSYdTHmL9j%2Fimage.png?alt=media&#x26;token=4f367c43-429c-4980-a524-cc7ddd5fa5a0" alt=""><figcaption></figcaption></figure>
  * Host to Network 통신 보호
    * 사이트를 우회하거나 특정 국가에서만 접근 가능한 사이트를 사용할 때 자주 사용된다.
    *   공중 네트워크에서 해커의 공격을 원천 방어할 수 있어 유용하다.

        <figure><img src="https://946524419-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZqOTWctN1y9hEXEl4sKd%2Fuploads%2FIXIZEFje0pYre202IaiY%2Fimage.png?alt=media&#x26;token=e0d5643e-2921-4d89-bf12-56696e15212a" alt=""><figcaption></figcaption></figure>

## 암호화 기법

### IPSEC

* 본사-지사와 같은 네트워크 대 네트워크 연결에 사용된다.

### SSLVPN

* 개인 사용자-본사와 같은 개인 사용자 단말 대 네트워크 연결에 사용된다.
* 개인 PC나 모바일 단말과 같은 원격지는 별도 네트워크 장비 없이 VPN 연결을 사용할 수 있다.
