投稿日:
更新日:

VPN を支えるネットワーク技術と接続トポロジ

Authors

目次

banner.png

はじめに

インターネット上には様々な脅威が存在するため、端末間通信におけるセキュリティの確保が重要です。 異なるプライベートネットワークに存在する端末同士をセキュアに接続する代表的なネットワーク技術として VPN(Virtual Private Network)があります。

VPN は、公共ネットワーク網の中に仮想的な専用線を作り出し、送受信データを暗号化することでグローバルネットワークを介したセキュアな端末間通信を実現します。 VPN を使用すると、オフィスと自宅、異なる拠点同士等、地理的に離れた場所にあるプライベートネットワーク同士が直接繋がっているかのようなエンドツーエンド通信が可能になります。

近年では、クラウドサービスや IoT(Internet of Things)の普及、リモートワークの一般化が進み、ネットワークの構造は複雑で分散的なものになってきています。 こうした背景を踏まえ、VPN を用いた安全かつセキュアなリモート接続は組織や企業においてますます重要な役割を担います。

今回のブログでは、VPN を利用することで地理的に離れた端末同士をセキュアに繋げられる仕組みや要素技術、VPN の代表的な接続トポロジについて紹介したいと思います。

Virtual Private Network

VPN(Virtual Private Network)は 1998 年頃から普及し始めた技術で、インターネット等の既存の IP ネットワークの中に仮想的な経路を確立してセキュアな通信を実現します。

普及の背景

1990 年代までは、企業の拠点間を結ぶ WAN(Wide Area Network)構築に専用線や ISDN(Integrated Services Digital Network)といった閉域網が使われており、高い信頼性を持ちながらもコスト負担が大きな課題となっていました。 当時、アクセスルータの主な役割はこうした物理的なネットワークの接続に置かれていました。

2000 年代に入ると、インターネットの普及や IP 技術の発展により、公衆網の上に専用の仮想ネットワークを構築する VPN が主流となりました。 VPN を利用すると、広域ネットワークを流れる通信が暗号化され、安全性を保ちながらも、従来の専用線より低コストで拠点間接続が可能になりました。

現在では、VPN は拠点間通信に留まらず、リモートワークやクラウドサービスへのアクセス、散在した IoT 端末の連携といった多様な利用用途に対応する重要な基盤技術となっています。

VPN のメリット

VPN を直訳すると仮想専用通信網という意味になり、あたかも物理的な専用線を利用しているかのような通信となりますが、実際には広域ネットワークを基盤としており、その上に覆い被さる仮想ネットワーク(オーバーレイネットワーク *後述)を形成することによって、安全な通信を実現しています。

VPN を利用すると、共用の回線を諸々の技術によって 仮想的に独立した専用回線であるかのように扱う ことができます。

vpn-overview-01.png

VPN を利用すると送受信データが暗号化されるため、第三者による盗聴や改ざんといったリスクを大幅に低減することができます。

vpn-overview-02.png

また、送信元の IP アドレスを VPN サーバ経由のものに置き換えることができるため、地理的な制限を回避する用途やプライバシの保護といった面でも活用されています。

VPN の概念は、単に個人のインターネット利用の匿名性を高めるためのサービスではなく、もともとは企業内ネットワークにおいて遠隔拠点や出張等、在宅勤務者が本社ネットワークへ安全にアクセスする手段として設計されたものです。

vpn-overview-03.png

例えば、東京にある本社と大阪にある支社を、安全な通信経路で接続したいとします。 このとき、インターネットを介して VPN トンネルを張り、両拠点を仮想的に一つの社内 LAN として構成することができます。 これにより、ファイル共有、業務アプリケーションへのアクセス、VoIP 電話等を同じ建物内にいるかのようにシームレスに利用することが可能になります。

vpn-overview-04.png

VPN の構成要素

前で述べている通り、VPN は広域ネットワーク網の中に仮想的なネットワークを構築することで、地理的に離れたプライベートネットワーク同士をエンドツーエンドで接続します。 この時に構築される仮想ネットワークや、その中のプライベート経路を一般に ネットワークトンネル(単に トンネル と呼ばれることもある)と呼び、ネットワークトンネルを通じた通信を トンネル通信 と呼びます。

VPN が作り出すトンネルは、物理的には既存の IP ネットワークを利用しながらも、論理的には暗号化された専用通信路として機能します。

