Uitgave van GNUnet P2P-platform 0.13. GNS promoten als internetstandaard

De IETF (Internet Engineering Task Force), die internetprotocollen en -architectuur ontwikkelt, is begonnen met het standaardiseren van het door het project ontwikkelde GNS-domeinnaamsysteem (GNU Name System). GNUnet als een volledig gedecentraliseerde en censuurbestendige vervanging voor DNS. Momenteel gepubliceerde het eerste concept van de standaard, na stabilisatie waarvan een RFC zal worden gevormd, die de status zal hebben van een “Proposed Standard”.

GNS kan naast DNS worden gebruikt en worden gebruikt in traditionele toepassingen zoals webbrowsers. De integriteit en onveranderlijkheid van documenten wordt gewaarborgd door het gebruik van cryptografische mechanismen. In tegenstelling tot DNS gebruikt GNS een gerichte grafiek in plaats van een boomachtige hiërarchie van servers. Naamresolutie is vergelijkbaar met DNS, maar verzoeken en antwoorden worden op een vertrouwelijke manier gedaan: het knooppunt dat het verzoek verwerkt, weet niet naar wie het antwoord wordt verzonden, en transitknooppunten en externe waarnemers kunnen verzoeken en antwoorden niet ontsleutelen.

De DNS-zone in GNS wordt bepaald met behulp van een aantal openbare en privésleutels ECDSA gebaseerd op elliptische krommen Curve 25519. Met behulp van Curve25519 waargenomen sommigen beschouwen het als een heel vreemde stap, omdat ze voor ECDSA andere soorten elliptische curven gebruiken, en in combinatie met Curve25519 meestal een algoritme voor digitale handtekeningen gebruiken Ed25519, moderner, veiliger en sneller dan ECDSA. Vanuit het oogpunt van cryptografische sterkte is de keuze van de sleutelgrootte ook twijfelachtig - 32 bytes in plaats van 64 bytes, meestal gebruikt voor Ed25519, evenals het gebruik cascade symmetrische codering met behulp van AES- en TwoFish-algoritmen in CFB-modus.

Deze aanpak wordt verklaard door de noodzaak om hiërarchische sleutels te implementeren, waardoor het mogelijk wordt om de publieke root-sleutel te gebruiken om een ​​onderliggende publieke sleutel te extraheren, waarbij gebruik wordt gemaakt van de lineariteitseigenschap van Curve25519. Met deze functie kunt u openbare onderliggende sleutels verkrijgen zonder dat u de privéhoofdsleutels kent. Deze techniek is dat ook toegepast in Bitcoin. Er is gekozen voor een sleutelgrootte van 32 bytes, zodat de sleutel in één DNS-record past.

Bovendien kan worden opgemerkt nieuw probleem kader GNUnet 0.13, ontworpen voor het bouwen van veilige gedecentraliseerde P2P-netwerken. Netwerken die met behulp van GNUnet zijn gemaakt, hebben geen enkel storingspunt en zijn in staat de onschendbaarheid van de privé-informatie van gebruikers te garanderen, inclusief het elimineren van mogelijk misbruik door inlichtingendiensten en beheerders met toegang tot netwerkknooppunten. Er wordt aangegeven dat de release belangrijke protocolwijzigingen bevat die de achterwaartse compatibiliteit met versie 0.12.x verbreken.

GNUnet ondersteunt de creatie van P2P-netwerken via TCP, UDP, HTTP/HTTPS, Bluetooth en WLAN, en kan werken in F2F-modus (Friend-to-Friend). NAT-traversal wordt ondersteund, inclusief het gebruik van UPnP en ICMP. Om de plaatsing van gegevens aan te pakken, is het mogelijk om een ​​gedistribueerde hashtabel (DHT) te gebruiken. Er worden hulpmiddelen verstrekt voor het inzetten van mesh-netwerken. Om selectief toegangsrechten te verlenen en in te trekken, wordt een gedecentraliseerde dienst voor het uitwisselen van identificatieattributen gebruikt identiteitsbewijs terugvragen, gebruik makend van GNS (GNU Name System) en op attributen gebaseerde codering (Op kenmerken gebaseerde codering).

