Komitét IETF (Internet Engineering Task Force), ktorý sa zaoberá vývojom protokolov a architektúry Internetu, začal proces štandardizácie systému doménových mien GNS (GNU Name System), vyvíjaného projektom ako plne decentralizovanej a cenzúre odolnej náhrady DNS. V súčasnosti existuje prvý návrh štandardu, po jeho stabilizovaní bude vypracovaný RFC, ktorý bude mať status „Navrhovaného štandardu“.
môže byť používaný vedľa DNS a používaný v tradičných aplikáciách, ako sú webové prehliadače. Integrita a nemennosť záznamov je zabezpečená použitím kryptografických mechanizmov. Na rozdiel od DNS, v GNS sa namiesto stromovej hierarchie serverov používa smerovaný graf. Transformácia mien je podobná DNS, ale požiadavky a odpovede sa vykonávajú s ochranou súkromia — uzol spracovávajúci požiadavku nevie, komu sa odpoveď poskytuje, a tranzitné uzly a externí pozorovatelia nemôžu dešifrovať požiadavky a odpovede.
DNS zóna v GNS je definovaná pomocou dvojice otvoreného a uzavretého kľúča na základe eliptických kriviek . Použitie Curve25519 niektorými považované za veľmi zvláštny krok, pretože pre ECDSA sa používajú iné typy eliptických kriviek, a v kombinácii s Curve25519 sa obvykle používa algoritmus digitálnych podpisov , , bezpečnejší a rýchlejší než ECDSA. Z hľadiska kryptografickej bezpečnosti tiež vyvoláva pochybnosti výber veľkosti kľúča — 32 bajtov namiesto 64 bajtov, ktoré sa bežne používajú pre Ed25519, a taktiež aplikácia symmetric encryption using AES and TwoFish algorithms in CFB mode.
Takýto prístup je odôvodnený potrebou implementácie hierarchických kľúčov, ktoré umožňujú použiť koreňový otvorený kľúč na extrakciu podriadeného otvoreného kľúča, využívajúc vlastnosť linearity krivky Curve25519. Táto vlastnosť umožňuje získať podriadené otvorené kľúče bez znalosti uzavretých koreňových kľúčov. Uvedená technika je tiež v Bitcoine. Veľkosť kľúča 32 bajty bola vybraná preto, aby kľúč mohol byť obsiahnutý v jednom zázname DNS.
Navyše môžeme spomenúť frameworku , určeného na budovanie zabezpečených decentralizovaných P2P sietí. Siete vytvorené pomocou GNUnet nemajú jediný bod zlyhania a dokážu zaručiť dôvernosť súkromných informácií používateľov, vrátane vylúčenia možných zneužití zo strany bezpečnostných služieb a administrátorov, ktorí majú prístup k uzlom siete. Vydanie je označené ako obsahujúce významné zmeny v protokole, narušujúce spätnú kompatibilitu s verziami 0.12.x.
GNUnet podporuje vytváranie P2P sietí na TCP, UDP, HTTP/HTTPS, Bluetooth a WLAN, môže fungovať v režime F2F (Friend-to-friend). Podporuje sa obchádzanie NAT, vrátane použitia UPnP a ICMP. Na adresovanie umiestnenia dát je možné využívať distribuovanú hašovaciu tabuľku (DHT). Poskytujú sa prostriedky na nasadenie mesh sietí. Na selektívne poskytovanie a odoberanie prístupových práv sa využíva služba decentralizovanej výmeny atribútov identifikácie , GNS (GNU Name System) a šifrovanie na základe atribútov ().
Systém sa vyznačuje nízkou spotrebou zdrojov a využívaním viacprocesorovej architektúry na zabezpečenie izolácie medzi komponentmi. Poskytuje flexibilné nástroje na vedenie záznamov a zhromažďovanie štatistiky. Na vývoj koncových aplikácií GNUnet poskytuje API pre jazyk C a väzby pre iné programovacie jazyky. Na zjednodušenie vývoja sa namiesto vláken odporúča použiť cykly spracovania udalostí (event loop) a procesy. Súčasťou je testovacia knižnica pre automatické nasadenie experimentálnych sietí, pokrývajúcich desiatky tisíc peerov.
Okrem GNS na báze technológií GNUnet sa vyvíja aj niekoľko hotových aplikácií:
- Služba na anonymné zdieľanie súborov, ktorá bráni analýze informácií prenosom údajov iba v šifrovanej forme a nedovoľuje sledovať, kto nahrával, hľadal a sťahoval súbory vďaka používaniu protokolu GAP.
- VPN systém na vytvorenie skrytých služieb v doméne „.gnu“ a presmerovanie tunelov IPv4 a IPv6 cez P2P sieť. Podporujú sa aj schémy prekladu IPv4 na IPv6 a IPv6 na IPv4, ako aj vytváranie tunelov IPv4 cez IPv6 a IPv6 cez IPv4.
- Služba GNUnet Conversation na uskutočnenie hlasových hovorov cez GNUnet. Na identifikáciu používateľov sa používa GNS, obsah hlasového prenosu sa prenáša zašifrovane. Anonymita zatiaľ nie je poskytovaná — iné peer môžu sledovať spojenie medzi dvoma používateľmi a určiť ich IP adresy.
- Platforma na budovanie decentralizovaných sociálnych sietí , využívajúca protokol a podporujúca šírenie notifikácií v režime multicast s použitím end-to-end šifrovania, aby k správam, súborom, chatom a diskusiám mali prístup iba autorizovaní používatelia (tí, ktorým správy nie sú adresované, vrátane administrátorov uzlov, ich nebudú môcť prečítať);
- Systém na organizáciu šifrovanej elektronickej pošty , ktorý používa GNUnet na ochranu metadát a podporuje rôzne pre overenie kľúčov;
- Platobný systém , poskytujúci anonymitu pre kupujúcich, ale sledujúci transakcie predajcov pre zabezpečenie transparentnosti a poskytnutie daňového vyúčtovania. Podporuje prácu s rôznymi existujúcimi menami a elektronickými peniazmi, vrátane dolárov, eur a bitcoinov.
Hlavné novinky GNUnet 0.13:
- Bol uvedený do prevádzky register (GNUnet Assigned Numbers Authority), zodpovedný za priradenie názvov a adries pre GNUnet.
- Implementácia decentralizovaného systému doménových mien GNS bola prispôsobená , navrhnutej v IETF. Bola zavedená práca NSS pluginu „block“. Boli pridané nové vlajky SUPPLEMENTAL pre záznamy, ktoré nie sú výslovne publikované pod daným označením, ale sú vracané resolverom. Do nástroja gnunet-namestore bola pridaná výstraha pri pridávaní záznamov TLSA alebo SRV mimo záznamu .
- V mechanizme odvolávania kľúčov (GNS/REVOCATION) bola funkcia prevedená na použitie algoritmu hashovania Argon2.
- V službe decentralizovanej výmeny atribútov identifikácie (RECLAIM) sa veľkosť tiketu zvýšila na 256 bitov.
- Transportný plugin, ktorý na prenos dát používa protokol UDP, bol presunutý do kategórie experimentálnych kvôli problémom so stabilitou;
- Formát súboru kľúčov a metóda serializácie privátnych kľúčov ECDSA boli zjednotené s inými knižnicami (staré kľúče prestanú fungovať).
- Ako implementácia algoritmov šifrovania na základe eliptických kriviek bola zapojená knižnica .
- Bola pridaná možnosť zostavovania nástrojov s knižnicou cURL, ktorá nie je prepojená s gnutls.
- Bol vrátený server kontinuálnej integrácie .
- Do závislostí na zostavenie boli zahrnuté knižnice libmicrohttpd, libjansson a libsodium.
Zdroj: opennet.ru
