Lanzamiento de NNCP 8.8.0, utilidades para transferir archivos/comandos en modo de almacenamiento y reenvío

El lanzamiento de Node-to-Node CoPy (NNCP), un conjunto de utilidades para transferir archivos, correo electrónico y comandos de forma segura para su ejecución en modo de almacenamiento y reenvío. Admite el funcionamiento en sistemas operativos compatibles con POSIX. Las utilidades están escritas en Go y distribuidas bajo la licencia GPLv3.

Las utilidades se centran en ayudar a construir pequeñas redes de amigo a amigo (docenas de nodos) con enrutamiento estático para transferencias seguras de archivos, solicitudes de archivos, correo electrónico y solicitudes de comandos. Todos los paquetes transmitidos están cifrados (de extremo a extremo) y se autentican explícitamente utilizando claves públicas conocidas de amigos. El cifrado cebolla (como en Tor) se utiliza para todos los paquetes intermedios. Cada nodo puede actuar como cliente y servidor y utilizar modelos de comportamiento tanto de inserción como de sondeo.

La diferencia entre las soluciones NNCP, UUCP y FTN (FidoNet Technology Network), además del cifrado y autenticación mencionados anteriormente, es el soporte listo para usar para redes floppinet y computadoras físicamente aisladas (con espacio de aire) de locales e inseguros. redes públicas. NNCP también presenta una fácil integración (a la par con UUCP) con servidores de correo actuales como Postfix y Exim.

Las posibles áreas de aplicación de NNCP incluyen organizar el envío/recepción de correo a dispositivos sin una conexión permanente a Internet, transferir archivos en condiciones de conexión de red inestable, transferir de forma segura grandes cantidades de datos en medios físicos, crear redes de transmisión de datos aisladas protegidas de Ataques MitM, evitando la censura y vigilancia de la red. Dado que la clave de descifrado está únicamente en manos del destinatario, independientemente de si el paquete se entrega a través de una red o de un medio físico, un tercero no puede leer el contenido, incluso si el paquete es interceptado. A su vez, la autenticación de firma digital no permite crear un mensaje ficticio disfrazado de otro remitente.

Entre las novedades de NNCP 8.8.0, respecto a las novedades anteriores (versión 5.0.0):

  • En lugar del hash BLAKE2b, para comprobar la integridad de los archivos se utiliza el llamado MTH: Merkle Tree-based Hashing, que utiliza el hash BLAKE3. Esto le permite calcular la integridad de la parte cifrada del paquete directamente durante la descarga, sin necesidad de leerlo en el futuro. Esto también permite una paralelización ilimitada de comprobaciones de integridad.
  • El nuevo formato de paquete cifrado es completamente compatible con la transmisión cuando se desconoce de antemano el tamaño de los datos. La señalización de finalización de la transferencia, con un tamaño autenticado, va directamente dentro del flujo cifrado. Anteriormente, para conocer el tamaño de los datos transferidos, era necesario guardarlos en un archivo temporal. Entonces el comando “nncp-exec” ha perdido la opción “-use-tmp” porque es completamente innecesario.
  • Las funciones BLAKE2b KDF y XOF han sido reemplazadas por BLAKE3 para reducir la cantidad de primitivas criptográficas utilizadas y simplificar el código.
  • Ahora es posible detectar otros nodos en la red local mediante multidifusión a la dirección “ff02::4e4e:4350”.
  • Han aparecido grupos de multidifusión (análogos a las conferencias de eco de FidoNet o los grupos de noticias de Usenet), que permiten que un paquete envíe datos a varios miembros del grupo, donde cada uno también transmite el paquete al resto de los firmantes. La lectura de un paquete de multidifusión requiere conocimiento del par de claves (debe ser miembro explícitamente del grupo), pero cualquier nodo puede realizar la retransmisión.
  • Ahora se admite la confirmación explícita de la recepción del paquete. El remitente no puede eliminar el paquete después del envío y esperar hasta recibir un paquete ACK especial del receptor.
  • Soporte integrado para la red superpuesta de Yggdrasil: los demonios en línea pueden actuar como participantes de red independientes y completos, sin utilizar implementaciones de Yggdrasil de terceros y sin trabajar completamente con la pila de IP en una interfaz de red virtual.
  • En lugar de cadenas estructuradas (RFC 3339), el registro utiliza entradas de archivo rec, que se pueden utilizar con las utilidades GNU Recutils.
  • Opcionalmente, los encabezados de paquetes cifrados se pueden almacenar en archivos separados en el subdirectorio "hdr/", lo que acelera significativamente las operaciones de recuperación de listas de paquetes en sistemas de archivos con tamaños de bloques grandes, como ZFS. Anteriormente, para recuperar el encabezado del paquete era necesario leer solo un bloque de 128 KB del disco de forma predeterminada.
  • La comprobación de archivos nuevos puede utilizar opcionalmente kqueue e inotificar los subsistemas del kernel, realizando menos llamadas al sistema.
  • Las utilidades mantienen menos archivos abiertos y los cierran y vuelven a abrir con menos frecuencia. Con una gran cantidad de paquetes, antes era posible encontrarse con una limitación en la cantidad máxima de archivos abiertos.
  • Muchos equipos comenzaron a mostrar el progreso y la velocidad de operaciones como descargar/cargar, copiar y procesar (tirar) paquetes.
  • El comando "nncp-file" puede enviar no solo archivos individuales, sino también directorios, creando un archivo pax con su contenido sobre la marcha.
  • Opcionalmente, las utilidades en línea pueden invocar inmediatamente el lanzamiento de paquetes después de que un paquete se haya descargado exitosamente, sin ejecutar un demonio "nncp-toss" separado.
  • Opcionalmente, una llamada en línea a otro participante puede ocurrir no solo cuando se activa un temporizador, sino también cuando aparece un paquete saliente en el directorio de spool.
  • Garantiza la operatividad bajo NetBSD y OpenBSD OS, además de FreeBSD y GNU/Linux previamente compatibles.
  • "nncp-daemon" es totalmente compatible con la interfaz UCSPI-TCP. Junto con la capacidad de iniciar sesión en un descriptor de archivo específico (por ejemplo, configurando "NNCPLOG=FD:4"), es completamente amigable para ejecutar con utilidades similares a daemontools.
  • El conjunto del proyecto se ha transferido completamente al sistema de rehacer.

Fuente: opennet.ru

Añadir un comentario