Validation identitaire

Salut à tous

Après avoir lu un peu le forum, je me pose des questions sur la validation des utilisateurs.

Je trouve l’idée bonne mais sur quoi serait basée cette signature ? peut-elle être basée sur un numéro de carte d’identité ?

Par exemple, je veux payer quelque chose, je donne donc mon nom et prénom = clé réseau
la clé réseau renvoi sur nom compte une autre clé qui y est associée et qui correspond à mon n° de carte d’identité que j’ai préalablement crypté (genre MD5 si j’ai bien compris) et associé à mon compte.
Je montre donc ma carte au commerçant qui la crypte et valide donc la correspondance des 2 codes.

La transaction est donc validée et ma carte d’identité aussi, les autres utilisateurs pourront voir que j’ai 1 point de validation sur le champ “carte d’identité”

Je soumet l’idée étant totalement ignorant des principes de fonctionnement d’un tel réseau, mais le fait de donner ou recevoir de l’argent sans pouvoir vérifier la légitimité des intervenants me chiffonne un petit peu

Bonjour Kama,
Pour pouvoir te répondre efficacement :

  • As tu des notions de cryptographie (clé publique, clé privée, hash, certificat) ?
  • As tu déjà entendu parler du concept de Web of Trust introduit dans PGP ?

@KaMa La première question a te poser est: Pourquoi vouloir vérifier l’identité d’une autre personne ? L’échange commercial est toujours facilité si l’anonymat est préservé.
La réponse à cette question dépend aussi si tu autorises une création monétaire répartie ou pas. Sans création monétaire, ta monnaie n’est juste qu’un moyen de paiement, et donc il n’y a aucun utilité à demander l’identité des gens.
Pour les monnaies “libres” (vous savez ce que je pense de l’adjectif libre utilisé !), c’est parce qu’il y a création monétaire distribuée que l’on ne veut pas qu’un petit malin définisse PLUSIEURS identités et empoche plusieurs revenus. Ce ne sert QUE à cela. Attention, la limite peut être difficile à détecter. Un fraudeur ayant défini le profil de sa copine (bien réelle) et donc se définissant un mot de passe à sa place, et elle ne s’intéressant pas à cette monnaie sur le web, ce fraudeur est-il coupable ? comment le détecter, comment le punir ?

Maintenant sur les solutions.

  • Les toiles de confiances ont un dilemme qui me semble insurmontable; Pour être véritablement valide, il faut qu’il y ait vérification physique de l’identité (on se rencontre et s’échange ses cartes d’identités et clés publiques, et ensuite de retour devant son ordi, on prouve en signant la clé publique de l’autre que l’on est bien le propriétaire présumé de sa clé publique…celui qui connait le mot de passe) Mais, cette vérification physique coute cher en déplacement, temps, donc argent, pour une intérêt très minime. Attention, on ne parle pas de faire une communauté des “possesseurs de voiture électrique qui aime le saucisson”…donc il n’y a pas de motivation sociale par exemple pour un célibataire comme trouver l’âme sœur.
    De plus, personne n’a aucun devoir civique officiel envers la communauté à bien vérifier l’identité d’une autre personne. Il n’y a aucune loi pour le punir en cas de défaut…et si vous voulez décider de l’exclusion d’une personne, vous créer une sorte de justice et il vous faut un impôt pour rémunérer les juges…on réinvente la démocratie.
    Je vous laisse réfléchir à un service qui existe déjà: l’état civil dans 36000 mairies en France

Pas du tout ! J’ai déja protégé des dossiers sur mon pc et vérifié le MD5 ou SHA d’un fichier après téléchargement mais ça s’arrète la…

La toile de confiance ? X signe Y puis Y signe Z etc … avec une histoire de distance de noeuds ?

Si je suis membre d’un réseau monétaire de trafiquants d’olives vertes dénoyautées effectivement l’anonymat est mon meilleur ami :slight_smile:

Tout est la ! Si plusieurs personnes décident de mettre en place une monnaie locale, les acteurs de cette économie voudront la protéger de manière concrète en allant plus loin que la “toile de confiance”, ils voudront que la création monnétaire soit rendu possible après X transactions vérifiées par carte d’identité.

Si je suis un artisan qui effectue des travaux chez un particulier ou un commerçant qui vend des produits, le contact réelle est déjà effectué.

En restant dans le cas de figure précédent, j’aurais tout intéret à protéger cette monnaie en vérifiant la légitimité d’un intervenant. Réciproquement, un intervenant séduit par ce système aura tout intéret à faire valider son identité et ainsi devenir co-créateur de la monnaie (qui tire sa valeur de la confiance qu’on lui accorde)

