« keygen » peut fabriquer la clef duniter et ipfs à partir du keygen ssh (avec clef à courbe elliptique: ECC) et les convertir en clef duniter (secret.dunikey) et ipfs (IPNS)
ssh-keygen -t ed25519 -C "userA"
keygen -i ~/.ssh/id_ed25519 -t duniter -o ~/.zen/Asecret.dunikey
keygen -i ~/.ssh/id_ed25519 -t ipfs -o ~/.zen/Asecret.ipns
On va utiliser « natools » pour faire voyager les données en sécurité dans IPFS
natools.py encrypt -p $UserBPubKey -i ~/.zen/file.clear -o ~/.zen/file.toB.enc
« jaklis » va servir distribuer la toile de confiance.
On envoi entre 1 et 100 G1 aux UserXPubKey des clefs SSH avec lesquelles ont veut signifier un niveau de confiance.
UserB devra faire de même avec le même montant (ou pas, on verra plus tard ce cas…)
MACHINE A
jaklis.py -k ~/.zen/secretA.dunikey pay -a 100 -p ${UserBPubKey} -c "ASTRO#SSH" -m
MACHINE B
jaklis.py -k ~/.zen/secretB.dunikey pay -a 100 -p ${UserAPubKey} -c "ASTRO#SSH" -m
Maintenant.
Il reste à maintenir à jour et appliquer la ToileDeConfiance ASTRO#SSH
Pour cela, jaklis va extraire l’historique des transactions reçues qui portent le tag ASTRO#SSH
jaklis.py history -p UserAPubKey
+---------------------------------------------------------------------------------------------------------------------------------------
| Date | De / À | Ḡ1 | DU/ḡ1 | Commentaire |
|---------------------------------------------------------------------------------------------------------------------------------------
| 04/04/2023 à 20:01 | HV7o…jG61:Bu6 | 100.00 | ~~~ | ASTRO#SSH
|---------------------------------------------------------------------------------------------------------------------------------------
| 04/04/2023 à 20:01 | 54yA…UvJm:3px | 70.00 | ~~~ | ASTRO#SSH
Extraire et vérifier qu’au moins une TX entrante et sortante existent (leur somme fait 0)… (« jq »)
Puis pour établir le droit de se connecter en SSH par exemple, UserA et UserB peuvent inscrire leur clef publique SSH dans ~/.ssh/authorized_keys
et ~/.ssh/known_hosts
.
Pour agrémenter cette phase on peut utiliser IPFS (et natools)
# Récup les paquets pour A depuis les machines SSH comptabilisé à 0
ipfs cat /ipns/IPNSUserB/file.toA.enc
ipfs cat /ipns/IPNSUserC/file.toA.enc
Y’a encore quelqu’un qui lit ?
Voila le principe pour utiliser la G1 et établir une nouvelle « toile de confiance », et faire passer des fichiers ou des messages entre les clefs. On étendre ce principe à d’autres « toiles de confiance » en définissant une nomenclature pour les ASTRO#TAG…
- « keygen » Astroport.ONE/keygen at master - Astroport.ONE - P2Git
- « natools » Astroport.ONE/natools.py at master - Astroport.ONE - P2Git
- « jaklis » axiom-team/jaklis - jaklis - P2Git
- « ipfs » Astroport.ONE/kubo_v0.20.0_linux.install.sh at master - Astroport.ONE - P2Git
Cette façon permet de partager des données de façon simple et sécurisé.
Le Web3 regorge de surprise… La distribution de clefs publiques (dérivées) permet de relier vos applications…
Ca vous intéresse?