- Pile réseau fondée sur la cryptographie, fonctionnant sur divers supports comme LoRa, la radio par paquets et le WiFi, avec une communication fiable même dans des environnements à très faible débit et à forte latence
- Inclut des fonctions centrées sur la sécurité telles que le chiffrement de bout en bout, l’anonymat de l’expéditeur, le routage multi-sauts auto-configuré et des accusés de réception infalsifiables
- Ne dépend pas de la pile IP et peut s’exécuter en espace utilisateur dans un environnement Python 3 sans module noyau
- Vise la construction de réseaux autonomes à faible coût, capables d’interconnecter des milliers de réseaux indépendants sans contrôle centralisé ni censure
- Outil open source de grande valeur pour les développeurs et les chercheurs souhaitant mettre en place une infrastructure de communication distribuée et du réseau off-grid
Présentation de Reticulum
- Reticulum est une pile réseau fondée sur la cryptographie permettant de construire des réseaux locaux et étendus à l’aide de matériel standard
- Fonctionne même dans des environnements à forte latence et faible bande passante
- Fournit le chiffrement de bout en bout, l’anonymat de l’expéditeur, le transfert multi-sauts auto-configuré, l’adressage efficace et des accusés de réception infalsifiables
- L’objectif est que chacun puisse devenir opérateur de son propre réseau et construire des réseaux autonomes et interconnectables sans contrôle centralisé
- Reticulum n’est pas un réseau unique, mais un outil conçu pour construire des milliers de réseaux indépendants
- Il peut aussi fonctionner sur IP, ce qui permet le tunneling via Internet ou un réseau privé
- S’exécute dans un environnement Python 3, sans module noyau ni pilote requis
Fonctionnalités principales
- Prend en charge l’adressage global unique et le routage multi-sauts auto-configuré
- Permet la transmission de données sur divers supports physiques et topologies
- Anonymat de l’expéditeur garanti : les paquets n’incluent pas d’adresse source
- Communication fondée sur le chiffrement asymétrique X25519 et les signatures Ed25519
- Utilise un jeu de clés Curve25519 de 512 bits
- Prend en charge la Forward Secrecy, le chiffrement AES-256-CBC et l’authentification SHA256 HMAC
- Système d’interfaces extensible permettant d’ajouter des interfaces personnalisées
- API simple facilitant le développement d’applications distribuées
- Prend en charge le transfert de gros volumes de données, avec compression, checksum et ajustement de transmission automatiques
- Mécanisme léger de Request/Response et établissement de lien efficace (3 paquets, 297 octets)
Implémentation de référence et protocole
- Le code Python de ce dépôt constitue l’implémentation de référence officielle et sert de base à la définition du protocole
- Distribué sous la Reticulum License, le protocole a été versé dans le domaine public en 2016
- La compatibilité est définie par une interopérabilité complète avec l’implémentation de référence
Exemples d’utilisation
- rnsh : session de shell distant basée sur Reticulum
- LXMF : protocole de messagerie distribué
- LXST : framework de transmission audio et de signaux en temps réel
- Nomad Network : plateforme de messagerie chiffrée off-grid
- Sideband : application GUI avec transfert de fichiers, appels vocaux et fonctions cartographiques
- MeshChat : client LXMF web prenant en charge le transfert d’images, de voix et de fichiers
Supports et appareils pris en charge
- Fonctionne sur tout support offrant au minimum un canal half-duplex de 5 bps et une MTU de 500 octets
- Peut utiliser LoRa, la radio par paquets, le WiFi, Ethernet et des liaisons optiques
- RNode est une interface LoRa pour Reticulum, disponible en fabrication maison ou à l’achat en produit fini
- Permet des configurations mixtes LoRa, radio par paquets et WiFi sur Raspberry Pi et autres appareils similaires
Interfaces prises en charge
- Prend en charge Ethernet, LoRa (RNode), TNC de radio par paquets, modems KISS, appareils série, TCP/UDP, pipes stdio etc.
- Possibilité d’ajouter des modules d’interface personnalisés, les PR éprouvées en conditions réelles sont bienvenues
Performances et état du projet
- Plage de performances visée : 250 bps à 1 Gbps, actuellement environ 150 bps à 500 Mbps
- Fonctionnalités principales du protocole entièrement implémentées, API et formats dans un état stable
Amorçage de connexion
- Reticulum est un réseau autonome, et non un service sur abonnement
- La connexion initiale est possible via un répertoire public de points d’entrée exploité par la communauté
- Ex. :
directory.rns.recipes, rmap.world
Composants cryptographiques
- Jeu de clés Curve25519 de 512 bits, signatures Ed25519, échange de clés X25519
- Utilise HKDF, AES-256-CBC, HMAC-SHA256 et SHA-256/512
- Fourni par défaut via OpenSSL et PyCA/cryptography
- Inclut aussi une implémentation pure Python, mais avec un niveau de validation de sécurité plus faible
Aucun commentaire pour le moment.