È stata presentata la versione 0.25 del framework GNUnet, progettato per costruire reti P2P decentralizzate e sicure. Le reti create con GNUnet non hanno un singolo punto di guasto e possono garantire la riservatezza delle informazioni degli utenti, escludendo possibili abusi da parte degli amministratori che hanno accesso ai nodi della rete.
GNUnet supporta la creazione di reti P2P sopra TCP, UDP, HTTP/HTTPS, Bluetooth e WLAN, e può operare in modalità F2F (Friend-to-friend). È supportato il bypass di NAT, incluso l'uso di UPnP e ICMP. Per l'indirizzamento del posizionamento dei dati è possibile utilizzare una tabella hash distribuita (DHT). Vengono forniti strumenti per il dispiegamento di reti mesh. Per la concessione selettiva e la revoca dei diritti di accesso, è utilizzato il servizio di scambio decentralizzato di attributi di identificazione reclaimID, che utilizza GNS (GNU Name System) e crittografia basata su attributi (Attribute-Based Encryption).
Il sistema è caratterizzato da un basso consumo di risorse e utilizza un'architettura multiprocessore per garantire l'isolamento tra i componenti. Sono forniti strumenti per la registrazione delle attività e la raccolta di statistiche. Per lo sviluppo di applicazioni finali, GNUnet offre un'API di base per il linguaggio C e binding per altri linguaggi di programmazione. Per semplificare lo sviluppo, si consiglia di utilizzare cicli di eventi invece dei thread. È inclusa una libreria di test per il dispiegamento automatico di reti sperimentali che coprono decine di migliaia di nodi.
Su base delle tecnologie GNUnet, sono in fase di sviluppo diverse applicazioni pronte.
- Il Sistema di Nomi di Dominio GNS (GNU Name System) funge da sostituto completamente decentralizzato e censurabile del DNS. Il GNS può essere utilizzato insieme al DNS e impiegato in applicazioni tradizionali, come i browser web. A differenza del DNS, nel GNS si usa un grafo diretto al posto di una gerarchia ad albero di server. La conversione dei nomi è simile a quella del DNS, ma le richieste e le risposte vengono effettuate mantenendo la riservatezza: il nodo che gestisce la richiesta non sa a chi viene fornita la risposta, e i nodi di transito e gli osservatori esterni non possono decrittare richieste e risposte. L'integrità e l'immutabilità delle registrazioni sono garantite dall'uso di meccanismi crittografici. Una zona DNS nel GNS è definita tramite un abbinamento di chiavi pubbliche e private ECDSA basato su curve ellittiche Curve25519.
- Servizio per lo scambio anonimo di file, che non consente l'analisi delle informazioni grazie alla trasmissione dei dati esclusivamente in forma crittografata e che non permette di tracciare chi ha caricato, cercato e scaricato i file, grazie all'uso del protocollo GAP.
- Sistema VPN per la creazione di servizi nascosti nel dominio «.gnu» e il tunneling di IPv4 e IPv6 sopra una rete P2P. Sono inoltre supportati schemi di traduzione da IPv4 a IPv6 e da IPv6 a IPv4, così come la creazione di tunnel IPv4 sopra IPv6 e IPv6 sopra IPv4.
- Il servizio GNUnet Conversation per effettuare chiamate vocali sopra GNUnet. Per identificare gli utenti viene utilizzato GNS, il contenuto del traffico vocale viene trasmesso in forma crittografata. L'anonimato non è ancora fornito — altri peer possono tracciare la connessione tra due utenti e identificarli. Indirizzi IP.
- Piattaforma per la costruzione di reti sociali decentralizzate Secushare, che utilizza il protocollo PSYC e supporta la distribuzione di notifiche in modalità multicast con l'applicazione di crittografia end-to-end, affinché solo gli utenti autorizzati possano accedere a messaggi, file, chat e discussioni (coloro ai quali i messaggi non sono indirizzati, inclusi gli amministratori dei nodi, non potranno leggerli);
- Il sistema di pagamento GNU Taler offre anonimato per gli acquirenti, ma tiene traccia delle transazioni dei venditori per garantire trasparenza e fornire rendicontazione fiscale. Supporta l'interazione con diverse valute esistenti e denaro elettronico, inclusi dollari, euro e bitcoin.
- Servizio GNUnet Messenger per la creazione di applicazioni di chat sicure. Per garantire la riservatezza e la protezione contro l'intercettazione dei messaggi, viene applicato il protocollo CADET (Confidential Ad-hoc Decentralized End-to-End Transport), che consente di organizzare un'interazione completamente decentralizzata tra un gruppo di utenti utilizzando la crittografia end-to-end dei dati trasmessi.
Nella nuova versione:
- Rielaborato il sottosistema CORE, che garantisce il routing e lo scambio di informazioni tra nodi in una rete decentralizzata. È stata proposta una nuova implementazione di canali di comunicazione sicuri, in cui è coinvolta una variante del protocollo di accordo delle connessioni crittografate KEMTLS, che utilizza gli algoritmi X25519, XChaCha20 e Poly1305 e molti concetti dal protocollo DTLS 1.3.
- È stato aggiunto il servizio PILS (Peer Identity Lifecycle) per l'identificazione dei partecipanti alla rete, che consente di generare identificatori per i peer a seconda del contesto attuale della connessione. Ad esempio, quando un partecipante accede da casa verrà creato un identificatore, mentre durante un viaggio all'estero verrà generato un altro, impedendo così la tracciabilità del movimento del partecipante.
- È stata significativamente potenziata la performance del servizio per la trasmissione (AXFR/IXFR) delle zone DNS in GNS. Sono state aggiunte nuove utility per la mirrorizzazione e l'importazione delle zone DNS da file.
- Nella sistema di build è stata rimossa la compatibilità con AutoTools.
Fonte: opennet.ru
