Top10VPN은 모든 VPN을 독립적으로 리뷰하지만 Top10VPN을 통해 사용자가 VPN 요금을 결제하는 경우 수수료를 받을 수도 있습니다.

VPN은 어떻게 작동하나요? VPN 암호화 & 터널링

JP Jones는 Top10VPN의 CTO입니다. 25년 이상의 소프트웨어 엔지니어링 및 네트워킹 경력을 가지고 있으며 VPN 테스트 프로세스의 모든 기술적 측면을 감독합니다.

Simon Migliano에 의해 검토됨

Top10VPN의 요약 평가

VPN 소프트웨어는 장치와 원격 VPN 서버 간에 암호화된 가상 터널을 설정합니다. 이렇게 하면 사용자와 공용 인터넷 사이에 보안 연결이 생성되어 IP 주소를 숨기고 위치를 위장하며 외부 모니터링으로부터 웹 활동을 보호할 수 있습니다.

VPN(가상 사설 네트워크)은 인터넷 개인정보, 보안 및 자유를 보호하는 데 유용한 도구입니다.

이번 가이드에서는 VPN 소프트웨어가 어떻게 공용> IP 주소를 숨기고 인터넷 연결을 암호화하는지 설명하도록 하겠습니다.

간단 요약: VPN 작동 원리

VPN을 사용하면 웹 트래픽이 다음과 같이 작동하게 됩니다:

  1. 컴퓨터, 스마트폰, TV에서 VPN 앱을 다운로드하여 설치하고 전원을 켭니다.
  2. 브라우저에 액세스할 웹사이트(예: example.com)를 입력합니다.
  3. 장치의 VPN 소프트웨어가 연결 요청을 암호화하여 다른 사람이 당신의 연결 요청에 대한 내용과 위치를 식별할 수 없게 만듭니다.
  4. 연결 데이터는 선택한 VPN 서버로 전송되어 해독됩니다.
  5. VPN 서버를 통해 웹사이트에 연결되고, 웹사이트는 당신이 요청한 정보를 VPN 서버로 다시 보냅니다.
  6. 이 정보는 VPN 서버에 의해 암호화되어 장치로 전달됩니다.
  7. VPN 앱이 정보를 해독하면 요청한 웹사이트가 브라우저에 나타납니다.

위의 프로세스에 따라 VPN을 사용하면 방문 웹사이트에서 사용자의 IP 주소를 숨길 수 있습니다 .

또한, VPN 소프트웨어를 사용하면 ISP, 와이파이 관리자, 정부 기관, 또는 연결을 모니터링하는 다른 사람으로부터 온라인 활동을 숨길 수 있습니다.

가상 사설 네트워크 (VPN) 작동 방식

VPN 소프트웨어는 암호화된 터널을 통해 웹 트래픽을 원격 서버로 라우팅합니다.

VPN으로 무엇을 할 수 있는지에 대해 더 궁금하다면, VPN 사용 목적에 대한 가이드를 읽어보세요.

모든 VPN 소프트웨어가 유사한 방식으로 작동되지만, 앞서 말한 프로세스는 특히 개인 또는 소비자” VPN 서비스에 적용됩니다.

원격 액세스 및 사이트 간 VPN 작동 원리를 알아보려면 VPN 유형 가이드를 참고하세요.

Top10VPN을 신뢰할 수 있는 이유

Top10VPN은 완전히 독립된 회사로 2016년부터 VPN을 리뷰해 왔습니다. 본 사이트에서 제공하는 모든 정보와 조언은 직접 수행한 테스트 결과를 바탕으로 분석된 것이며 타 업체의 재정적 지원에 영향받지 않습니다. Top10VPN과 VPN 테스트 방식에 대해 자세히 알아보십시오.

VPN은 어떻게 IP 주소를 숨기나요?

요약: VPN 서비스는 장치와 인터넷 간의 중간자 역할을 합니다. VPN으로 인터넷을 검색하면 방문하는 웹사이트에 원래 공용 IP 주소가 아닌 연결된 VPN 서버의 IP 주소가 표시됩니다.

VPN 없이 웹을 탐색하면 장치에서 웹사이트 또는 서비스를 호스팅하는 서버로 연결이 바로 전송됩니다.

