Definition WireGuard Was ist WireGuard?
WireGuard ist eine noch sehr junge Technologie, um sichere und leistungsfähige virtuelle private Netze (VPNs) mit geringem Aufwand zu realisieren. Es handelt sich um ein Open-Source-Protokoll und eine Open-Source-Software, die eine Alternative zu etablierten VPN-Lösungen wie OpenVPN oder IPsec bieten soll.
Anbieter zum Thema

WireGuard wurde mit dem Ziel entwickelt, VPNs einfacher zu machen und eine Alternative zu bestehenden VPN-Lösungen zu bieten. Die Open-Source-Software und das -Protokoll konkurrieren mit VPN-Technologien wie IPsec oder OpenVPN. Im Vergleich zu existierenden Lösungen soll die Konfiguration von VPN-Verbindungen einfacher und schneller sein.
WireGuard arbeitet mit hoher Performance auf dem Layer 3 des OSI-Schichtenmodells und unterstützt sowohl IPv4 als auch IPv6. Die Software ist bewusst einfach und überschaubar gehalten. Sie besteht lediglich aus circa 4.000 Zeilen Programmiercode. Andere VPN-Lösungen haben teilweise mehrere hunderttausend Zeilen Quelltext. Entwickelt wurde die neue VPN-Alternative von Jason A. Donenfeld. Die noch sehr junge Lösung gilt als noch nicht komplett ausgereift und befindet sich zum Teil noch im experimentellen Status. Sie ist für unterschiedliche Plattformen wie verschiedene Linux-Distributionen, macOS, Android oder iOS verfügbar. Auf Linux-Systemen läuft der Code als Modul im Kernel und erzielt eine hohe Performance. Seit 2018 bieten VPN-Provider wie Mullvad and AzireVPN erste Services auf Basis der neuen VPN-Lösung.
Designprinzipien von WireGuard
Folgende Ziele wurden beim Design der VPN-Alternative verfolgt:
- einfache Nutzbarkeit
- hohe Performance
- hohe Sicherheit durch Verwendung aktueller kryptographischer Verfahren
- überschaubarer Code mit minimaler Angriffsfläche
- sorgfältig durchdachtes Gesamtkonzept
WireGuard zeichnet sich im Vergleich zu den bestehenden meist sehr komplexen VPN-Lösungen durch seine Einfachheit aus. Die Software bietet weniger Konfigurationsmöglichkeiten und beschränkt sich auf das Notwendigste. Dadurch ist die Lösung einfach zu nutzen und ihre Sicherheit leicht zu überprüfen. Mögliche Schwachstellen sind im überschaubaren Code einfach zu finden. Um ein hohes Sicherheitsniveau bei der Verschlüsselung der Daten zu erreichen, nutzt WireGuard moderne kryptographische Verfahren. Identitäten von VPN-Teilnehmern sind mit ihren öffentlichen Schlüsseln verknüpft. Verbindungen werden ähnlich wie bei SSH durch den Austausch der öffentlichen Schlüssel aufgebaut. Die Architektur basiert auf dem Peer-to-Peer-Modell.
Verwendete Protokolle
Für den Aufbau von VPN-Verbindungen und den Austausch von Daten greift WireGuard auf verschiedene Protokolle zurück. Die wichtigsten Protokolle sind:
- Curve25519 (ECDHE) für den Austausch von Schlüsseln
- ChaCha20 und Poly1305 für den Austausch und die Verschlüsselung der Daten
- BLAKE2s für das Hashing
- Ed25519 für das Public-Key-Authentifizierungverfahren
Die VPN-Lösung beschränkt sich bewusst auf die drei Grundfunktionen für verschlüsselte Verbindungen. Der Schlüsseltausch erfolgt im Handshake per Curve25519 mit Elliptic Curve Diffie-Hellman (ECDHE). BLAKE2s dient als universelle Hashfunktion und generiert beispielsweise Keyed-Hash Message Authentication Codes (HMAC) oder leitet Schlüssel mit HMAC-based Key Derivation Funciton (HKDF) ab. Für die symmetrische Verschlüsselung der ausgetauschten Daten sind ChaCha20 und Poly1305 zuständig. Neben der nativen Unterstützung von IPv4 und IPv6 ist es möglich, IPv4 in IPv6 zu enkapsulieren und umgekehrt.
(ID:45760448)