VPN
Virtual Private Network ・ ぶいぴーえぬ
公衆網の上に暗号化された仮想的な専用線を作る技術。拠点間・リモート接続の定番。
概要
VPN(Virtual Private Network)は、インターネットのような誰でも使える公衆ネットワークの上に、暗号化によって守られた仮想的な専用線を作る技術です。物理的には他人のトラフィックと同じ回線を流れているのに、論理的には「自分たちだけの閉じたネットワーク」として振る舞う — この「仮想的なプライベートネットワーク」がそのまま名前になっています。
典型的な使いどころは2つあります。1つは拠点間VPNで、東京本社と大阪支社のネットワークをインターネット越しにつなぎ、あたかも1つの社内LANのように使うもの。もう1つはリモートアクセスVPNで、自宅やカフェにいる社員のPCを社内ネットワークに「参加」させるものです。コロナ禍以降のリモートワークで「まずVPNにつなぐ」が朝の儀式になった人も多いはずです。
このほか、公衆Wi-Fiでの盗聴対策や接続元IPアドレスの秘匿を目的とした個人向けVPNサービスも普及しており、「VPN」という語が指す範囲は文脈によってかなり広くなっています。
なぜ生まれたか
VPN以前、離れた拠点のネットワークを安全につなぐ手段は、通信事業者から物理的な専用線を借りることでした。専用線は確かに安全ですが、距離に応じた月額料金が非常に高く、拠点が増えれば拠点数の組み合わせ分だけ回線契約が必要になります。海外拠点との接続ともなれば、中小企業には手が出ない金額でした。
1990年代にインターネットが企業に行き渡ると、「この安価な公衆網を専用線の代わりに使えないか」という発想が自然に生まれます。問題はインターネットが盗聴も改ざんもされ得る信頼できない経路であることです。そこで、パケットを暗号化して別のパケットに包んで運ぶ「トンネリング」によって、信頼できない経路の上に信頼できる仮想経路を作る技術が発展しました。1998年に標準化されたIPsecを筆頭に、VPNは「専用線の安全性を、インターネットの価格で」実現する解として広まっていきました。
詳細
トンネリング — パケットを包んで運ぶ
VPNの中核はトンネリングとカプセル化です。社内ネットワーク宛のパケット(プライベートアドレス宛で、そのままではインターネットを渡れないもの)を丸ごと暗号化し、VPN装置間でやり取りする「外側のパケット」の中身(ペイロード)として詰め込みます。インターネット上のルータから見えるのは外側のパケットだけで、本当の宛先も中身も暗号化されて見えません。受け取った側のVPN装置が外側を剥がして復号し、元のパケットを社内ネットワークに放流する — この包んで運んで剥がす一連の動きが「トンネル」と呼ばれる所以です。
トンネルの入口と出口では、機密性(盗聴されても読めない)だけでなく、完全性(改ざんを検知できる)と相手の認証(正しい拠点・正しい利用者か)も検証されます。この3点セットが揃って初めて「仮想専用線」を名乗れます。
代表的な方式 — IPsec、TLS-VPN、WireGuard
実装方式はいくつかの系譜に分かれます。最も歴史があるのはIPsecで、IP層そのものにカプセル化と暗号化を組み込む標準です。拠点間VPNの定番であり、ルータやファイアウォール製品に広く実装されていますが、設定項目が多く、鍵交換(IKE)の設定不一致によるトラブルは現場の風物詩です。
リモートアクセス用途で広まったのがTLSベースのVPN(SSL-VPNとも呼ばれます。OpenVPNなどが代表)です。HTTPSと同じTLSの上にトンネルを作るため、443番ポートしか通さない厳しいファイアウォール環境でも接続しやすいのが強みです。IPsecがホテルや公衆Wi-FiのNAT環境で詰まりやすいのに対し、この「HTTPSに擬態できる」性質は実用上大きな利点でした。
近年注目を集めるのがWireGuardです。IPsecやOpenVPNの実装が数十万行に膨らんでいるのに対し、WireGuardは暗号方式を現代的なものに固定して選択肢を排し、数千行のコードで実装されています。設定は公開鍵暗号の鍵ペアを交換するだけとSSHに似た簡潔さで、UDP上で動作し、性能も優れています。Linuxカーネルに標準搭載され、個人向けVPNサービスの多くも採用する新定番になりました。
実務の論点 — 全部通すか、分けるか
リモートアクセスVPNの設計で必ず議論になるのがフルトンネルかスプリットトンネルかです。フルトンネルは端末の全通信をVPN経由にする方式で、管理側はすべての通信を監視・制御できますが、動画視聴のような社内と無関係なトラフィックまで社内経由になり、VPN装置が帯域のボトルネックになります。スプリットトンネルは社内宛だけをトンネルに流し、それ以外は直接インターネットへ出す方式で、効率的な反面、端末が「守られた経路」と「裸の経路」の両方に足を掛けることになります。コロナ禍で全社員が一斉にVPNへ集中し、装置の容量が枯渇して仕事にならない — という事態は、この集中型アーキテクチャの限界を広く知らしめました。
VPNの先へ — 境界型防御からゼロトラストへ
VPNは「社内ネットワークの内側は信頼できる」という境界型防御の考え方の延長にあります。VPNを通過した端末は社内の広い範囲に到達できるため、認証情報が盗まれたり端末がマルウェアに感染したりすると、侵入者にも同じ広さの到達範囲を与えてしまいます。実際、VPN装置の脆弱性を突いた侵入はランサムウェア被害の主要な入口の1つです。この反省から、「ネットワークのどこにいるかではなく、アクセスのたびに利用者と端末を検証する」ゼロトラストへの移行が進んでおり、アプリケーション単位でアクセスを仲介するZTNA(Zero Trust Network Access)がリモートアクセスVPNの後継として位置づけられています。とはいえ拠点間接続やレガシーシステムへの到達手段としてVPNの出番はまだ長く続きます。「万能の安全装置」ではなく「信頼できない経路に仮想専用線を通す技術」という等身大の理解を持っておくことが大切です。