VPN は以下の技術要素が連携することで成り立っています。

  1. トンネリング(Tunneling)
  2. カプセル化(Encapsulation)
  3. 認証(Authentication)
  4. 暗号化(Encryption)
vpn.png

トンネリング(Tunneling)

VPN は広域ネットワークの中に仮想的な経路(トンネル)を確立して通信します。 ここで、仮想的な専用回線として成立させるのは トンネリング(Tunneling) と呼ばれる技術です。

インターネットは不特定多数の人が利用する公衆回線を通して接続されていますが、VPN では相互にデータをやり取りする 2 つの拠点間を仮想的なトンネルで隔絶することで、クローズドなネットワーク通信を可能にします。

tunneling.png

カプセル化(Encapsulation)

VPN は IP パケット等の送受信データを別プロトコルのパケットで包むことで、インターネットを介してセキュアな通信を実現します。

例えば、トンネル内で送受信されるデータは、端末が普段の通信で利用する IP アドレスとは別の仮想的な IP アドレスとなります。 この時、普段利用する IP アドレス(実 IP アドレス)を、トンネリングのために利用する別の IP アドレス(仮想 IP アドレス)に再パッケージ化することを カプセル化(Encapsulation) と呼びます。

カプセル化という名前は、外部から隠蔽するために元のオブジェクトをカプセルで覆ってしまうことから来ています。 データの送受信は、仮想的に構築された専用トンネルの中を、正体を隠したカプセルが往復しているようなイメージと捉えることができます。

encapsulation.png

認証(Authentication)

専用の仮想トンネルを設置しても、その出入り口が開きっぱなしになっていたら意味がありません。 トンネル内部への不正アクセスを防ぐためには、トンネルに入ろうとしている利用者が正当な権利を持っていることを証明する仕組み、すなわち 認証(Authentication) が必要になります。 VPN の認証機能は、セキュリティをより強固にするため二重に設けられることもあり、これを二段階認証(2FA:Two-Factor Authentication)と呼びます。

VPN の代表的な認証システムにシングルサインオン(SSO:Single Sign On)があります。 これは、1 組の ID とパスワードを複数のアプリケーションやサービスで統合的に利用できるようにする仕組みです。 SSO を利用すると、ユーザは複数の ID とパスワードを記憶する必要が無くなり、情報漏洩のリスクを低減できます

また、定期的なローテート作業やパスワードの使い回しを避られる上、アプリケーション側の認証システムを都度変更する必要もないため、管理の手間が軽減されます。

authentication.png

暗号化(Encryption)

上 3 つの技術を用いることで VPN のセキュリティは一定以上の水準を担保しますが、それでも認証突破のリスクや盗聴の脅威から完全にデータを保護することはできません。 そこで情報漏洩対策のために送受信するデータに施されるのが 暗号化(Encryption) です。 トンネル内で送受信されるデータを暗号化することで、たとえ認証が突破されたとしても解読できないようにすることでセキュリティ強度を高めます。

encryption.png

オーバーレイネットワーク技術

SDN:Software-Defined Networking

VPN を実現する上で最も重要になるのがオーバーレイネットワークと呼ばれるネットワーク技術です。 オーバーレイネットワークとは、物理的なネットワーク(アンダーレイネットワーク)の上に覆い被さるように構築された仮想的なネットワークを指し、ソフトウェアによって実現されます。 このようにソフトウェアで制御されたネットワークを SDN(Software-Defined Networking)と呼び、VPN は IP 網の上にソフトウェアで仮想的な論理ネットワークを構築する ため、オーバーレイネットワークの一種に該当します。

オーバーレイネットワーク上のノードは、下位ネットワークのトポロジを意識せずに通信することが可能で、VPN をはじめとする多くの P2P ソリューションやゼロトラストセキュリティの基盤技術としても利用されています。

overlay-network.png

仮想インターフェースを介した通信

オーバーレイネットワークでは、通常の通信で利用されるパケットやフレームをそのまま送信するのではなく、追加のヘッダ情報を付与して新しい外側のパケットに包み込む形で転送が行われます。 これにより、本来は到達できない異なるネットワークセグメント間でも、あたかも同一リンク上に存在するかのように通信が可能になります。

