Lançamento do Yggdrasil 0.4, uma implementação de rede privada rodando na Internet

Foi publicado o lançamento da implementação de referência do protocolo Yggdrasil 0.4, que permite implantar uma rede IPv6 privada descentralizada separada em cima de uma rede global regular, que usa criptografia ponta a ponta para proteger a confidencialidade. Quaisquer aplicativos existentes que suportem IPv6 podem ser usados ​​para funcionar através da rede Yggdrasil. A implementação é escrita em Go e distribuída sob a licença LGPLv3. As plataformas Linux, Windows, macOS, FreeBSD, OpenBSD e Ubiquiti EdgeRouter são suportadas.

Yggdrasil está desenvolvendo um novo conceito de roteamento para criar uma rede global descentralizada, cujos nós podem se conectar diretamente uns aos outros no modo de rede mesh (por exemplo, via Wi-Fi ou Bluetooth), ou interagir através de redes IPv6 ou IPv4 existentes (rede em topo da rede). Uma característica distintiva do Yggdrasil é a auto-organização do trabalho, sem a necessidade de configurar explicitamente o roteamento - as informações sobre as rotas são calculadas com base na localização do nó na rede em relação a outros nós. Os dispositivos são endereçados por meio de um endereço IPv6 normal, que não muda se um nó for movido (Yggdrasil usa o intervalo de endereços não utilizado 0200::/7).

Toda a rede Yggdrasil não é vista como uma coleção de sub-redes distintas, mas como uma única árvore geradora estruturada com uma “raiz” e cada nó tendo um pai e um ou mais filhos. Essa estrutura em árvore permite construir uma rota para o nó de destino, em relação ao nó de origem, usando o mecanismo “localizador”, que determina o caminho ideal para o nó a partir da raiz.

As informações da árvore são distribuídas entre os nós e não são armazenadas centralmente. Para trocar informações de roteamento, é utilizada uma tabela hash distribuída (DHT), por meio da qual um nó pode recuperar todas as informações sobre a rota para outro nó. A própria rede fornece apenas criptografia ponta a ponta (os nós de trânsito não podem determinar o conteúdo), mas não o anonimato (quando conectado pela Internet, os pares com os quais a interação direta é realizada podem determinar o endereço IP real, portanto, para anonimato, é proposto para conectar nós via Tor ou I2P).

Nota-se que apesar do projeto estar em fase de desenvolvimento alfa, ele já é estável o suficiente para uso diário, mas não garante compatibilidade retroativa entre lançamentos. Para Yggdrasil 0.4, a comunidade suporta um conjunto de serviços, incluindo uma plataforma para hospedar contêineres Linux para hospedar seus sites, o mecanismo de busca YaCy, servidor de comunicação Matrix, servidor IRC, DNS, sistema VoIP, rastreador BitTorrent, mapa de pontos de conexão, gateway IPFS e proxy para acessar redes Tor, I2P e clearnet.

Na nova versão:

  • Foi implementado um novo esquema de roteamento que não é compatível com versões anteriores do Yggdrasil.
  • Ao estabelecer conexões TLS com hosts, está envolvida a ligação de chave pública (fixação de chave). Se não houve vinculação na conexão, a chave resultante será atribuída à conexão. Se uma ligação tiver sido estabelecida, mas a chave não corresponder, a conexão será rejeitada. TLS com ligação de chave é definido como o método recomendado para conexão com pares.
  • O código para roteamento e gerenciamento de sessão foi completamente redesenhado e reescrito, permitindo maior rendimento e confiabilidade, especialmente para nós que mudam frequentemente de peer. As sessões criptográficas implementam a rotação periódica de chaves. Adicionado suporte para roteamento de origem, que pode ser usado para redirecionar o tráfego IPv6 do usuário. Arquitetura de tabela de hash distribuída (DHT) redesenhada e suporte adicional para roteamento baseado em DHT. A implementação de algoritmos de roteamento foi movida para uma biblioteca separada.
  • Os endereços IP IPv6 agora são gerados a partir de chaves públicas ed25519 em vez de seu hash X25519, o que fará com que todos os IPs internos sejam alterados ao migrar para a versão 0.4 do Yggdrasil.
  • Configurações adicionais foram fornecidas para procurar pares Multicast.

Fonte: opennet.ru

Adicionar um comentário