0Pricing
Cryptology Academy · Lektion

WireGuard: ChaCha20- und Curve25519-VPN

Erkunden Sie das minimalistische kryptografische Design von WireGuard mit ChaCha20-Poly1305, Curve25519 und BLAKE2.

WireGuard: ChaCha20- und Curve25519-VPN ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Designphilosophie von WireGuard

WireGuard wurde mit radikaler Einfachheit als primärem Ziel entwickelt. Seine Codebasis umfasst etwa 4.000 Zeilen, verglichen mit 70.000 bei OpenVPN und über 400.000 bei strongSwan IPsec. Weniger Zeilen bedeuten weniger potenzielle Schwachstellen und eine so kleine Prüfoberfläche, dass ein einzelner Entwickler sie gründlich überprüfen kann. Diese Einfachheit ist eine bewusste Sicherheitsentscheidung und keine Funktionseinschränkung.

Festgelegte kryptografische Primitive

Im Gegensatz zu OpenVPN und IPsec handelt WireGuard keine kryptografischen Algorithmen aus. Jede WireGuard-Verbindung verwendet denselben festgelegten Satz an Primitiven: Curve25519 für ECDH, ChaCha20-Poly1305 für authentifizierte Verschlüsselung, BLAKE2s für Hashing und SipHash-2-4 für die Sicherheit von Hashtabellen. Dadurch entfällt die Aushandlung von Chiffren, wodurch eine ganze Klasse von Downgrade-Angriffen verhindert wird.

Handshake mit dem Noise Protocol Framework

WireGuard implementiert das Handshake-Muster Noise_IKpsk2 aus dem Noise Protocol Framework. Dieses Framework bietet eine fundierte Methode zum Aufbau von Schlüsselaustauschprotokollen mit nachweisbaren Sicherheitseigenschaften. Das Muster IKpsk2 verwendet statische und ephemere Schlüsselpaaren sowie optional einen Pre-Shared Key für zusätzlichen Schutz gegen Quantenangriffe und schließt den Handshake in einem einzigen Roundtrip ab.

Curve25519 für den Schlüsselaustausch

Curve25519 ist eine von Daniel Bernstein entwickelte elliptische Kurve, die auf hohe Leistung und Sicherheit ausgelegt ist. WireGuard verwendet sie für die Schlüsselvereinbarung nach dem Elliptic Curve Diffie-Hellman-Verfahren (ECDH). Jeder Peer besitzt ein statisches Curve25519-Schlüsselpaar als langfristige Identität. Zusätzlich verwendet der Handshake ephemere Schlüsselpaare, um Forward Secrecy bereitzustellen. Curve25519-Operationen laufen in konstanter Zeit ab und widerstehen dadurch Timing-Angriffen.

ChaCha20-Poly1305-Datenverschlüsselung

WireGuard verschlüsselt alle Datenpakete mit ChaCha20-Poly1305, einem Algorithmus für authentifizierte Verschlüsselung. ChaCha20 ist eine Stromchiffre, die auf Geräten ohne AES-Hardwarebeschleunigung, etwa Smartphones und eingebetteten Geräten, äußerst schnell ist. Poly1305 liefert den Authentifizierungstag. Die kombinierte AEAD-Konstruktion stellt sicher, dass Manipulationen am Chiffretext vor der Entschlüsselung erkannt werden.

BLAKE2s für Hashing

BLAKE2s ist eine kryptografische Hashfunktion, die für 32-Bit-Plattformen und kurze Nachrichten optimiert ist. WireGuard verwendet sie bei der Schlüsselableitung während des Handshakes und zur Berechnung von Sitzungskennungen. BLAKE2s ist auf den meisten Plattformen schneller als SHA-256 und bietet dabei eine gleichwertige Sicherheit. Die Funktion wurde als Nachfolger des SHA-3-Finalisten BLAKE entwickelt.

Statische und ephemere Schlüsselpaare

WireGuard-Peers besitzen ein statisches Schlüsselpaar, das als langfristige Identität dient. Öffentliche Schlüssel werden bei der Konfiguration über einen separaten Kanal ausgetauscht und dienen als Peer-Kennungen. Während jedes Handshakes erzeugen beide Peers außerdem ephemere Schlüsselpaare. Die ECDH-Berechnung zwischen statischen und ephemeren Schlüsseln liefert zusammen mit der ECDH-Berechnung der ephemeren Schlüsselpaare sowohl Authentifizierung als auch Forward Secrecy.

