ITの教科書検索
入門・発展ページ読了 約11分

VPNとは ― 仕組みとトンネリング

VPNとは、インターネットなどの共有網の上に仮想の専用線を作る技術です。専用線を引かなくても、拠点どうしや外出先の端末を安全につなげます。トンネリングの仕組みと2つの種類を解説。

目次
  1. 共有網の上に作る仮想の専用線
  2. VPNの役割:離れた拠点・端末を安全につなぐ
  3. トンネリングとカプセル化
  4. 動かして確かめる:見える情報がどう変わるか
  5. 暗号化と認証
  6. 拠点間VPNとリモートアクセスVPN
  7. 回線による分類(インターネットVPN・IP-VPNほか)
  8. 主なプロトコル
  9. 一般向けVPNサービスとの違い
  10. ゼロトラストとの関係
  11. 練習問題

VPNとは、共有網の上に作る仮想の専用線

VPN(Virtual Private Network)とは、共有のネットワークの上に仮想的な専用線を作る技術です。誰でも使えるインターネットの上に作る場合は、暗号化と認証によって安全性を確保します。これにより、離れた拠点のLAN同士や、外出先の端末と社内ネットワークを、専用回線を敷いたときと同じように安全につなげます。

インターネットの上にVPNを作るときは、元のパケットを暗号化したうえで、別のIPヘッダで包んで送ります。この包んで送る技術をトンネリングと呼びます。

トンネリングは、ヘッダを足して包むカプセル化の考え方の応用です。暗号化と組み合わせるので、経路の途中からは中身も、元の送信元・宛先アドレスも見えません。

VPNの役割:離れた拠点・端末を安全につなぐ

本社・支社・データセンターのように複数の拠点を持つ企業が、拠点間で社内システムを使うには、拠点同士のLANをつなぐ必要があります。

従来の方法は、通信事業者から回線を借りることでした。他の誰とも共有せず、2拠点だけのために使う回線で、専用線と呼びます。専用線は安全ですが、距離が伸びるほど費用が高くなります。

VPNは、すでに世界中につながっているインターネットの上に、暗号化によって専用線並みに安全な通信路を作ります。物理的な回線を新しく敷設する必要がないので、専用線より低コストで拠点間をつなげます。同じ考え方は、外出先のノートPCのような1台の端末が社内ネットワークに接続する場合にも使われます。

VPNでつなぐ先の社内ネットワークは、インターネットと同じ技術で作られています。社内ネットワークと、取引先につなぐネットワークの違いは、イントラネットとエクストラネットの記事で比べています。

トンネリングとカプセル化

VPNの中心となる技術がトンネリングです。インターネットという公共の経路の中に、専用のトンネルが通っているかのような通信路を作ります。この通信路を読み書きできるのは、特定の2点だけです。拠点間なら、その2点はゲートウェイ同士です。

通常のカプセル化は、上の層のデータに、下の層のヘッダを1枚ずつ足していくものです。VPNのトンネリングは、これとは少し違います。VPNでは、完成したIPパケットを、ヘッダとデータごと暗号化します。その塊に、別のIPヘッダをもう1枚足して包みます。パケットの中に別のパケットを入れるこの構造も、カプセル化と呼びます。

PC192.168.10.25拠点Aゲートウェイ内側 192.168.10.1外側 198.51.100.20VPNゲートウェイ拠点Bゲートウェイ外側 192.0.2.10内側 192.168.20.1VPNゲートウェイサーバ192.168.20.10平文暗号化トンネル(インターネット)平文外側IPヘッダ198.51.100.20 → 192.0.2.10元パケット(暗号化)
PCから拠点Aゲートウェイまでと、拠点Bゲートウェイからサーバまでは、平文のまま流れます。インターネットを通るのは、拠点Aゲートウェイから拠点Bゲートウェイまでの区間です。この区間だけ、元のパケットは暗号化され、VPNゲートウェイ同士の新しい外側ヘッダに包まれて流れます。