관련 콘텐츠를 사용자에게 다시 전송하려면 웹 서버는 사용자의 IP 주소를 알아야 합니다.

IP 주소는 인터넷상의 여권 같은 것으로 정보를 전송할 때 정보를 보낼 위치를 컴퓨터에 알려주는 고유 식별자입니다.

공용 IP 주소를 확인하려면 ‘What Is My IP’ 확인 도구를 사용하면 됩니다.

IP 주소에는 많은 개인 정보가 담겨 있습니다. 지리적 위치를 알려주고 온라인 활동에 대해 전반적으로 파악하는 데 사용될 수 있습니다.

그렇기 때문에 많은 사람들이 IP 주소를 숨기기 위해 VPN을 사용합니다.

VPN을 연결한 상태에서 웹을 탐색하면, 사용자의 연결은 원하는 웹사이트나 서비스를 호스팅하는 웹 서버로 이동하기 전에 항상 원격 VPN 서버로 이동합니다.

웹 서버가 사용자에게 정보를 다시 보낼 때 역시, VPN 서버로 먼저 보내지고 VPN 서버가 사용자에게 전달합니다. 즉, 사용자가 방문하는 웹사이트는 실제 IP 주소와 접촉하지 않는 것입니다.

VPN이 방문 웹사이트에서 IP 주소를 숨기는 방법의 도식화

방문 웹사이트는 VPN 서버에서 오는 연결 요청만 볼 수 있으며, VPN 서버를 통해서만 정보를 전달합니다.

전문가 조언: 좋은 VPN 서비스는 여러 곳에 위치한 수십 개의 서버를 가지고 있습니다. VPN 서버에 연결하여 다른 국가에 있다고 생각하도록 웹 사이트를 속일 수 있습니다. 사람들은 이렇게 VPN을 통해 넷플릭스나 다른 스트리밍 서비스에서 현재 위치를 변경하여 제한된 콘텐츠에 액세스 합니다.

VPN은 데이터를 어떻게 암호화하고 보호하나요?

요약: VPN 서비스는 암호 및 연결 프로토콜을 사용하여 웹 트래픽을 이해할 수 없는 코드로 변환합니다. 이렇게 하면 ISP, 정부 기관, 제3자가 사용자의 브라우징 활동 내용을 볼 수 없습니다. AES-256보다 약한 암호를 사용하여 데이터를 암호화하는 VPN은 안전하다고 할 수 없습니다.

암호화는 일반 텍스트 데이터를 암호 해독 방법을 아는 사람만이 이해할 수 있는 비밀 코드로 변경하는 프로세스입니다.

암호화의 목적은 원치 않는 제3자가 메시지를 읽을 수 없도록 하는 것입니다.

VPN은 암호화를 사용하여 장치와 VPN 서버 간에 전송되는 브라우징 활동의 세부 정보를 숨깁니다.

VPN을 사용하면 ISP, 정부 기관, 와이파이 관리자, 해커, 염탐하려는 그 어떤 제3자로부터 정보를 보호하고 염탐하려는 것을 방지할 수 있습니다.

그렇다면, 이러한 VNP은 실제로 어떻게 작동하는 것일까요? VPN은 데이터를 어떻게 암호화하고 보호할까요?

지금부터는 VPN 암호화의 다양한 구성 요소와 프로세스에 대해 자세히 살펴보도록 하겠습니다.

VPN 터널이란?

‘VPN 터널’은 VPN 연결을 설정할 때의 상황을 일컫는 용어로, 간단히 말해 장치와 VPN 서버 간의 암호화된 통신입니다.

암호화된 기존 트래픽을 암호화되지 않은 트래픽 레이어로 래핑(wrapping)하기 때문에 터널이라고 부릅니다.

편지가 적힌 원래 봉투를 새 주소가 적힌 두 번째 봉투에 넣는 것과 같습니다. 실제 메시지는 마치 터널 안에 있는 것처럼 외부 세계로부터 완전히 숨겨지는 것입니다.

이 프로세스를 캡슐화라고 하며, 이는 전용 터널링 프로토콜에 의해 수행됩니다.

