www.safezone-fpv.com
s

Sécurité & nuds Obambu

De la première API FastAPI jusquà la blockchain locale des maires : comment un nud Obambu stocke, signe et transporte les documents, aujourdhui et demain (Roadmap dev Sécurité).

1. Vue générale : quest-ce quun nud Obambu ?

Un nud Obambu est un petit serveur (laptop, mini-PC, RPi, etc.) qui joue trois rôles :

Techniquement, le nud actuel est une application FastAPI avec un stockage SQLite, quelques dossiers de fichiers, et une couche de sécurité admin.


2. Stockage : fichiers + métadonnées

Le code de stockage (storage.py) organise les données dans une arborescence très simple :

lenregistrement dun document via lAPI admin (/api/v1/admin/docs), le nud :

Pour les boîtiers ou téléphones, lAPI « coté appareil » permet simplement de :


3. Sécurité admin : token & signatures ed25519

Les opérations sensibles (ajouter des documents, gérer les profils de station, importer des bundles) sont protégées par une double mécanique :

3.1. Principe des signatures admin

Loutil admin_sign.py génère une paire de clés (secrète + publique) et signe les requêtes dadministration :

Pour chaque requête sensible, on calcule une signature sur :

METHOD + "\n" + PATH + "\n" + TIMESTAMP + "\n" + BODY

Les en-têtes envoyés deviennent alors :

Le nud vérifie que :


4. Bundles « LuckyBlocks » : transport opportuniste sécurisé

Pour traverser les zones sans réseau permanent, Obambu utilise des bundles, aussi appelés LuckyBlocks : des paquets de documents compressés, signés et transportés physiquement (USB) ou via des porteurs (téléphones, laptops, boîtiers S/H).

4.1. Contenu dun bundle

LAPI /api/v1/bundles/export fabrique un bundle à partir des documents du nud :

Loutil bundle_carrier.py permet de faire très simplement :

4.2. Rôle de la station K agent

Le script station_k_agent.py joue le rôle dagent minimal pour une station K (mairie/relais) sur laptop ou RPi :

Cet agent représente le comportement minimal dune mairie dans la couche LuckyBlock : absorber ce qui la concerne, relayer le reste.


5. Feuille de route logicielle (version lisible)

La base actuelle (nud FastAPI + stockage + bundles + scripts de transport) est déjà suffisante pour tester le modèle en labo. La roadmap suivante détaille comment passer dun « serveur de fichiers intelligent » à une blockchain locale des maires.

Phase 0 Nud de base (déjà présent)

Objectif simple : un nud qui répond, stocke des documents et alimente les boîtiers.

Phase 1 Sécurité admin robuste

Rendre sérieux laccès admin avant de multiplier les nuds.

Phase 2 Bundles & ferries en conditions réelles

Tester les LuckyBlocks avec de vrais transports humains (USB, Termux, laptops).

Phase 3 Journal dévénements type blockchain

Passer dun simple stockage de fichiers à un vrai journal dévénements signés.

Phase 4 Synchro de la chaîne entre nuds

Propager les événements (blocs) en plus des documents.

Phase 5 Forum des maires & votes

Utiliser la chaîne pour des usages politiques concrets.

Phase 6 Optimisation & simplification pour terrain

Aller vers un système que des non-techniciens peuvent maintenir.


6. Conclusion

Le système actuel nest pas encore une « blockchain complète » au sens académique. Cest volontaire : la priorité est de disposer dun nud simple, transportable et sécurisé que les mairies peuvent utiliser, même avec trois laptops et deux ESP32.

La blockchain locale des maires émergera progressivement en ajoutant un journal dévénements signés, des blocs, puis une synchronisation entre nuds par LuckyBlocks et liens Wi-Fi.