外側のIPヘッダには、元のPCやサーバのアドレスではなく、VPNゲートウェイ同士のアドレスが入ります。インターネット上のルータは、この外側ヘッダだけを見て転送します。

ただし、外側ヘッダには、ゲートウェイのアドレスのほかに、VPNの種類が分かる情報も入っています。具体的には、ESPのプロトコル番号50やUDP 4500番、SSL-VPNならTCP 443番です。パケットの大きさや、流れた時刻も経路上から見えます。

中に入っている元のパケットは暗号化されているので、元のアドレスもデータの中身も、経路上のルータや盗聴を試みる第三者には読めません。

トンネリングは、仮想ネットワークを作る技術の1つです。同じ種類の技術であるSDN・OpenFlow・NFVは、SDNの記事で説明しています。

動かして確かめる:見える情報がどう変わるか

次の図で、元のパケットが拠点Aを出て、拠点Bで元に戻るまでを1段階ずつ確かめられます。パケットは途中で暗号化され、新しい外側ヘッダで包まれます。各段階で、経路上の第三者から何が見えて、何が見えなくなるかに注目してください。

STEP 1 / 4
元のIPヘッダ送信元 192.168.10.25 → 宛先 192.168.20.10
データ(平文)中身がそのまま読める
経路上の第三者から見える情報:IPヘッダの送信元・宛先アドレスも、データの中身も、経路上の誰にでもそのまま見えます。
ステップ1:元のパケット(VPNを使う前)
拠点AのPC(192.168.10.25)が、拠点Bのサーバへデータを送ろうとしています。宛先は192.168.20.10です。まだVPNの処理は何もしていません。IPヘッダも中身のデータも、そのままの形です。

暗号化と認証

VPNの安全性を支えるのは、トンネリングだけではありません。次の2つが組み合わさって、初めて安全な通信路になります。

  1. 1

    暗号化

    トンネルの中を流れるデータを暗号化するので、経路上の第三者が盗聴しても中身は読み取れません。HTTPS(TLS)の暗号化と同じ考え方です。暗号化に使う共通鍵暗号方式・公開鍵暗号方式の違いは、共通鍵暗号と公開鍵暗号の違いの記事で説明しています。

  2. 2

    認証

    トンネルの両端(VPNゲートウェイ同士、または端末とVPNゲートウェイ)は、通信を始める前に、本当に正しい相手かを確認します。認証がなければ、攻撃者が正規の相手になりすましてトンネルを作るおそれがあります。暗号化していても、このなりすましは防げません。

    認証には、あらかじめ共有しておいた鍵(事前共有鍵)を使う方式や、HTTPS(TLS)と同じ証明書を使う方式などがあります。

暗号化だけでは、中身を読まれないことしか保証できません。認証と組み合わせて初めて、読まれず、なりすまされない安全な通信路になります。

さらに、IPsecのESPは、届いたデータが経路の途中で改ざんされていないかも確認します。これを完全性の検証と呼びます。

リモートアクセスVPNでは、接続してくる社員を1人ずつ確認する必要もあります。VPN装置は、社員のIDとパスワードをRADIUSサーバに問い合わせることがよくあります。この仕組みはRADIUSの記事で説明しています。

拠点間VPNとリモートアクセスVPN

VPNは、何と何をつなぐかで大きく2種類に分けられます。

方式つなぐもの接続の状態主な用途
拠点間VPN(サイト間VPN)LANとLAN(拠点と拠点)ゲートウェイ同士が常時接続本社と支社・データセンター間の常時接続
リモートアクセスVPN1台の端末と社内LANVPNクライアントが必要な時だけ接続テレワーク・出張先からの社内アクセス
拠点間VPN(サイト間VPN)拠点A LAN192.168.10.0/24複数の端末ゲートウェイ常時稼働ゲートウェイ常時稼働拠点B LAN192.168.20.0/24複数の端末常時接続トンネルリモートアクセスVPN端末(1台)VPNクライアント外出先・自宅など拠点Bゲートウェイ(本社)192.0.2.10拠点B LAN192.168.20.0/24複数の端末必要な時だけ接続
拠点間VPNでは、複数の端末がいる拠点どうしのLANを、ゲートウェイがつなぎます。実線は、常時接続のトンネルです。リモートアクセスVPNでは、1台の端末がVPNクライアントを使い、必要なときだけ本社の拠点Bに接続します。点線は、一時的なトンネルです。拠点Bゲートウェイと拠点BのLANは、上の拠点間VPNと同じものです。

