1 Punkte von GN⁺ 2025-10-13 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Dieses Open-Source-Projekt implementiert WireGuard VPN in Hardware unter Verwendung eines kostengünstigen Artix7-FPGA und einer Open-Source-Toolchain
  • Im Vergleich zu bestehenden softwarebasierten Ansätzen zeichnet es sich durch nahezu Leitungsgeschwindigkeit (wire-speed) und niedrige Kosten aus
  • Sämtliche Designdateien sind vollständig offengelegt, sodass Backdoors oder Sicherheitslücken gründlich überprüft werden können
  • Aktuelle kryptografische Algorithmen von WireGuard wie ChaCha20-Poly1305, Curve25519, BLAKE2 werden als Hardware-/Software-Kombination implementiert
  • Das Projekt befindet sich noch in einer frühen "Proof of Concept"-Phase; künftig sind Funktionserweiterungen und Optimierungen geplant

Einführung und Bedeutung

Dieses Open-Source-WireGuard-FPGA-Projekt implementiert WireGuard VPN auf günstiger Artix7-FPGA-Hardware und macht damit VPNs als zentrale Komponente der Netzwerksicherheitsinfrastruktur für jeden mit geringen Kosten und maximaler Geschwindigkeit nutzbar. Bisherige Hardwarelösungen erforderten teure kommerzielle FPGAs und geschlossene Toolchains, während sich dieses Projekt durch Open-Source-basiertes Design, den Einsatz offener Werkzeuge und die vollständige Offenlegung des Quellcodes vor allem bei Transparenz und Zugänglichkeit deutlich abhebt.

Projekthintergrund und Ziele

  • Bestehende Lösungen wie OpenVPN und IPSec haben Grenzen bei Leistung und Verwaltung, weshalb WireGuard als moderne und sichere Alternative an Bedeutung gewinnt
  • Vorhandene WireGuard-Hardwareimplementierungen sind auf teure Geräte und proprietäres, geschlossenes IP angewiesen, während Softwareimplementierungen nicht die Geschwindigkeit der Netzwerkleitung erreichen
  • Dieses Projekt stellt eine in SystemVerilog entwickelte WireGuard-Implementierung für eine Open-Source-Umgebung mit kostengünstigen FPGAs bereit, die jeder nutzen kann ❨auch für Verifikation und Ausbildungszwecke❩

Vergleich mit verwandten Projekten

  • Das Blackwire-Projekt (WireGuard-Hardware mit 100 Gbit/s) nutzt das teure Alveo U50 und die geschlossene Vivado-Toolchain, was die Zugänglichkeit einschränkt
  • Das Team hinter diesem Projekt hatte in der Vergangenheit Kernmodule wie den Algorithmus Balanced Binary Tree Search entwickelt, stieß jedoch auf Grenzen wie gescheiterte Kommerzialisierung und Eigentumsprobleme
  • Das WireGuard-FPGA-Projekt betont industriestandardkonformes HDL (SystemVerilog), Unterstützung für Open-Source-Werkzeuge, günstige Standardhardware und eine transparente Open-Source-Politik

Hardware- und Software-Architektur

Hardware (HW)

  • Control Plane: Eine Soft-CPU mit Boot-ROM- und DDR3-SDRAM-Controller übernimmt das WireGuard-Protokollmanagement, Routing sowie Session- und Schlüsselverwaltung
  • Data Plane: In RTL implementiert und für die Verarbeitung von Paketver- und -entschlüsselung, Routing sowie den eigentlichen Datentransport des WireGuard-Protokolls mit wire-speed zuständig
  • Wichtige Komponenten
    • PHY Controller, 1G MAC, Rx/Tx FIFO, Header Parser, Packet {Dis/As}sembler, ChaCha20-Poly1305-Verschlüsselungs-/Authentifizierungsmodul, IP-Lookup-Engine usw.
    • Alle Kryptografie- und Authentifizierungsmodule sind auf Basis des Standards RFC7539 implementiert