아래의 VPN 암호화 설명을 통해 터널링 프로토콜에 대해 자세히 알아보세요.

암호화

The Private Internet Access app, showing how you can customize your VPN encryption settings.

온라인 활동을 이해할 수 없는 코드로 변환하기 위해 VPN은 암호를 사용하여 암호화합니다.

암호는 데이터를 암호화하고 해독하는 알고리즘 (즉, 일련의 규칙) 입니다.

예시: 아주 간단한 암호는 ‘메시지의 모든 문자를 바로 앞 알파벳으로 바꾸는’ 규칙을 사용하는 것입니다. 예를 들면, privacy라는 단어는 이 규칙을 적용하면 oqhuzbx로 암호화 되는 것입니다.

암호마다 키 길이가 다른데 일반적으로 키 길이가 길수록 암호의 보안 강도가 높아지기 때문에 AES-256이 AES-128보다 더 안전합니다.

VPN에서 가장 일반적으로 사용하는 암호는 다음과 같습니다:

고급 암호화 표준 (AES)

고급 암호화 표준 (AES)은 가장 안전한 암호 중 하나입니다. 온라인 암호화 프로토콜의 정석으로 VPN 업계에서 널리 사용됩니다.

AES는 2001년 미국 국립표준기술원(NIST)에 의해 제정되었으며 라인달 (Rijndael) 알고리즘이라고도 합니다. 블로피시(Blowfish) 같은 다른 암호들보다 더 큰 파일을 처리하도록 블록 크기가 더 크게 설계되었습니다.

AES는 일반적으로 128비트 및 256비트 키 길이로 제공됩니다. AES-128도 충분히 ​​안전하지만, 미국 국가안전보장국 같은 조직이 항상 해킹을 시도하기 때문에 보안이 훨씬 강화된 AES-256 사용을 선호합니다.

VPN 웹사이트에서 ‘군사급‘ 또는 ‘은행급‘ 암호화라고 말하는 것은 일반적으로 AES-256 사용을 의미하며, 미국 정부에서도 AES-256 암호화를 사용하여 민감한 데이터를 보호합니다. 이것은 Top10VPN에서 VPN을 테스트하고 검토할 때 기대하는 보안 수준이기도 합니다.

블로피시(Blowfish)

블로피시는 1993년 미국 암호학자 브루스 슈나이어(Bruce Schneier)가 설계한 암호입니다. 과거에는 대부분의 VPN 연결에서 블로피시를 기본 암호로 사용하였지만, 지금은 대부분 AES-256으로 대체되었습니다.

블로피시는 주로 128비트 키를 사용하지만, 32비트에서 448비트까지도 사용할 수 있습니다.

블로피시는 몇 가지 약점이 있는데, 대표적으로는 ‘생일 공격’에 취약하다는 것입니다. 그렇기 때문에, 블로피시는 AES-256에 대한 대비책으로만 사용해야 합니다.

ChaCha20

2008년 다니엘 번스타인(Daniel Bernstein)이 개발한 ChaCha20은 상당히 새로운 타입의 VPN 암호입니다. 널리 사용되는 와이어가드 프로토콜과 호환되는 유일한 암호이기 때문에 점점 인기를 얻고 있습니다.

AES와 마찬가지로 ChaCha20은 보안 강도가 높은 256비트 키를 사용합니다. ChaCha20가 AES보다 최대 3배 더 빠르다는 분석 결과가 있습니다.

현재까지는 ChaCha20의 취약점이 발견되지 않았습니다. 또한, 머지 않은 미래에 양자 컴퓨팅의 과제를 해결하기 위한 암호화로서 AES의 대안이 될 것으로 생각됩니다.

카멜리아(Camellia)

카멜리아는 보안 및 속도 측면에서 AES와 매우 유사한 암호입니다. 더 작은 키(128비트)를 사용하지만, 현대 기술의 무차별 대입 공격으로 깰 수 없는 암호로 여겨지고 있습니다. 현재까지 카멜리아 암호를 깨는데 성공한 공격은 없었습니다.

AES와 달리, 카멜리아는 미국 국립표준기술원의 인증을 받지 않았다는 것이 주요 차이점입니다.

