WireGuardとは - わかりやすく解説 Weblio辞書 (original) (raw)

WireGuard

作者 Jason A. Donenfeld
開発元 Jason A. Donenfeld
リポジトリ git.zx2c4.com/wireguard-linux
プログラミング言語 C (Linux, FreeBSD カーネルモジュールNetBSDOpenBSDカーネルドライバ) Go (ユーザ空間実装)
対応OS Android iOS Linux FreeBSD NetBSD OpenBSD macOS Windows その他[1]
種別 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]

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

歴史

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

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

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

反応

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

実装

WireGuardプロトコルの実装:

脚注

注釈

  1. ^ 追加の設定が無い場合。
  2. ^ OpenVPNやIPsecのソースコードは40万行 - 60万行である。
  3. ^ OpenVPNやIPsecの約1%。

出典

  1. ^ a bInstallation”. Edge Security. 2020年2月5日閲覧。
  2. ^ Preneel, Bart; Vercauteren, Frederik, eds (2018-04-26). Applied Cryptography and Network Security. Springer. ISBN 978-3-319-93387-0. https://books.google.com/books?id=UKJfDwAAQBAJ&pg=PA3
  3. ^ a b Jason A. Donenfeld. “WireGuard: fast, modern, secure VPN tunnel”. 2020年2月6日閲覧。
  4. ^ a b Jim Salter (2018年8月27日). “WireGuard VPN review: A new type of VPN offers serious advantages”. Ars Technica. 2020年2月6日閲覧。
  5. ^ Donenfeld, Jason A.. “WireGuard: Next Generation Kernel Network Tunnel”. https://www.wireguard.com/papers/wireguard.pdf
  6. ^A Mechanised Cryptographic Proof of the WireGuard Virtual Private Network Protocol”. Inria (2019年). 2020年2月6日閲覧。
  7. ^Index of /monolithic-historical/”. 2020年2月6日閲覧。
  8. ^ Rob Mardisalu (2019年2月13日). “Mullvad Review”. TheBestVPN.com. 2020年2月6日閲覧。
  9. ^ Rob Mardisalu (2019年2月19日). “AzireVPN Review”. TheBestVPN.com. 2020年2月6日閲覧。
  10. ^ Nick Pestell (2018年12月11日). “Introducing WireGuard, fully automated.”. IVPN Blog. 2020年2月6日閲覧。
  11. ^WireGuard support added!”. cryptostorm blog (2019年4月5日). 2020年2月6日閲覧。
  12. ^ Jason A. Donenfeld. “Donations”. 2020年2月6日閲覧。
  13. ^ Jason A. Donenfeld. “About The Project”. 2020年2月6日閲覧。
  14. ^net: WireGuard secure network tunnel”. kernel.org. 2020年2月6日閲覧。
  15. ^Re: [PATCH net-next v2 net: WireGuard secure network tunnel]”. LKML. 2020年2月6日閲覧。
  16. ^[ANNOUNCE WireGuard merged to net-next, on its way to Linux 5.6]”. lists.zx2c4.com. 2020年2月6日閲覧。
  17. ^Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next”. kernel.org. 2020年2月6日閲覧。
  18. ^ Michael Larabel (2018年6月30日). “US Senator Recommends Open-Source WireGuard To NIST For Government VPN”. Phoronix. 2020年2月6日閲覧。
  19. ^ Jason A. Donenfeld. “Source Code”. 2020年2月6日閲覧。
  20. ^ Vlad Krasnov (2019年3月27日). “BoringTun, a userspace WireGuard implementation in Rust”. The Cloudflare Blog. 2020年2月6日閲覧。
  21. ^ Michael Larabel (2019年3月28日). “CloudFlare Launches "BoringTun" As Rust-Written WireGuard User-Space Implementation”. Phoronix. 2020年2月6日閲覧。
  22. ^wg(4) - NetBSD Manual Pages” (2020年8月20日). 2021年10月21日閲覧。

関連項目

外部リンク

