CS 상식/보안

VPN은 정말 안전한가? (VPN 원리와 고려할 점)

SparkIT 2024. 10. 25. 05:45

오늘날 인터넷 사용자들이 자신을 보호하기 위해 가장 많이 찾는 도구 중 하나가 VPN입니다. 하지만 VPN의 동작 원리를 정확히 이해하고 사용하는 경우는 드물다고 생각합니다. 또한 "VPN은 과연 안전한가?"라는 질문에 대해서도 깊이 생각해 볼 필요가 있습니다. 이 글에서는 VPN의 작동 원리, 보안의 실제 수준, 그리고 VPN이 완벽하지 않을 수 있는 이유들을 함께 살펴보겠습니다.


 

1. VPN 동작 원리

간단한 비유를 통해 VPN 이해하기

VPN을 사용한다는 의미는 직접 통신하지 않고 VPN 서버를 경유해 통신하겠다는 뜻입니다.

VPN 동작 원리 예시

간단한 예시를 들겠습니다. '유재석'과 '박명수'는 친구입니다. 이때 유재석은 박명수에게 전달하고 싶은 편지가 있습니다. 이때 유재석은 직접 박명수에게 편지를 전달하기 부끄러워, 친구인 '정형돈'에게 이를 부탁합니다. 그럼 유재석은 정형돈에게 편지를 전달합니다. 이 과정에서 유재석은 편지에 '보내는 사람: 유재석', '받는 사람: 정형돈'을 적습니다. 정형돈은 이 편지를 박명수에게 전달해야 합니다. 이 과정에서 정형돈은 편지에 '보내는 사람: 정형돈', '받는 사람: 박명수'를 적습니다. 이때 유재석이 정형돈에게 편지 전달을 부탁했다는 사실을 모르는 이들이 박명수의 편지를 확인하게 되면 박명수는 유재석이 아닌 정형돈으로부터 편지를 전달받은 사실만 알 수 있습니다.

이때 정형돈의 역할이 VPN 서버의 역할과 같습니다. 정형돈은 모든 편지를 받아서 최종 목적지까지 전달해줍니다. 또한 이 과정에서 보내는 사람이 정형돈으로 기록되게 합니다. 이를 통해 VPN 사용자인 유재석은 박명수에게 자신이 원하는 요청을 보낼 수 있고, 자신의 존재는 숨길 수 있습니다.

이것이 VPN의 동작 원리이자 사용 이유입니다. 아래는 비유가 아닌 실제 VPN 동작 원리에 대한 자세한 설명입니다.

 

VPN 사용 시 데이터 흐름

- 네트워크 패킷

VPN을 이해하기에 앞서 네트워크 패킷이 무엇인지 알고 있어야합니다. 간단하게 설명하자면 네트워크 패킷은 컴퓨터가 소통할 때 주고받는 데이터 단위를 의미합니다. 예를 들어, A 컴퓨터가 B 컴퓨터로 데이터를 전송하고 싶다면 A 컴퓨터는 B 컴퓨터로 통신에 필요한 여러 정보를 담은 네트워크 패킷을 전송하게 됩니다.

패킷은 위 비유에서의 편지와 같다고 생각하면 좋습니다. 패킷에는 다양한 정보가 포함되어 있습니다. 여기서 출발지와 도착지에 대한 정보는 패킷의 '헤더(Header)'에 저장됩니다. 또한 전달하려는 데이터는 패킷의 '페이로드(Payload)'에 저장됩니다.

 

- 경유 정보는 어떻게 전달할까?

여기서 궁금한 점이 생길 수도 있습니다. 과연 유재석(VPN 사용자)은 정형돈(VPN 서버)에게 박명수에게 편지를 전달해달라는 것을 어떻게 표현했을까요? 단순히 편지에 받는이를 정형돈으로만 작성했다면 정형돈은 유재석을 편지를 받기만 하고 아무런 행동을 하지도 않을 수 있지 않을까요?

이런 정보는 데이터 패킷 내부에 암호화해서 전달됩니다. 즉, 편지로 비유하자면 편지의 보내는 사람과 받는 사람에는 유재석과 정형돈의 이름이 적히지만 편지를 열어보면 최종 목적지인 박명수의 이름을 확인할 수 있는 것입니다. 정형돈은 이 정보를 확인 후 새로운 편지를 작성하여 받는 사람에 박명수를 적고, 보내는 사람에는 자신의 이름을 적는 것입니다. 또한 새로운 편지에는 유재석에게 전달받았던 편지 내용 나머지를 그대로 넣어 전달합니다.

