AmneziaWG対WireGuard:ステルスフォークが変えるもの
WireGuardは、小さく、速く、そして最良の意味で退屈であることによって、現代のプロトコル論争に勝ちました。しかしそれはそもそも隠れるために設計されたものではありません。VPNトラフィックを見つけるためにディープパケットインスペクションを使うネットワークでは、素のWireGuardは最も認識されやすいプロトコルの一つです。AmneziaWGは、WireGuardの得意なところを手放すことなく、まさにそれを解決しようと立ち上がったプロジェクトです。
手短な答え:AmneziaWGは、暗号と速度はそのままに、プロトコルの見分けのつくハンドシェイクを——ジャンクパケット、ランダムなパディング、書き換えたヘッダーのバイトによって——変装させたWireGuardのオープンソースのフォークです。これにより、ディープパケットインスペクションはそれをWireGuardのシグネチャと一致させられません。下にあるトンネルは同じで、通信路に現れるシルエットが違うのです。
要点
- AmneziaWGは、WireGuardに難読化の層を加えたものです。暗号化、鍵モデル、性能は本質的に変わりません。
- 素のWireGuardには、固定された、フィンガープリントで捉えられるハンドシェイクがあります——検閲側はそれによって、何も復号することなくブロックします。
- AmneziaWGはそのフィンガープリントを崩します。ハンドシェイクの前のジャンクパケット、それへのランダムなパディング、そしてランダム化されたヘッダーの値です。
- 万能薬ではありません。ブロックされたサーバーアドレス、UDPの禁止、許可リスト型のファイアウォールは、それでも止めてしまいます。
- ふつうのネットワークでは何も得るものはありません。意味を持つのは、VPNプロトコルを積極的に狩るネットワークにおいてです。
素のWireGuardがブロックされやすい理由
検閲側はVPNをブロックするのに暗号化を破る必要はありません。プロトコルを認識しさえすればよく、WireGuardはそれを容易にします。ハンドシェイクが毎回同じに見えるからです。すべてのWireGuardセッションの最初のパケットは、ちょうど148バイトのUDPメッセージで、その先頭の4バイトは、常に1の後に3つのゼロが続くメッセージタイプのフィールドです。サーバーの返信はちょうど92バイト、タイプ2です。あらゆる実装で、あらゆる接続で、どこでも同じです。
その規則正しさは、エンジニアにとっては素晴らしく、国家ファイアウォールの内側にいる者にとっては悲惨です。検査機器はその形——固定されたサイズ、一定のタイプバイト、やり取りのリズム——をパターンマッチで捉え、トンネルが立ち上がりきる前に接続を破棄します。内側のすべては暗号化されたままですが、外側がその正体を明かしてしまうのです。
これは見落としではありません。WireGuardプロジェクトは、トラフィックの難読化を明確な非目標として挙げています。プロトコルは最小限で監査可能であり続けることを意図しており、変装はその上に作られる層に委ねられています。長年それは隙間を残しました。最も激しくフィルタリングする国々——イラン、ロシア、中国がVPNをどうブロックするかで見ていきます——が、早くからWireGuardのシグネチャをフィルターに加えたからです。
AmneziaWGは、その隙間への一つの答えです。
AmneziaWGが変えるもの
AmneziaWGは、セルフホスト型VPNのためのオープンソースのツールキットであるAmneziaを手がけるチームから生まれたもので、それを理解する最も簡単な方法は、衣装をまとったWireGuardとして捉えることです。このフォークは、検査システムが見張っているまさにその瞬間に、接続の見え方を作り変える一連の設定パラメータを加えます。
- まずジャンクパケット(Jc、Jmin、Jmaxのパラメータ)。本当のハンドシェイクの前に、クライアントはさまざまなサイズの無意味なランダムパケットをひとしきり送ります。やり取りはもはや、きれいな148バイトのメッセージで始まりません。
- ランダムなパディング(S1、S2)。ハンドシェイクの開始と応答にランダムな追加バイトが付け加えられるので、パケットサイズが既知のシグネチャと一致しなくなります。
- 書き換えられたヘッダー(H1〜H4)。すべてのWireGuardパケットに付く4つの固定されたメッセージタイプの値が、両端があらかじめ合意した値に置き換えられます。あの正体を明かす1、2、3、4は、通信路に決して現れません。
新しいリリースは、この考えをさらに推し進めます。バージョン1.5は、他のプロトコルの最初のバイトを模した特別に作られた開始パケットを加え、2026年にそれに続いた2.0系もその方向を引き継いでいます——目標は「WireGuardのように見えないこと」から「無害な何かのように見えること」へと移っています。
実際には二つの点が重要です。両端は同じパラメータの値を共有しなければなりません。これは設定ファイルに記された、息の合った衣装であって、クライアントがその場で即興で作るものではありません。そして、すべての難読化パラメータをゼロに設定すると、AmneziaWGは素のWireGuardを話します——これは、加えられた層が実際どれほど薄く外科的なものかを物語っています。
変わらないもの
衣装の下では、プロトコルは手つかずです。ハンドシェイクの数学、最新の暗号、鍵交換——どれも作り直されたのではなく、WireGuardから直接受け継がれています。これは正しい判断です。新しい難読化は間違えても安く直せますが、新しい暗号は間違えると破滅的だからです。包みだけを変えるフォークは、WireGuardの小さく、入念にレビューされた核を保ちます。
性能も維持されます。ジャンクパケットは接続の開始時に少しだけデータを増やしますが、その後はトンネルがWireGuardと同じようにトラフィックを運びます。主要なプロトコルが速度やバッテリーでどう比較されるかが気になるなら、その比較はWireGuard対OpenVPN対IKEv2で行っています——そしてAmneziaWGは、古くて重い選択肢ではなく、WireGuardの側に位置します。
AmneziaWGでも通用しない場面
難読化は、あなたをブロックするコストを引き上げます。ブロックを不可能にするわけではなく、正直な比較なら、衣装が役に立たない場面を述べなければなりません。
- ブロックされたアドレス。検閲側がすでにあなたのサーバーのIPをブラックリストに載せているなら、パケットがどう見えるかは関係ありません。変装はプロトコルのフィルターを破るのであって、アドレスのリストを破るのではありません。
- UDPの禁止と速度制限。一部のネットワークは、見慣れないUDPトラフィックをまるごと破棄したり絞ったりします。AmneziaWGは依然としてUDPです。そうしたネットワークでは、TCP上で通常のウェブトラフィックを装うトンネルが取って代わります。
- 許可リスト型のファイアウォール。最も厳しいネットワークは論理を逆にします。認識されたプロトコルだけが通るのです。そこでは、何ものでもないように見えるトラフィックそれ自体が疑わしく、分類できない高エントロピーのフローは原則として破棄されます。ノイズのように見えることは、ブロックリストに対しては役立ち、許可リストに対しては不利になります。
- いたちごっこ。検閲側は、フローのタイミング、時間をかけたパケットサイズのパターン、そして疑わしいサーバーがつつかれたときどう応答するかも測ります。あらゆる難読化の手法は動く標的であり、だからこそ本格的なプロジェクトは新しいバージョンを出し続けるのです。
現実的な捉え方はこうです。AmneziaWGは、プロトコルのシグネチャでフィルタリングするネットワークに対して、あなたをブロックするコストを高くします。ブロックがアドレス、トランスポート、あるいは許可リストによって行われる場合は、別の手が必要です——その全体像はVPNが検閲を回避する仕組みで図示しています。
VPNの難読化は本当に必要か?
難読化されたVPNに手を伸ばす前に、問う価値のある問いがあります。あなたの問題は本当にプロトコルのブロックでしょうか。ほとんどの国の家庭の回線では、素のWireGuardは問題なく接続し、難読化はプライバシーを足さずに可動部だけを増やします——暗号化はどちらにせよ同じだからです。正直な見極め方は単純です。標準的なVPNがあなたのネットワークで確実に接続するなら、衣装は必要ありません。
難読化が値打ちを発揮するのは、特定の状況です。VPNプロトコルをフィンガープリントで捉える国家ファイアウォール、認識したVPNトラフィックの速度を落とすプロバイダー(ISP)、そしてトンネルを方針としてブロックする一部の企業、学内、ホテルのネットワークです。あなたの一週間にそのどれかが当てはまるなら、この比較の残りはあなたのためのものです。そうでなければ、変装よりもプロトコル選び——当サイトの主要な比較で扱っています——のほうが重要です。
iPhoneでのAmneziaWG
iOSクライアントを含む、公式のAmneziaWGアプリがあります。サーバーを借りてAmneziaのツールで設定すれば、難読化パラメータを携えた設定をインポートするだけで済みます。サーバーを管理し、パラメータを同期させ続けることに抵抗のない人にとっては、これは本当に良い道です——そして当サイトのShadowsocks対VPNの比較は、同じセルフホストの精神で、プロキシ型の代替手段を扱っています。
ほとんどの人は、インターネットを読むためにインフラを運用したいとは思いませんし、そうする必要もないはずです。実際的な代替手段は、両端を同じ事業者が管理し、アプリがあなたに代わって難読化を適用するVPNです。
Snap VPNはそのように作られています。トンネル自体はWireGuardで、その上に当社独自の難読化技術を適用し、接続が検査システムに教科書どおりのVPNのシグネチャを見せないように形作っています。当社は通信路レベルの詳細を意図的に文書から外しています——公開された変装は、真っ先にフィルターに加えられるものだからです——が、その原則はAmneziaWGが証明したものと同じです。WireGuardの技術を保ち、ネットワークから見えるものを変える。設定するものは何もなく、作るアカウントもありません。
よくある質問
AmneziaWGはWireGuardと同じですか。これはフォークです。暗号とトンネルの挙動はWireGuardのものです。変わるのはパケットが通信路でどう見えるかで——ジャンクパケット、パディング、ランダム化されたヘッダーが、見分けのつくシグネチャを置き換えます。それらのパラメータをゼロにすると、標準的なWireGuardのように振る舞います。
AmneziaWGはWireGuardより遅いですか。意味のある差はありません。難読化は接続の確立時にわずかなデータを足しますが、定常状態の速度は素のWireGuardと同等です——実際の仕事をしている暗号化は同一だからです。
DPIはそれでもAmneziaWGを検知できますか。試みることはでき、ときには成功します。難読化は容易なシグネチャの一致を取り除きますが、検閲側は依然として、サーバーアドレスをブロックしたり、UDPの速度を落としたり、まったく分類できないトラフィックに印を付けたりできます。それは免疫ではなく、続いているいたちごっこにおける強い一手だと捉えてください。
AmneziaWGはiPhoneで動きますか。はい——公式のiOSアプリがあり、あなたの設定の難読化パラメータはサーバーのものと正確に一致しなければなりません。それを自分で管理したくないなら、代替手段は難読化を内蔵したVPNアプリです。
結論
- WireGuardは、ハンドシェイクがどこでも同一に見えるためにブロックされやすいのです。暗号化は中身を隠すのであって、プロトコルの輪郭を隠すのではありません。
- AmneziaWGは、WireGuardの暗号と速度を保ち、検査システムが一致させるまさにその部分をランダム化します。
- プロトコルのフィルターに対しては勝ちます。IPのブロックリスト、UDPの禁止、許可リスト型のファイアウォールには勝てません。
- iPhoneでのセルフホストは公式アプリで可能です。手間の少ない道は、難読化を製品の一部として備えたVPNです。
WireGuardの速度を、難読化がすでに処理された状態で——借りるサーバーも、同期するパラメータも、アカウントもトラフィックログもなしで——望むなら、Snap VPNはApp Storeにあります。