Esitleti GNUnet 0.20 raamistik, mis on mõeldud kaitstud detsentraliseeritud P2P-võrkude loomiseks. GNUnetiga loodud võrgud ei oma ainulaadset rikkepunkti ja suudavad tagada kasutajate isikuandmete puutumatuse, sealhulgas vältida võimalikke kuritarvitusi julgeolekuteenuste ja haldurite poolt, kellel on ligipääs võrgu sõlmede kaudu.
GNUnet toetab P2P-võrkude loomist TCP, UDP, HTTP/HTTPS, Bluetooth ja WLAN üle, suudab töötada F2F (sõber-sõbrale) režiimis. Toetatakse NAT ületamist, sealhulgas UPnP ja ICMP kaudu. Andmete asukoha adresseerimiseks on võimalik kasutada hajutatud hash-tabelit (DHT). Pakutakse vahendeid mesh-võrkude juurutamiseks. Ligipääsu valikuline andmine ja tühistamine toimub desentraliseeritud identifitseerimise atribuutide vahetuse teenuse reclaimID kaudu, mis kasutab GNS (GNU Name System) ja atribuutide põhist krüpteerimist (Attribute-Based Encryption).
Süsteem eristub madala ressursikasutuse ja mitme protsessori arhitektuuri rakendamisega komponentide vahelise isoleerimise tagamiseks. Pakutakse paindlikke vahendeid logimise ja statistika kogumise jaoks. Lõplikke rakendusi arendades pakub GNUnet API C keeles ja sidumisi teiste programmeerimiskeelte jaoks. Arenduse lihtsustamiseks on soovitatav kasutada sündmuste töötlemise loop'e ja protsesse, mitte lõime. Komplekti kuulub katsebiblioteek eksperimentaalse võrgustiku automaatseks laiendamiseks, mis katab kümneid tuhandeid peer'e.
GNUneti tehnoloogiate alusel arendatakse mitmeid valmisrakendusi:
- GNS (GNU nime süsteem) on täiesti detsentraliseeritud ja tsensuuri suhtes immuunne DNS-i asendus. GNS-i saab kasutada koos DNS-iga ning see sobib traditsioonilistele rakendustele, nagu veebibrauserid. Erinevalt DNS-ist kasutab GNS serverite puu-hierarhia asemel suunatud graafi. Nime konverteerimine on sarnane DNS-ile, kuid päringud ja vastused toimuvad privaatsuse säilitamisega — päringu töötlev sõlm ei tea, kellele vastus antakse, ning transiidisõlmed ja kolmandad osalised ei saa päringut ja vastuseid dešifreerida. Kirjete terviklikkus ja muutumatuse tagamine põhineb krüptograafilistel mehhanismidel. GNS-i DNS-tsoon määratakse ECDSA avatud ja suletud võtmete paari abil, mis põhineb Curve25519 elliptilistel käigudel.
- Anonüümsete failide jagamise teenus, mis kaitseb andmete analüüsi, edastades teavet ainult krüpteeritud kujul ja võimaldades jälgimise vältimist selle osas, kes on faile üles laadinud, otsinud ja alla laadinud, tänu GAP-protokolli kasutamisele.
- Süsteem VPN domeen „.gnu” varjatud teenuste loomiseks ja IPv4 ja IPv6 tunnelite edastamiseks P2P-võrgustiku kaudu. Toetatakse ka IPv4-i ja IPv6-i ning IPv6-i ja IPv4-i translatsiooniskeeme ning tunnelite loomist IPv4 üle IPv6 ja IPv6 üle IPv4.
- GNUnet Conversation teenus häälkõnede tegemiseks GNUnet'i kaudu. Kasutajate tuvastamiseks kasutatakse GNS-i, häältraffic sisu edastatakse krüpteeritud kujul. Anonüümsust ei pakuta — teised pereliikmed võivad jälgida kahte kasutajat ühenduse vahel ja tuvastada neid. IP-aadressid.
- Decentraliseeritud sotsiaalsete võrkude platvorm Secushare, mis kasutab PSYC-protokolli ja toetab mitme saatmisviisi kasutamist end-to-end krüptimisega, et tagada juurdepääs sõnumitele, failidele, vestlustele ja aruteludele ainult autoriseeritud kasutajatele (need, kellele sõnumid ei ole adresseeritud, sealhulgas sõlmede administratorid, ei saa neid lugeda);
- Krüpteeritud e-posti süsteem Pretty Easy Privacy, mis kasutab GNUnet'i metadate kaitsmiseks ja toetab erinevaid krüptograafilisi protokolle võtmete valideerimiseks;
- GNU Taler onlayn makse süsteem, mis tagab ostjatele anonüümsuse, kuid jälgib müüjate tehinguid, et tagada läbipaistvus ja anda maksuaruandeid. Toetatakse erinevaid olemasolevaid valuutasid ja elektroonilisi makseid, sealhulgas dollareid, euroid ja bitcoine.
- GNUnet Messenger teenus, mis võimaldab luua kaitstud vestlusrakendusi. Privaatsuse ja sõnumite pealtkuulamise kaitseks kasutatakse CADET-protokolli (Confidential Ad-hoc Decentralized End-to-End Transport), mis võimaldab korraldada täielikult detsentraliseeritud suhtlemist kasutajate grupi vahel, rakendades edastatud andmete lõpuni krüpteerimist.
Uues GNUnet versioonis on tehtud muudatused, mis rikuvad protokolli ühilduvust ja võivad põhjustada probleeme GNUnet 0.20 ja vanemate väljaannete baasil töötavate sõlmede vahel. Raamatukogu libgnuneutil on viidud funktsioonid GNUNET_STRINGS_get_suffix_from_binary_name ja GNUNET_s. Lisatud on funktsioonid GNUNET_JSON_spec_object_const, GNUNET_JSON_spec_array_const, GNUNET_PQ_get_oid_by_name ja GNUNET_PQ_get_oid. Lisatud on KEM (Key Encapsulation Mechanism) API.
Allikas: opennet.ru
