WireGuardとは - わかりやすく解説 Weblio辞書 (original) (raw)
WireGuard
![]() |
|
---|---|
作者 | Jason A. Donenfeld |
開発元 | Jason A. Donenfeld |
リポジトリ | git.zx2c4.com/wireguard-linux ![]() |
プログラミング言語 | C (Linux, FreeBSD カーネルモジュール、NetBSD、OpenBSDカーネルドライバ) 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カーネル内のモジュールとして実行され、IPsecやOpenVPNよりも優れた性能を目指している[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プロトコルの実装:
- DonenfeldによるCとGoで書かれた初期実装[19]。
- CloudflareのRustで書かれたユーザ空間実装である_BoringTun_[20][21]。
- NetBSDの wg(4) ドライバー。Ryota Ozaki によるC言語の実装。[22]
脚注
注釈
出典
- ^ a b “Installation”. Edge Security. 2020年2月5日閲覧。
- ^ 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
- ^ a b Jason A. Donenfeld. “WireGuard: fast, modern, secure VPN tunnel”. 2020年2月6日閲覧。
- ^ a b Jim Salter (2018年8月27日). “WireGuard VPN review: A new type of VPN offers serious advantages”. Ars Technica. 2020年2月6日閲覧。
- ^ Donenfeld, Jason A.. “WireGuard: Next Generation Kernel Network Tunnel”. https://www.wireguard.com/papers/wireguard.pdf
- ^ “A Mechanised Cryptographic Proof of the WireGuard Virtual Private Network Protocol”. Inria (2019年). 2020年2月6日閲覧。
- ^ “Index of /monolithic-historical/”. 2020年2月6日閲覧。
- ^ Rob Mardisalu (2019年2月13日). “Mullvad Review”. TheBestVPN.com. 2020年2月6日閲覧。
- ^ Rob Mardisalu (2019年2月19日). “AzireVPN Review”. TheBestVPN.com. 2020年2月6日閲覧。
- ^ Nick Pestell (2018年12月11日). “Introducing WireGuard, fully automated.”. IVPN Blog. 2020年2月6日閲覧。
- ^ “WireGuard support added!”. cryptostorm blog (2019年4月5日). 2020年2月6日閲覧。
- ^ Jason A. Donenfeld. “Donations”. 2020年2月6日閲覧。
- ^ Jason A. Donenfeld. “About The Project”. 2020年2月6日閲覧。
- ^ “net: WireGuard secure network tunnel”. kernel.org. 2020年2月6日閲覧。
- ^ “Re: [PATCH net-next v2 net: WireGuard secure network tunnel]”. LKML. 2020年2月6日閲覧。
- ^ “[ANNOUNCE WireGuard merged to net-next, on its way to Linux 5.6]”. lists.zx2c4.com. 2020年2月6日閲覧。
- ^ “Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next”. kernel.org. 2020年2月6日閲覧。
- ^ Michael Larabel (2018年6月30日). “US Senator Recommends Open-Source WireGuard To NIST For Government VPN”. Phoronix. 2020年2月6日閲覧。
- ^ Jason A. Donenfeld. “Source Code”. 2020年2月6日閲覧。
- ^ Vlad Krasnov (2019年3月27日). “BoringTun, a userspace WireGuard implementation in Rust”. The Cloudflare Blog. 2020年2月6日閲覧。
- ^ Michael Larabel (2019年3月28日). “CloudFlare Launches "BoringTun" As Rust-Written WireGuard User-Space Implementation”. Phoronix. 2020年2月6日閲覧。
- ^ “wg(4) - NetBSD Manual Pages” (2020年8月20日). 2021年10月21日閲覧。
関連項目
外部リンク
表話編歴暗号ソフトウェア(英語版) | |
---|---|
OpenPGP・S/MIME | メールサーバーの比較(英語版) 電子メールクライアントの比較(英語版) GnuPG (Gpg4win・GPGTools) 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ブロッキング(英語版) |