暗号ソフトウェア(英語版
OpenPGPS/MIME メールサーバーの比較(英語版) 電子メールクライアントの比較(英語版GnuPG (Gpg4winGPGTools) PGP Enigmail Thunderbird Outlook Apple Mail Claws Mail Autocrypt(英語版Kontact pretty Easy privacy(英語版Sylpheed
セキュア通信 OTR(英語版Adium BitlBee(英語版) Centericq(英語版ChatSecure climm(英語版Jitsi Kopete MCabber(英語版) Profanity(英語版SSH SSHクライアントの比較(英語版) Dropbear (ソフトウェア)(英語版) lsh(英語版OpenSSH PuTTY SecureCRT(英語版WinSCP wolfSSH(英語版RLogin Poderosa Tera Term TLS/SSL TLS実装の比較 Bouncy Castle(英語版BoringSSL Botan cryptlib GnuTLS JSSE(英語版LibreSSL MatrixSSL(英語版NSS OpenSSL mbed TLS(英語版) RSA BSAFE(英語版SChannel SSLeay stunnel wolfSSL VPN Check Point VPN-1 Hamachi Openswan OpenVPN SoftEther VPN strongSwan Tinc(英語版) WireGuard ZRTP(英語版) CSipSimple(英語版Jitsi Linphone(英語版) Jami (ソフトウェア)(英語版) Zfone(英語版P2P Bitmessage RetroShare(英語版Tox ZeroNet D R A(英語版Matrix OMEMO(英語版) Conversations (ソフトウェア)(英語版) Cryptocat(英語版) ChatSecure(英語版Proteus Signalプロトコル Signal WhatsApp TextSecure(英語版
匿名化 GNUnet Java Anon Proxy(英語版I2P Tor Vidalia (ソフトウェア)(英語版) RetroShare(英語版) Ricochet (ソフトウェア)(英語版) Wickr(英語版
ディスク暗号化(英語版 ディスク暗号化ソフトウェアの比較(英語版BitLocker FreeOTFE(英語版TrueCrypt BestCrypt(英語版CipherShed CrossCrypt(英語版) Cryptoloop(英語版) DiskCryptor(英語版) dm-crypt(英語版LUKS DriveSentry(英語版) E4M(英語版) eCryptfs(英語版FileVault GBDE(英語版) geli(英語版) PGPDisk(英語版) Private Disk(英語版) Scramdisk(英語版) Sentry 2020(英語版VeraCrypt
ファイルシステム ファイルシステムの一覧(英語版EncFS EFS eCryptfs(英語版LUKS PEFS(英語版) Rubberhose(英語版) StegFS(英語版) Tahoe-LAFS(英語版
セキュアOS Tails Whonix Qubes OS Alpine Linux Anonym.OS(英語版Genode Fiasco.OC seL4
Service providers Freenet Tresorit(英語版Wuala
教育 CrypTool
暗号通貨 Bitcoin Monacoin Ripple Dash (X11) イーサリアム Monero NEM Symbol ニートコイン
Related topics Outline of cryptography(英語版) Timeline of cryptography(英語版ハッシュ関数 暗号学的ハッシュ関数 List of hash functions(英語版S/MIME
関連人物 エドワード・スノーデン ローラ・ポイトラス(英語版)(ドキュメンタリー作家) グレン・グリーンウォルド弁護士、当時ガーディアンに寄稿していたジャーナリスト) バートン・ゲルマン(英語版)(ジャーナリスト)
カテゴリ コモンズ
Virtual Private Network
通信プロトコル SSTP(英語版IPsec L2TP L2TPv3(英語版PPTP Split tunneling(英語版DTLS SSL/TLS tcpcrypt(英語版) ベンダー主導 L2F DirectAccess(英語版
実装 フリーソフトウェア FreeLAN(英語版FreeS/WAN Libreswan(英語版) n2n(英語版) OpenConnect(英語版) OpenIKED(英語版Openswan OpenVPN SoftEther VPN strongSwan tcpcrypt(英語版) Tinc(英語版) VTun(英語版) WireGuard Shadowsocks プロプライエタリ Avast SecureLine VPN(英語版Check Point VPN-1 Cisco Systems VPN Client(英語版CyberGhost VPN ExpressVPN HideMyAss!(英語版) Hola(英語版LogMeIn Hamachi Microsoft Forefront Unified Access Gateway(英語版NordVPN Private Internet Access(英語版ProtonVPN PureVPN(英語版) SaferVPN(英語版) TunnelBear(英語版) VPN.ht(英語版
リスク コンテンツフィルタリング ディープ・コンテンツ・インスペクション(英語版ディープ・パケット・インスペクション IPアドレスブロッキング(英語版) ネットワーク・エニュメレーション(英語版) ステートフル・ファイアウォール(英語版) TCPリセット攻撃(英語版) VPNブロッキング(英語版