拠点間VPNは、本社と支社のようにLAN同士をつなぐ方式で、サイト間VPNとも呼びます。各拠点には、VPNゲートウェイとして専用機器を置くか、ルータの機能を使います。ゲートウェイ同士が常時トンネルを維持するので、LAN内の端末は意識せずにトンネルを通って通信できます。AWSのVPCと社内をつなぐSite-to-Site VPNもこの方式で、専用の回線を使う方法との違いはAWS Direct Connectの記事で比べています。Site-to-Site VPNをAWSのTransit Gatewayにつなぐと、1つのVPN接続から複数のVPCに届く構成にできます。

リモートアクセスVPNは、外出先のノートPCのような1台の端末を、社内ネットワークに接続する方式です。テレワークで自宅から社内システムに接続する場合などに使います。端末にVPNクライアントソフトをインストールすると、接続したいときだけ、このソフトがVPNゲートウェイとの間にトンネルを作ります。サーバの管理の接続だけを通したいときは、踏み台サーバを経由する方法もあります。

回線による分類(インターネットVPN・IP-VPNほか)

拠点間VPN・リモートアクセスVPNは、何と何をつなぐかによる分類でした。どの回線の上に作るかで分類すると、大きく4種類に分けられます。

方式使う回線通信品質コスト
インターネットVPN公共のインターネットベストエフォート(保証なし)低コスト
エントリーVPN通信事業者のIP網(契約者ごとに論理的に分けた閉域網)だが、閉域網までの回線に安価なブロードバンド回線を使う帯域の保証はない低〜中コスト
IP-VPN(閉域網)通信事業者が契約者ごとに論理的に分けた閉域網帯域・品質を契約で保証しやすい高コスト
広域イーサネット通信事業者の閉域網を、イーサネットフレームのまま拠点間で結ぶ拠点間を1つのLANのように扱えて自由度が高い高コスト

インターネットVPNは、ここまで説明してきた方式で、誰でも使える公共のインターネット上に、暗号化でトンネルを作ります。低コストな半面、通信品質は保証されません。速度や到達を保証せず、最善を尽くすだけの品質を、ベストエフォートと呼びます。

IP-VPNは、通信事業者が契約者ごとに論理的に分けた閉域網を使う方式です。閉域網は、インターネットを経由しない、事業者が管理するIP網です。他の契約者の通信と論理的に分けられているので、IP-VPNは暗号化を前提にしません。

公共のインターネットを経由しないので、帯域や遅延といった通信品質を契約で保証しやすくなります。その一方、コストはインターネットVPNより高くなります。基幹システムなど、通信品質を重視する用途で選ばれます。

エントリーVPNも、IP-VPNと同じ閉域網の仕組みを使いますが、閉域網までの回線に安価なブロードバンド回線を使います。その分低コストですが、帯域の保証はありません。

広域イーサネットは、閉域網の上でイーサネットフレームをそのまま運ぶ方式で、拠点間を1つのLANのように扱えます。構成の自由度が高い分、コストは高くなります。

拠点間VPN・リモートアクセスVPNの分類と、回線による分類は別の観点なので、組み合わせて使います。たとえば、拠点間VPNをインターネットVPNとして構築できます。

IP-VPNとインターネットVPNは、どちらか一方だけを選ぶものとは限りません。SD-WANは、両方の回線を1つの拠点で束ねて、通信ごとに使い分ける仕組みです。

主なプロトコル

トンネリング・暗号化・認証を行うプロトコルには、次のような種類があります。

