https://www.golem.de/1912/145437-216471-216470_rc.jpg
Das Wireguard-Maskottchen ist ein Drache.(Bild: Hubert Figuière, flickr.com/CC-BY-SA 2.0)

Wireguard in Linux-Kernel eingepflegt

Nach der Aufnahme des angepassten Krypto-Codes ist auch die VPN-Technik Wireguard in einen wichtigen Entwicklungszweig des Linux-Kernels eingepflegt worden. Wireguard erscheint damit im kommenden Frühjahr wohl erstmals mit Linux 5.6.

by

Der für den Netzwerkcode des Linux-Kernels zuständige Entwickler David Miller hat die VPN-Technik Wireguard in seinen Net-Next-Entwicklungszweig aufgenommen. Das gilt als Voraussetzung für die Übernahme in den Hauptentwicklungszweig von Linux, der durch Linus Torvalds betreut wird. Läuft alles nach Plan, wird Wireguard damit Teil des kommenden Linux 5.6, das vermutlich Mitte April 2020 erscheinen wird.

Wireguard wurde durch dessen Initiator und Hauptentwickler Jason Donenfeld erstmals im vergangenen Sommer zur Aufnahme in den Linux-Kernel vorgeschlagen. Der wohl größte Vorteil der Technik im Vergleich zu bisherigen Lösungen besteht vor allem in der extrem geringen Anzahl an Codezeilen der Technik. So umfasst die Kernel-Technik selbst weniger als 10.000 Zeilen Code. Die bisher zu Verfügung stehenden Alternativen wie OpenVPN oder auch IPSec umfassen dagegen mehrere Hunderttausend Zeilen Code.

Eine der grundlegenden Ideen von Wireguard ist zudem, die Technik als normale Netzwerkschnittstelle des Systems bereitzustellen. Sämtliche Werkzeuge, die bisher etwa Schnittstellen wie eth0 und wlan0 verwalten, können so theoretisch auch sehr einfach die Wireguard-Schnittstelle wg0 verwalten. Vor allem diese Einfachheit bescherte dem Projekt schnell viele Unterstützer, darunter auch Linus Torvalds.

Langwierige Diskussionen und Arbeit

Die von Wireguard-Entwickler Donenfeld zunächst vorgeschlagene Implementierung der Technik sorgte aber für teils heftige Kritik der Kernel-Entwickler. Vor allem der Umgang mit den kryptographischen Routinen war einer der großen Streitpunkte. So bricht die von Donenfeld erstellte Kryptobibliothek Zinc mit dem Konzept der Krypto-APIs im Kernel und führt stattdessen neue Schnittstellen ein.

Dieses Problem wurde jedoch inzwischen gelöst, da letztlich die bisherige Krypto-API derart erweitert wurden, dass Wireguard diese einfach nutzen kann. Dieser neue Krypto-Code findet sich inzwischen im Hauptzweig des Linux-Kernels und wird mit der kommenden Version 5.5 erscheinen. Der eingepflegte Wireguard-Code basiert auf diesem angepassten Krypto-Code.

Donenfeld zeigt sich in seiner Ankündigungs-E-Mail sehr erfreut über den erreichten Meilenstein und dankt allen Beteiligten. Als nächster Schritt soll das Entwicklungsmodell von Wireguard an das übliche Prozedere des Linux-Kernels angepasst werde, wie Donenfeld schreibt. Die bisher regelmäßig veröffentlichten Snapshots des Codes sollen damit langfristig abgelöst werden.