VPN WireGuard für Windows und WireGuardNT 1.0 wurden veröffentlicht.

Jason A. Donenfeld, der Autor von VPN WireGuard, hat die erste bedeutende Version der WireGuard-Client-Software für Windows 1.0 sowie die Treiber WireGuardNT 1.0 herausgebracht. VPN WireGuard für den Windows 10 und 11 Kernel unterstützt die Architekturen AMD64, x86 und ARM64. Der Code der Komponenten für den Windows-Kernel wird unter der GPLv2-Lizenz und die Client-Software unter der MIT-Lizenz verbreitet.

Der Port basiert auf dem Code der ursprünglichen WireGuard-Implementierung für den Linux-Kernel, der in die Windows-Kernel-Entitäten und den NDIS-Netzwerkstack übersetzt wurde. Im Vergleich zur wireguard-go-Implementierung, die im Benutzermodus arbeitet und das Wintun-Netzwerkinterface nutzt, bietet WireGuardNT eine deutliche Leistungssteigerung, da Kontextwechsel und das Kopieren von Paketinhalt aus dem Kernel in den Benutzermodus vermieden werden. Ähnlich wie bei den Implementierungen für Linux, OpenBSD und FreeBSD läuft in WireGuardNT die gesamte Protokollverarbeitung direkt auf der Ebene des Netzwerkstacks.

Version 1.0 wird als ein bedeutender Meilenstein betrachtet, der die Lösung mehrerer Probleme und die Erfüllung festgelegter Ziele markiert, wie z. B.: die Nutzung der Funktion NdisWdfGetAdapterContextFromAdapterHandle() anstelle der weniger sicheren Speicherung des Treiberzustands im Reserved-Feld und der Verwendung von undocumented Offsets; die korrekte und zeitnahe Verfolgung der MTU-Größe (Maximum Transmission Unit) durch das Abfangen von Systemaufrufen; die Implementierung des C23-Standards im Code.

Zur Erinnerung: VPN WireGuard basiert auf modernen Verschlüsselungsmethoden, bietet sehr hohe Leistung, ist benutzerfreundlich, ohne komplizierte Elemente und hat sich in mehreren großen Implementierungen, die große Datenmengen verarbeiten, bewährt. Das Projekt wird seit 2015 entwickelt, hat eine Überprüfung und formale Verifizierung der verwendeten Verschlüsselungsmethoden durchlaufen. WireGuard verwendet das Konzept der Schlüssel-basierten Routung, das die Zuordnung eines privaten Schlüssels zu jedem Netzwerkinterface und die Verwendung zur Verknüpfung von öffentlichen Schlüsseln vorsieht.

Der Austausch von öffentlichen Schlüsseln zur Verbindungsherstellung erfolgt analog zu SSH. Um die Schlüssel zu vereinbaren und eine Verbindung ohne den Start eines separaten Daemons im Benutzerspace herzustellen, wird der Noise_IK-Mechanismus aus dem Noise Protocol Framework verwendet, der der Handhabung von authorized_keys in SSH ähnelt. Die Datenübertragung erfolgt durch Kapselung in UDP-Paketen. Es wird ein Wechsel unterstützt. IP-Adressen VPN-Server (Roaming) ohne Unterbrechung der Verbindung mit automatischer Neukonfiguration des Clients.

Zur Verschlüsselung kommt der Stromverschlüsselungsalgorithmus ChaCha20 und der Algorithmus zur Nachrichtenauthentifizierung (MAC) Poly1305 zum Einsatz, entwickelt von Daniel J. Bernstein, Tanja Lange und Peter Schwabe. ChaCha20 und Poly1305 werden als schnellere und sicherere Alternativen zu AES-256-CTR und HMAC positioniert, deren Softwareimplementierung eine konstante Laufzeit ermöglicht, ohne spezielle Hardwareunterstützung zu benötigen. Zur Generierung eines gemeinsamen geheimen Schlüssels wird das elliptische Kurven-Diffie-Hellman-Protokoll mit der von Daniel J. Bernstein vorgeschlagenen Curve25519 verwendet. Beim Hashing kommt der Algorithmus BLAKE2s (RFC7693) zum Einsatz.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster