WireGuard®暗号化
更新
WireGuard®暗号化は全プランでご利用いただけます。
WireGuard®は、Jason Donenfeld氏が設計したオープンソースのVPNプロトコルです。
2020年にLinuxカーネル5.6へ正式統合され、現在ではLinux、Windows、macOS、iOS、Androidなど主要プラットフォームで動作します。
TailscaleはこのWireGuardをコアの暗号化レイヤーとして採用し、すべての通信をエンドツーエンドで保護します。
このページでは、WireGuardの技術的な仕組みと、TailscaleがWireGuardをどのように活用しているかを解説します。
WireGuardの特徴
WireGuardは、OpenVPNやIPsecといった従来のVPNプロトコルと比較して、次の点で優れています。
- コードベースの小ささ
-
WireGuardの実装は約4,000行のコードで構成されています。
OpenVPNが60万行超、IPsecが数十万行規模であることと比較すると、監査・検証が容易であり、脆弱性が混入するリスクも大幅に低減されます。 - モダンな暗号アルゴリズムの採用
-
WireGuardは特定の暗号スイートを固定採用する設計方針(Cryptokey Routing)を取ります。
ネゴシエーションにより弱い暗号方式が選択されるダウングレード攻撃のリスクがなく、設定ミスによる暗号強度の低下が原理的に発生しません。 - 高いパフォーマンス
-
カーネル空間で動作するため、ユーザ空間で処理するOpenVPNと比較してオーバーヘッドが小さく、スループットが高くレイテンシも低いです。
ベンチマークではOpenVPNの数倍以上のスループットを記録することが多く、モバイル環境でのバッテリー消費も抑制されます。 - 高速な接続確立
-
ハンドシェイクが非常に軽量で、接続確立が高速です。
ネットワーク切り替え(Wi-FiからLTEへの切り替えなど)後も瞬時に再接続するため、モバイルユーザの利便性が高まります。
暗号アルゴリズム
WireGuardが採用する暗号アルゴリズムは固定されており、設定による変更はできません。
これはセキュリティ上の意図的な設計です。
| 用途 | アルゴリズム |
|---|---|
| データの暗号化・認証 | ChaCha20-Poly1305 |
| 鍵交換 | Curve25519(ECDH) |
| ハッシュ・鍵導出 | BLAKE2s |
| ハンドシェイクフレームワーク | Noise Protocol Framework(Noise_IKpsk2) |
| SipHash(パケット索引用) | SipHash24 |
ChaCha20-Poly1305はAES-GCMと同等の安全性を持ちながら、AESハードウェアアクセラレーションが利用できない環境(一部のモバイルデバイスや組み込み機器など)でも高速に動作します。
Curve25519はNSAによる影響が疑われるNIST曲線(P-256等)を避けた選択であり、プライバシー重視の観点からも支持されています。
TailscaleにおけるWireGuardの活用
TailscaleはWireGuardをネットワーク層の暗号化エンジンとして採用していますが、そのまま使うのではなく、大規模な企業ネットワークに対応するための機能を上位レイヤーで提供しています。
- 鍵管理の自動化
-
通常のWireGuardでは、公開鍵・秘密鍵の生成、配布、ローテーションを管理者が手動で行う必要があります。
Tailscaleではこれを完全に自動化します。
各デバイスがTailscaleに参加する際に鍵ペアを自動生成し、コントロールプレーンを介して公開鍵を安全に配布します。
鍵のローテーションも定期的に自動実行されます。 - コントロールプレーンとデータプレーン
-
素のWireGuardが提供するのはデータプレーン(暗号化トンネル)のみです。
コントロールプレーン——デバイスの認証、公開鍵の配布・管理、アクセスポリシーの配信、接続先の案内——はWireGuardの仕様に含まれておらず、自前構築の場合は管理者が設定ファイルを手書きするだけです。Tailscaleはこのコントロールプレーンをマネージドサービスとして実装しています。
携帯網(3GPP)でいえば、シグナリング(位置登録・認証・接続先制御)を担うコントロールプレーンと、実際のパケット転送を担うデータプレーンが分離されている構造と同じです。
Tailscaleのコントロールプレーンはシグナリングのみを担い、データプレーン(WireGuardトンネル)を流れる通信内容には一切アクセスできません。
エンドツーエンド暗号化はデバイス間で直接確立されるため、Tailscale社を含む第三者が通信を傍受することは技術的に不可能です。 - NATトラバーサルとの組み合わせ
-
WireGuardはP2P接続を前提とした設計ですが、現実のネットワーク環境ではNATやファイアウォールにより直接接続できないケースが多くあります。
TailscaleはSTUN/ICEによるNATトラバーサルと、直接接続が不可能な場合のDERPリレーを組み合わせることで、あらゆる環境でWireGuardトンネルを確立します。
いずれの接続方式でも、WireGuardによるエンドツーエンド暗号化は維持されます。 - IPアドレスの自動割り当て
-
WireGuardはIPアドレスの管理機能を持ちません。
Tailscaleはこれを補うため、tailnet内の各デバイスにIPアドレスを自動的に割り当てます。IPv4アドレスは
100.64.0.0/10のCGNAT(Carrier-Grade NAT)アドレス範囲から割り当てられます。
具体的には100.64.0.0から100.127.255.255の範囲であり、各デバイスには100.x.y.z形式のアドレスが1つ付与されます。
このアドレスはデバイスが同じtailnetに所属している限り変わらず、デバイスを再起動したりネットワークを切り替えても維持されます。IPv6アドレスは
fd7a:115c:a1e0::/48の範囲から割り当てられます。
MagicDNSと組み合わせることで、IPアドレスを意識せずホスト名でアクセスすることも可能です。CGNAT範囲を使用する理由は、このアドレス帯がインターネット上のパブリックIPアドレスとも、一般的な企業内のプライベートIPアドレス(
192.168.0.0/16、10.0.0.0/8、172.16.0.0/12)とも重複しないためです。
既存のネットワーク構成を変更することなく、Tailscaleを透過的に追加導入できます。
エンドツーエンド暗号化の意味
Tailscaleの暗号化が「エンドツーエンド」である点は、企業セキュリティにおいて重要な意味を持ちます。
従来の集中型VPNでは、VPNゲートウェイがすべてのトラフィックを一度復号したうえで転送します。
これはVPNゲートウェイが侵害された場合に、そこを通過するすべての通信が危険にさらされることを意味します。
TailscaleのWireGuardによるエンドツーエンド暗号化では、送信元デバイスで暗号化されたデータは宛先デバイスにのみ復号できます。
経路上の中継点(DERPリレーサーバ、ルータ、クラウドプロバイダのネットワーク機器など)はすべて暗号化されたパケットを転送するだけで、内容を知ることができません。
WireGuard単体での自前構築 vs Tailscale
「WireGuardがあれば自分でVPNを構築できる」という意見はその通りです。
WireGuardはOSSであり、LinuxサーバにインストールしてVPNを構成することは技術的に可能です。
ただし、WireGuard自体はあくまで暗号化トンネルを張るプロトコルであり、企業ネットワークの運用に必要な機能の大半は自前で設計・実装・維持する必要があります。
Tailscaleはその「WireGuardの上に必要なすべて」をマネージドサービスとして提供します。
| 項目 | WireGuard単体(自前構築) | Tailscale |
|---|---|---|
| 暗号化エンジン | WireGuard | WireGuard(同一) |
| 鍵ペアの生成 | 管理者が手動でwg genkeyを実行 |
デバイス参加時に自動生成 |
| 公開鍵の配布 | 各ピアの設定ファイルに手動で記述 | コントロールプレーンが自動配布 |
| 鍵のローテーション | 手動(忘れがち・運用負荷大) | 180秒ごとに自動ローテーション |
| NATトラバーサル | 原則として対応なし。ポート開放・転送が必要 | STUN/ICEで自動処理。設定変更不要 |
| CGNAT・厳格なFW越え | 困難。グローバルIPを持つサーバが必須 | DERPリレーが自動フォールバック |
| IPアドレス管理 | アドレス帯の設計・割り当てを自前で管理 | 100.x.y.z を自動割り当て |
| アクセス制御(ACL) | iptables/nftablesを手動で設定・管理 | JSON形式のACLポリシーで一元管理 |
| ユーザ認証・SSO | 別途実装が必要(PAM、証明書等) | Google/Microsoft/Okta等のIdPと標準連携 |
| 多要素認証(MFA) | 別途実装が必要 | IdP側のMFA設定がそのまま適用 |
| デバイス管理 | 設定ファイルの手動追加・削除 | 管理コンソールまたはAPIで一元管理 |
| デバイス承認 | 仕組みなし(設定ファイルへの追記で参加) | 管理者承認フローを標準装備 |
| デバイスポスチャ評価 | 仕組みなし。外部ツールとの独自連携が必要 | OS・暗号化状態を収集しACLの条件に利用可 |
| DNS(ホスト名解決) | 別途DNSサーバの構築・管理が必要 | MagicDNSで自動割り当て。Split DNSにも対応 |
| SSH鍵管理 | authorized_keysの手動管理 | Tailscale SSHで自動管理・ACL連携 |
| 監査ログ | 別途syslog等の設計・実装が必要 | 構成変更ログ・ネットワークフローログを標準提供 |
| SIEMへのログ転送 | 別途実装が必要 | ログストリーミングで標準対応 |
| 高可用性 | 冗長構成を自前で設計・実装・維持 | 高可用性Subnet Routerを標準装備 |
| IaC(Terraform等) | Ansible等で独自管理スクリプトを構築 | 公式Terraform/Pulumiプロバイダを提供 |
| Kubernetes連携 | 独自のネットワークポリシーを別途設計 | Kubernetes Operatorを標準提供 |
| モバイル対応 | MDM連携は独自実装が必要 | Intune/Jamf等のMDM連携を標準サポート |
| クライアントアプリ | OSごとに設定ファイルを手動作成・配布 | 全OS向け公式クライアントをワンクリックで展開 |
| 初期構築の工数 | 数日〜数週間(設計・実装・テスト) | 数時間以内に本番運用可能 |
| 継続的な運用負荷 | 高い(鍵管理・設定変更・障害対応を全て内製) | 低い(運用の大半をTailscaleが代替) |
| セキュリティパッチ適用 | サーバOS・WireGuardを自前でアップデート | Tailscaleがインフラ側のパッチを適用 |
WireGuardの自前構築は、少人数の技術者チームが数台のサーバを管理する用途であれば選択肢になりえます。
しかし、デバイス数・ユーザ数が増えるにつれて、鍵配布・ACL管理・監査ログ・ユーザ認証など「WireGuardが提供しない部分」の維持コストが急増します。
Tailscaleはこれらを一括してマネージドサービスとして提供するため、エンジニアリングリソースをネットワーク管理ではなく本来の事業に集中させることができます。
セキュリティに関するよくある質問
- Tailscaleは通信内容を見ることができますか?
-
できません。
WireGuardによるエンドツーエンド暗号化により、Tailscaleのコントロールプレーンが扱うのはデバイスのメタデータ(公開鍵、IPアドレス、接続状態)のみです。
通信内容はデバイス間でのみ復号されます。
さらにTailnet Lockを有効にすることで、コントロールプレーンへの信頼自体を排除することもできます。 - DERPリレーを経由する場合も暗号化されますか?
-
はい。
DERPリレーはWireGuardで暗号化済みのパケットをそのまま転送するのみで、内容を復号する手段を持ちません。
P2P接続とDERPリレー経由接続のいずれでも、エンドツーエンド暗号化は同一の強度で維持されます。 - WireGuardの鍵はどのくらいの頻度でローテーションされますか?
-
TailscaleはWireGuardのセッション鍵を180秒ごとに自動ローテーションします。
また、一定量のデータ転送ごとにも鍵が更新されます。
これにより、万が一ある時点の鍵が漏洩しても、過去の通信が解読されるリスクを限定(前方秘匿性)します。 - 量子コンピュータに対して脆弱ではありませんか?
-
WireGuardが採用するCurve25519は古典的なコンピュータに対しては極めて強固ですが、十分な能力の量子コンピュータが実現した場合には理論上脆弱となる可能性があります。
この点についてはWireGuardコミュニティおよびTailscaleも認識しており、ポスト量子暗号への移行が業界全体で検討されています。
関連機能
NATトラバーサル
STUN/ICEプロトコルを活用し、NAT、ファイアウォール、CGNATの背後にあるデバイス同士でも自動的にP2P接続を確立します。
ほとんどの環境で、ネットワーク機器の設定変更は不要です。
全プラン
DERPリレー
P2P接続が確立できない厳格なネットワーク環境でも、Tailscaleが世界中に配置するDERPリレーサーバを経由して、暗号化通信を維持します。
全プラン
Tailnet Lock
Tailscaleの制御サーバを含め、信頼された署名ノードの承認なしにはデバイスをネットワークに追加できなくする機能です。
コントロールプレーンへの信頼を排除し、最高水準のセキュリティを実現します。
Enterprise
HTTPS証明書
Tailscaleネットワーク内のデバイスに対して、Let's Encryptを利用したTLS証明書を自動発行・更新します。
WireGuardによる通信暗号化に加えて、アプリケーション層のHTTPS保護も実現します。
全プラン