VPNの暗号化
更新日 2026年9月21日 · 調査方法について
「軍用レベルの暗号化」は仕様ではなく宣伝文句です。実際に重要なのは、どの暗号がデータを保護しているか、両端がどのように鍵を合意するか、そしてその鍵が後で破棄されるかどうかです。
暗号化が果たす三つの役割
機密性
共通鍵暗号 — 通常はAES-256-GCMかChaCha20-Poly1305 — が、通信を運ぶ相手にとって中身を読めないものにします。
鍵交換
楕円曲線ディフィー・ヘルマン鍵交換、通常はCurve25519によって、両端は共有の秘密を一度も送信せずに導き出せます。
認証
証明書または事前共有鍵によって、接続先が意図したサーバーであることが証明されます。これが傍受による攻撃を防ぐ仕組みです。
実際に目にする暗号方式
AEADとは、暗号が機密性と完全性を一つの手順で同時に提供することです。そのため、改ざんは黙って通過するのではなく検知されます。
| 暗号方式 | 種類 | 使用する製品 | 注記 |
|---|---|---|---|
| AES-256-GCM | AEADのブロック暗号 | OpenVPN、IKEv2/IPsec | 最近のほとんどのCPUでAES-NIによるハードウェア支援が効くため、デスクトップでは非常に高速です |
| ChaCha20-Poly1305 | AEADのストリーム暗号 | WireGuard、OpenVPN | AES-NIのないプロセッサではAESより高速で、モバイル向けや古いチップの多くがこれに当たります |
| Curve25519 | 鍵の合意 | WireGuard、最近のTLS | 高速で、実装上の誤りをいくつかの類型ごと回避できる設計です |
| SHA-2 / BLAKE2s | ハッシュ | さまざま | 完全性の確認と鍵の導出 |
AES-256とAES-128
どちらも破られていません。AES-256は鍵が長く、将来の攻撃に対する余裕も大きくなりますが、正しく実装されたAES-128のトンネルが弱いわけではありません。VPNで問題になるのは暗号の強度よりも、設定と漏洩への対処であることがほとんどです。
完全前方秘匿性
前方秘匿性とは、各セッションが使い捨ての一時鍵を使い、終了後にその鍵を破棄することです。仮にサーバーの長期秘密鍵が後から漏れたとしても、過去のセッションで記録された通信を復号することはできません。WireGuardは設計上ひんぱんに鍵を更新し、OpenVPNとIKEv2は一時的なディフィー・ヘルマン鍵交換で同じことを実現します。これがない場合は、選定から外すべき要素として扱ってください。
暗号化がしないこと
- VPNを使っているという事実は隠しません。通信量とタイミングは見えたままです — 難読化をご覧ください。
- そもそもトンネルに入らない通信は保護されません。ISPに送られるDNSクエリは、暗号方式に関係なく暗号化されていません — DNS漏洩対策をご覧ください。
- プロバイダーがあなたの接続先を見られること自体は止められません。これは方針と構成の問題です — ログの読み方をご覧ください。
- マルウェア、フィッシング、ブラウザのフィンガープリントを防ぐものではありません。
よくある質問
AES-256はChaCha20より優れていますか?
どちらも破られていません。AES-256はハードウェア支援がある環境で高速で、ChaCha20-Poly1305はそれがないプロセッサで高速です。WireGuardが固定の既定として後者を選んだのはそのためです。
「軍用レベルの暗号化」とは何を意味しますか?
具体的なものは何もありません。通常はAES-256を指しますが、これは誰でも利用できる公開されたNISTの標準です。この表現は宣伝文句として受け取ってください。