Qu’est ce qui te dis que ton artisan que tu connais sous le nom A n’existe pas sous le nom A’ dans une autre ville et ne touche donc pas 2 revenus de base ?

Je ne parle même pas des femmes qui peuvent se présenter sous leur nom de jeune fille pour certain et leur nom d’époux pour d’autres !
Et ton artisan, tu lui demande sa pièce d’identité…qu’il a oublié ! mais tu le connais, donc pas besoin…mais en fait 2 ans plus tard, tu n’aperçois qu’il ne s’appelle pas exactement comme cela, et tous tes amis qui ton fait confiance et ont signé sa clé te tombe dessus (quoi ! tu m’avais tu que tu le connaissais !) …et après que fais tu ? tu vas voir la police en expliquant qu’un membre uCoin a triché ?
Avant même de parler de crypto (ce qui est intéressant je l’accorde), posez vous ces questions simples.

Merci pour ton honnêteté intellectuelle. Je voulais le souligner.

En tous les cas, ma réponse aussi bien pour @KaMa que @pelinquin : vous parlez de vérification physique. Bien. J’ai envie de vous retorquer : et qui vérifie la vérification ?

Il y a forcément un moment où l’on place sa confiance. Même dans un système avec “punition” type judiciaire, où l’on donne le pouvoir à un juge (on lui fait confiance, ou alors on fait confiance aux juges du juge, bref …).

Du coup, dans vos systèmes :

@pelinquin veut faire confiance aux mairies. Pourquoi pas.
@KaMa veut faire confiance aux vérifications lors de transactions. Ok.

Dans tous les cas, vous faites bien confiance à des humains. Pourquoi ne pas vouloir le faire simplement avec le système de signatures émises proposé par uCoin ?

Les employé d’état civil des mairies sont en effet des humains, qui sont formé, assermenté et payé pour traiter tous les cas possibles d’Identité et de fraude à l’identité.
Les cas d’erreur sont prévus par la loi, le fraudeur risque de la prison et l’employé de mairie peut perdre son poste. Il n’y a pas de favoritisme et même si vous avez une bonne tête, la mairie vous demandera les papiers pour vérification, tandis que dans un réseau de confiance “social”, donc où la sympathie est présupposée, cela en devient même gênant de demander une pièce d’identité!

Pour faire du Galuel, je dirais qu’il n’y a pas bijection entre les signatures et les humains…un humain peut avoir plusieurs signatures et donc plusieurs identités numérique, comme moi sous le pseudo “pelinquin” ou “eurofranc” ou “cupfoundation”. Si tu remontes à l’objectif de vérification de signature, qui ici est la détection de doublon, alors tu te rendras surement compte qu’une toile de confiance ne résout pas le problème. Sur les toiles PGP, l’objectif était se d’assurer qu’on ne vole pas mon nom, que je suis le seul “Laurent Fournier” sur Terre pour PGP! (il y en un qui jour au foot!), mais ici, c’est différent, il faut vérifier que je ne puisse pas utiliser deux identités différentes et je peux tricher sur ma date de naissance, sur ma commune de naissance,…

Un membre de ma famille est assistante social et s’est apperçu que certaines personnes touchaient 19 fois le RSA dans 19 départements différents, le problème se pose avec des institutions nationalisés, mais dans le cadre de ce projet (et comme pour le principe d’une démocratie participative) je prend le problème à l’envers en partant de l’utilisateur et en progressant vers le “haut de la pyramide”

Une carte d’identité ne compte qu’un numéro, de même qu’un N° de sécurité social, ainsi un ID de compte, associé à des documents officiels pourraient être une combinaison unique

Cette personne pourrait-elle être enregistrée dans une sorte d’historique de transaction ? si je le connais et ai déjà effectué cette vérification, nul besoin de la répéter ?

Il me semble que l’usurpation d’identité est un délit qui n’exige pas de contexte pécis :

“L’usurpation d’identité, improprement qualifiée de vol d’identité, est le fait de prendre délibérément l’identité d’une autre personne vivante, généralement dans le but de réaliser des
actions frauduleuses commerciales, civiles ou pénales, comme régulariser sa situation au regard de l’émigration, accéder aux finances de la personne usurpée, ou de commettre en son nom un délit ou un crime, ou d’accéder à des droits de façon indue.” source wikipedia

La source étant “moyennement” fiable, je ferais l’effort de me renseigner sur le sujet s’il est jugé déterminant pour l’avenir du projet

