ここ数ヶ月間、Proton VPNは、新しいクライアント側のVPNプロトコルコードベースである「Proton protocols」の開発に取り組んできました。社内で「ProTUN」というコードネームで呼ばれているこの新しいコードアーキテクチャは、Rustで記述されています。暗号化コードはCloudflareのBoringTun(新しいウィンドウ)プロジェクトからフォークしたものですが、完全に再設計されたアーキテクチャはProton独自のものです。
新しいVPNコアが必要な理由
WireGuard®は、OpenVPNと同等の安全性を持ちながら、より高速で強力な最先端のVPNプロトコルです。そのため、ProtonはWireGuardに焦点を当てるべく、公式アプリからOpenVPNサポートの削除を開始しています。
しかし、現在Protonのアプリは、公式のwireguard-goによるWireGuardの実装を使用しています。これは非常に優れた実装であり、洗練された最小限の設計により、従来のVPNプロトコルよりも高速で安全、かつ監査が容易になっています。
しかし、wireguard-goは、Protonがサポートしている複数のプラットフォーム上でProton VPNを開発するためにネイティブで使用している言語(AndroidのKotlinやiOSのSwiftなど)とスムーズに統合できません。これにより、開発が遅れ、デバッグが複雑になり、安定性の課題が生じます。
Proton protocolsは、これらの問題を解決します。
Proton protocolsは、WireGuardをベースにした新しいクライアント側のVPNフレームワークです。Rustで記述され、共有可能で拡張性のあるコアとして設計されているため、ProTUNはさまざまなプラットフォームに一貫してデプロイでき、異なるネットワーク環境に適応できます。これにより、問題をより迅速に診断し、安定性を向上させ、高度な機能をVPNスタックに直接組み込むことが可能になります。
最も重要なのは、Proton protocolsによって検閲やネットワーク干渉に迅速に対応できる柔軟性が得られることです。これは、長期的に最大の利益が期待できる分野です。
内部の仕組み
新しいWireGuardコアによるトラフィックの暗号化
Proton protocolsプロジェクトの中心となるのは、Rustで記述されたWireGuardプロトコルのクリーンでスタンドアロンな実装であるlibpvpnclientです。その役割はシンプルですが非常に重要であり、お客様のインターネットトラフィックを暗号化し、接続の安全性を確保することです。
wireguard-goとの違いは、その構築方法にあります。wireguard-goがシンプルなWireGuardクライアントであるのに対し、libpvpnclientは、高度な新しい機能や動作を開発できるまったく新しいフレームワークです。
また、特定のオペレーティングシステムに固執するのではなく、libpvpnclientは純粋でプラットフォームに依存しないコアとして設計されています。これにより、デスクトップ、モバイル、それ以上のあらゆる環境で、同じ高品質な実装を再利用できます。この分離は、舞台裏で大きな違いを生み出します。これにより、以下が可能になります。
- 管理され、再現可能な環境で、複雑なエッジケースのテストとデバッグを行う
- プラットフォーム間でより迅速かつ一貫して改善を展開する
- 検閲やトラフィックの遮断に対抗するための新しい技術を試す
お客様にとっては、これはより迅速な更新、プラットフォーム固有の問題の減少、そしてネットワーク条件や検閲方法の変化により迅速に適応するVPNを意味します。ProTUN自体は、RustベースのライブラリをProtonがサポートする各オペレーティングシステムに適応させる、libpvpnclientのラッパーに対する社内での名称です。
これはLocalAgentと連携して動作します。これは、証明書ベースの認証の実装を可能にするProton独自の制御チャンネルであり、最近Rustで合理化および書き換えが行われたものでもあります。
この新しいVPNコアは、以下のプラットフォームでベータ(早期アクセス)機能として、今すぐテスト運用が可能です。
- Windows
- Android
- iOSおよびiPadOS(高度なキルスイッチのサポートを導入)
- Linux GUIアプリ(検閲に対抗するStealthプロトコルのサポートを提供)
Proton VPNサーバーへの接続をより容易に
Protonは、Proton protocolsのフェーズ2にも取り組んでいます。「muon」というコードネームのこのフェーズは、ProtonのAPI自体が検閲されている状況であっても、ProtonのアプリをProtonのVPN APIに安全に接続する柔軟なネットワーキング層です。
VPNがお客様のトラフィックを保護するには、そもそもProton APIに安全に接続する必要があります。そして、それはますます困難になってきています。一部の国やネットワークでは、API接続がDNSレベルでブロックまたは監視されたり、サーバー名を検査すること(SNIスヌーピングと呼ばれる手法)によって特定されたりしています。
これに対処するため、ProtonはアプリとProtonのAPIの間の新しいゲートウェイであるmuonを構築しています。安全性とパフォーマンスのために同じくRustで記述されたmuonは、お客様のアプリが行う最初のネットワークリクエストを処理し、それらをProton VPNのWireGuardプロトコルに安全にルーティングします(長期的には、この機能は既存の検閲回避ソリューションである代替ルーティング(新しいウィンドウ)に代わるものになります)。
実用面において、これは、アクセスが検閲されていることが知られている国でお客様がProton VPNアプリを開いた瞬間から、Proton APIへの通信がすでに保護されることを意味します(システムレベルのVPN接続が完全に確立される前であっても保護されます)。また、規制の厳しい国では、お客様のISPは、お客様がProtonのAPIに接続していることすら検知できません。
この保護は自動的に行われ、お客様に意識されることはありません。これにより、検閲が行われている国でも接続が機能する可能性が高くなります。実際、muonは検閲の回避に非常に有用であるため、VPNだけでなくすべてのProtonアプリで使用する予定であり、最初からProtonのエコシステム全体で組み込みの検閲保護機能をお客様に提供します。間もなく展開される予定ですので、今後の情報にご注目ください。
次のステップに向けた強固な基盤
libpvpnclient(Proton protocolsラッパーを適用したもの)とmuonは、合わせてProtonのエンジニアに格段に高い柔軟性をもたらす新しいプラットフォームを形成します。これにより、接続の安定性、バッテリー消費、回復力の向上に関する実験を安全に行うことができ、より強力な検閲耐性技術や耐量子暗号などの未来の技術に向けた土台を築くことができます。
これは、インターネットをすべての人にとってよりアクセスしやすく、信頼性が高く、プライベートなものにするための大きな前進であると考えています。そして、これはほんの始まりに過ぎません。この新しい基盤によって、2026年以降にProton VPNがどのように進化していくかを楽しみにしています。
「WireGuard」は、Jason A. Donenfeld氏の登録 商標(新しいウィンドウ) です。






