VPN実装

WireGuard

https://www.wireguard.com/

  • 安全

  • 使いやすい

  • シンプル

https://symdon.ga/posts/1615012512/

クロスプラットフォーム

以下の環境をサポートしている。

  • Windows、

  • macOS

  • BSD

  • iOS

  • Android

利用可能な暗号化プロトコル

  • Noiseプロトコルフレームワーク

  • Curve25519

  • ChaCha20

  • Poly1305

  • BLAKE2

  • SipHash24

  • HKDF

などが利用可能。

保守的で合理的な選択を行い、暗号学者によってレビューされている。

なぜハイパフォーマンスなのか?

  • 非常に高速な暗号化プリミティブWireGuardがLinuxカーネル内に存在する。

適正

  • スマートフォンなどの小型の組み込みデバイス。

  • 完全にロードされたバックボーンルーター。

シンプルさ

  • 非常に単純な公開キーを交換することでVPN接続が確立される。

  • 残りはすべてWireGuardによって透過的に処理される。

機能

  • IPアドレス間をローミングできる。

設計思想

  • 実装の容易さ。

  • シンプルさ。

  • 非常に数行のコードで簡単に実装でき、セキュリティの脆弱性を簡単に監査できるようになっている。

  • 単一の個人が包括的にレビューできるようになっている。

定義に対する考え方

  • テクニカルホワイトペーパー。

  • プロトコルを明確に定義するアカデミックリサーチペーパー。

  • および各決定に使用された徹底的な考慮事項。

Linux FreeS/WAN

https://www.freeswan.org/

strongSwan

https://www.strongswan.org/

  • IPSec実装。

  • GPLv2 license。

  • FreeS/WANをフォークしX.509パッチを当てた実装をもとに開始。

Libreswan

https://libreswan.org/

https://github.com/libreswan/libreswan

あまり活発ではないように見える。

  • Openswanからフォークしたプロジェクト。

  • Openswanの名前の商標に関する訴訟をうけてOpenswanを名前変更した。

Linux FreeS/WANの系譜

OpenswanとLibreswanの繋がりがいまいちわからない。

Linux FreeS/WAN --|--- Openswan ----------- Openswan
                  |       |             /
                  |       -- Libreswan /
                  |
                  -------------------------- strongSwan