미국 정부의 인증을 받지 않은 암호를 사용하는 것에 대한 논쟁이 분명히 있지만, 카멜리아는 VPN 소프트웨어에서 거의 사용할 수 없으며 AES만큼 철저한 테스트를 통해 검증 받지 않았습니다.

VPN 프로토콜

VPN 프로토콜은 VPN 서버와의 보안 연결을 설정하기 위해 사용자의 장치가 따라야 하는 규칙 및 프로세스입니다.

즉, VPN 프로토콜은 VPN 터널이 형성되는 방식을 결정하는 것이고, 암호는 해당 터널을 통과하는 데이터를 암호화하는 데 사용되는 것입니다.

사용 중인 프로토콜에 따라 VPN의 속도, 기능, 취약성이 달라집니다. 대부분의 VPN은 앱 설정에서 어떤 프로토콜을 사용할 지 선택할 수 있습니다.

여러가지 VPN 프로토콜이 있지만, 모든 프로토콜이 안전한 것은 아닙니다. 가장 일반적으로 사용되는 프로토콜은 다음과 같습니다:

  • 오픈VPN: 오픈 소스로 매우 안전하며 거의 모든 VPN 지원 장치와 호환됩니다.
  • 와이어가드: 엄청나게 빠르고 매우 효율적이지만 상대적으로 역사가 짧아 아직 VPN 업계에서 모두에게 신뢰를 얻지는 못했습니다.
  • IKEv2/IPsec: 모바일 VPN 사용자에게 적합한 비공개 소스 프로토콜입니다. 하지만, 미국 국가안전보장국의 공격을 받은 것으로 의심되고 있습니다.
  • SoftEther: 대부분의 VPN 서비스에서 지원하지 않는 프로토콜이지만 빠르고 안전하며 검열 우회에 적합합니다.
  • L2TP/IPsec: 미국 국가안전보장국에 의해 해킹된 것으로 의심되며 다른 프로토콜에 비해 속도가 현저히 느립니다.
  • SSTP: 방화벽을 우회하는데 적합하지만 비공개 소스이며 중간자 공격에 취약합니다.
  • PPTP: 오래된 프로토콜이며 안전하지 않지 때문에 무조건 사용하지 말아야 합니다.

더 알아보기: VPN 프로토콜의 다양한 유형과 어떤 프로토콜이 가장 좋은지 자세히 알아보려면 VPN 프로토콜 가이드를 읽어보세요.

VPN 핸드셰이크

VPN은 프로토콜과 암호 외에도 핸드셰이크와 해시 인증을 사용하여 사용자 연결을 더욱 안전하게 보호하고 인증합니다.

핸드셰이크는 두 컴퓨터 간의 초기 연결을 말하는데, 서로를 인증하고 소통의 규칙을 정하는 인사말 같은 개념입니다.

VPN 핸드셰이크 단계에서 VPN 클라이언트(장치)는 VPN 서버와의 초기 연결을 설정합니다.

그 후, 이 연결을 사용하여 클라이언트와 서버 간의 암호화 키를 안전하게 공유합니다. 이 키는 전체 브라우징 세션에 대해 VPN 터널의 양쪽 끝에서 데이터를 암호화하고 해독하는 데 사용됩니다.

diagram showing the step-by-step process of a VPN handshake between VPN client and VPN server

VPN 핸드셰이크는 주로 RSA (Rivest-Shamir-Adleman) 알고리즘을 사용합니다. RSA는 지난 20년 동안 인터넷 보안의 기반이었습니다.

RSA-1024가 해킹되었다는 확실한 증거는 아직 없지만, 현대 기술의 수준을 고려해보았을 때, RSA-1024의 보안 강도가 높지는 않다고 생각됩니다.

RSA-2048가 RSA-1024보다 훨씬 더 안전하며 빠르기 때문에, 대부분의 VPN은 더이상 RSA-1024를 사용하지 않습니다.

RSA-2048나 RSA-4096을 사용하는 VPN만 신뢰할 수 있습니다.

핸드셰이크 프로세스가 잘 작동하고 안전하게 암호화 하더라도, 모든 세션은 RSA 핸드셰이크에 사용된 개인 키로 해독할 수 있기 때문에 ‘마스터 키’와 같습니다.