결과적으로 VPN 사용자가 VPN을 이용해 www.google.com에 접속하기 위한 과정은 다음과 같을 것입니다.

  1. 사용자 A는 VPN 서버로 패킷 전송.
    - 패킷 헤더
        - 출발지: 사용자 A
        - 도착지: VPN 서버
    - 패킷 페이로드(암호화됨)
        - 최종 목적지 : www.google.com
        - 전송하려는 실제 데이터
  2. VPN 서버는 전달받은 패킷을 복호화함.(암호화 프로토콜과 키는 미리 설정됨)
  3. VPN 서버는 복호화한 데이터에서 최종 목적지 www.google.com 정보를 알아냄.
  4. VPN 서버가 www.google.com으로 패킷을 전송한다.
    - 패킷 헤더
        - 출발지: VPN 서버
        - 도착지: www.google.com
    - 패킷 페이로드(암호화됨)
        - 전송하려는 실제 데이터
  5. www.google.com으로부터 VPN 서버에 응답을 하면, VPN 서버는 이를 사용자 A에게 응답한다.

 

 


2. VPN의 보안성과 익명성

VPN을 사용하는 이유는 다음과 같은 장점들입니다.

암호화

VPN의 가장 큰 장점 중 하나는 데이터가 암호화된다는 점입니다. 공공 Wi-Fi나 네트워크 상에서 해커가 패킷을 가로채도, 암호화된 데이터이기 때문에 실제 내용이 노출되지는 않습니다. 이는 은행 거래나 비밀번호 같은 민감한 정보가 전송될 때 중요한 역할을 합니다.

IP주소 가리기

VPN을 사용하면 웹사이트에서 사용자의 실제 IP 주소가 아닌 VPN 서버의 IP 주소를 보게 됩니다. 이는 사용자의 위치나 신원을 숨기는 데 도움을 줍니다. 특히, 국가별로 차단된 콘텐츠에 접근하거나, 위치 기반 추적을 피할 때 유용합니다.

 

 


3. VPN은 과연 믿을 수 있는가?

VPN이 보안과 프라이버시를 강화해주는 것은 맞지만, 완벽한 솔루션은 아닙니다. 왜 그럴까요?

VPN 서버의 신뢰성

위에서 설명한 비유를 통해 알 수 있듯이 VPN 서버는 중간에 사용자 데이터를 해독한 후 웹사이트로 전달합니다. 이 말은 VPN 서버가 사용자의 원본 데이터를 알 수 있다는 의미입니다. 따라서 VPN 제공업체가 사용자 정보를 기록하거나 악용하지 않으리라는 절대적인 보장은 없습니다. 많은 VPN 제공업체가 "무로그 정책(no-log policy)"을 내세우지만, 실제로는 기록을 남기는 경우도 있습니다.

즉, VPN을 사용하면 추적이 불가하다는 이야기가 있는데, 이는 보통의 경우 VPN 서버가 로그를 남기지 않고 로그를 남기더라도 사용자들의 정보를 외부에 유출하지 않기 때문에 생긴 이야기입니다. 하지만 VPN 제공업체가 위치한 국가가 법적으로 압박해 온다면 VPN 서버는 사용자들의 정보를 제공해야 하므로 추적이 가능해집니다. 또한 VPN 서버 자체가 해킹당하는 경우도 추적이 가능해집니다.

속도 저하

VPN은 데이터를 암호화하고, 다른 서버를 경유하는 추가 단계를 거치기 때문에 인터넷 속도가 느려질 수 있습니다. 특히, 서버가 멀리 위치해 있을수록 속도 저하는 더 심해질 수 있습니다.

 

 


4. VPN 사용 시 고려할 점

VPN이 완벽한 보안을 제공하지는 않지만, 적절한 선택과 사용법을 적용하면 인터넷 사용 시 큰 도움이 될 수 있습니다. 다음은 VPN을 선택할 때 고려해야 할 요소들입니다.

  • 무로그 정책이 있는 신뢰할 수 있는 VPN 제공업체 선택
  • 속도와 보안을 동시에 제공하는 프리미엄 VPN 사용
  • VPN의 위치 및 관련 법률 고려 (데이터 보호법이 엄격한 국가에 위치한 VPN 선호)
  • 무료 VPN 사용 시 개인정보 및 데이터 유출 위험 경계

 

 

VPN은 인터넷 사용자의 프라이버시와 보안을 크게 향상시킬 수 있는 강력한 도구입니다. 특히 공공 네트워크에서 해커나 추적자로부터 데이터를 보호하는 데 유용하죠. 하지만 VPN은 만능 도구가 아니며, 그 자체로 완벽한 익명성을 제공하는 것은 아닙니다. 결국, 어떤 VPN을 선택하고 어떻게 사용하는지가 중요합니다.

VPN은 사용자가 인터넷을 더 안전하게 사용할 수 있도록 도와주지만, 신뢰할 수 있는 제공업체를 선택하고, 법적 요구와 데이터 기록 문제를 인지하는 것이 필요합니다.