通常、オーバーレイネットワークを利用する端末には TUN(Tunnel)/ TAP(Terminal Access Point) に代表される仮想インターフェースが割り当てられ、これを通じて送受信されるパケットをオーバーレイネットワークを構築するためのプロトコルスタックに転送して処理します。

仮想インターフェースは、物理ネットワークへ転送されるパケットを傍受して、オーバーレイネットワークのプロトコルスタックに渡す役割を担います。 オーバーレイネットワークのプロトコルスタックは、アプリケーションから発生したイーサネットフレームや IP パケットをペイロードとして、オーバーレイネットワーク上で処理するための外部ヘッダを付与します。

protocol-stack-processing.png

例えば VXLAN(Virtual eXtensible Local Area Network) の場合、VTEP(VXLAN Tunnel End Point)と呼ばれる仮想インターフェースを介して取得した元の L2 フレームをそのまま UDP パケットのデータ部に格納し、その外側に VXLAN ヘッダ、UDP ヘッダ、IP ヘッダ、さらに物理ネットワーク上で実際に転送するためのイーサネットヘッダを追加します。

vxlan-encapsulation.png

このため、送受信者間の経路上に存在する物理ネットワーク機器は、外側の IP アドレスや MAC アドレスの情報を基にルーティングを行うだけで済み、内部に包み込まれたオリジナルのパケット内容には一切関与しません。

ネットワーク課題の解決

1. 分散ネットワークの統合

オーバーレイネットワークの大きな意義は、物理ネットワークの制約やアドレス体系を意識せずに論理的なネットワークを柔軟に構築できる点にあります。

つまり、内部的には同一セグメントの通信であっても、外部的には全く異なる経路を経由してルーティングすることが可能となり、クラウド環境や DC 間接続のように分散したリソースを統一的に扱うことができます。

2. NAPT トラバーサル

オーバーレイ方式によるカプセル化は NAPT 越えの問題を解決できるという側面も持っています。

NAPT 越え問題については こちらのブログ でも詳しく説明しています。

NAPT 環境下では内部の IP アドレスやポート番号が動的に変換されるため、外部からのセッション確立が難しくなり、特に P2P 通信や拠点間 VPN のように双方向での到達性が求められるシナリオでは大きな障壁となります。

対して、オーバーレイネットワークでは元の通信パケット全体を外側の L4 プロトコルに包み込んで転送するため、NAPT から見れば単なるセッションとして扱われます。 このため NAPT が存在する環境でも透過的にトンネルを確立でき、内部ノード同士があたかも同じネットワーク上にあるかのように通信することができます。

napt-traveral.png

VPN ではこのようなオーバーレイネットワークを基盤技術に据え、暗号化や認証の機能を組み合わせることで、安全性を担保した仮想通信路を広域ネットワークの中に確立しているわけです。

VPN の種類と通信方式

VPN は構成形態や利用されるプロトコルに応じて、いくつかの異なる種類に分類されます。 以下では代表的な形態である「IP-VPN」と「インターネット VPN」およびその中で使われる主な通信方式を紹介します。

IP-VPN

ip-vpn.png

IP-VPN は通信事業者の閉塞網を利用します。 閉塞網は各通信事業者(NTT、Softbank、KDDI 等)が提供しているサービスで、特別に契約した会社のみが参加できるネットワークです。 インターネットのように誰でも利用できるネットワークではありません。 クローズドなネットワーク環境でネットワークの出入り口を通信事業者が管理するため、基本的に盗聴等の心配はありません。

IP-VPN は単一の閉域網および同じ回線を複数の会社で共有利用しますが、専用線とは異なり MPLS(Multi-Protocol Label Switching) でユーザ(会社)に識別子を付与し、論理的にネットワーク経路を分離します。 MPLS とは予め決められたネットワークパスに沿ってパケットを送信する技術です。 MPLS を利用すると、パケットの転送先をルータが決定する必要が無くなり、常に事前に決められた経路を辿るため、信頼性の高いルーティングが実現できます。

IP-VPN は公衆網上にプライベートなネットワーク経路を構築するのみで、暗号化の仕組みは提供されていません。 閉域網であっても暗号化が必要な場合は、別のソリューションが必要になります。

インターネット VPN

internet-vpn.png

インターネット VPN は、名前の通りインターネット回線を基盤として構築される VPN です。 誰でも利用可能な公衆網を使用するため、通信内容の保護や利用者認証を厳格に管理する必要があります。