プロトコル暗号化する層の目安特徴
IPsec第3層(ネットワーク層)IPパケットそのものを暗号化・認証する規格群(RFC 4301)。拠点間VPNで広く使われる。OSやアプリを問わずIP通信全体を保護できる
SSL-VPN(TLSベース)第6層(プレゼンテーション層)HTTPとHTTPSと同じTLSの暗号化の仕組みを使う(RFC 9846)。Webブラウザだけで使える製品もあり、リモートアクセスVPNで多い
WireGuard第3層(ネットワーク層)新しい実装で、設定項目が少なく高速なことが特徴。IETFの標準化されたRFCはまだないが、Linuxカーネルに標準搭載されるなど普及している
L2TP/IPsec第2層+第3層L2TP(RFC 2661)自体には暗号化機能がなく、IPsecと組み合わせて使う(組み合わせの方法はRFC 3193)。単独のL2TPは暗号化されない

IPsecには、ESP(Encapsulating Security Payload)と AH(Authentication Header)という2つの機能があります。

ESPは暗号化と改ざん検知の両方を行い、AHは改ざん検知だけを行います。実際には、ほとんどの場合ESPを使います。

また、IPsecには2つの動作モードがあります。トンネルモードは、元のIPパケット全体を暗号化し、新しい外側ヘッダで包むモードです。トランスポートモードは、元のIPヘッダを残したまま、データ部分だけを保護するモードです。拠点間VPNでは、主にトンネルモードを使います。

ESPとAHが暗号化・改ざん検知する範囲や、鍵を取り決めるIKEの流れは、IPsecの記事にまとめています。

暗号化をしないカプセル化の規格GREと、これをIPsecと組み合わせるGRE over IPsecは、GREトンネルの記事で説明しています。

拠点間VPNにはIPsecが、リモートアクセスVPNにはSSL-VPNが使われることが多いです。ただし、これは典型的な組み合わせで、決まりではありません。IPsecでリモートアクセスVPNを構成する製品もあります。

一般向けVPNサービスとの違い

企業のVPNとは別に、個人が契約するVPNサービスも、VPNアプリなどの形で広く使われています。トンネリングと暗号化という基本の仕組みは同じです。違うのは、接続先が自社のVPNゲートウェイではなく、VPN事業者が用意したサーバである点です。

VPNは完全な匿名化ではありません。VPNサービスが暗号化して隠せるのは、自分の端末からVPN事業者のサーバまでの区間だけです。

アクセス先のWebサイトから見ると、送信元はVPN事業者のサーバのIPアドレスに変わります。それでも、ログインIDやCookieなどの情報から、引き続き利用者を特定できます。また、VPN事業者自身は通信内容を見られる立場にあります。匿名になるのではなく、どの経路で、どの事業者を信頼するかが変わるだけです。

カフェや空港などの公共Wi-Fiは、誰でも使える無線LANです。こうした区間の盗聴対策としてVPNサービスを使うことには意味があります。一方、VPNを使えば何をしても特定されないという理解は誤りです。

ゼロトラストとの関係

従来のVPNは、社内ネットワークの中に入れた端末は信用する、という考え方が前提でした。この考え方を境界防御と呼びます。近年は、社内ネットワークの中にあるかどうかを問わず、アクセスのたびに端末やユーザーを確認する考え方が広がっています。

この考え方をゼロトラストと呼びます。ゼロトラストは、VPNを完全に置き換えるものではありません。VPNと組み合わせて使うことも、VPNの役割の一部を置き換える形で使うこともあります。境界型との違いは、ゼロトラストの記事で説明しています。

練習問題(全5問)

Q1VPNの説明として正しいものは?
Q2VPNのトンネリングで、元のパケットに行う処理として正しいものは?
Q3拠点間VPN(サイト間VPN)とリモートアクセスVPNの違いとして正しいものは?
Q4インターネットVPNとIP-VPN(閉域網サービス)の違いとして正しいものは?
Q5一般向け(個人向け)のVPNサービスについての説明として正しいものは?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

関連記事

おすすめの本 PR

この記事の内容を扱っている本です。

目的別の本の選び方を見る

ネットワークの記事を探す