En citant l’exemple que j’ai mis ci dessus, personne (dans le système actuel) n’a le droit de recouper des fichiers informatiques, et le membre de ma famille qui a fait ça a du se mettre hors la loi pour le faire. Le principe de “vérifier la vérification” donne un système hiérarchique qui me semble incompatible avec un système libéral qui met l’humain au centre de la monnaie et de sa création.

Oui l’idée est intéressante pourvu que la municipalité se porte caution d’un tel projet, mais cela restera local

Oui car l’humain et la confiance qu’il accorde à un moyen d’échange est le seul garant de la validité de ce dernier.

Je suis d’accord sur le principe, en tant qu’utilisateur futur, je me demande juste quel moyen sera mis a ma disposition pour valider la légitimité d’un acteur économique, le fait d’accepter le système “tel qu’il est” me semble être un frein à la création monétaire locale et réelle ( échange de services, de biens etc …)

Entièrement d’accord ! il est toujours possible de tricher ! Le plus grand défit à mon avis est de pouvoir laisser à l’utilisateur/créateur de monnaie le maximum de champ libre pour définir les conditions d’appartenance/de création d’un réseau monétaire. Respecter le libre arbitre de chacun concernant la création ou l’adhésion à une monnaie semble être (de mon point de vue) le plus grand défit d’un projet comme ucoin

Non, c’est la qu’il faut avoir quelques notions de crypto. Pour vérifier l’unicité d’une ID, l’employé de mairie publie et signe (en clair si si!) le HASH du numéro de sécu, sans dévoiler ce numéro sur le Net et sans l’associer à un nom particulier. Cela “réserve la case”. Si tu t’enregistres à Lille et tente de t’enregistrer ensuite à Nice, cela ne marchera pas.

Ne parlons pas de techno d’après guerre avec des petites mains qui recopient des formulaires. Il y a Internet et quelques méthodes de crypto.
donc NON ce n’est pas valable que LOCALEMENT.
En faisant appel au mairies, on s’assure qu’un employé n’aura pas trop de citoyens à traiter…en gros, cela couterait 1000habitants x 1 minute.

Merci de cette précision et des perspectives que cela ouvre.

Une case de type “carte d’identité vérifié” ou “carte d’identité vérifié par un organisme publique” ? ou alors les 2 sont possibles ?

Entièrement d’accord, les systèmes étatiques sont bien trop lent dans leur évolution, ils permettent des abus aussi grossiers que celui que j’ai mentionné.

C’est en fait une message signé de l’employé de mairie, message+signature vérifiable par quiconque.
Le message contient: la date et le hash(numéro_secu) + clé publique utilisateur + année de naissance en clair [légère infraction à l’anonymat pour répartir le DU en fonction de l’age]
L’employé de mairie vérifie la correspondance entre la personne en face de lui et les papiers d’identités qui doivent lui donner les éléments de son numéro de sécu, donc par exemple la carte vitale ou une consultation d’un fichier de l’administration.
La carte d’identité n’est qu’un intermédiaire…et on ne peut pas utiliser le numéro de carte d’identité car une même personne peut en avoir 2.
L’employé vérifie que la personne devant elle est bien le propriétaire de la clé publique proposée en lui demandant de signer un message aléatoire.
Ce système permettrait aussi de détecter d’éventuelles erreurs d’attribution de numéro de sécu par l’administration (normalement il n’y en pas!).
Dans tous les cas, l’usagé ne serait jamais pénalisé.
Si je vais m’inscrire dans une mairie et elle me dit que le numéro est déjà prix, alors on appel l’employé de l’autre mairie qui l’a enregistré, qui retrouve l’usagé et on trouve qui a le mauvais numéro de sécu…simple!
Il reste des détails à voir mais le principe est celui ci.

Je pense aussi que la validation identitaire est la condition requise pour qu’un système à DU puisse fonctionner.
On a besoin ici de savoir qu’UN compte numérique correspond à UNE personne physique.
Que nous sommes tous à égalité de DU dans ce système.

En programmation, les bonnes pratiques invitent à “découpler” les fonctions du code, pour pouvoir les réutiliser.

Je propose de découpler le défi d’associer une personne physique à une identité numérique du système monétaire.
Et que le système monétaire n’ai pour charge qu’exiger à l’entrée cette preuve émise par un système tiers, adoptée par la majorité des gens, et utilisée ailleurs avec succès.

@pelinquin donne aux mairies la tâche de garantir cette identité et de relever ce défi.

Le système monétaire, lui, pourrait alors se concentrer sur d’autre défis comme l’usurpation d’un noeud, le Man In The Middle, la redondance des données dans tous les noeud ou pas, assurer la sécurité des transactions, etc…

