WireGuard®は、高度な暗号技術を使用する高速で最新のVPNプロトコルです。IPsecやOpenVPNよりもシンプルで用途が広いため、幅広い用途に適しています。VPNプロトコルに新たに加わったこのVPNは、VPNの役割を変えるのか?そして、それはユーザーであるあなたにどのような影響を与えるのか?それでは見ていきましょう。
目次
WireGuardとは?
WireGuardは、スタンドアロンVPNとしても利用できる、非常に高速で安全なVPNプロトコルです。事実、現在利用可能なVPNプロトコルの中で最速と見なされており、速度とパフォーマンスを必要とする場合は、IPsec/IKEv2やOpenVPNよりも優れた選択肢となります。
Wireguardは無駄のないトンネリングプロトコルとして構築されており、OpenVPNの100,000行のコードと比較して、4,000行未満のコードで動作しますが、これについては後で詳しく説明します。コードベースが少ないため、WireGuardが使いやすくなり、速度とパフォーマンスが向上し、攻撃対象領域が狭くなります。
WireGuardは、VPNのより効率的なソリューションとして、IKEv2/IPSecやOpenVPNを置き換えることを目指しています。他のプロトコルで使用されている最良の要素を取り組むことを試みています。
WireGuardは何を使用するか?
ソフトウェアを構成する動作部分と基本的な要素は、一般にプリミティブと呼ばれ、これは単に操作を意味します。
WireGuardで使用されているプロトコルとプリミティブは次のとおりです。
- ChaCha20は対称暗号化用で、RFC7539のAEAD構造を使用してPoly1305で認証されています。
- ECDHのCurve25519。
- BLAKE2sは、RFC7693で説明されているハッシュとキー付きハッシュです。
- SipHash24(ハッシュ可能なキーの場合)。
- キー導出のHKDF(RFC5869を参照)。
ミニ用語集:
- ChaCha20 — ストリーム暗号と256ビット鍵を使用するSalsa20アルゴリズムの改良版。
- Poly1305-AES — 秘密鍵メッセージ認証コード。
- AEAD — 関連データによる認証暗号化。
- Curve25519 — 楕円曲線暗号(ECC)で使用される楕円曲線。
- ECDH — 楕円曲線ディフィー・ヘルマン鍵合意プロトコル。
- ハッシュ化 — データの送信者が本人であることを確認する。
- BLAKE2 — 暗号ハッシュ関数
- SipHash24 — ARX(モジュラー加算-固定量の回転による回転-XOR)アルゴリズムのブロック暗号。
- HKDF — HMACベースの鍵導出関数。
- HMAC — ハッシュベースのメッセージ認証コード。
WireGuardの長所と短所
長所 | 短所 |
---|---|
軽い。4000行のコード(OpenVPNは100,000行)であるため、弱点を補う場合などで、テストや作業が簡単です。 | 難読化しない:このプロトコルはディープパケットインスペクションを受けやすく、多くの場合、難読化されたサーバーを保持するVPNプロバイダーに依存しています。 |
攻撃対象領域が狭まる:コード行数が少ないため、セキュリティの脆弱性が生じる箇所が少なくなります。 | 動的IPを提供しない:現時点でWireGuardは、あらゆる箇所で静的アドレスを使用しており、動的構成を求める人は他のオプション(DNSサーバーなど)を検討する必要があります。 |
速い:WireGuardは、データを受信するときに事前定義された構成とより少ないリソースを使用します。これにより、他のプロトコルよりも高速に実行できるようになります。 | すべてのVPNで利用されていない:プロトコルを使用してプライバシーを保ちたい場合は、それらをサポートするプロバイダーを使用する必要があります。 |
詳細については、プロトコルの既知の制限に関するWireGuardの記事をご覧ください。
WireGuardプロトコルはどのように機能するか?
WireGuardは、高度な暗号化操作を組み合わせて、交換されるデータを暗号化します。このプロトコルは、暗号鍵ルーティングと呼ばれる最先端の暗号化を利用しており、トンネリングに明示的に使用されるIPアドレスのリストに公開鍵を関連付けることによって機能します。
公開鍵は、各ユーザーがお互いを認証するために使用します。鍵は、プライマリ通信チャネル以外の任意の方法で渡すことができます。シェルサーバーにアクセスするために、セキュアシェル(SSH)公開鍵を友人に送信する方法と似ています。
WireGuardを使用する場合、クライアントとサーバー間のセキュリティ構成は事前に定義されています。これにより、サーバーに接続または再接続する必要が無くなるため、速くなります。そのため、WireGuard接続はコネクションレスです。
必要なのは、あなたの鍵とサーバーの鍵だけです。WireGuardプロトコルの鍵交換は、NoiseIK(一度の往復の鍵交換)に基づいています。プロトコルは、内部で自動的にそれを行います。お好みのサーバーを選択するだけで、後はアプリが処理します。
WireGuardと手動設定
WireGuardプロトコルはVPN市場では比較的新しいため、すべてのVPNプロバイダーがこのプロトコルを導入しているわけではありません。しかし、当社はこれをあなたに提供できることを本当に嬉しく思います。さらに、アプリと手動設定を提供しています。
WireGuardの手動セットアップは、次のような方に適しています。
- VPNの使用が制限されている国に居住している。
- ルーター経由でVPNを使用する。
- 暗号化による利点を受けるアプリと互換性のないデバイスを保持している。
- 速度を低下させることなく多くのデバイスを保護したい。
WireGuardは、OpenVPNやIKEv2よりも優れているか?
WireGuardは、OpenVPNやIKEv2よりも効率的になるように構築されています。しかし、それは必ずしも他のVPNプロトコルよりも優れたパフォーマンスを発揮することを意味するものではありません。
しかし、VPNプロトコルはよく比較されるため、OpenVPNやIKEv2に対してWireGuardがどうであるかを比較されることがよくあります。これは、当社も同じです。
この説明を始める前に、当社では、プロトコルのバッテリー使用量を比較したい人がいることを認識しています。当社の専門家に尋ねたところ、その違いは非常に小さく、比較することはほとんど無意味であるとのことでした。
WireGuardとOpenVPNの比較
WireGuard | OpenVPN | |
---|---|---|
速度 | 速い | 遅い |
信頼性 | 最良、ただし、不安定なネットワークではそれほど信頼性がありません | 良、不安定なネットワークでより良い |
オープンソース | 〇 | 〇 |
アクセスのしやすさ | 少数のVPNプロバイダーが提供 | ほとんどのVPNプロバイダーが提供 |
OpenVPNは、そのプロトコルには約70,000行のコードが含まれていると主張しています。OpenVPNはオープンソースのサービスであるため、GitHubリポジトリ(コードを保存している場所)を見れば、コードが正しいかどうかを簡単に確認できます。当社で確認したところ、このコードは112,000行のコードで構成されていました。
コード行数が重要な2つの理由:1)コードの行数が多いほど、エラーの可能性が高くなり、2)同じ結果を得るために必要なコードの行数は、少ないほど良いからです。
調査方法:OpenVPNのコードをGitHubリポジトリからZip形式でダウンロードしました。元のファイルには、ドキュメント、テスト、およびその他のファイルの行が含まれています。ソースコードは112,000行あります。
WireGuardとIKEv2の比較
WireGuard | IKEv2 | |
---|---|---|
速度 | 速い | 遅いですが、それほど違いはありません |
信頼性 | 不安定なネットワークで信頼性がより優れている | 信頼性が低い |
オープンソース | 〇 | × |
アクセスのしやすさ | 少数のVPNプロバイダーが提供 | より多くののVPNプロバイダーが提供 |
ただし、上記の表は役に立ちますが、プロトコルの比較はあまり正確ではありません。それは、VPNプロトコルのパフォーマンスは、あまりにも多くの要因に依存しているからです。
- インターネット接続の速度
- VPNサーバーの占有状況
- デバイスのVPN対応状況
- VPNサーバーにどれだけ近いか。
理論的には、WireGuardプロトコルはOpenVPNやIKEv2よりも優れた機能を発揮すると言えます。これはあなたにとってより効果的であることを意味しますか?これに対する確固たる答えはありません。各プロトコルを試して、 最もスムーズな体験を提供するプロトコルを使用してください。
WireGuard VPNは安全か?
WireGuardは、今日最も安全でセキュアなVPNプロトコルの1つと見なされています。コードが少なく簡素化されたプロトコルアーキテクチャは、バグやセキュリティの脆弱性を減らすことができます。WireGuardは、暗号鍵ルーティングと呼ばれる、より高速で安全な暗号技術を備えています。
製作者が自ら述べたように、WireGuardの最初の宣伝段階では、懸念と呼ばれるいくつかのトレードオフがあります。それらに対処していきましょう。
- WireGuardは、接続されたIP(インターネットプロトコル)アドレスを保存します。
- WireGuardは、ユーザーの接続を難読化しません。
- WireGuardは、動的IPアドレスを割り当てません。
これらの問題は、ほとんどのVPNサービスプロバイダーはプロトコルを自社で構成するため、関係ありません。
Surfsharkでは、接続されたIPアドレスを保存しません。同時に、すべてのユーザーに動的IPアドレスを割り当て、その上のレイヤーとして接続を難読化します。
そのため、WireGuardがVPNプロトコルとして、またVPNプロバイダーとしてどのような問題を抱えていたとしても、当社側で修正します。
どのプラットフォームでWireGuardを利用できますか?
スタンドアロンとして、WireGuardは、Windows、macOS、Ubuntu、Android、iOSプラットフォームなど、さまざまなプラットフォームでご利用いただけます。
WireGuardを実行または統合できるソフトウェアの全リスト:Debian、Fedora、Mageia、Arch、OpenSUSE/SLE、Slackware、Alpine、Gentoo、Exherbo、NixOS、Nix on Darwin、OpenWRT、Oracle Linux 8、Red Hat Enterprise Linux 8、CentOS 8、Oracle Linux 7、Red Hat Enterprise Linux 7、CentOS 7、FreeBSD、OpenBSD、Termux、Void、Adélie Linux、Source Mage、Buildroot、EdgeOS、AstLinux、Milis、macOS HomebrewおよびMacPorts。
インストールの詳細については、WireGuardのインストールページをご参照ください。
WireGuardがVPNプロトコルとしてサポートされているかどうかは、プロバイダーがどのデバイスに設定するかによって異なります。
Surfshark VPNアプリは現在、次のオペレーティングシステムでWireGuardをサポートしています。Windows、Android、macOS、iOS、Linux。
Wireguardを自分のペースで試す
全体的に見て、WireGuardは高速、軽量、安全で、拡張が簡単に行えます。そして、VPNプロトコルとしてさらに良くなっています。
実際に体験したい場合は、ぜひSurfsharkをお試しください。当社のサービスはWireGuardでスムースに動作します!
『WireGuard』は、Jason A. Donenfeld の登録商標です。
よくある質問
WireGuardはVPNですか?
Wireguardは汎用VPNとして設計されているため、プロトコル(VPNの一部)およびVPNとして利用でき、特に最先端の暗号化を使用してプライベートネットワークを自分で構築したい場合に使用できます。
WireGuardは無料ですか?
はい、WireGuardは無料でオープンソースです。これは、VPN開発者や技術に精通したプライバシー愛好家が自由に実装して使用することを意図して設計されています。
WireGuardはIPをマスクしますか?
WireGuard(WireGuard VPNサーバー)を使用してご自身のホームVPNを設定する場合、IPはマスクされず、パブリックIPアドレスと場所が表示されます。また、WireGuardはユーザーデータを記録し、毎回同じIPアドレスを割り当てます。
パブリックIPを非表示にしたい場合は、WireGuard VPNの発信トラフィックを別のVPN経由でルーティングして、自宅のパブリックIPを非表示にします。誤解のないように言っておくと、これはプレミアムVPNプロバイダーに加入されている人にとっては問題ではありません。
WireGuardはハッキングされることがありますか?
VPNサービスはハッキングされることもありますが、これは非常に困難です。WireGuardプロトコルとAESまたはChaCha暗号化を組み合わせると、最も一般的なハッキング手法であるブルートフォース攻撃を使用して復号化することはほとんど不可能です。
現状では、ハッカーはWireGuardを解読して何かを得るためには、何百年も費やす必要があります。
WireGuardは優れたVPNプロトコルですか?
WireGuardは、今日最も安全でセキュアなVPNプロトコルの選択肢の1つです。簡素化されたデザイン、最新の暗号化技術、および優れたデフォルトのセキュリティ設定により、WireGuardは際立っています。
WireGuardはどのポートを使用しますか?
WireGuardのデフォルトポートは51820です。追加のトンネルを使用する場合は、別のポートを使用する必要があります。GUI(グラフィカルユーザーンターフェース)は、次に高い番号で使用可能なポートを自動的に提示します。
SurfsharkはWireGuardで機能しますか?
もちろんです!Surfsharkは、すべてのアプリとプラットフォームにWireGuardを実装しています。
なぜWireGuardが重要なのですか?
WireGuardは、コード行数が約4,000行と少ないため、構成、デバッグ、導入が簡単に行えます。IPSecやOpenVPNなどの他のプロトコルはコードベースが大きく、攻撃対象領域が広い分、セキュリティの脆弱性が潜んでいるリスクが生じる可能性があります。
手間をかけずに、同等のレベル(またはそれ以上)のセキュリティを提供するように構築されています。WireGuardは、複雑であまり効率的ではないVPNプロトコルアーキテクチャを簡素化するために製作されました。競合他社よりも優れた合理化された安全なVPNプロトコルを提供することを目指していました。