Nouveau champ profil utilisateur: Clé publique Ḡ1

Voilà le problème , cela permet le phishing .

1 « J'aime »

Ceci existe déjà depuis longtemps, ça s’appelle des « identicon » , c’est par exemple ce genre d’image qui est utilisé par GitHub lorsque l’utilisateur ne pas posté d’image de profil, c’est aussi utilisé dans le monde des crytomonnaies…

Il existe pas mal de librairie différentes, le principe étant de générer une image unique à partir d’une chaîne de caractères, un peu comme un hash est unique…

Le problème est que pour que ce soit efficace il faut que tous les clients utilisent la même librairie histoire que pour telle clé l’image soit la même partout… Sinon on peut se retrouver avec des identicon de robots uniques sur Cesium alors que ce sont des identicons de chats sur le forum, ce qui serait contre productif.

(Je me suis même amusé il y’a 2 ans à créer des identicons G1 en 3D pour afficher les comptes dans mon projet de visualisation 3D de la WoT… Projet avorté suite à la perte du code non versionné suite au crash de mon Chromebook :frowning: je n’ai jamais eu la foi de recommencer)

3 « J'aime »

Et si on piquait celui de github?

Voici pour ma clef

echo DsEx1pS33vzYZg4MroyBV9hCw98j1gtHEhwiZ5tK7ech | md5sum | cut -d ' ' -f 1

@dig, tu sais si leur algo est libre?

Effectivement y’a plein de façon de faire… identicon/identicon.sh at master · aurora/identicon · GitHub

Faudrait en trouver un avec un maximum d’API multiusage

1 « J'aime »

La question que je me pose, c’est est-ce qu’il y aurait un moyen algorithmique type brutforce pour générer une clé publique ḡ1 qui donne un identicon le plus proche possible de quelqu’un ? (par reconnaissance d’image)

Si tel est le cas, déployer des identicon partout pourrait faciliter la tache d’un hacker avisé qui pourrait imiter n’importe quel identicon en générant des clés pub avec cet algo.

1 « J'aime »

L’image de GitHub fait 5×5 = 25 pixels = 33554432 combinaisons = bruteforce facile

Pour ne pas désavantager les daltoniens, je n’ai pas compté les couleurs. Mais on pourrait ajouter des pixels, des formes, des nuances de gris. Avec les IA de génération d’images on pourrait même fabriquer un tableau d’inspiration artistique à partir d’une chaîne.

L’inconvénient est que la moindre mise à jour du système doit être faite partout en même temps et nécessite de réapprendre toutes les images des gens qu’on connaît.

3 « J'aime »

Je vois que le sujet est immense… Pourquoi ne pas créer des mondes dans minetest :wink:

1 « J'aime »

Ok donc avant de se lancer dans quoi que ce soit côté identicon, il faut s’assurer de partir sur un format large, avec beaucoup de pixel, et quelques couleurs flash non problèmatiques pour les daltoniens (je suis moi même daltoniens rouge/vert donc je suis un bon test pour ça ^^)

@dig ? Une idée?

Le truc de github est marrant, mais il faudrait quelque chose de beaucoup plus complexe. C’est carrément un programme à part, avec les conseils d’un graphiste à mon avis.

Et si on imaginait un programme qui fasse l’inverse : tu mets une photo de toi et ça te sort ta clé publique :slight_smile:

Pour faire ça de manière sécurisé il faudrait coupler ta photo avec un mot de passe pour générer ton Salt G1.

Mais si tu fais ça, tu va te retrouver avec une paire d’identifiant/mot de passe Cesium énorme et incompréhensible, impossible à retenir.

Mais l’idée est sympa :slightly_smiling_face:

1 « J'aime »

Donc très dur à pirater ? L’idée me paraît plaisante. On serait la première monnaie dont chaque compte membre serait généré par l’image de son créateur. Difficile de faire plus personnalisé.

Par contre ça me paraît difficile à réaliser ET à intégrer :slight_smile:

Je crois que oui, mais…

Cette lib de GitHub n’est pas conçue pour la sécurité mais pour remplir une photo de profil manquante, je ne crois pas que ce soit le bon choix.
A contrario des identicons de cryptos comme Ethereum par exemple, ou autre j’en avait trouvé des plus complexes et plus sympa visuellement aussi… Je ne suis pas chez moi mais je vais essayer de retrouver ça…

Oui, il faudra trouver une lib robuste et ne pas en changer tous les 4 matins!


L’idée est séduisante mais me paraît très complexe, et en plus ça ouvre une question de protection de la vie privée car ta tête sera liée à ton identification a vie… Dans compter le cas des jumeaux…

1 « J'aime »

C’est possible : une IA donne les propriétés du visage par exemple, et génère une clé privée avec. Cependant le visage est public, il ne doit donc pas être utilisé comme clé privée…

Celà dis une petite recherche « identicon » sur github, ou npm donne déjà des 10aines de libs…