Le système de signature, selon moi, viendrait plutôt APRES l’entrée dans la communauté, comme des votes sur le comportement d’un compte.

Lorsque j’ai signé @cgeek sur le logiciel de test, et que la communauté a grandie, je me suis senti démuni devant le fait de savoir si je pouvais signer ces nouveaux “pseudos” où pas, ne les connaissant pas physiquement, ni leur “comportement” dans la communauté naissante.

Je ne veux pas partir en vacances avec eux donc les connaître physiquement ne m’intéresse pas. Je veux les connaître “comportementalement” au sein de la communauté pour savoir si je peux échanger avec eux des biens, des services monétisés.
Et je ne peux le savoir ET le faire savoir aux autres par ma signature qu’après quelques échanges fructueux, ou infructueux (Eve m’a posé un lapin :blush: !).

"Dans uCoin, l’existence précède l’essence."
Sartre.

Ce débat est passionnant !
Je partage ce point de vue (sur le découplage contrôle identitaire / système monétaire).

Donner cette tâche au mairie est une piste de réflexion intéressante mais, pour ma part, je n’y crois pas. Cette solution nécessite d’inscrire un nouveau droit décrit par pelinquin ici.

Je n’ai pas envie de demander à nos maîtres un nouveau droit.
La force d’Internet et de Bitcoin est qu’ils existent sans avoir demander la permission à personne.
C’est bien un autre système qui doit être pensé pour réaliser cette tâche de la validation des identités.
Un système qui permettent à ceux qui le souhaitent de s’auto-organiser, un système sûr, autonome et qui ne dépend pas d’un pouvoir central.

La propositionde @vit me parait sage et rien n’enpèche @greyzlii de nous proposer un système décentralisé…à suivre.
Effectivement, si le sens de la signature ne veut pas dire “ce mex n’a qu’un seul compte!” mais “ce mec est sérieux”, un peu comme les réputations de “coachsurfing”, alors oui cela peu marcher.
Pourquoi Leboncoin n’a pas de système de réputation ?..je suis certain qu’ils y ont pensé, mais cela doit aussi avoir des désavantages. Les hôtels souffrent parfois de mauvaise réputation injustifiée, mais pour les personnes, il ne faudrait pas pouvoir lyncher un citoyen.

Super intéressant tout ça ! Leboncoin ne gère pas de transactions, c’est surement pour ça qu’ils ne se sont pas encombrés d’un système de notation à l’inverse d’ebay qui propose une évaluation noté + commentaire.
Dans le cadre d’un système monétaire il me semble dangereux de donner la possibilité aux utilisateurs d’évaluer la qualité d’un intervenant. Ce qu’il me semble pertinent est de pouvoir évaluer le sérieux de cette personne par le nombre et/ou type de transactions qu’il effectue sur le réseau.

En me plaçant d’un point de vue purement utilisateur, j’aimerais connaitre les caractéristiques du réseau monétaire auquel je décide d’adhérer, par exemple :

  • Le réseau d’ebay valide un compte de façon centralisé les intervenants, ils demandent un N° de CB et un justificatif de domicile, la validation donne droit à un DU de x%

  • Le réseau des commerçants des alpes-maritimes est décentralisé, la validation d’un compte est effective au bout de 5 transactions validées à l’aide d’une carte d’identité auprès de 5 commerçants différents appartenant au réseau

  • Le réseau des geeks échangeurs de comptes online valident simplement un compte à l’aide d’une adresse mail valide associé à un compte online

Du fait d’avoir accès à ces informations, je serais à même de juger de la qualité d’un intervenant et libre d’effectuer avec lui une transaction ou pas selon le nombre de transactions qu’il a effectué et le “niveau” de ces transactions. bien sur je ne demanderais pas à un geek d’avoir valider son compte avec un N° de CB et serait méfiant avec un commerçant ayant une simple adresse mail comme validation…

Je vois deux problèmes à résoudre si on part de ce principe :

  • Comment peut il effectuer des transactions s’il ne fait pas partie de la communuauté/réseau et donc qu’il ne possède pas de monnaie ?
  • Qui effectue la vérification de la transaction ? Doit on placer dans les mains de certains des droits que les autres n’ont pas ?

Ici tu proposes par exemple le réseau des commerçants.
J’ai trouvé que c’était une bonne idée au départ, mais d’un part, on place le pouvoir de décision dans les mains d’un réseau de commerçant. D’autre part, on incite pas vraiment les échanges de pairs à pairs dans ces conditions.

Soit il doit commencer par en encaisser (comme un jeune avec son premier boulot ^^), soit l’ouverture du compte lui octroi un DU, peut être plus faible qu’un DU de membre signé ?