一般に、IPsec、L2TP、PPTP、SSL/TLS 等のプロトコルを組み合わせて、暗号化・認証・トンネリングの機能を総合的に構成します。

インターネット VPN は IP-VPN と比較して導入コストが低く、物理的な制約を受けずに利用できるため、在宅勤務者や外出先からの安全なアクセス手段として広く普及しています。

一方で、インターネット上には不特定多数のノードが存在するため、パケットの盗聴・改ざん・中間者攻撃(MITM:Man-In-The-Middle)等のリスクがあり、それに対処するための暗号化強度や鍵交換方式の選定、2 要素認証の導入等が不可欠となります。

インターネット VPN のプロトコル

インターネット VPN に用いられる代表的なプロトコルとして以下 4 つを紹介します。

  1. IPsec VPN
  2. L2TP over IPsec VPN
  3. PPTP VPN
  4. SSL/TLS-based VPN

IPsec:IP Security

ipsec-vpn.png

IPsec(Internet Protocol Security)は、インターネット VPN の中でも最も広く利用されている技術です。 IPsec には 2 種類のヘッダ形式と 2 種類の伝送モードが存在し、両方の組み合わせで計 4 種類の通信方式が定義されています。

ヘッダ形式

  • AH:Authentication Header
    • パケットの改ざんやなりすましによる送信元の詐称を検出する認証機能を提供
    • 暗号化機能はない
  • ESP:Encapsulating Security Payload
    • VPN で一般に利用されるヘッダ形式
    • 認証機能の暗号化の両方を提供

伝送モード

  • トランスポートモード
    • パケットのデータ部分(L4 以上)だけを認証や暗号化の対象とする
    • 送信元 IP アドレスや宛先 IP アドレスが含まれる IP ヘッダ部は認証や暗号化の対象にならない
  • トンネルモード
    • IP ヘッダを含むパケット全体が認証や暗号化の対象となる
    • VPN ではパケットをまるごと暗号化するトンネルモードが利用される

インターネット VPN を IPSec で構築する場合は、最も安全な ESP・トンネルモードを利用することが一般的です。

ipsec-mode.png

また、IPsec では共通鍵暗号を使って通信するため、共通鍵の交換を安全かつ自動的に行なう際に IKE(Internet Key Exchange)という仕組みを利用します。

IKE では、次の 2 段階の鍵交換を自動的に処理します。

  1. 簡単な共通鍵を作成して VPN ルータ間で認証
  2. 実際のデータ通信で使う暗号方式を決定して共通鍵を交換

暗号方式は、必須対応である DES(Data Encryption Standard)他、3DES(Triple DES)と AES(Advanced Encryption Standard)の 3 つのアルゴリズムに対応するソリューションが一般的です。 IKE で交換される共通鍵は、定期的にローテートすることでセキュリティを担保しています。

IKE には IKEv1IKEv2 の 2 つのバージョンがあり、現在では IKEv2 を利用することが一般的で、IKEv1 より効率的でセキュアな鍵交換を提供します。 IKEv2 には、基本的な鍵交換メカニズムに加えて MOBIKE(Mobility and Multihoming Protocol)という拡張機能があり、セッション確立後にクライアントの IP アドレスが変わっても(例:Wi-Fi から 4G へのハンドオーバ)自動的に再接続し直す移動透過性を備えています。ここで、移動透過性(Mobility Transparency)とは、ユーザがネットワーク上を移動しても、通信やサービスが中断されることなく継続できる特性を指します。

L2TP over IPsec:Layer 2 Tunneling Protocol over IPsec

l2tp-over-ipsec-vpn.png

L2TP over IPsec は、L2TP(Layer 2 Tunneling Protocol) と IPsec を組み合わせたインターネット VPN ソリューションで、主にクライアント端末(例:PC、スマートフォン、タブレット)から企業拠点や DC にセキュアに接続するために利用されます。

L2TP は PPP(Point-to-Point Protocol)で L2 フレームをカプセル化し、それを IP ネットワークを介して送信するトンネリングを実現するためのプロトコルです。 L2TP は本来、暗号化機能を持たないトンネリングプロトコルですが、IPsec と組み合わせることで強力な暗号化・認証機能を実現します。 このため、トンネルの構築(L2TP)と通信の暗号化・認証(IPsec)を分離して処理するアーキテクチャとなっています。

