Lanzamento de NNCP 8.8.0, utilidades para transferir ficheiros/comandos en modo almacenar e reenviar

O lanzamento de Node-to-Node CoPy (NNCP), un conxunto de utilidades para transferir de forma segura ficheiros, correo electrónico e comandos para a súa execución no modo de almacenamento e reenvío. Admite o funcionamento en sistemas operativos compatibles con POSIX. As utilidades están escritas en Go e distribúense baixo a licenza GPLv3.

As utilidades céntranse en axudar a construír pequenas redes peer-to-peer de amigo a amigo (dúcias de nós) con enrutamento estático para transferencias seguras de ficheiros, solicitudes de ficheiros, correo electrónico e solicitudes de comandos. Todos os paquetes transmitidos están cifrados (de extremo a extremo) e autentícanse explícitamente mediante as claves públicas coñecidas dos amigos. O cifrado Cebola (como en Tor) úsase para todos os paquetes intermedios. Cada nodo pode actuar tanto como cliente como servidor e utilizar modelos de comportamento push e sondaxe.

A diferenza entre as solucións NNCP e UUCP e FTN (FidoNet Technology Network), ademais do cifrado e autenticación mencionados anteriormente, é o soporte listo para usar para redes floppinet e ordenadores illados fisicamente (aire libre) de locais e equipos inseguros. redes públicas. NNCP tamén ofrece unha fácil integración (a par que UUCP) cos servidores de correo actuais como Postfix e Exim.

As posibles áreas de aplicación para NNCP inclúen a organización do envío/recepción de correo a dispositivos sen conexión permanente a Internet, a transferencia de ficheiros en condicións de conexión de rede inestable, a transferencia segura de cantidades moi grandes de datos en medios físicos, a creación de redes illadas de transmisión de datos protexidas de Ataques MitM, evitando a censura e a vixilancia da rede. Dado que a clave de descifrado só está en mans do destinatario, independentemente de que o paquete se entregue a través da rede ou a través de medios físicos, un terceiro non pode ler o contido, aínda que o paquete sexa interceptado. Pola súa banda, a autenticación de sinatura dixital non permite crear unha mensaxe ficticia baixo o pretexto doutro remitente.

Entre as novidades de NNCP 8.8.0, en comparación coas novas anteriores (versión 5.0.0):

  • En lugar do hash BLAKE2b, utilízase o chamado MTH: Merkle Tree-based Hashing, que usa o hash BLAKE3, para comprobar a integridade dos ficheiros. Isto permítelle calcular a integridade da parte cifrada do paquete xusto durante a descarga, sen requirir a súa lectura no futuro. Isto tamén permite a paralelización ilimitada das comprobacións de integridade.
  • O novo formato de paquete cifrado é totalmente compatible coa transmisión cando se descoñece de antemán o tamaño dos datos. A sinalización da finalización da transferencia, cun tamaño autenticado, vai directamente dentro do fluxo cifrado. Anteriormente, para coñecer o tamaño dos datos transferidos, era necesario gardalos nun ficheiro temporal. Entón, o comando "nncp-exec" perdeu a opción "-use-tmp" xa que é completamente innecesario.
  • As funcións BLAKE2b KDF e XOF foron substituídas por BLAKE3 para reducir o número de primitivas criptográficas utilizadas e simplificar o código.
  • Agora é posible detectar outros nodos na rede local mediante a multidifusión ao enderezo "ff02::4e4e:4350".
  • Apareceron grupos de multidifusión (análogos ás conferencias de eco FidoNet ou aos grupos de noticias Usenet), que permiten que un paquete envíe datos a varios membros do grupo, onde cada un tamén transmite o paquete ao resto dos asinantes. A lectura dun paquete de multidifusión require o coñecemento do par de claves (debes ser un membro do grupo explícitamente), pero a retransmisión pódese facer por calquera nodo.
  • Agora hai soporte para a confirmación explícita da recepción de paquetes. É posible que o remitente non elimine o paquete despois do envío, esperando ata que reciba un paquete ACK especial do receptor.
  • Compatibilidade integrada para a rede de superposición Yggdrasil: os daemons en liña poden actuar como participantes de rede independentes, sen utilizar implementacións de Yggdrasil de terceiros e sen traballar completamente coa pila IP nunha interface de rede virtual.
  • En lugar de cadeas estruturadas (RFC 3339), o rexistro usa entradas de ficheiro recto, que se poden usar coas utilidades GNU Recutils.
  • Opcionalmente, as cabeceiras de paquetes cifradas pódense almacenar en ficheiros separados no subdirectorio "hdr/", acelerando significativamente as operacións de recuperación da lista de paquetes en sistemas de ficheiros con grandes bloques, como ZFS. Anteriormente, para recuperar a cabeceira do paquete requiría ler só un bloque de 128 KiB do disco por defecto.
  • A comprobación de novos ficheiros pode usar opcionalmente o kqueue e inotify os subsistemas do núcleo, facendo menos chamadas ao sistema.
  • As utilidades manteñen menos ficheiros abertos e péchanos e abren con menos frecuencia. Cun gran número de paquetes, anteriormente era posible atoparse cunha limitación no número máximo de ficheiros abertos.
  • Moitos equipos comezaron a mostrar o progreso e a velocidade de operacións como descargar/cargar, copiar e procesar (tirar) paquetes.
  • O comando "nncp-file" pode enviar non só ficheiros individuais, senón tamén directorios, creando un arquivo pax co seu contido sobre a marcha.
  • Opcionalmente, as utilidades en liña poden invocar inmediatamente o lanzamento de paquetes despois de que un paquete se descargase correctamente, sen executar un daemon "nncp-toss" separado.
  • Unha chamada en liña a outro participante pode ocorrer opcionalmente non só cando se activa un temporizador, senón tamén cando aparece un paquete de saída no directorio de cola.
  • Asegura a operatividade baixo NetBSD e OpenBSD OS, ademais de FreeBSD e GNU/Linux compatibles anteriormente.
  • "nncp-daemon" é totalmente compatible coa interface UCSPI-TCP. Xunto coa capacidade de iniciar sesión nun descritor de ficheiros especificado (por exemplo, configurando "NNCPLOG=FD:4"), é completamente amigable para executar con utilidades tipo daemontools.
  • O conxunto do proxecto foi completamente transferido ao sistema de redo.

Fonte: opennet.ru

Engadir un comentario