Gérer son identité avec Namecoin
Comment gérer son identité en ligne ? Une question récurrente, y compris sur ce blog. Évidemment, nous avons besoin de cryptographie. Dans un billet précédent j’avais présenté le service Keybase (mon profil, accès sans Tor) qui est génial pour un tas de raisons. Par exemple, ceci permet de prouver mon identité sur le réseau GitHub:
$ keybase id cedricbonhomme@github
▶ INFO Identifying cedricbonhomme
✔ public key fingerprint: 55F5 D60E EFCA 3591 0089 18E7 A1CB 94DE 57B7 A70D
฿ bitcoin 1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ
✔ "cedricbonhomme" on hackernews: https://news.ycombinator.com/user?id=cedricbonhomme [cached 2016-04-03 10:13:45 CEST]
✔ admin of www.cedricbonhomme.org via HTTP: http://www.cedricbonhomme.org/keybase.txt [cached 2016-04-03 10:13:45 CEST]
✔ "cedricbonhomme" on github: https://gist.github.com/e8cba56e5b85517c6758 [cached 2016-04-03 10:13:45 CEST]
La preuve, générée avec ma clé privée, est donc ici. Le défaut est que nous dépendons d’un service et qu’une connexion Internet est nécessaire.
Une autre possibilité est d’utiliser Namecoin. Namecoin est une base de données clés-valeurs distribuée basée sur Block chain et utilisant les preuves de travail. Il est donc possible de stocker des informations dans cette base de données (ce qui permet par exemple d’avoir une alternative au DNS).
Pour ça, il va falloir payer avec des Namecoins. Soit directement en achetant des Namecoins, soit en minant (je ne pense pas qu’aujourd’hui ce soit encore facilement possible) ou en échangeant des Bitcoins. J’ai choisi d’échanger quelques Bitcoins (on peut voir la transaction ici). J’ai ensuite pu demander l’enregistrement du nouveau champ cedric dans l’espace de noms id. Une fois que cette transaction sera confirmée (quelques heures d’attente), j’ai pu mettre à jour ce nom avec des informations au format JSON (ce format n’est pas obligatoire).
$ namecoind name_filter id/cedric
[
{
"name" : "id/cedric",
"value" : "{\"name\":\"Cedric Bonhomme\",\"email\": \"cedric+namecoin@cedricbonhomme.org\", \"weblog\":\"https://www.cedricbonhomme.org\",\"GitHub\":\"https://github.com/cedricbonhomme\",\"photo_url\":\"https://www.cedricbonhomme.org/cedricbonhomme.png\",\"gpg\":\"55F5 D60E EFCA 3591 0089 18E7 A1CB 94DE 57B7 A70D\"}",
"expires_in" : 35997
}
]
Pourquoi ce format ? Car il existe un site Web qui index l’espace de noms /id:
OneID (Génial !). Ce qui permet d’avoir une petite interface Web pour
consulter ces informations et évite d’utiliser la commande name_filter
de
Namecoin.