近年では、多くの OS が L2TP over IPsec をネイティブにサポートしており、特別なソフトウェアをインストールすることなく VPN を利用できるようになってきています。

PPTP:Point-to-Point Tunneling Protocol

pptp-vpn.png

PPTP(Point-to-Point Tunneling Protocol)は、1990 年代に Microsoft によって開発された初期の VPN プロトコルの一つで PPTP over GRE によってトンネリングを行います。

GRE(Generic Routing Encapsulation) は Cisco が開発したトンネリングプロトコルで、任意の IP パケットを別の IP パケットでカプセル化するための L3 プロトコルです。 GRE ではオリジナルのパケットに GRE ヘッダとトンネルエンドポイント間でパケットを送受信するための IP ヘッダを追加します。

gre-encapsulation.png

PPTP は、元々 Windows に標準搭載されていたため広く利用されていましたが、暗号化に使用されている MPPE(Microsoft Point-to-Point Encryption)に多くの脆弱性が報告されており、セキュリティ上の問題が多いため、現在では非推奨とされています。参考

SSL/TLS:Secure Sockets Layer / Transport Layer Security

ssl-tls-based-vpn.png

SSL/TLS ベースの VPN は、通常 UDP をトンネリングプロトコルとして使用する VPN に対して、TCP(HTTPS と同じ暗号化技術)を用いており、主にアプリケーション層で動作します。 このため、専用の VPN クライアントやブラウザベースのアクセス方式で提供されることが多く、ファイアウォールやプロキシ環境でも接続しやすいのが特徴です。

一般的な HTTPS 通信と同様の TCP 443 を使用することで、IPsec で必要とされるような UDP ポート(500 / 4500)の開放が不要となり、ファイアウォールの制限を受けにくいという利点があります。

SSL/TLS VPN の代表的な実装には OpenVPNSoftEther VPN(SSL-VPN モード) 等があり、これらはセッション確立・データ暗号化・認証処理をすべて SSL/TLS のフレームワーク上で処理します。

インターネット VPN の接続トポロジ

インターネット VPN は接続トポロジによって「サイト間 VPN」と「リモートアクセス VPN」の 2 種類に分類されます。

サイト間 VPN(集約型 VPN)

site-to-site-vpn.png

サイト間 VPN(Site-to-Site VPN)は、拠点間を常時接続するための VPN 構成で、各拠点に VPN ゲートウェイを設置して、これらの間でトンネルを確立する集約型の VPN トポロジです。 この接続トポロジは、例えば DC や本社と複数の支社間を接続する「ハブ・アンド・スポーク型」や、すべての拠点が直接接続し合う「フルメッシュ型」等の接続トポロジで利用されます。

サイト間 VPN では、暗号化・認証・整合性保護の観点から多くのケースで IPsec が VPN プロトコルとして採用されており、OpenVPN や SoftEther 等を用いて構築することができます。

メリット

サイト間 VPN では、VPN 接続は拠点単位で行わるため、ユーザは個別にクライアントプログラムをインストールしたり、VPN そのものを意識したりする必要がありません。

また、拠点毎に設置された VPN ゲートウェイが、拠点間通信を暗号化・復号およびカプセル化・デカプセル化を処理するため、一度トンネルを確立すれば地理的に離れた LAN 同士を常時接続することが可能です。 これにより、ネットワーク運用とセキュリティの管理を一点に集中させることができるため、アクセス制御ポリシやログ取得、トラフィックの監視等を統合的に行うことが可能になります。

ファイアウォールや侵入検知システム(IDS:Intrusion Detection System)も集中配置できるため、攻撃対策やトラブル対応の効率性が向上するというメリットがあります。

デメリット

全通信を一箇所に集約するという構造は、ボトルネックや単一障害点(SPOF:Single Point of Failure)のリスクにもなります。

このため、ユーザ数や通信量が増加した場合、VPN ゲートウェイの性能によって全体のスループットが制限される懸念や、VPN ゲートウェイそのものがダウンした場合に影響範囲が広くなるという課題もあります。

リモートアクセス VPN(分散型 VPN)

remote-access-vpn.png

リモートアクセス VPN は、個人ユーザやモバイル端末が拠点ネットワークにアクセスする分散型の VPN トポロジです。 この接続トポロジでは、各端末が VPN クライアントを通じてインターネット経由で VPN ゲートウェイへ接続します。

