VPNの暗号化

更新日 2026年9月21日 · 調査方法について

「軍用レベルの暗号化」は仕様ではなく宣伝文句です。実際に重要なのは、どの暗号がデータを保護しているか、両端がどのように鍵を合意するか、そしてその鍵が後で破棄されるかどうかです。

暗号化が果たす三つの役割

機密性

共通鍵暗号 — 通常はAES-256-GCMかChaCha20-Poly1305 — が、通信を運ぶ相手にとって中身を読めないものにします。

鍵交換

楕円曲線ディフィー・ヘルマン鍵交換、通常はCurve25519によって、両端は共有の秘密を一度も送信せずに導き出せます。

認証

証明書または事前共有鍵によって、接続先が意図したサーバーであることが証明されます。これが傍受による攻撃を防ぐ仕組みです。

実際に目にする暗号方式

AEADとは、暗号が機密性と完全性を一つの手順で同時に提供することです。そのため、改ざんは黙って通過するのではなく検知されます。

暗号方式種類使用する製品注記
AES-256-GCMAEADのブロック暗号OpenVPN、IKEv2/IPsec最近のほとんどのCPUでAES-NIによるハードウェア支援が効くため、デスクトップでは非常に高速です
ChaCha20-Poly1305AEADのストリーム暗号WireGuard、OpenVPNAES-NIのないプロセッサではAESより高速で、モバイル向けや古いチップの多くがこれに当たります
Curve25519鍵の合意WireGuard、最近のTLS高速で、実装上の誤りをいくつかの類型ごと回避できる設計です
SHA-2 / BLAKE2sハッシュさまざま完全性の確認と鍵の導出

AES-256とAES-128

どちらも破られていません。AES-256は鍵が長く、将来の攻撃に対する余裕も大きくなりますが、正しく実装されたAES-128のトンネルが弱いわけではありません。VPNで問題になるのは暗号の強度よりも、設定と漏洩への対処であることがほとんどです。

完全前方秘匿性

前方秘匿性とは、各セッションが使い捨ての一時鍵を使い、終了後にその鍵を破棄することです。仮にサーバーの長期秘密鍵が後から漏れたとしても、過去のセッションで記録された通信を復号することはできません。WireGuardは設計上ひんぱんに鍵を更新し、OpenVPNとIKEv2は一時的なディフィー・ヘルマン鍵交換で同じことを実現します。これがない場合は、選定から外すべき要素として扱ってください。

暗号化がしないこと

よくある質問

AES-256はChaCha20より優れていますか?
どちらも破られていません。AES-256はハードウェア支援がある環境で高速で、ChaCha20-Poly1305はそれがないプロセッサで高速です。WireGuardが固定の既定として後者を選んだのはそのためです。
「軍用レベルの暗号化」とは何を意味しますか?
具体的なものは何もありません。通常はAES-256を指しますが、これは誰でも利用できる公開されたNISTの標準です。この表現は宣伝文句として受け取ってください。