마스터 키가 손상될 경우, 과거 및 현재 VPN 서버의 모든 보안 세션을 해킹하는 데 이 마스터 키를 사용할 수 있습니다. 해커는 VPN 서버를 해킹하여 VPN 터널을 통해 전송되는 모든 데이터에 액세스할 수 있습니다.

이를 방지하려면 완전 순방향 비밀성으로 설정된 VPN 서비스를 사용하는 것이 좋습니다.

완전 순방향 비밀성 (PFS)

VPN 클라이언트와 VPN 서버는 각각 세션을 암호화하기 위해 같은 임시 키를 생성합니다.

완전 순방향 비밀성은 임시 세션 키를 생성하기 위해 디피 헬먼 키 교환 알고리즘 (DH) 또는 타원곡선 디피 헬먼 키 교환 알고리즘 (ECDH)을 활용하는 프로토콜입니다.

완전 순방향 비밀성은 암호화 키가 연결 과정에서 교환되지 않도록 합니다.

대신, VPN 서버와 VPN 클라이언트는 DH 또는 ECDH를 사용하여 각각 독립적으로 키를 생성합니다.

수학적으로 복잡한 프로세스이지만, 완전 순방향 비밀성은 손상되면 서버에서 호스팅된 모든 보안 세션을 노출시켜 보안에 위협이 되는 단일 개인 키의 약점을 보완합니다.

대신, 완전 순방향 비밀성에서 사용하는 키는 임시이며 특정 세션 하나만 공개할 수 있고 그 이상은 공개할 수 없습니다.

RSA만으로는 완전 순방향 비밀성을 구현할 수 없다는 점에 유의해야 합니다. DH나 ECDH를 실행하려면 RSA 암호화와 통합해야 합니다.

RSA 대신에 ECDH만을 사용하여 완전 순방향 비밀성으로 안전한 VPN 핸드셰이크를 생성할 수 있습니다. 단, DH만 사용하는 VPN는 크랙에 취약한데, RSA와 함께 사용하면 이 문제를 해결할 수 있습니다.

완전 순방향 비밀성을 지원하는 다음 3가지 VPN 프로토콜 사용을 권장합니다. – 오픈VPN, 와이어가드, IKEv2

해시 인증 (Hash Authentication)

보안 해시 알고리즘(SHA)은 전송된 데이터와 클라이언트-서버 간 연결의 무결성을 인증하는 데 사용되며, 소스와 대상 간에 전송되는 정보가 변경되지 않았는지 인증합니다.

SHA는 해시 함수를 사용하여 소스 데이터를 편집하는 방식입니다. 원본 소스 메시지는 알고리즘을 통해 원본과 완전히 다른 고정된 길이의 문자열로 출력됩니다. 이것을 “해시 값”이라고 부릅니다.

해시 인증은 일방향으로 진행되기 때문에 해시 값에서 원본 메시지를 확인하기 위해 되돌아가는 프로세스를 실행할 수는 없습니다.

입력 소스 데이터의 문자 1개만 변경하면 해시 함수에서 출력되는 해시 값이 완전히 변경되기 때문에 해시 인증은 유용한 방식입니다.

VPN 클라이언트는 VPN 핸드셰이크 중에 동의한 해시 기능을 통해 비밀 키와 결합된 서버에서 받은 데이터를 실행합니다.

클라이언트가 생성한 해시 값이 메시지의 해시 값과 다른 경우 메시지가 변조된 것으로 간주되어 데이터가 삭제됩니다.

SHA 해시 인증은 유효한 인증서의 변조를 감지할 수 있기 때문에 중간자 공격을 방지합니다.

해시 인증을 사용하지 않으면 해커가 합법적인 VPN 서버로 가장하여 사용자를 모니터링할 수도 있는 안전하지 않은 서버에 연결하도록 속일 수 있습니다.

보안을 극대화하려면 SHA-2 이상을 사용하는 VPN 서비스를 사용하는 것이 좋습니다. SHA-1은 보안을 손상시킬 수 있다는 취약성이 입증되었습니다.