WireGuard

From Wikipedia, the free encyclopedia

作者 Jason A. Donenfeld
開発元 Jason A. Donenfeld
プログラミング
言語
WireGuard
作者 Jason A. Donenfeld
開発元 Jason A. Donenfeld
リポジトリ ウィキデータを編集
プログラミング
言語
対応OS
種別 Virtual Private Network
ライセンス GNU GPL v2
公式サイト www.wireguard.com ウィキデータを編集
テンプレートを表示

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

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

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

プロトコル

WireGuardは鍵共有英語版にはCurve25519、暗号化にはChaCha20データ認証英語版にはPoly1305、ハッシュテーブル鍵にはSipHash英語版ハッシュにはBLAKE2sを利用する[3]ネットワーク層IPv4及びIPv6の両方に対応し、4in6英語版及び6in4英語版 (カプセル化) にも対応している[5]

2019年5月フランス国立情報学自動制御研究所 (INRIA) の研究者は、CryptoVerif英語版 proof assistant英語版を使用して作成されたプロトコルのマシンチェック済み証明を公開した[6]

歴史

コードベースの最初期のスナップショットは2016年6月30日から存在する[7]。WireGuardの初期の採用者はVPNサービスプロバイダのMullvad[8]、AzireVPN[9]、IVPN[10]及びcryptostorm[11]であった。WireGuardはMullvad、Private Internet Access英語版、IVPN及びNLnet Foundation英語版から寄付を受け取った[12]

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

2019年12月9日、Linuxのネットワーキングスタックの主要メンテナであるDavid Millerは、今後のカーネルのリリースにWireGuardを含めるために、"net-next" メンテナツリーにWireGuardのパッチを受け入れた[14][15][16]2020年1月28日リーナス・トーバルズはDavid Millerの"net-next" ツリーをマージし、WireGuardがメインラインLinuxカーネルツリーに統合された[17]

反応

オレゴン州選出の上院議員ロン・ワイデン英語版は、アメリカ国立標準技術研究所 (NIST) にIPsecやOpenVPNなどの既存の技術の代替としてWireGuardを評価することを推奨している[18]

実装

WireGuardプロトコルの実装:

脚注

関連項目

外部リンク

Related Articles

Wikiwand AI