Cryptokey-Routing

WireGuard implementiert Cryptokey-Routing: Jeder Peer in der Konfiguration gibt die IP-Adressen (Allowed IPs) an, die über diesen Peer erreichbar sind. Wenn ein ausgehendes Paket zu den Allowed IPs eines Peers passt, wird es für diesen Peer verschlüsselt. Eingehende Pakete werden entschlüsselt, und ihre Quell-IP-Adresse muss zu den Allowed IPs des verwendeten Schlüssels passen. Andernfalls werden sie verworfen. Die Schlüssel legen die Routingtabelle fest.

Zeitgesteuerte Verbindungsverwaltung

WireGuard kennt kein Konzept einer persistenten Verbindung. Wenn kein Datenverkehr stattfindet, werden keine Pakete gesendet, und das VPN verschwindet effektiv aus dem Netzwerk. Handshakes werden bei Bedarf ausgelöst, sobald Daten gesendet werden sollen. Eine konfigurierbare Einstellung namens PersistentKeepalive sendet regelmäßig leere Pakete, um NAT-Zuordnungen für Geräte hinter NAT-Routern aufrechtzuerhalten.

WireGuard im Linux-Kernel

WireGuard wurde in Version 5.6, die im März 2020 veröffentlicht wurde, in den Mainline-Linux-Kernel aufgenommen. Die Ausführung im Kernelmodus ermöglicht WireGuard den direkten Zugriff auf den Netzwerk-Stack des Kernels und auf kryptografische Hardware. Dadurch erreicht es einen höheren Durchsatz als VPN-Implementierungen im User-Space. Auf anderen Plattformen wie Windows, macOS, iOS und Android läuft WireGuard über eine plattformübergreifende Implementierung im User-Space.

Leistungsvergleich von WireGuard

Benchmarks zeigen durchgängig, dass WireGuard beim Durchsatz 3- bis 4-mal besser als OpenVPN abschneidet. IPsec mit AES-NI-Hardwarebeschleunigung ist auf Systemen mit AES-Hardware konkurrenzfähig zu WireGuard. Auf ARM-Geräten ohne AES-NI erzielt WireGuards ChaCha20 einen deutlich höheren Durchsatz als AES-basierte Alternativen. Der geringere CPU-Verbrauch führt auf Mobilgeräten außerdem zu einer längeren Akkulaufzeit.

Kryptografische Primitive von WireGuard

Welchen Algorithmus verwendet WireGuard zur Verschlüsselung von Datenpaketen?

Zusammenfassung von WireGuard

Zusammenfassung von WireGuard: etwa 4.000 Codezeilen für eine minimale Angriffsfläche, festgelegte Primitive ohne Aushandlung, ein Noise-IKpsk2-Handshake mit Curve25519, ChaCha20-Poly1305 für Daten, BLAKE2s für Hashing, Cryptokey-Routing verknüpft IP-Bereiche mit öffentlichen Schlüsseln, ephemere Schlüssel liefern Forward Secrecy, die Kernel-Integration sorgt für maximale Leistung und das zustandslose Verbindungsmodell ermöglicht Handshakes bei Bedarf.

Häufig gestellte Fragen

Ist die Lektion „WireGuard: ChaCha20- und Curve25519-VPN“ kostenlos?

Ja — der vollständige Text von „WireGuard: ChaCha20- und Curve25519-VPN“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „WireGuard: ChaCha20- und Curve25519-VPN“?

Erkunden Sie das minimalistische kryptografische Design von WireGuard mit ChaCha20-Poly1305, Curve25519 und BLAKE2. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „WireGuard: ChaCha20- und Curve25519-VPN“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. IPsec: IKEv2-, ESP- und AH-Protokolle
  2. WireGuard: ChaCha20- und Curve25519-VPN
  3. OpenVPN: TLS-basierte VPN-Architektur
  4. VPN-Protokolle im Vergleich: Sicherheit und Leistung
← Zurück zu Cryptology Academy