Je pensais que le système pouvait être configuré comme ça, une transaction rajoutant un “point de transaction” dans les statistiques du compte.

Tout a fait d’accord ! Mais les commerçants sont libres de créer leur monnaie et de se réserver le droit de valider les membres qui eux, peuvent décider ou non d’y adhérer. De la même façon, si je décide de créer un “ebay” avec sa propre monnaie, je me réserverais le droit d’en valider les membres. Peut être que ce champ de liberté dépasse le cadre du projet ?

Essayant avec un ami de programmer un plugin monétaire pour minecraft basé sur la TRM et constatant la complexité (relative) de codage, je n’ose imaginer le travail pour le projet Ucoin et je tire mon chapeau à ceux qui s’y engage :slight_smile:

Je pense que c’est le bon moment pour introduire la solution sur laquelle je planche en ce moment.

L’idée est de créer une organisation décentralisée qui permet à chacun de la rejoindre par une simple déclaration de son identité et de son domicile. Chaque membre est un constituant de cette organisation.

Chaque constituant peut donner à chaque autre constituants deux valeurs :

  • Eligibilité de l’identité vérifiée (c’est à dire la probabilité que l’identité déclaré soit bien valide)
  • Fiabilité dans la vérification des identités

Ces interactions donnent un graph qui doit être analysé par un observateur externe.
Chaque constituant est alors potentiellement éligible pour faire partie de la communauté monétaire. Cette décision est confiée à un algorithme qui se base sur les interactions entre constituants pour “élir” ou non un constituant en tant que membre de la communauté.

Ces idées de sont pas de moi mais proviennent d’un groupe de travail http://directdemocracyp2p.net/. Leur site est horrible mais leurs travaux très sérieux.

Ils analysent différents algorithmes de traitement sur le papier Addressing False Identity Attacks in Action-based P2P Social Networks with an Open Census.

Un papier encore plus intéressant (Reputation system for decentralized population census) décrit de manière plus approfondi ce système en utilisant les probabilités conditionnelles. (Bayes)
De plus, ils publient des résultats de tests en prenant en compte jusqu’à 50% de constituant malveillants.
Et enfin, il semble qu’il y ai déjà une implémentation en Java d’un tel système.

J’essaie de mon côté de vérifier ces résultats, et je vous invite à étudier leurs propositions quitte à démontrer que ça ne peut pas fonctionner si c’est votre conclusion.

C’est en effet la bonne façon de faire selon moi. uCoin est d’ailleurs agnostique à ce sujet, il ne fait qu’accepter des identités selon les règles qu’on lui donne. En fait, c’est bien NOUS qui tentons de donner des paramètres à ces règles dans le but de leur donner des propriétés impliquant une certaine unicité des identités.

Du coup, les signatures n’auraient plus le même sens dans ce que tu décris. Une signature serait davantage le reflet d’une réputation qu’une reconnaissance d’identité.

Excellent :slight_smile: tu as subi de plein fouet le fait qu’ici la règle sur l’identité était complètement libre, le pseudo pouvant provenir de nulle part sans aucun moyen de vérification.

Remarque, du coup, que tu n’as signé que @canercandan depuis. Tu as donc exercé ton “droit” de réserve vis-à-vis de ces identités, jouant donc un rôle de pare-feu contre de potentielles fausses identités. Bon, ici, ils sont rentrés tout de même vu les règles très permissives, mais vous voyez bien l’idée.

Tu parles là d’un système de réputation vis-vis des transactions, ce qui confirme ma remarque précédente sur les signatures. Mais ce qui nous importe est de pouvoir identifier les individus. Je ne sais pas si nous parlons de la même chose.

Vu mes réponses à @vit, tu as dû comprendre qu’une signature signifie précisément “je reconnais cette identité”. Donc, ne veut pas dire qu’elle est unique, ni que la personne derrière l’identité est de confiance.

Le plus dur c’est d’imaginer le protocole. Le code, bon, c’est pas toujours évident, mais ça se fait.

De manière plus générale, et là je m’adresse à tous, je pense vraiment qu’il n’est pas bon de mélanger :

  1. Confiance dans la personne
  2. Confiance dans son identité (existence)
  3. Confiance dans l’unicité de son identité

Ce sont là 3 cas bien différents. Je crois que uCoin ne doit pas traiter le cas 1. Il doit en revanche traiter le cas 2 et permettre le cas 3. Peut-être qu’aujourd’hui, ce qui fait défaut est le cas 3 qui est trop peu assuré.

Edit : @greyzlii si tu as encore la possibilité, crée plutôt un sujet à part pour ton idée :wink: