WireGuard

WireGuardは、フリーかつオープンソースのルーティング又はブリッジで安全なポイント・ツー・ポイント接続を作成するための技術であるVirtual Private Network (VPN) の実装であり、アプリケーション及び通信プロトコルである。Linuxカーネル内のモジュールとして実行され、IPsecやOpenVPNよりも優れた性能を目指している。WireGuardはJason A. Donenfeldによって書かれ、GNU GPL v2の下で配布されている。

特徴 
WireGuardは単純で非常に効果的なVPNを提供することを目指している。Ars Technicaのレビューによると、OpenVPNやIPsecなどの一般的なVPN技術は、多くの場合セットアップが困難であり、簡単に切断され、再接続のネゴシエーションにかなりの時間を要し、古い暗号方式を使用しており、ソースコードが比較的大規模であることからバグの発見が困難になっていると述べている。

WireGuardの設計ではこれらの問題を軽減し、トンネルのセキュリティを強化し、デフォルトで管理しやすくしている。暗号パッケージのバージョン管理を使用することによって、その時点で最も安全と考えられる暗号方式に焦点を当てており、更に、コードベースは約4,000行となり、が容易である。Ars Technicaはテストにおいて、代替と比較してWireGuardは安定したトンネルの作成が容易であると報告し、WireGuardの「実用的な」な即時再接続と比較して、代替の長い再接続の遅延に「戻ることは難しい」とコメントした。

プロトコル 
WireGuardはにはCurve25519、暗号化にはChaCha20、にはPoly1305、ハッシュテーブル鍵には、ハッシュにはBLAKE2sを利用する。ネットワーク層のIPv4及びIPv6の両方に対応し、及び (カプセル化) にも対応している。

、フランス国立情報学自動制御研究所 (INRIA) の研究者は、 を使用して作成されたプロトコルのマシンチェック済み証明を公開した。

歴史 
コードベースの最初期のスナップショットはから存在する。WireGuardの初期の採用者はVPNサービスプロバイダの、AzireVPN、IVPN及びcryptostormであった。WireGuardはMullvad、、IVPN及びから寄付を受け取った。

の時点で、WireGuardの開発者はソースコードとプロトコルを実験的なものとして扱うことを推奨しており、発見される可能性のある脆弱性のと互換性の有る安定版が未だリリースされていないことを注意した。

、Linuxのネットワーキングスタックの主要メンテナであるDavid Millerは、今後のカーネルのリリースにWireGuardを含めるために、"net-next" メンテナツリーにWireGuardのパッチを受け入れた。にリーナス・トーバルズはDavid Millerの"net-next" ツリーをマージし、WireGuardがメインラインLinuxカーネルツリーに統合された。

反応 
オレゴン州選出の上院議員のは、アメリカ国立標準技術研究所 (NIST) にIPsecやOpenVPNなどの既存の技術の代替としてWireGuardを評価することを推奨している。

実装 
WireGuardプロトコルの実装:
 DonenfeldによるCとGoで書かれた初期実装。
 CloudflareのRustで書かれた実装であるBoringTun。
 NetBSDの wg(4) ドライバー。Ryota Ozaki によるC言語の実装。

脚注

注釈

出典

関連項目 

 SSH

外部リンク 
 
 

コンピュータ・ネットワーク・セキュリティ
セキュリティソフト
トンネリング
VPN
Linuxのソフトウェア
オープンソースソフトウェア