rilascio del framework , destinato alla creazione di reti P2P decentralizzate sicure. Le reti create utilizzando GNUnet non hanno un punto unico di guasto e sono in grado di garantire la riservatezza delle informazioni degli utenti, compresa l'esclusione di possibili abusi da parte dei servizi segreti e degli amministratori che hanno accesso ai nodi della rete. Il rilascio è segnato come contenente modifiche significative al protocollo, che interrompono la compatibilità con le versioni 0.11.x.
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 NAT, incluso l'uso di UPnP e ICMP. Per l'indirizzamento della distribuzione dei dati è possibile utilizzare una tabella hash distribuita (DHT). Sono forniti strumenti per il dispiegamento di reti mesh. Per la concessione e la revoca selettiva dei diritti di accesso viene utilizzato il servizio di scambio decentralizzato di attributi di identificazione , GNS (GNU Name System) e la crittografia basata su attributi ().
Il sistema si distingue per un basso consumo di risorse e per l'uso di un'architettura multiprocessore per garantire l'isolamento tra i componenti. Sono forniti strumenti flessibili per la registrazione e la raccolta di statistiche. Per lo sviluppo di applicazioni finali, GNUnet offre API per il linguaggio C e binding per altri linguaggi di programmazione. Per semplificare lo sviluppo, viene consigliato di utilizzare i cicli di eventi (event loop) e i processi al posto dei thread. Comprende una libreria di test per il dispiegamento automatico di reti sperimentali che coprono decine di migliaia di peer.
Le principali novità di GNUnet 0.12:
- Nella sistema decentralizzato dei nomi di dominio GNS (GNU Name System) sono state apportate modifiche ai protocolli di generazione delle chiavi (per conformarsi allo sviluppo del futuro standard). I nomi di dominio e le etichette in UTF-8, senza l'uso della notazione punycode IDNA. Per la gestione di nomi non standard IDNA è stato proposto un plugin NSS. È stato anche aggiunto un plugin per bloccare le richieste da root (GNUnet non dovrebbe mai essere avviato con privilegi di root).
- In GNS e (Network Size Estimation) è stato modificato l'algoritmo di prova di lavoro (proof of work) utilizzato nel ritiro del dominio. Le modifiche sono correlate alla complessità dei calcoli su ASIC specializzati.
- Il plugin con implementazione del trasporto su UDP è stato spostato nella categoria sperimentale a causa di problemi di stabilità;
- è stato documentato il formato binario per le chiavi RSA;
- l'eccessivo hashing nelle firme digitali EdDSA;
- È stata aggiunta la possibilità di installare lo script gnunet-logread per l'audit dei log;
- L'implementazione dell'ECDH è stata tradotta in codice ;
- Sono stati risolti molti problemi nel sistema di compilazione. È stata rimossa la dipendenza da
(GNU Linear Programming Kit). È stata aggiunta una corretta descrizione del pacchetto per le distribuzioni basate sul gestore di pacchetti .
Sulla base delle tecnologie GNUnet vengono sviluppate diverse applicazioni pronte all'uso:
- Un servizio per lo scambio anonimo di file che non consente di analizzare le informazioni grazie alla trasmissione dei dati esclusivamente in forma crittografata e che non permette di tracciare chi ha caricato, cercato e scaricato 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 la rete P2P. Supportate anche le schemi di traduzione IPv4-in-IPv6 e IPv6-in-IPv4, oltre alla creazione di tunnel IPv4-sopra-IPv6 e IPv6-sopra-IPv4.
- Il sistema di nomi di dominio GNS (GNU Name System) funge da sostituto completamente decentralizzato e resistente alla censura del DNS. GNS può essere utilizzato insieme al DNS e in applicazioni tradizionali come i browser web. L'integrità e l'immutabilità dei record sono garantite attraverso l'uso di mezzi crittografici. A differenza del DNS, GNS utilizza un grafo diretto anziché una gerarchia ad albero di server. La conversione dei nomi è simile a quella del DNS, ma le richieste e le risposte vengono eseguite preservando la riservatezza: il nodo che elabora la richiesta non sa a chi viene restituita la risposta e i nodi di transito e gli osservatori esterni non possono decifrare le richieste e le risposte.
- Il servizio GNUnet Conversation per effettuare chiamate vocali su GNUnet. Per l'identificazione degli utenti viene utilizzato il GNS, e il contenuto del traffico vocale è trasmesso in forma crittografata. L'anonimato non è ancora garantito: altri peer possono tracciare la connessione tra due utenti e determinare i loro indirizzi IP.
- Una piattaforma per la costruzione di reti sociali decentralizzate , che utilizza il protocollo e supporta la diffusione di notifiche in modalità multicast utilizzando la crittografia end-to-end in modo che solo gli utenti autorizzati possano accedere a messaggi, file, chat e discussioni (coloro a cui i messaggi non sono indirizzati, inclusi gli amministratori dei nodi, non potranno leggerli);
- Un sistema per l'organizzazione dell'email crittografata , applicando GNUnet per proteggere i metadati e supportando diversi per la verifica delle chiavi;
- Sistema di pagamento , che fornisce anonimato agli acquirenti, ma tiene traccia delle transazioni dei venditori per garantire trasparenza e fornire rapporti fiscali. Supporta operazioni con diverse valute esistenti e denaro elettronico, inclusi dollari, euro e bitcoin.
Fonte: opennet.ru
