Eng nei VPN Implementatioun, WireGuard, gouf op d'FreeBSD Codebase bäigefüügt.

De FreeBSD Quellbaum gouf aktualiséiert mat enger neier Implementatioun vu VPN WireGuard, baséiert op Kernel Modul Code, déi zesumme vun de Kär FreeBSD a WireGuard Entwécklungsteams produzéiert gi mat Bäiträg vum Jason A. Donenfeld, Autor vum VPN WireGuard, an John H. Baldwin ), e bekannten Entwéckler vu GDB a FreeBSD, deen Ënnerstëtzung fir SMP an NUMA am FreeBSD Kernel an de fréien 2000er implementéiert huet. Nodeems de Chauffer an FreeBSD akzeptéiert ass (sys/dev/wg), wäert seng Entwécklung an Ënnerhalt vun elo un am FreeBSD Repository duerchgefouert ginn.

Ier de Code akzeptéiert gouf, gouf eng komplett Iwwerpréiwung vun den Ännerungen mat der Ënnerstëtzung vun der FreeBSD Foundation duerchgefouert, während där d'Interaktioun vum Chauffer mat de Rescht vun de Kernel-Subsystemer och analyséiert gouf an d'Méiglechkeet fir kryptographesch Primitiven ze benotzen, déi vum Kernel geliwwert ginn. bewäert gouf.

Fir d'kryptographesch Algorithmen ze benotzen, déi vum Chauffer erfuerderlech sinn, gouf d'API vum FreeBSD Kernel Krypto-Subsystem verlängert, zu deem e Gürtel bäigefüügt gouf, deen d'Benotzung vun Algorithmen erlaabt, déi net am FreeBSD ënnerstëtzt ginn duerch de Standard Krypto-API, mat der Ëmsetzung vun der néideg Algorithmen aus der Libsodium Bibliothéik. Vun den Algorithmen déi am Chauffer agebaut sinn, ass nëmmen de Code fir d'Blake2 Hashes ze berechnen lénks, well d'Ëmsetzung vun dësem Algorithmus, deen am FreeBSD geliwwert gëtt, mat enger fixer Hashgréisst gebonnen ass.

Zousätzlech gouf während dem Iwwerpréiwungsprozess Codeoptiméierung duerchgefouert, wat et méiglech gemaach huet d'Effizienz vun der Lastverdeelung op Multi-Core CPUs z'erhéijen (eenheetlech Balance vun der Uweisung vu Paketverschlësselung an Entschlësselungsaufgaben op CPU Cores war gesuergt). Als Resultat war den Overhead beim Veraarbechtung vu Pakete no bei deem vun der Linux Chauffer Implementatioun. De Code bitt och d'Fäegkeet fir den ossl Chauffer ze benotzen fir Verschlësselungsoperatiounen ze beschleunegen.

Am Géigesaz zum fréiere Versuch fir WireGuard an FreeBSD z'integréieren, benotzt déi nei Implementatioun de Standard wg Utility, anstatt eng modifizéiert Versioun vum ifconfig, wat et méiglech mécht d'Konfiguratioun op Linux a FreeBSD ze vereenegen. D'wg Utility, wéi och de Chauffer, ass am FreeBSD Quellcode abegraff, wat méiglech gemaach gouf andeems d'Lizenz fir de wg Code geännert gëtt (de Code ass elo verfügbar ënner de MIT a GPL Lizenzen). De leschte Versuch WireGuard an FreeBSD opzehuelen gouf am Joer 2020 gemaach, awer ass an engem Skandal opgehalen, als Resultat vun deem de scho addéierte Code geläscht gouf wéinst niddereger Qualitéit, suergfälteg Aarbecht mat Puffer, d'Benotzung vu Stécker amplaz vu Schecken, onkomplett Ëmsetzung vum Protokoll a Violatioun vun der GPL Lizenz.

Loosst eis Iech drun erënneren datt VPN WireGuard op Basis vu modernen Verschlësselungsmethoden implementéiert ass, ganz héich Leeschtung ubitt, einfach ze benotzen ass, fräi vu Komplikatiounen an huet sech an enger Rei vu groussen Deployementer bewisen, déi grouss Volumen vum Traffic veraarbechten. De Projet entwéckelt zënter 2015, an huet en Audit a formell Verifizéierung vun de benotzte Verschlësselungsmethoden gemaach. WireGuard benotzt d'Konzept vun Verschlësselungsschlëssel Routing, wat involvéiert e private Schlëssel un all Netzwierkschnitt ze befestigen an et ze benotzen fir d'ëffentlech Schlësselen ze binden.

Ëffentlech Schlësselen ginn ausgetauscht fir eng Verbindung op eng ähnlech Manéier wéi SSH opzebauen. Fir Schlësselen ze verhandelen an ze verbannen ouni e separaten Daemon am Benotzerraum ze lafen, gëtt de Noise_IK Mechanismus vum Noise Protocol Framework benotzt, ähnlech wéi d'autoriséiert_Keys an SSH erhalen. Dateniwwerdroung gëtt duerch Verkapselung an UDP Päck duerchgefouert. Et ënnerstëtzt d'Ännerung vun der IP Adress vum VPN Server (Roaming) ouni d'Verbindung mat der automatescher Client Rekonfiguratioun ze trennen.

Verschlësselung benotzt de ChaCha20 Stream Chiffer an de Poly1305 Message Authentifikatioun Algorithmus (MAC), entwéckelt vum Daniel J. Bernstein, Tanja Lange a Peter Schwabe. ChaCha20 a Poly1305 sinn als méi séier a méi sécher Analoga vun AES-256-CTR an HMAC positionéiert, d'Software-Implementatioun vun där et erlaabt eng fix Ausféierungszäit z'erreechen ouni d'Benotzung vu speziellen Hardware Support. Fir e gemeinsame geheime Schlëssel ze generéieren, gëtt den ellipteschen Curve Diffie-Hellman Protokoll an der Curve25519 Implementatioun benotzt, och vum Daniel Bernstein proposéiert. De BLAKE2s Algorithmus (RFC7693) gëtt fir Hashing benotzt.

Source: opennet.ru

Setzt e Commentaire