VPN接続サービス利用時に選択できる方式は複数あります。その中の一つで最近注目されているのが「WireGuard」です。安全で高速、さらには操作が比較的簡単なため急速に普及しています。「OpenVPN」など従来からある方式との違いを本記事ではわかりやすく解説しています。
WireGuardとは
WireGuard(ワイヤーガード)は、VPN接続サービスで使われているオープンソース(ソフトウェア)の名称です。Jason A. Donenfeldが2015年より開発を始め、翌2016年に最初のバージョンを公開しました。2001年に公開のOpenVPNと比べ、新しい手段であることがわかります。
概要
VPN接続サービスの利用時に選択する手段(プロトコル)の一つに、WireGuardがあります。
VPNの概要や、接続サービスとプロトコルの関係について以下の記事でまとめています。
WireGuardとOpenVPNの主な違い
WireGuard | OpenVPN | |
---|---|---|
スループット(データ転送速度) | 高速 | 比較的高速 |
反応速度(Ping) | 高速(数値は低い) | 比較的低速(数値は高い) |
暗号化技術 | 安全で強力 | 安全で強力 |
利用できるインターネットプロトコル | UDPのみ | TCPとUDPの両方 |
安定性 | ・ソースコードが最小限で保守しやすい(OpenVPNの100分の1との情報あり)(注1) ・「順不同到達」対策あり(注2) |
信頼性を重視し高い |
ユーザ認証 | 無し(秘密鍵と公開鍵を使う公開鍵暗号方式) | あり |
検閲(規制)の回避 | 困難(UDPのため) | インターネット利用が制限された国でもある程度は可能 |
どのVPN接続サービスでも利用できるか | 利用できない場合有り(2024年6月時点) | ほぼ利用可 |
他のプロトコルとの速度の比較(スループット、Ping)
WireGuard公式情報によれば、4つのVPNプロトコルでスループット(速度)および Ping (時間)とも、WireGuardが最も優れています。
【引用】「Testing Helpers」
https://www.wireguard.com/performance/
WireGuardで使われている主な技術
セキュリティ関連
既に普及している以下の暗号化技術を適用することで、安全性と高速化を実現しています。
・接続の認証には公開鍵認証(Curve25519)が使われ、暗号強度は128ビット
・「ChaCha20-Poly1305」で、「ChaCha20」(暗号化)と「Poly1305」(メッセージ認証)の組み合わせ
Linuxカーネルとの統合
WireGuardの信頼性が認知されてきたため、Linux kernelには2020年3月の5.6より取り込まれています。
UDPの採用と対策
WireGuardは高速さと安定性を維持するために、以下の方法を採用しています。
(1)プロトコルとしてTCPの代わりにUDPを採用する
(2)UDPの不利な点である「順不同到達」を解消するために「パケットカウンター」を導入する
TCPやUDPは通信プロトコルと呼ばれる手段の一つで、ネットワークに接続する機器がデータをやりとりするために使われています。TCPとUDPは似ているようでいて、以下のように異なる点があります。
UDP | TCP | |
---|---|---|
データが受信者に到達することを保証するか | 保証しない | 保証する |
信頼性 | 比較的低い | 比較的高い |
通信速度 | 比較的速い | 比較的遅い |
UDPがデータを受信者に到達することを保証しない事例として、その到達順位があります。その順位を修正する機能として、WireGuardは「パケットカウンター」として備えています。このおかげでUDPの信頼性は向上しています。
WireGuard VPNをWindowsやmacOSの機器から利用する方法
ふだんご利用のクライアントPCにアプリをインストールし数か所設定をすれば、すぐに利用を開始できます。MillenVPN をWindowsで利用する場合は、接続設定時に「WireGuard」を選択します。詳しい解説は以下のMillenVPN 公式情報をご覧ください。
WireGuard公式サイトで公開中のインストーラを利用し、Windows PCに導入する方法もあります。以下のサイトなどで紹介されています。
WireGuardでVPNサーバーを構築する方法
Linux の知見があれば、ご自身で構築することができます。VPSやクラウドサーバーを利用すれば無理なく始めることができるでしょう。
【事例】 Linuxサーバーへの導入方法
WireGuard公式サイトでは、多くのLinuxディストリビューションに対応したインストール方法の説明があります。これらの手順を参考にすれば、導入は比較的容易に可能です。
WireGuardの公式サイトにはデモサーバーが公開されています。これを利用することで、WireGuardの挙動を簡易的に検証することができます。
WireGuardでVPNサーバーを構築する際の注意点
TCPは利用できない
UDPのみの理由として、公式サイトはTCPの転送効率の悪さを挙げています。
データ転送速度を向上する方法
サーバーとクライアントのスペック、回線速度を改善すればVPNサーバーの速度などの性能を向上することにつながります。
まとめ
VPN接続サービス手段(プロトコル)は多くあります。それぞれが長短を併せ持ち、少しずつ改良されています。適切なプロトコルを選択することで、VPN接続サービスをより快適で安全に利用を続けることができます。
コメント