Software (SW)

  • WireGuard Agent: Zuständig für Protokoll-Handshake, Session-Aufrechterhaltung sowie Verwaltung von Schlüssel- und Routingtabellen
  • Kryptografiebezogene Module
    • Curve25519: ECDH-Schlüsselaustausch
    • ChaCha20-Poly1305, XChaCha20-Poly1305: Symmetrische Verschlüsselung/Authentifizierung im AEAD-Verfahren und Schutz der Nonce
    • BLAKE2s: MAC-Authentifizierung und Hashing
    • Außerdem enthalten: HKDF, Timer, SipHash, CLI sowie HAL/CSR-Treiber

Entwicklungs- und Ausführungsplan

Projektphasen

  • Phase 1: Board in Betrieb nehmen und Design-Blaupause erstellen, sich mit der HW/SW-Plattform vertraut machen, bestehende Implementierungen analysieren sowie Design aufteilen und dokumentieren
  • Phase 2: Grundlegende Implementierung und Integration des Hardware-Datenpfads für statische WireGuard-Kanäle, Hardware-Umsetzung der kryptografischen Algorithmen (insbesondere ChaCha20-Poly1305)
  • Phase 3: Entwicklung der Management-Software auf einem Soft-RISC-V-Prozessor und HW/SW-Integration; Aufgaben mit geringem Overhead wie Session- und Schlüsselverwaltung werden in Software übernommen
  • Phase 4: Implementierung des vollständigen Workflows von Initialisierung über Aufrechterhaltung bis zur sicheren Beendigung des VPN-Tunnels
  • Phase 5: Performancetests, Optimierung, Ausbau der Unterstützung für andere Open-Source-Toolchains (OpenXC7) sowie kontinuierliche Pflege von Community-Dokumentation und CI
  • Phase 6 (optional): Entwicklung von Software zur Steuerung des Datenflusses im VPN-Tunnel, um stabile Datenübertragung und Verwaltung zu gewährleisten

Gemeinsame HW/SW-Architektur (Zusammenspiel)

  • Da ein WireGuard-Knoten ähnlich wie ein IP-Router arbeitet, ist eine effektive Aufteilung in eine zweischichtige Struktur (Control Plane/Data Plane) sinnvoll
  • Kontrollverkehr (Protokollnachrichten) und Datenverkehr (verschlüsselte/allgemeine Nutzerpakete) werden getrennt, und für beide werden jeweils passende Pfade und Verarbeitungsstrukturen entworfen

Simulations- und Verifikationssystem

  • Es kann zwischen virtuellen CPU-Varianten (VProc) und RTL-basierten Softcores (wie RISC-V) gewählt werden; außerdem ist eine schrittweise Paketanalyse auf Basis realer WireGuard-Verkehrsszenarien möglich
  • Co-simulation HAL: Mit peakrdl werden Steuer- und Statusregister zwischen HW und SW automatisch erzeugt und APIs bereitgestellt, wodurch sich die Anbindung und Tests von SW und HW im realen Betrieb schnell durchführen lassen

Open Source und Transparenz

  • Schaltung (Gateware), Embedded-Software, Build-Prozess, Bitstream und alle weiteren Implementierungsbereiche werden unter der BSD-3-Clause-Lizenz vollständig offengelegt
  • Die offene Struktur soll es der Community ermöglichen, Probleme wie Backdoors, Schwachstellen oder rechtliche Eigentumsfragen direkt selbst zu prüfen

Sonstige Informationen

  • Entwicklungsablauf, detaillierte Erläuterungen nach Teilbereichen, wichtige Referenzquellen und ausgelagerte Module sind in der README-Datei und den Unterverzeichnissen (1.hw, 2.sw, 3.build usw.) zu finden
  • Das Projekt wird von der NLnet Foundation gefördert

Fazit

  • Dieses Projekt strebt einen Open-Source-Standard für leistungsstarke WireGuard-VPN-Hardwareimplementierungen an und unterscheidet sich durch niedrige Kosten, Transparenz und schnelle Einführbarkeit
  • Es befindet sich noch in einer frühen Entwicklungsphase, dürfte aber künftig sowohl für Sicherheit als auch für Zugänglichkeit eine wichtige Rolle in offener Netzwerkinfrastruktur spielen

Noch keine Kommentare.

Noch keine Kommentare.