Foi lançado o framework GNUnet 0.20, projetado para a construção de redes P2P descentralizadas e seguras. As redes criadas com o GNUnet não têm ponto único de falha e são capazes de garantir a privacidade das informações dos usuários, incluindo a exclusão de possíveis abusos por parte de serviços de segurança e administradores que têm acesso aos nós da rede.
O GNUnet suporta a criação de redes P2P sobre TCP, UDP, HTTP/HTTPS, Bluetooth e WLAN, podendo operar no modo F2F (Friend-to-friend). Suporte para a ultrapassagem de NAT, incluindo o uso de UPnP e ICMP, é oferecido. Para endereçamento de armazenamento de dados, é possível usar uma tabela hash distribuída (DHT). Ferramentas para a implementação de redes mesh são disponibilizadas. Para concessão e revogação seletiva de direitos de acesso, é utilizado o serviço de troca descentralizada de atributos de identificação reclaimID, que emprega o GNS (GNU Name System) e criptografia baseada em atributos.
O sistema se destaca por seu baixo consumo de recursos e pela utilização de uma arquitetura multiprocessada para garantir isolamento entre os componentes. Fornece ferramentas flexíveis para registro de logs e acumulação de estatísticas. Para o desenvolvimento de aplicativos finais, o GNUnet disponibiliza uma API para a linguagem C e bindings para outras linguagens de programação. Para simplificar o desenvolvimento, sugere-se o uso de loops de eventos em vez de threads e processos. Inclui uma biblioteca de testes para a implantação automática de redes experimentais que abrangem dezenas de milhares de pares.
Vários aplicativos prontos estão sendo desenvolvidos com base nas tecnologias GNUnet:
- O Sistema de Nomes de Domínio GNS (GNU Name System) atua como uma substituição totalmente descentralizada e resistente à censura para o DNS. O GNS pode ser usado lado a lado com o DNS e em aplicações tradicionais, como navegadores web. Ao contrário do DNS, o GNS utiliza um grafo direcionado em vez de uma hierarquia de servidores em árvore. A conversão de nomes é semelhante à do DNS, mas as solicitações e respostas são realizadas com preservação da privacidade — o nó que processa a solicitação não sabe a quem a resposta é enviada, e nós de trânsito e observadores externos não conseguem decifrar as solicitações e respostas. A integridade e a imutabilidade dos registros são garantidas pelo uso de mecanismos criptográficos. A zona DNS no GNS é definida por uma combinação de chaves pública e privada ECDSA baseada em curvas elípticas Curve25519.
- Um serviço para troca anônima de arquivos, que não permite analisar as informações por meio da transmissão de dados apenas de forma criptografada e não permite rastrear quem enviou, buscou e baixou arquivos, graças ao uso do protocolo GAP.
- Sistema VPN para criar serviços ocultos no domínio '.gnu' e encaminhar túneis IPv4 e IPv6 sobre uma rede P2P. Além disso, suporta esquemas de tradução IPv4-para-IPv6 e IPv6-para-IPv4, bem como a criação de túneis IPv4 sobre IPv6 e IPv6 sobre IPv4.
- Serviço GNUnet Conversation para realizar chamadas de voz sobre o GNUnet. Para identificação de usuários, é utilizado o GNS; o conteúdo do tráfego de voz é transmitido de forma criptografada. A anonimidade ainda não é garantida — outros pares podem rastrear a conexão entre dois usuários e identificá-los. endereços IP.
- Plataforma para construir redes sociais descentralizadas Secushare, que utiliza o protocolo PSYC e suporta a disseminação de notificações em modo multicast com uso de criptografia de ponta a ponta, para que apenas usuários autorizados (aqueles a quem as mensagens não são endereçadas, incluindo administradores de nós, não consigam lê-las) tenham acesso a mensagens, arquivos, chats e discussões;
- Sistema para organização de e-mails criptografados chamado pretty Easy privacy, que aplica o GNUnet para proteger metadados e suporta vários protocolos criptográficos para verificação de chaves;
- O sistema de pagamento GNU Taler, que oferece anonimato para compradores, mas rastreia as transações dos vendedores para garantir transparência e fornecer relatórios fiscais. Suporta a operação com várias moedas existentes e dinheiro eletrônico, incluindo dólares, euros e bitcoins.
- O serviço GNUnet Messenger para criar aplicativos de chat seguros. Para garantir privacidade e proteção contra a interceptação de mensagens, é aplicado o protocolo CADET (Transporte Confidencial Descentralizado de Ponta a Ponta), que permite organizar uma interação totalmente descentralizada entre um grupo de usuários utilizando criptografia de ponta a ponta dos dados transmitidos.
Na nova versão do GNUnet, houve mudanças que quebram a compatibilidade do protocolo e podem causar problemas na interação entre nós baseados no GNUnet 0.20 e versões anteriores. As funções GNUNET_STRINGS_get_suffix_from_binary_name e GNUNET_s foram transferidas para a biblioteca libgnuneutil. Foram adicionadas funções GNUNET_JSON_spec_object_const, GNUNET_JSON_spec_array_const, GNUNET_PQ_get_oid_by_name e GNUNET_PQ_get_oid. Uma API KEM (Mecanismo de Encapsulamento de Chave) foi adicionada.
Fonte: opennet.ru
