Lançamento da plataforma GNUnet P2P 0.13. Promovendo o GNS como um padrão da Internet

A IETF (Internet Engineering Task Force), que desenvolve protocolos e arquitetura da Internet, iniciou o processo de padronização do sistema de nomes de domínio GNS (GNU Name System) desenvolvido pelo projeto GNUnetName como um substituto completamente descentralizado e à prova de censura para o DNS. Atualmente publicado o primeiro rascunho da norma, após a estabilização da qual será formada uma RFC, que terá o status de “Norma Proposta”.

GNS pode ser usado lado a lado com o DNS e em aplicativos tradicionais, como navegadores da web. A integridade e imutabilidade dos registos é assegurada através da utilização de mecanismos criptográficos. Ao contrário do DNS, o GNS usa um gráfico direcionado em vez de uma hierarquia de servidores em forma de árvore. A resolução de nomes é semelhante ao DNS, mas as solicitações e respostas são feitas de maneira confidencial – o nó que processa a solicitação não sabe para quem a resposta está sendo enviada, e os nós de trânsito e observadores terceirizados não podem descriptografar as solicitações e respostas.

A zona DNS no GNS é determinada usando um conjunto de chaves públicas e privadas ECDSA baseado em curvas elípticas Curve25519. Usando Curve25519 percebido alguns consideram um passo muito estranho, pois para ECDSA usam outros tipos de curvas elípticas e, quando emparelhados com Curve25519, costumam usar um algoritmo de assinatura digital Ed25519, mais moderno, mais seguro e mais rápido que o ECDSA. Do ponto de vista da força criptográfica, a escolha do tamanho da chave também é questionável - 32 bytes em vez dos 64 bytes, normalmente usados ​​para Ed25519, bem como o uso cascata criptografia simétrica usando algoritmos AES e TwoFish no modo CFB.

Esta abordagem é explicada pela necessidade de implementar chaves hierárquicas, tornando possível utilizar a chave pública raiz para extrair uma chave pública filha, aproveitando a propriedade de linearidade da Curve25519. Este recurso permite obter chaves públicas filhas sem conhecer as chaves raiz privadas. Esta técnica também é aplicada em Bitcoin. O tamanho da chave de 32 bytes foi escolhido para permitir que a chave caiba em um registro DNS.

Além disso, pode-se notar novo problema estrutura GNUnet 0.13, projetado para construir redes P2P descentralizadas seguras. As redes criadas utilizando o GNUnet não têm um único ponto de falha e são capazes de garantir a inviolabilidade da informação privada dos utilizadores, incluindo a eliminação de possíveis abusos por parte dos serviços de inteligência e administradores com acesso aos nós da rede. A versão é sinalizada como contendo alterações significativas de protocolo que quebram a compatibilidade com versões anteriores 0.12.x.

GNUnet suporta a criação de redes P2P sobre TCP, UDP, HTTP/HTTPS, Bluetooth e WLAN, e pode operar no modo F2F (amigo para amigo). A travessia NAT é suportada, inclusive usando UPnP e ICMP. Para resolver o posicionamento dos dados, é possível usar uma tabela hash distribuída (DHT). São fornecidas ferramentas para implantação de redes mesh. Para conceder e revogar seletivamente direitos de acesso, é utilizado um serviço descentralizado de troca de atributos de identificação recuperar ID, usando GNS (GNU Name System) e criptografia baseada em atributos (Criptografia baseada em atributo).

O sistema apresenta baixo consumo de recursos e utiliza uma arquitetura multiprocessos para fornecer isolamento entre os componentes. Ferramentas flexíveis são fornecidas para manter registros e coletar estatísticas. Para desenvolver aplicações de uso final, o GNUnet fornece uma API para a linguagem C e ligações para outras linguagens de programação. Para simplificar o desenvolvimento, propõe-se o uso de loops de eventos e processos em vez de threads. Inclui uma biblioteca de testes para implantação automática de redes experimentais cobrindo dezenas de milhares de pares.

Além do GNS, também estão sendo desenvolvidas diversas aplicações prontas baseadas nas tecnologias GNUnet:

  • Um serviço de compartilhamento anônimo de arquivos, que não permite analisar informações devido à transferência de dados apenas de forma criptografada e não permite rastrear quem postou, pesquisou e baixou arquivos graças ao uso do protocolo GAP.
  • Sistema VPN para criação de serviços ocultos no domínio “.gnu” e encaminhamento de túneis IPv4 e IPv6 em rede P2P. Além disso, são suportados 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 de conversação GNUnet para fazer chamadas de voz através do GNUnet. O GNS é usado para identificar usuários; o conteúdo do tráfego de voz é transmitido de forma criptografada. O anonimato ainda não é fornecido - outros pares podem rastrear a conexão entre dois usuários e determinar seus endereços IP.
  • Plataforma para construção de redes sociais descentralizadas Secushare, usando o protocolo PSICO e suporte à distribuição de notificações em modo multicast usando criptografia ponta a ponta para que apenas usuários autorizados possam acessar mensagens, arquivos, chats e discussões (aqueles a quem as mensagens não são endereçadas, incluindo administradores de nós, não poderão lê-las );
  • Sistema para organizar e-mail criptografado privacidade muito fácil, que usa GNUnet para proteção de metadados e suporta vários protocolos criptográficos para verificação de chave;
  • Sistema de pagamento Workshop GNU, que fornece anonimato aos compradores, mas rastreia as transações dos vendedores para fins de transparência e relatórios fiscais. Suporta trabalhar com várias moedas e dinheiro eletrônico existentes, incluindo dólares, euros e bitcoins.

Principais novos recursos no GNUnet 0.13:

  • O registro foi colocado em funcionamento VITÓRIA (GNUnet Assigned Numbers Authority), responsável pela atribuição de nomes e endereços para o GNUnet.
  • A implementação do sistema descentralizado de nomes de domínio GNS está alinhada com especificação, proposto pela IETF. O “bloco” do plugin NSS foi melhorado. Adicionados novos sinalizadores SUPPLEMENTAL para registros que não são publicados explicitamente sob o rótulo fornecido, mas são retornados pelo resolvedor. Adicionado um aviso ao utilitário gnunet-namestore ao adicionar entradas TLSA ou SRV fora da entrada BOX.
  • No mecanismo de revogação de chave (GNS/REVOCATION), a função comprovante de trabalho concluído mudou para usar o algoritmo de hash Argon2.
  • No serviço de troca descentralizada de atributos de identificação (RECLAIM), o tamanho do ticket foi aumentado para 256 bits.
  • O plugin de transporte, que utiliza o protocolo UDP para transferência de dados, foi movido para a categoria experimental devido a problemas de estabilidade;
  • O formato de arquivo da chave ECDSA e o método de serialização da chave privada são unificados com outras bibliotecas (as chaves antigas não funcionarão mais).
  • A biblioteca é usada como uma implementação de algoritmos de criptografia baseados em curvas elípticas libsódio.
  • Adicionada a capacidade de construir utilitários com a biblioteca cURL, não relacionada ao gnutls.
  • Servidor de integração contínua retornado Construir bot.
  • As dependências de construção incluem libmicrohttpd, libjansson e libsodium.

Fonte: opennet.ru

Adicionar um comentário