VPN - 가상 사설망
물리적인 네트워크가 아니라 소프트웨어적인 네트워크라 가상(Virtual)
사용자의 트래픽을 암호화하고 보호하여 외부에서 쉽게 접근할 수 없는 개인적인 네트워크를 형성해서 사설망(Private Network)
원리
VPN을 켜고 특정 서버에 접속을 시도하면
VPN클라이언트가 VPN서버에 접속을 시도해서 RSA와 같은 공개키 암호화 방식으로 세션키를 교환함.
(세션키는 이후 데이터 암호화에 사용)
이로인해 VPN클라이언트와 VPN 서버간의 터널이 생성됨( 외부에서 접근하기 어려움) - 터널링
이제 VPN클라이언트가 VPN서버로 웹사이트나 서버의 주소를 세션키로 암호화해서 보냄 VPN서버는 복호화해서 목적지로 보냄
목적지 서버로부터 응답이 VPN서버로 오면 VPN서버는 암호화해서 VPN클라이언트로 보냄. VPN 클라이언트가 복호화해서 클라이언트에 뿌려줌.
간단히 말하자면 목적지와 클라이언트 중간에 암호화해서 데이터 교환하는 중계서버