VPNとは ― 仕組みとトンネリング
VPNとは、
VPNとは、共有網の上に作る仮想の専用線
VPN(Virtual Private Network)とは、共有のネットワークの上に仮想的な専用線を作る技術です。誰でも使えるインターネットの上に作る場合は、暗号化と認証によって安全性を確保します。これにより、離れた拠点のLAN同士や、外出先の端末と社内ネットワークを、専用回線を敷いたときと同じように安全につなげます。
インターネットの上にVPNを作るときは、元のパケットを暗号化したうえで、別のIPヘッダで包んで送ります。この包んで送る技術をトンネリングと呼びます。
トンネリングは、ヘッダを足して包むカプセル化の考え方の応用です。暗号化と組み合わせるので、経路の途中からは中身も、元の送信元・宛先アドレスも見えません。
VPNの役割:離れた拠点・端末を安全につなぐ
本社・支社・データセンターのように複数の拠点を持つ企業が、拠点間で社内システムを使うには、拠点同士のLANをつなぐ必要があります。
従来の方法は、通信事業者から回線を借りることでした。他の誰とも共有せず、2拠点だけのために使う回線で、専用線と呼びます。専用線は安全ですが、距離が伸びるほど費用が高くなります。
VPNは、すでに世界中につながっているインターネットの上に、暗号化によって専用線並みに安全な通信路を作ります。物理的な回線を新しく敷設する必要がないので、専用線より低コストで拠点間をつなげます。同じ考え方は、外出先のノートPCのような1台の端末が社内ネットワークに接続する場合にも使われます。
VPNでつなぐ先の社内ネットワークは、インターネットと同じ技術で作られています。社内ネットワークと、取引先につなぐネットワークの違いは、イントラネットとエクストラネットの記事で比べています。
トンネリングとカプセル化
VPNの中心となる技術がトンネリングです。インターネットという公共の経路の中に、専用のトンネルが通っているかのような通信路を作ります。この通信路を読み書きできるのは、特定の2点だけです。拠点間なら、その2点はゲートウェイ同士です。
通常のカプセル化は、上の層のデータに、下の層のヘッダを1枚ずつ足していくものです。VPNのトンネリングは、これとは少し違います。VPNでは、完成したIPパケットを、ヘッダとデータごと暗号化します。その塊に、別のIPヘッダをもう1枚足して包みます。パケットの中に別のパケットを入れるこの構造も、カプセル化と呼びます。
外側のIPヘッダには、元のPCやサーバのアドレスではなく、VPNゲートウェイ同士のアドレスが入ります。インターネット上のルータは、この外側ヘッダだけを見て転送します。
ただし、外側ヘッダには、ゲートウェイのアドレスのほかに、VPNの種類が分かる情報も入っています。具体的には、ESPのプロトコル番号50やUDP 4500番、SSL-VPNならTCP 443番です。パケットの大きさや、流れた時刻も経路上から見えます。
中に入っている元のパケットは暗号化されているので、元のアドレスもデータの中身も、経路上のルータや盗聴を試みる第三者には読めません。
トンネリングは、仮想ネットワークを作る技術の1つです。同じ種類の技術であるSDN・OpenFlow・NFVは、SDNの記事で説明しています。
動かして確かめる:見える情報がどう変わるか
次の図で、元のパケットが拠点Aを出て、拠点Bで元に戻るまでを1段階ずつ確かめられます。パケットは途中で暗号化され、新しい外側ヘッダで包まれます。各段階で、経路上の第三者から何が見えて、何が見えなくなるかに注目してください。
拠点AのPC(192.168.10.25)が、拠点Bのサーバへデータを送ろうとしています。宛先は192.168.20.10です。まだVPNの処理は何もしていません。IPヘッダも中身のデータも、そのままの形です。
VPNゲートウェイが、元のIPヘッダとデータをまとめて1つの塊として暗号化します。HTTPSのTLSが隠すのは通信の中身だけですが、この暗号化は元のヘッダごと隠します。ただし、この状態にはまだ外側のIPヘッダがないので、インターネット上を運べません。
暗号化した塊に、VPNゲートウェイ同士のアドレスを持つ新しいIPヘッダを足します。カプセル化で見た、ヘッダを足して包む考え方です。VPNでは、暗号化した塊をもう1つの通信として包んでいます。
拠点BのVPNゲートウェイが外側ヘッダを取り除きます。この処理を非カプセル化と呼びます。続けて暗号化を解き、元のパケットを復元します。復元されたパケットは、ふつうのパケットとして、拠点B内部のLANを通ってサーバに届きます。
暗号化と認証
VPNの安全性を支えるのは、トンネリングだけではありません。次の2つが組み合わさって、初めて安全な通信路になります。
- 1
暗号化
トンネルの中を流れるデータを暗号化するので、経路上の第三者が盗聴しても中身は読み取れません。HTTPS(TLS)の暗号化と同じ考え方です。暗号化に使う共通鍵暗号方式・公開鍵暗号方式の違いは、共通鍵暗号と公開鍵暗号の違いの記事で説明しています。
- 2
認証
トンネルの両端(VPNゲートウェイ同士、または端末とVPNゲートウェイ)は、通信を始める前に、本当に正しい相手かを確認します。認証がなければ、攻撃者が正規の相手になりすましてトンネルを作るおそれがあります。暗号化していても、このなりすましは防げません。
認証には、あらかじめ共有しておいた鍵(事前共有鍵)を使う方式や、HTTPS(TLS)と同じ証明書を使う方式などがあります。
さらに、IPsecのESPは、届いたデータが経路の途中で改ざんされていないかも確認します。これを完全性の検証と呼びます。
リモートアクセスVPNでは、接続してくる社員を1人ずつ確認する必要もあります。VPN装置は、社員のIDとパスワードをRADIUSサーバに問い合わせることがよくあります。この仕組みはRADIUSの記事で説明しています。
拠点間VPNとリモートアクセスVPN
VPNは、何と何をつなぐかで大きく2種類に分けられます。
| 方式 | つなぐ | 接続の | 主な |
|---|---|---|---|
| 拠点間VPN(サイト間VPN) | LANとLAN(拠点と拠点) | ゲートウェイ同士が常時接続 | 本社と支社・データセンター間の常時接続 |
| リモートアクセスVPN | 1台の端末と社内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のように扱えます。構成の自由度が高い分、コストは高くなります。
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問)
正解:共有の
VPN
正解:元の
VPNの
正解:拠点間VPNは
拠点間VPNは、
正解:インターネットVPNは
インターネットVPNは、
正解:通信の
個人向けVPNサービスが
選んでから「採点する」を押すと、解説つきで答え合わせができます。
関連記事
おすすめの本 PR
この記事の内容を扱っている本です。
