Su FreeBSD una nuova implementazione di WireGuard è stata aggiunta alla base di codice 

FreeBSD

FreeBSD è ben consolidato come sistema per la creazione di server Internet e Intranet. Fornisce servizi di rete abbastanza affidabili e una gestione efficiente della memoria.

recentemente sono state rilasciate informazioni con cui l'albero di FreeBSD è stato modificaton una nuova implementazione deVPN WireGuard basato sul codice del modulo del kernel preparato congiuntamente dai team di sviluppo principali di FreeBSD e WireGuard con il contributo dell'autore di VPN WireGuard e un noto sviluppatore GDB e FreeBSD

Prima di accettare il codice, è stata effettuata una revisione completa delle modifiche con il supporto della FreeBSD Foundation, durante la quale sono state analizzate anche l'interazione del driver con il resto dei sottosistemi del kernel e la possibilità di utilizzare le primitive crittografiche fornite.

Per utilizzare gli algoritmi crittografici richiesti dal driver, esteso l'API del sottosistema crittografico del kernel FreeBSD, Aggiunto un collegamento che consente di utilizzare algoritmi non supportati in FreeBSD tramite l'API crittografica standard, utilizzando l'implementazione della libreria libsodium degli algoritmi necessari.

Degli algoritmi integrati nel controllator, rimane solo il codice per calcolare gli hash Blake2, poiché l'implementazione di questo algoritmo fornita da FreeBSD è vincolata a una dimensione hash fissa.

Inoltre, durante il processo di revisione, è stata eseguita l'ottimizzazione del codice, che ha consentito di aumentare l'efficienza della distribuzione del carico sulle CPU multi-core (assicurando un bilanciamento uniforme della crittografia dei pacchetti e del task di decrittografia associati ai core della CPU).

Di conseguenza, il sovraccarico di elaborazione del pacchetto implementazione approssimata del driver per Linux. Il codice offre anche la possibilità di utilizzare il driver ossl per velocizzare le operazioni di crittografia.

A differenza del precedente tentativo di integrare WireGuard in FreeBSD, la nuova implementazione utilizza l'utilità stock wg, invece di una versione modificata di ifconfig, che ha consentito una configurazione unificata tra Linux e FreeBSD. L'utilità wg, così come il driver, sono inclusi nei sorgenti di FreeBSD, reso possibile da una modifica della licenza nel codice wg (il codice è ora disponibile sotto le licenze MIT e GPL).

L'ultimo tentativo di includere WireGuard in FreeBSD è stato fatto nel 2020, ma si è concluso con uno scandalo, a seguito del quale il codice già aggiunto è stato rimosso a causa della scarsa qualità, della gestione incauta del buffer, dell'uso di stub anziché dei controlli, dell'implementazione incompleta del protocollo e della violazione della licenza GPL.

Per chi ancora non lo sa VPN Gabbia di protezione, dovrebbero saperlo questo è implementato sulla base di moderni metodi di crittografia, fornisce prestazioni molto elevate, è facile da usare, semplice e ha dimostrato il suo valore in numerose grandi implementazioni che gestiscono grandi quantità di traffico. Il progetto è in sviluppo dal 2015, superato l'audit formale e la verifica dei metodi di crittografia utilizzati. WireGuard utilizza il concetto di instradamento della chiave di crittografia, che prevede l'associazione di una chiave privata a ciascuna interfaccia di rete e l'utilizzo di chiavi pubbliche per l'associazione.

Lo scambio di chiavi pubbliche per stabilire una connessione è simile a SSH. Per negoziare le chiavi e connettersi senza eseguire un demone dello spazio utente separato, viene utilizzato il meccanismo Noise_IK di Noise Protocol Framework, simile al mantenimento di authorized_keys in SSH. La trasmissione dei dati avviene mediante incapsulamento in pacchetti UDP. Supporta la modifica dell'indirizzo IP del server VPN (roaming) senza interrompere la connessione con la riconfigurazione automatica del client.

La crittografia utilizza il codice di flusso ChaCha20 e l'algoritmo di autenticazione dei messaggi Poly1305 (MAC) sviluppato da Daniel J. Bernstein, Tanja Lange e Peter Schwabe. ChaCha20 e Poly1305 si posizionano come analoghi più veloci e sicuri di AES-256-CTR e HMAC, la cui implementazione software consente di ottenere un tempo di esecuzione fisso senza richiedere un supporto hardware speciale. Il protocollo Diffie-Hellman della curva ellittica nell'implementazione Curve25519, proposto anche da Daniel Bernstein, viene utilizzato per generare una chiave segreta condivisa. Per l'hashing viene utilizzato l'algoritmo BLAKE2s (RFC7693).

Infine, vale la pena menzionare la modifica, che una volta che un driver è accettato in FreeBSD (sys/dev/wg), sarà sviluppato e mantenuto nel repository di FreeBSD d'ora in poi.

Se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link


Puoi essere il primo a lasciare un commento

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.