VPN(Virtual Private Network) 는 이와 같은 요구사항을 충족시켜준다.
-IP 패킷 이하를 캡슐화(Encaptulation) 와 동시에 데이터의 암호화/인증방식을 협상하는데 이런 기술을 Tunneling 이라고 한다.
터널링 프로토콜로는 IPsec, PPTP/L2TP, SSLVPN 등이 있다.
IPsec VPN 은 Site to Site 방식으로만 사용된다고 알려져있지만 End point to <-> 장비 간의 터널링에도 사용된다.
패킷 인증/암호화를 하는데 AH(Authentication Header), ESP(Encapsulating Security payload) 가 사용된다. 보통 ESP 를 보통 많이 사용하는데 ESP 는 기밀성과 인증을 제공하는 반면, AH 는 Authentication 만 제공하기 때문이다.
또 암호화(Encryption) 을 위해서 des, 3des, aes-128-cbc, aes-128-ccm, aes-256-gcm 등등 알고리즘이 사용되며
인증(Authentication) 을 위해서는 md5, sha1, sha256, sha384, sha512 등이 사용된다.
AH의 경우 Encryption 은 지원 안한다.
IPsec
- IKE (Internet Key Exchange) , 2 phases,
똑같은 IKE 세팅이 두 장비간에 존재
IKE Phase1: Identify each other, Authenticate, Key exchange --> Establish a SA (Security Association) for Phase2, UDP port 500 (Diff Hellman Key)
IKE Phase2: HAGLE, IPsec Crypto setting (ESP), 실제 터널링 맺음
H: Hash
A: Authentication
G: DH group
L: Lifetime
E: Encrytion (symetric)
ESP 헤더 구조