リモートアクセス VPN は、例えば在宅勤務や出張先のユーザが持つ個別の端末から社内リソースへアクセスする場合に利用されます。

メリット

サイト間 VPN に対して、リモートアクセス VPN では各クライアントが個別に VPN セッションを確立し、認証や暗号化も端末単位での設定が可能です。 このため、単一障害点や他の通信の影響を受けづらいというメリットがあります。

近年では、ゼロトラストセキュリティが注目されていることから、分散型の VPN 構成は増加すると予測されています。 ゼロトラストセキュリティ とは、性悪説に基づいて、全ての通信フェーズで認証・認可、暗号化を施すことでインターネット上に存在するあらゆる脅威から端末を保護するセキュリティモデルです。

ゼロトラストセキュリティはリモートアクセス VPN のように、分散した端末がインターネット経由で社内リソースにアクセスするシナリオに適しており、従来の境界型セキュリティモデルを補完・代替する手段として注目されています。

また、分散型の VPN を実現する代表的なソリューションとして WireGuardNebula 等が登場してきています。

デメリット

リモートアクセス VPN は端末毎に VPN セッションを確立するため非常にスケーラブルですが、ユーザ毎のセッション管理や、トラフィックを処理する VPN ゲートウェイそのものの負荷分散が課題となります。

また、端末が増加すると認証情報の管理やアクセス制御ポリシの適用といった面で、VPN の運用が複雑化する懸念もあります。

VPN ソリューション

最後に代表的な VPN ソリューションとして「OpenVPN」「SoftEther」「WireGuard」の 3 つについて紹介したいと思います。

OpenVPN

openvpn.png

OpenVPN は、SSL/TLS を基盤とする VPN ソフトウェアで、OSS として公開されています。

OpenVPN では、クライアントとサーバ間に TLS セッションを確立し、その上に VPN トンネルを構築します。 ユーザの端末には OpenVPN クライアントが導入され、VPN ゲートウェイに接続して暗号化されたネットワークトンネルを確立します。 通信は UDP または TCP を選択することが可能で、TCP 443 では HTTPS プロトコルをそのまま利用することができるため、ファイアウォールや NAPT が介在した環境でも容易に VPN を構築することが可能です。

また、拠点間接続では各拠点のゲートウェイ同士を TUN/TAP デバイスを用いて接続することで、L3 または L2 の通信を仮想的に延伸できます。 このため、サイト間 VPN とリモートアクセス VPN の両方を実現することが可能です。

一方で、OpenVPN の設定ファイルは項目が多く、ネットワークの専門知識が必要となるため、導入のハードルは比較的高い傾向にあります。

SoftEther

softether.png

SoftEther は、筑波大学が開発した日本発祥の VPN ソリューションで、Windows、Linux、macOS、FreeBSD、Solaris といった多様な OS 上で動作することが特徴です。 クライアントは SoftEther 独自の SSL-VPN を利用して HTTPS 上にネットワークトンネルを確立することができますが、同じサーバに対して L2TP over IPsec や SSTP、OpenVPN 互換モードといった複数のプロトコルでも接続可能が可能な統合型 VPN ソフトウェアとなっています。 そのため、Windows や macOS 等の標準クライアントや、既存の VPN クライアントをそのまま利用することができ、環境への適合性・親和性が高いとされています。

softether-architecture.png

また、拠点間接続には Virtual Hub と呼ばれる機能でブリッジを設定することで、異なる拠点 LAN をあたかも同一のスイッチで接続しているかのように振る舞わせることができます。

SoftEther には VPN Server Manager と呼ばれる GUI ベースの管理ツールが用意されており、ユーザや仮想ネットワークの追加・制御も直感的に操作することができます。

WireGuard

wireguard.png

WireGuard は、シンプルさと高速性を重視して開発されたモダンな VPN プロトコルで、近年では Linux カーネルに統合される等、軽量かつ高性能な VPN 実装として注目を集めています。

WireGuard はリモートアクセス VPN のような分散型のトポロジが前提となっていて P2P アーキテクチャを採用 しています。 クライアントからゲートウェイにアクセスする場合も、拠点間で常時トンネルを張る場合も、基本的には同じ P2P の接続モデルが適用されます。

