1 points par GN⁺ 2024-08-16 | 1 commentaires | Partager sur WhatsApp
  • Nomad Network est un outil de communication mesh hors réseau destiné à créer une plateforme de communication privée et résiliente, possédée et contrôlée directement par l’utilisateur, sans inscription, conditions d’utilisation, soumission de données ni autorité d’approbation des accès
  • Il repose sur LXMF et Reticulum, qui fournissent des fonctions de réseau mesh chiffré et de routage de messages P2P, et fonctionne sur une grande variété de supports de communication, de la radio par paquets à la fibre optique
  • Il peut être utilisé sans Internet public, IP ni Ethernet, et fonctionner sur packet radio, LoRa ou liaison série ; grâce à Reticulum, il a même été utilisé sur des liaisons radio à 300 bps
  • Ses fonctions incluent la messagerie chiffrée, la communication mesh sans configuration, un stockage distribué et chiffré des messages pour les utilisateurs hors ligne, des nœuds d’hébergement de pages et de fichiers, un navigateur en mode texte et la mise en cache des pages
  • Il s’agit actuellement d’un logiciel bêta ; il a été conçu avec les bonnes pratiques de cryptographie à l’esprit, mais n’a pas fait l’objet d’un audit de sécurité externe et peut contenir des bugs compromettant la confidentialité

Le modèle de communication proposé par Nomad Network

  • Nomad Network permet de créer une plateforme de communication privée et résiliente, entièrement contrôlée et possédée par l’utilisateur
  • Aucune inscription, acceptation de conditions d’utilisation, soumission de données, autorité d’approbation des accès ni gatekeeper n’est nécessaire
  • Le dépôt est un miroir public, le développement réel se faisant ailleurs
  • Si vous voulez un client LXMF avec interface graphique, vous pouvez utiliser Sideband pour Linux, Android et macOS

Technologies sous-jacentes et supports réseau

  • Nomad Network est construit sur LXMF et Reticulum
    • Ces deux projets fournissent les fonctions de réseau mesh chiffré et le routage de messages P2P dont dépend Nomad Network
  • Grâce à cette base, le programme peut être utilisé sur des supports de communication très variés, de la radio par paquets à la fibre optique
  • Il fonctionne sans connexion à l’Internet public, et un réseau IP ou Ethernet n’est pas une condition indispensable
    • Il peut être utilisé uniquement avec packet radio, LoRa ou une liaison série
    • Si nécessaire, des réseaux isolés peuvent être reliés à Internet ou à un Ethernet privé par un pont
    • Il est aussi possible de créer des réseaux fonctionnant entièrement sur Internet
  • Comme il utilise Reticulum, il est efficace même sur des supports à très faible bande passante, et a déjà été utilisé avec succès sur une liaison radio à 300 bps

Fonctionnalités principales

  • Fournit une messagerie chiffrée sur les supports pris en charge par Reticulum, comme packet radio, LoRa ou WiFi
  • Prend en charge la communication mesh avec zéro configuration et une infrastructure minimale
  • Propose un stockage distribué et chiffré des messages pour conserver les messages destinés aux utilisateurs hors ligne
  • Les nœuds joignables peuvent héberger des pages et des fichiers
  • Les pages peuvent être générées côté nœud avec PHP, Python, bash, etc.
  • Intègre un navigateur en mode texte pour interagir avec le contenu des nœuds
  • Fournit un langage de balisage facile à utiliser et économe en bande passante pour rédiger des pages
  • Prend en charge la mise en cache des pages dans le navigateur

Installation et exécution

  • La méthode d’installation la plus simple consiste à utiliser pip
pip install nomadnet
nomadnet
nomadnet --daemon
nomadnet --help
  • Sur les systèmes d’exploitation qui bloquent l’installation de paquets par l’utilisateur standard, vous pouvez rétablir le comportement de pip en ajoutant le réglage suivant à la section [global] de ~/.config/pip/pip.conf