jidenticon (graphiste proof) (exemple: dig)
blockies
sigil
jazzicon (graphiste proof)
quilt
identiheart (graphiste proof)
pictogrify (graphiste proof)
ranvis identicon (sécu proof)
iqons (graphiste proof)
hashicon (graphiste proof)
dicebears avatars (graphist proof)

Ma préférée étant robohash qui propose des robots, des monstres ou des chats (peut-être pas la plus sécu… à étudier):

Voici des exemples avec quelques clés pub des personnes de ce fil qui ont rempli le nouveau champ profil du forum dont il est question :wink:

- jdenticon robots robots 2 monstres chats
@dig 100x100 100x100 100x100 100x100 100x100
@attilax 100x100 100x100 100x100 100x100 100x100
@poka 100x100 100x100 100x100 100x100 100x100
@tuxmain 100x100 100x100 100x100 100x100 100x100
@vincentux 100x100 100x100 100x100 100x100 100x100
Gmix 100x100 100x100 100x100 100x100 100x100
@vit 100x100 100x100 100x100 100x100 100x100
@Hugo-Trentesaux 100x100 100x100 100x100 100x100 100x100
@elois 100x100 100x100 100x100 100x100 100x100
@nox 100x100 100x100 100x100 100x100 100x100
@gerard94 100x100 100x100 100x100 100x100 100x100

Les possibilités sont infinies…

4 « J'aime »

Tu as trouvé!!! Il faut choisir plusieurs lib. Et fabriquer une identité visuelle genre « rébus »

1 « J'aime »

Comme très bien expliqué dans cet article : https://medium.com/nimiq-network/devblog-2-identicons-be50dca91d55

Les identicons ne peuvent pas et ne doivent pas remplacer la vérification manuelle et minutieuse d’une adresse (=clé publique pour nous) avant un virement important ! Car l’entropie des identicons est ridiculement faible :

In total that’s 10⁵ * 10 * 10 = 10 000 000 different robots. That’s not even close to the number of different addresses which is ~2²⁵⁶ = 10⁷⁷. Though it’s probably impossible to generate anything close to 10⁷⁷ different, well distinguishable, well memorizable Identicons on a 128x128 pixel canvas, just because humans capacity in processing images is limited. Therefore Identicons can never be a security measurement and they can never replace the need to carefully check an address before confirming a critical transfer. Even though their entropy is neglectable in comparison to the address space, to quickly get an overview of your transaction history or to distinguish your own accounts, Identicons are very valuable.

1 « J'aime »

Bien sûr, ce n’est qu’une aide visuelle… L’identicon devrait d’ailleurs être toujours affichée avec le clé elle même (ou au moins le début et la fin)
C’est comme un hash md5 qui te permet de vérifier que ta destination et ta source sont les mêmes avec le même algo. Là il faut imaginer des champs clé pub qui génère l’image en live quand tu écrit et ça te permet de voir que l image est la même que là où tu as chopé la clé…

:sweat_smile:
Non le but est d’aider les utilisateurs et non pas de complexifier…

1 « J'aime »

Justement il est facile de générer un autre clé publique produisant le même identicon (ou même d’avoir un set de clés pour chaque identicon déjà prêt avant l’attaque). Donc les identicons ne résolvent pas la problématique évoquée dans ce fil, il serait dangereux de le faire croire !

1 « J'aime »

Ha oui? As tu une démonstration qui prouve cette affirmation ?
Produit des images identiques à un exemple posté plus haut sachant qu’il y aurait (disons) les 6 1ers caractères de la clé à côté de l’image…

Je te met au défi de trouver une clé pub qui aurait la même image ainsi que des caractères ressemblants!
(défi constructif hein ! Ou plutôt challenge :slight_smile: )

Tu as pris seulement le cas d’une seule lib alors qu’il en existe d’autres plus complexes…
Je suis près à renoncer à des images jolies si la sécurité n’est pas suffisante et qu’il faut prendre des images complexes mais moches :wink:


C’est comme dire : un hash md5 n’est pas suffisant pour télécharger un fichier… Bah oui c’est pas le fichier c’est le moyen de vérifier le contenu du fichier… De la même manière, l’identicon permet de vérifier que des clés qui aurait des char similaire ne sont pas les mêmes ou bien voir facilement qu’on a pas copié correctement une clé. Un moyen de vérification et non pas l’identifiant unique lui même…

La problématique très éventuelle d’un pirate qui changerait les clés affichées sur les profils accompagnés d’identicon dont nous finirons par avoir l’habitude de regarder mettait la puce à l’oreille. De plus si la clé est un lien vers un Cesium permettant de voir le compte et permet de checker le triptyque clé/pseudo/identicon.
Ça rajoute de la complexité et le pirate qui doit non seulement trouver une image identique une clé ressemblante et se faire certifier avec un pseudo similaire… Bonne chance !

2 « J'aime »