Het systeem heeft een laag bronnenverbruik en maakt gebruik van een architectuur met meerdere processen om isolatie tussen componenten te bieden. Er zijn flexibele tools beschikbaar voor het bijhouden van logboeken en het verzamelen van statistieken. Om toepassingen voor eindgebruik te ontwikkelen, biedt GNUnet een API voor de C-taal en bindingen voor andere programmeertalen. Om de ontwikkeling te vereenvoudigen, wordt voorgesteld om gebeurtenislussen en -processen te gebruiken in plaats van threads. Het bevat een testbibliotheek voor de automatische inzet van experimentele netwerken die tienduizenden peers bestrijken.

Naast GNS worden er ook verschillende kant-en-klare applicaties ontwikkeld op basis van GNUnet-technologieën:

  • Een dienst voor het anoniem delen van bestanden, waarmee u informatie niet kunt analyseren vanwege de gegevensoverdracht alleen in gecodeerde vorm en waarmee u niet kunt volgen wie bestanden heeft gepost, gezocht en gedownload dankzij het gebruik van het GAP-protocol.
  • VPN-systeem voor het creëren van verborgen diensten in het “.gnu”-domein en het doorsturen van IPv4- en IPv6-tunnels over een P2P-netwerk. Bovendien worden IPv4-naar-IPv6- en IPv6-naar-IPv4-vertaalschema's ondersteund, evenals de creatie van IPv4-over-IPv6- en IPv6-over-IPv4-tunnels.
  • GNUnet Conversatiedienst voor het voeren van spraakoproepen via GNUnet. GNS wordt gebruikt om gebruikers te identificeren; de inhoud van het spraakverkeer wordt gecodeerd verzonden. Er is nog geen anonimiteit geboden: andere peers kunnen de verbinding tussen twee gebruikers volgen en hun IP-adressen bepalen.
  • Platform voor het bouwen van gedecentraliseerde sociale netwerken Secushare, met behulp van het protocol PSYC en ondersteuning van de distributie van meldingen in multicast-modus met behulp van end-to-end-codering, zodat alleen geautoriseerde gebruikers toegang hebben tot berichten, bestanden, chats en discussies (degenen aan wie de berichten niet zijn geadresseerd, inclusief knooppuntbeheerders, zullen deze niet kunnen lezen );
  • Systeem voor het organiseren van gecodeerde e-mail vrij gemakkelijke privacy, dat GNUnet gebruikt voor de bescherming van metagegevens en verschillende cryptografische protocollen voor sleutelverificatie;
  • Betaalsysteem GNU-workshop, dat kopers anonimiteit biedt, maar verkoperstransacties volgt voor transparantie en belastingaangifte. Het ondersteunt het werken met verschillende bestaande valuta en elektronisch geld, waaronder dollars, euro's en bitcoins.

Belangrijke nieuwe functies in GNUnet 0.13:

  • Het register werd in gebruik genomen GANA (GNUnet Assigned Numbers Authority), verantwoordelijk voor het toewijzen van namen en adressen voor GNUnet.
  • De implementatie van het decentrale domeinnaamsysteem GNS sluit hierop aan specificatie, voorgesteld door de IETF. De NSS-plugin “block” is verbeterd. Er zijn nieuwe AANVULLENDE vlaggen toegevoegd voor records die niet expliciet onder het opgegeven label worden gepubliceerd, maar die door de oplosser worden geretourneerd. Een waarschuwing toegevoegd aan het hulpprogramma gnunet-namestore bij het toevoegen van TLSA- of SRV-items buiten het item BOX.
  • In het sleutelintrekkingsmechanisme (GNS/REVOCATION) is de functie bewijs van voltooid werk overgestapt op het gebruik van het Argon2-hashalgoritme.
  • In de gedecentraliseerde uitwisseling van identificatieattributen (RECLAIM) is de ticketgrootte vergroot tot 256 bits.
  • De transportplug-in, die het UDP-protocol gebruikt voor gegevensoverdracht, is vanwege stabiliteitsproblemen verplaatst naar de experimentele categorie;
  • Het ECDSA-sleutelbestandsformaat en de serialisatiemethode voor privésleutels zijn verenigd met andere bibliotheken (oude sleutels werken niet meer).
  • De bibliotheek wordt gebruikt als implementatie van versleutelingsalgoritmen op basis van elliptische curven libnatrium.
  • De mogelijkheid toegevoegd om hulpprogramma's te bouwen met de cURL-bibliotheek, niet gerelateerd aan gnutls.
  • Continue integratieserver geretourneerd Bouwbot.
  • De build-afhankelijkheden omvatten libmicrohttpd, libjansson en libsodium.

Bron: opennet.ru

Voeg een reactie