[global]
break-system-packages = true
  • Pour installer dans un environnement isolé, vous pouvez utiliser pipx
pipx install nomadnet
pipx install rns
pipx install lxmf
nomadnet
nomadnet --daemon
nomadnet --help
  • Si c’est la première fois que vous installez un programme avec pip sur le système, et que la commande d’exécution n’est pas reconnue, il peut être nécessaire de redémarrer le système puis de réessayer
  • Lors du premier lancement du programme, une section Guide contenant les informations nécessaires pour commencer à l’utiliser s’affiche

Utilisation de packet radio, LoRa et du testnet

  • Pour utiliser Nomad Network avec packet radio ou LoRa, l’installation de Reticulum doit être configurée pour utiliser le TNC packet radio ou l’appareil LoRa concerné
  • Pour tester sans créer directement de réseau physique, vous pouvez vous connecter au testnet RNS d’Unsigned.io via Internet
    • Le testnet comporte déjà une certaine activité Nomad Network et LXMF
    • Après la connexion, lancez nomadnet pendant quelque temps afin de recevoir les annonces d’autres nœuds hébergeant des pages ou des services
  • Nœuds du testnet auxquels vous pouvez essayer de vous connecter directement :
    • abb3ebcd03cb2388a838e70c001291f9 : Dublin Hub Testnet Node
    • ea6a715f814bdc37e56f80c34da6ad51 : Frankfurt Hub Testnet Node
  • Pour parcourir les pages d’un nœud encore inconnu, ouvrez la boîte de dialogue d’URL avec Ctrl+U dans la section Network du programme, saisissez l’adresse, puis sélectionnez Go ou appuyez sur Entrée
    • NomadNet tente alors de découvrir le nœud demandé et de s’y connecter

Android et Docker

  • Sur Android, Nomad Network peut être installé avec Termux, mais la procédure nécessite davantage de commandes qu’une installation classique en une ligne
    • La procédure est documentée dans Android Installation du manuel de Reticulum
    • Après l’installation de Reticulum, Nomad Network peut être installé avec pip
  • Si vous avez besoin d’une application graphique Android native, vous pouvez utiliser Sideband
  • Nomad Network est publié automatiquement sous forme d’image Docker sur GitHub Packages
    • Les tags d’image sont master pour le dernier commit, ou un numéro de version de release spécifique
    • Un exemple de tag de version est 0.2.0
docker pull ghcr.io/markqvist/nomadnet:master
docker run -it ghcr.io/markqvist/nomadnet:master --textui
docker run -i ghcr.io/markqvist/nomadnet:master --daemon --console

Outils, extensions et feuille de route

  • Nomad Network est une plateforme flexible et extensible, avec des outils fournis par la communauté et des extensions côté nœud
  • Les demandes d’aide, discussions et partages d’idées peuvent se faire sur les pages de discussion de Nomad Network
  • Les nouvelles fonctionnalités majeures de la feuille de route de développement incluent des bulletins et fils de discussion propagés à l’échelle du réseau, ainsi que des cartes collaboratives et le partage d’informations géospatiales
  • Les améliorations et corrections incluent l’affichage de l’état des liens, des raccourcis de navigation dans les menus, le partage de nœuds, la correction de problèmes de l’éditeur interne sur certains OS, ainsi qu’un mécanisme de nouvelle tentative pour les messages en échec

État de sécurité et précautions

  • Nomad Network doit être considéré comme un logiciel bêta
  • Il a été conçu en accordant une très grande priorité aux bonnes pratiques de cryptographie, mais n’a pas fait l’objet d’un audit de sécurité externe
  • Il peut contenir des bugs compromettant la confidentialité
  • Il est indiqué de prendre contact pour contribuer à l’audit ou le financer

