Jerry's Log

VPN

contents

1. 핵심 개념: VPN이란 무엇인가?

가장 근본적인 수준에서 VPN은 공용 네트워크(인터넷) 상에서 로컬 머신(클라이언트)과 원격 서버(VPN 서버) 사이에 암호화된 사설 데이터 터널을 생성하는 기술입니다.

일반적인 인터넷 사용 시 데이터의 흐름은 다음과 같이 공개됩니다:

VPN을 사용할 때:


2. 작동 원리: "터널링(Tunneling)" 프로세스

"터널"은 물리적인 케이블이 아니라, 캡슐화(Encapsulation)암호화(Encryption) 를 통해 생성된 논리적인 경로입니다.

A. 캡슐화 (패킷 안의 패킷)

편지를 보내는 상황을 상상해 보세요.

  1. 원본 데이터 (편지 내용): 실제 요청 데이터입니다(예: "https://www.google.com/search?q=Google.com 접속 요청"). 여기에는 사용자의 출발지 IP와 목적지 IP가 포함됩니다.
  2. 캡슐화 (편지 봉투): VPN 클라이언트는 이 원본 패킷을 새로운 패킷 안에 감쌉니다.
  3. 새로운 헤더: 겉면의 패킷에는 새로운 출발지(사용자)와 새로운 목적지(VPN 서버 IP)가 적힙니다.

B. 암호화 (잠금 장치)

"편지"를 "봉투"에 넣기 전에 내용을 뒤섞어 버립니다. 누군가 겉면의 패킷을 가로채서 뜯어보더라도, 해독할 수 없는 난수 코드만 보게 됩니다.

C. 처리 흐름 (Process Flow)

  1. 핸드셰이크 (Handshake): 클라이언트와 VPN 서버가 공개 키를 교환하여 신원을 확인하고 "세션 키"에 동의합니다.
  2. 암호화: 사용자의 컴퓨터가 세션 키(주로 AES-256)를 사용하여 데이터를 암호화합니다.
  3. 전송: 암호화된 데이터가 캡슐화되어 VPN 서버로 전송됩니다.
  4. 복호화: VPN 서버가 패킷을 받아 겉면을 벗겨내고, 세션 키를 사용해 내부 데이터를 복호화합니다.
  5. 전달 (Forwarding): 서버는 원본 요청을 최종 목적지(예: https://www.google.com/search?q=Google.com)로 보냅니다.
  6. 반환: 응답 데이터에 대해 이 과정이 역으로 진행됩니다.

3. VPN 프로토콜: 통신 규칙

프로토콜은 터널이 형성되는 방식과 암호화 처리 방식을 결정합니다. VPN 선택 시 가장 기술적으로 중요한 부분입니다.

프로토콜 아키텍처 속도 보안 비고
WireGuard 최신, 경량화 매우 빠름 높음 (ChaCha20) 새로운 업계 표준입니다. 커널(OS 핵심) 레벨에서 동작하며, 코드 라인 수가 약 4,000줄(OpenVPN은 10만 줄 이상)에 불과하여 빠르고 감사가 용이합니다.
OpenVPN 전통적, 강력함 보통 매우 높음 (AES-256) 오랫동안 사용된 표준입니다. 설정이 유연(TCP/UDP)하지만, "컨텍스트 스위칭" 오버헤드로 인해 WireGuard보다 느립니다.
IKEv2/IPsec 모바일 친화적 빠름 높음 WiFi에서 LTE/5G로 전환될 때 즉시 재연결되므로 모바일 기기에 적합합니다. iOS/macOS에 내장되어 있습니다.
L2TP/IPsec 구형 느림 좋음 이중 캡슐화로 인해 속도가 느리며, 방화벽에 의해 쉽게 차단됩니다. 거의 사장되었습니다.
PPTP 구형 (사용 금지) 빠름 취약함 90년대 Microsoft가 개발했습니다. 보안이 매우 취약하여 쉽게 해킹됩니다. 사용하지 마세요.

4. 암호학 (Cryptography): 내부 구조

"매우 상세한" 설명을 위해 데이터를 보호하는 수학적 원리를 살펴보겠습니다.


5. VPN 아키텍처의 종류

A. 원격 액세스 VPN (Remote Access - 소비자/직원용)

일반적으로 사람들이 말하는 "VPN"입니다.

B. 사이트 간 VPN (Site-to-Site - 기업용)


6. 고급 기술 기능

분할 터널링 (Split Tunneling)

어떤 앱을 VPN으로 보내고, 어떤 앱을 일반 ISP로 보낼지 선택하는 기능입니다.

킬 스위치 (Kill Switch)

VPN 연결이 끊어질 경우 인터넷을 차단하는 안전장치입니다.

난독화 (Obfuscation / Stealth Mode)

검열(예: 중국의 황금방패)을 우회하기 위해 사용됩니다.


7. 신뢰의 역설 (중요!)

VPN은 익명성을 완벽하게 보장하는 것이 아니라, 신뢰의 대상을 옮기는 것입니다.

요약

VPN은 두 지점 간의 트래픽을 인증하고 암호화하는 보안 도구입니다. WireGuard와 같은 프로토콜을 사용하여 데이터 패킷을 캡슐화하고, AES나 ChaCha20으로 암호화하여 IP 주소를 숨기고 외부 감시로부터 데이터 무결성을 보호합니다.

references