OpenVPN や SoftEther が VPN ゲートウェイを介し、特定の拠点を対象 として接続することを前提としているのに対して、WireGuard は 端末同士を直接接続 することが容易なため、ゼロトラストセキュリティのような分散型のネットワーク構成に適しています。

各端末やゲートウェイは Peer と呼ばれ、あらかじめ公開鍵と秘密鍵のペアを持ち、それを交換することでセキュアなトンネルが確立されます。 通信はすべて UDP 上で処理され、デフォルトではポート番号 51820 を使用します。 VPN トンネルは OS のネットワークインターフェース(TUN インターフェース)として扱われるため、OS 標準のルーティングやファイアウォールと統合的に制御することができます。

アーキテクチャ全体が軽量かつシンプルに設計された暗号で構成されているため、パフォーマンスが高く、セキュリティモデルも明快ですが、認証やユーザ管理等の付加機能は含まれないため、大規模な運用には追加の仕組みが必要になります。

Tailscale

tailscale.png

Tailscale は、WireGuard をベースにしたマネージド型 VPN サービスで、ユーザ認証や端末管理、アクセス制御、監査ログの取得といった運用面の機能をクラウドサービスとして提供しています。 これらは WireGuard のシンプルさを活かしつつ、ユーザ管理やアクセス制御、監査ログの取得といった運用面の機能を補完した実用的な VPN ソリューションです。

Tailscale では、各デバイスに Tailscale クライアントを導入すると、そのデバイスは Tailscale の Control-Plane(Tailscale Coordination Server) に対して認証を行い、鍵情報や経路情報を取得します。 その後は、可能な限りデバイス同士が直接 WireGuard トンネルを張って通信します。 この時、もし NAPT 越えが困難な環境であれば、Tailscale が提供する DERP(Designated Encrypted Relay for Packets)と呼ばれる中継サーバを経由して通信がリレーされます。

tailscale-architecture.png

このように Tailscale では Data-Plane(WireGuard-based Tailscale Client)が WireGuard によって暗号化され、Control-Plane は Tailscale が管理するクラウド基盤によって自動的に調整されるという二層構成になっています。

その結果、ユーザは証明書配布や設定ファイルの管理を行う必要がなく、OIDC ベースの認証基盤(Google や Microsoft 等)と統合するだけで端末同士の P2P 接続やメッシュ構成を構築することが可能になります。

Tailscale は分散型ネットワークに強く、今後はゼロトラストセキュリティの文脈や、散在する IoT 端末を連携させるサービス等、リモートアクセスが必要な場面での利用が増えると考えられます。

まとめ

VPN は、物理的に離れた拠点や端末同士をセキュアに接続するための基本的な仕組みとして、今後も重要な役割を果たし続ける技術です。

今回のブログでは、VPN を構成するトンネリング、カプセル化、認証、暗号化といった要素を踏まえ、IPsec や L2TP、SSL/TLS 等の主要プロトコルから、サイト間 VPN とリモートアクセス VPN といったトポロジの違いまで紹介しました。

VPN の分類使用技術通信網
IP-VPN MPLS通信事業者のプライベート IP 網
インターネット VPN IPsec(L2TP over IPsec)
SSL/TLS-based VPN
インターネット網
VPN ソリューションプロトコルサイト間 VPNリモートアクセス VPNトンネリング層
OpenVPN OpenVPN
(独自プロトコル)
L3 / L2(選択可)
SoftEther VPN SSL-VPN
L2TP/IPsec
EtherIP
L2 主体
WireGuard WireGuard
(独自プロトコル)
L3
Tailscale WireGuardL3
L2TP/IPsec L2TP over IPsecL2(PPP)
IKEv2/IPsec IKEv2 over IPsecL3

また、VPN の柔軟性を支える技術として、オーバーレイネットワークや仮想インターフェースの仕組みにも触れ、論理的に分離された安全な通信経路がどのように成り立っているのかについて紹介しました。

今日ではネットワーク環境がますます複雑化してきており、VPN の基本的な仕組みだけでは対応しきれない課題も言及されています。 特に、ゼロトラストセキュリティのように境界の内外を問わず全てを検証対象とする考え方や、IoT の普及による端末数の爆発的な増加は、従来の VPN 設計や運用に対して新たな要求を突きつけています。

今後は、成熟した VPN の基盤技術を活かしながら、より分散的で柔軟なネットワーク制御を如何に実現するかが論点になるのではないかと考えています。

参考・引用