1 commentaires

 
GN⁺ 2024-08-16
Commentaires sur Hacker News
  • Cela pourrait ne plus être le cas si NextNav récupère une grande partie de la bande ISM 900MHz : https://news.ycombinator.com/item?id=41226802
    https://en.wikipedia.org/wiki/ISM_radio_band
    Vous pouvez déposer un avis ici : https://www.fcc.gov/ecfs/search/docket-detail/24-240

    • La manière de déposer cet avis ne saute pas aux yeux. Si moi je ne la trouve pas, d'autres risquent aussi de ne pas la trouver, donc ce serait utile d'indiquer où aller
    • Je ne trouve pas la zone de commentaires. Je vieillis et ma vue baisse, mais je ne la vois pas, et mon agent non plus ne trouve pas le lien
    • Comme le LoRaWAN WiFi se trouve dans la bande 900MHz dans le cadre de WiFi 6 ou 7, j'espère qu'au pire cela bénéficiera d'une exception
  • Il y a un fil en cours à ce sujet :
    Private, Secure and Uncensorable Messaging over a LoRa Mesh (2022) - https://news.ycombinator.com/item?id=41256623 - août 2024, 21 commentaires

  • Le réseau Reticulum sur lequel cela s'appuie est assez intéressant, car il prend en charge de nombreux supports de transport, comme la radio par paquets

    • Reticulum est extrêmement flexible, et il existe aussi un écosystème d'outils en développement. NomadNet n'est qu'une des messageries ; il y a aussi l'application cliente mobile Sideband(https://github.com/markqvist/Sideband) et le client web Reticulum MeshChat développé par Liam Cottle(https://github.com/liamcottle/reticulum-meshchat)
      Reticulum peut fonctionner sur n'importe quel support dès lors qu'il offre un débit supérieur à 5 bits par seconde et une MDU de 500 octets. Il fonctionne non seulement sur des centaines de supports comme LoRa, BLE, la radio par paquets, ou des réseaux overlay comme Tor ou I2P, mais ces supports peuvent aussi faire partie du même réseau
      J'ai réalisé une preuve de concept rapide fonctionnant sur radio HF. J'ai configuré deux nœuds séparés d'environ 144 km, utilisant tous deux un ICOM-7300 et un Raspberry Pi 5 pour faire tourner un modem logiciel recevant et envoyant des paquets Reticulum par radio : https://www.youtube.com/watch?v=blwNVumLujc
      Le nœud 1 se trouvait en extérieur et le nœud 2 à la maison. Sur le nœud 2, j'avais configuré une interface pour le modem HF et une autre connectée à un testnet TCP, ce qui permettait au nœud 1 d'accéder à tous les pairs présents sur le testnet TCP
      Il existe aussi une courte vidéo d'introduction expliquant les concepts de base de Reticulum : https://www.youtube.com/watch?v=q8ltLt5SK6A
    • C'est drôle que ça existe vraiment. Je pensais que c'était une blague sur le réseau informatique fictif reticulum dans le roman Anathem de Neal Stephenson
    • Je suis en train de regarder la partie tolérance à la latence du protocole, et ce serait parfait s'il prenait aussi en charge le sneakernet comme moyen de transport
      Correction : en fait non. Cela semble se régler au niveau global, pas lien par lien
  • Le concept est intéressant, mais communiquer avec les personnes qui utilisent des appareils iOS/iPadOS pose problème. En général, on ne peut pas utiliser ce type d'app à cause des restrictions de l'OS[1], et l'effet de réseau rend son adoption très difficile pour la plupart des gens
    [1] https://forums.developer.apple.com/forums/thread/685525

  • J'ai du mal à comprendre comment on peut se sentir vraiment protégé sur le plan de la vie privée tout en saisissant du texte via le clavier tactile d'un appareil Android ou iOS
    Si on veut une vraie confidentialité, il faudrait utiliser, pour la capture et l'affichage du texte, le chiffrement et l'envoi de paquets chiffrés, un clavier/terminal fonctionnant en bare metal et envoyant des blobs chiffrés à travers un client Reticulum
    Cela pourrait par exemple passer par du série filaire ou du Bluetooth, avec éventuellement un MCU séparé pour gérer le réseau et le protocole. L'idée essentielle est d'exécuter en bare metal du code vérifié sans blobs binaires, puis de n'envoyer au nœud réseau que des payloads chiffrés. Si possible, une liaison série TTL entre le contrôleur du terminal et le contrôleur réseau serait idéale

  • Je me demande comment NomadNet/Reticulum se compare à Yggdrasil, IPFS, Nostr, Scuttlebutt

    • Il est difficile de comparer des choses aussi différentes, mais je vais essayer.
      Scuttlebutt : Reticulum est une pile réseau qui route les données en temps réel, pas un réseau social décentralisé.
      Nostr : idem que Scuttlebutt.
      IPFS : Reticulum ne stocke pas les données, il les transporte. Cela dit, certains protocoles fonctionnant au-dessus de Reticulum, comme LXMF, peuvent proposer en option un stockage temporaire des messages.
      Yggdrasil est l’exemple le plus proche de Reticulum parmi ceux cités, mais d’après ce que j’ai rapidement trouvé, je n’ai pas pu obtenir beaucoup de détails sur son fonctionnement. À l’heure actuelle, il semble ne fonctionner que sur IPv6, avec dans une certaine mesure des tunnels IPv4, alors que Reticulum fonctionne au-dessus de n’importe quoi.
      Si cela vous intéresse et que vous voulez comprendre comment fonctionne Reticulum, je vous recommande de lire au minimum http://reticulum.network/manual/understanding.html
  • Quelques notes d’utilisabilité, après un survol rapide et peut-être avec une compréhension incomplète.
    Le fait de montrer en préfixe, d’une manière compréhensible pour l’utilisateur, les nombres qui servent d’adresses d’identité est déjà mieux que la plupart des alternatives. La façon dont l’identité et la confiance sont traitées ensemble dans la boîte de dialogue semble aussi relativement compréhensible. Le fait d’avoir des catégories au-delà de fiable / non fiable (inconnu) est une bonne idée, mais ce n’est pas immédiatement évident. Il faut expliquer aux utilisateurs ce que signifie exactement « trust » dans ce contexte.
    Les utilisateurs n’ont pas besoin de savoir que cela utilise Curve25519 ; il leur suffit de savoir qu’une forme de chiffrement est bien en place.
    Afficher les numéros d’identité en hexadécimal est probablement le pire choix possible parmi les bases disponibles. Pour l’identification, un format décimal plus familier ou un base32 plus court serait préférable, et les numéros d’identité devraient être affichés de manière cohérente avec un regroupement utile, par exemple 4 groupes de 5 chiffres.

  • La lecture de ceci m’enthousiasme énormément. La création d’un réseau mesh off-grid est l’hypothèse centrale de mon roman de science-fiction « Mesh » : https://inkican.com/mesh-middle-grade-scifi-thriller/

  • Ça fait penser à Meshtastic, mais Nomad semble destiné aux PC, tandis que Meshtastic semble conçu pour les microcontrôleurs
    https://meshtastic.org/

  • J’ai cherché, mais je n’ai pas trouvé. Est-ce que ça a déjà fait l’objet d’un audit ?

    • « Nomad Network est un logiciel en bêta et doit être considéré comme tel. Il a été conçu en accordant la plus haute priorité aux bonnes pratiques cryptographiques, mais il n’a pas fait l’objet d’un audit de sécurité externe et il peut très bien contenir des bugs suffisants pour compromettre la confidentialité. Si vous voulez aider, ou contribuer au financement d’un audit, n’hésitez pas à nous contacter. »
    • À ce stade, à moins d’être prêt à payer ou à mener une levée de fonds, il ne me paraît pas raisonnable d’attendre un audit formel pour un produit non commercial.