WEBVTT 99:59:59.999 --> 99:59:59.999 [Musique d'introduction dynamique] 99:59:59.999 --> 99:59:59.999 Présentateur : Je pense que beaucoup d'entre vous utilisent PGP ici. 99:59:59.999 --> 99:59:59.999 Levez la main. 99:59:59.999 --> 99:59:59.999 Bon(s) hacker(s), c'est bien. 99:59:59.999 --> 99:59:59.999 Si vous voulez une introduction pour quelqu'un de nouveau, quelqu'un qui as une clé, vous devez demander, et la personne, 99:59:59.999 --> 99:59:59.999 bon, il a peut etre pas les clés sur un serveur de clé ce qui est ennuyeux 99:59:59.999 --> 99:59:59.999 mais c'est comme ça qu'il faudrai le faire normalement 99:59:59.999 --> 99:59:59.999 Si je vous disais qu'il y a une façon meilleure de le faire. 99:59:59.999 --> 99:59:59.999 Que vos amis et les amis de vos amis peuvent se porter garent de vos clés de façon meilleure que les attacher à la signature des clés PGP. 99:59:59.999 --> 99:59:59.999 Notre prochain speaker va vous parlez du système ClaimChain, un système qui doit résoudre ce problème. Merci de l'applaudir chalereusement, Marios Isac Kidis (?) 99:59:59.999 --> 99:59:59.999 Conférencier : Bonjour, bons hackers ! 99:59:59.999 --> 99:59:59.999 C'était une bonne description de ce que je vais faire, que je vais présenter ClaimChain, le mécanisme de distribution de clé, ... . 99:59:59.999 --> 99:59:59.999 Nous l'avons fait avec ... et ... , l'Université de Londres, et puis le collège université de Londres. Donc en quelques mots, 99:59:59.999 --> 99:59:59.999 ClaimChain est une infrastructure décentralisé de clé publique 99:59:59.999 --> 99:59:59.999 qui soutient la vérification bonne pour la vie privée. 99:59:59.999 --> 99:59:59.999 Si vous avez lu notre synopsys, vous avez vu que l'on parle bcp de blockchain, et oui, bien sûr c'est une mode. Blockchain peut etre utilisé 99:59:59.999 --> 99:59:59.999 de très bonnes propriétés qui peuvent être utilisées pour l'infrastructure de clés publiques. 99:59:59.999 --> 99:59:59.999 Par exemple, ils offrent une grande intégrité pour les données qui sont stockées. Et puis c'est difficile de modifier les valeurs stockées, 99:59:59.999 --> 99:59:59.999 temps-proof en anglais 99:59:59.999 --> 99:59:59.999 et puis on peut être 99:59:59.999 --> 99:59:59.999 avec tous ses signatures cryptographiques qui se passent et puis par définition blockchain c'est décentralisé 99:59:59.999 --> 99:59:59.999 donc ils peuvent donner la disponibilité, vous pouvez aller sur n'importe quel endroit bitcoin, et puis c'est résistant à la censure, donc il faut utilisez tout les noeuds. 99:59:59.999 --> 99:59:59.999 Et puis ils ont résolu le problème du consensus, il y a beaucoup de mécanismes de prove of work, donc plus on l'utilise, plus on manipule le système, plus on as de billets de lotterie. 99:59:59.999 --> 99:59:59.999 99:59:59.999 --> 99:59:59.999 Donc la première génération d'infrastructures basée sur blockchain est basée sur cette preuve de concept. 99:59:59.999 --> 99:59:59.999 Blockchain, c'est appelé le stack de blocs 99:59:59.999 --> 99:59:59.999 99:59:59.999 --> 99:59:59.999 Ils utilisent un token Bitcoin pour l'identité. 99:59:59.999 --> 99:59:59.999 Donc on peut acheter des identités, à d'autres. Et ils vous appartiennent. 99:59:59.999 --> 99:59:59.999 C'est une plus puissante abstraction que ce que nous avons utilisé aujourd'hui. 99:59:59.999 --> 99:59:59.999 Si vous avez 99:59:59.999 --> 99:59:59.999 en NameCoin 99:59:59.999 --> 99:59:59.999 tout le monde va vous reconnaitre comme le propriétaire de cette identité. 99:59:59.999 --> 99:59:59.999 De l'autre coté ils ne vous donne pas 99:59:59.999 --> 99:59:59.999 propriétaire de cette identité 99:59:59.999 --> 99:59:59.999 si je dis, je suis dans ce système "Alice". 99:59:59.999 --> 99:59:59.999 Comment on va pouvoir vérifier que cette personne est Alice ? 99:59:59.999 --> 99:59:59.999 identités soit liées. 99:59:59.999 --> 99:59:59.999 Il y a des frais inhérents, qu'il doit payer pour acheter des coins et pour les transactions. 99:59:59.999 --> 99:59:59.999 bien sûr, avec une latence de 10 minutes pour chaque bloc, avec un nombre de transactions inclus. 99:59:59.999 --> 99:59:59.999 Il y a un nombre spécifié de transactions, qui est inclus. 99:59:59.999 --> 99:59:59.999 Ensuite la génération suivante de blockchains 99:59:59.999 --> 99:59:59.999 ça peut être fait par email. 99:59:59.999 --> 99:59:59.999 ils ont remplacé par 99:59:59.999 --> 99:59:59.999 Le fournisseur est responsable des clés qu'il publie sur les utilisateurs. 99:59:59.999 --> 99:59:59.999 Donc si l'email utilise CONIX, on peut aller chercher la clé public du serveur public 99:59:59.999 --> 99:59:59.999 tout le monde obtient à ce moment précis 99:59:59.999 --> 99:59:59.999 on as aussi une discovery facile. 99:59:59.999 --> 99:59:59.999 Parce que ce que on sait que Alice a Zmail 99:59:59.999 --> 99:59:59.999 c'est très facile, à vérifier 99:59:59.999 --> 99:59:59.999 Ils peuvent donner des preuves en quelque Ko très efficace que c'est vraiment les bonnes données. 99:59:59.999 --> 99:59:59.999 On peut détecter l'identification, mais jusqu'à un certain point. 99:59:59.999 --> 99:59:59.999 Ils ont un seul point de défaillance. 99:59:59.999 --> 99:59:59.999 99:59:59.999 --> 99:59:59.999 Et les fournisseurs dans cette position privilégiée. 99:59:59.999 --> 99:59:59.999 (..) 99:59:59.999 --> 99:59:59.999 Dans ce cas là, il n'y a rien qui empêche le fournisseur de service de révéler le graphe social de l'utilisateur. 99:59:59.999 --> 99:59:59.999 Donc j'ai parlé des arbres de, des arbres binaires. 99:59:59.999 --> 99:59:59.999 99:59:59.999 --> 99:59:59.999 imaginer moi, j'ai ma clé privée 99:59:59.999 --> 99:59:59.999 trier les noeuds terminaux, au lieu d'utilisé des hashs 99:59:59.999 --> 99:59:59.999 sorties uniques 99:59:59.999 --> 99:59:59.999 clé privée qui est compatible avec cette fonction 99:59:59.999 --> 99:59:59.999 Et ma fonction produira 99:59:59.999 --> 99:59:59.999 qui a l'air aléatoire pour tout le monde 99:59:59.999 --> 99:59:59.999 ça nous assure que tout les gens qui insèrent des données avec un label en particulier 99:59:59.999 --> 99:59:59.999 qui insèrent des données avec un label en particulier 99:59:59.999 --> 99:59:59.999 toutes ses assertions se retrouvent 99:59:59.999 --> 99:59:59.999 Ce principe ça s'appelle la non-équivocation. 99:59:59.999 --> 99:59:59.999 C'est à dire que si deux personnes vont voir 99:59:59.999 --> 99:59:59.999 par exemple Gmail 99:59:59.999 --> 99:59:59.999 le même noeud final de l'arbre 99:59:59.999 --> 99:59:59.999 Comment on utilise ? 99:59:59.999 --> 99:59:59.999 Ce que l'on fait différement. un système décentralisé 99:59:59.999 --> 99:59:59.999 pour ça on a les utilisateurs qui hébergent 99:59:59.999 --> 99:59:59.999 ClaimChain séparé 99:59:59.999 --> 99:59:59.999 du coup on n'as pas besoin d'avoir un consensus global. 99:59:59.999 --> 99:59:59.999 n'importe qui peut vérifier 99:59:59.999 --> 99:59:59.999 Toute personne peut vérifier la chaine en entière. 99:59:59.999 --> 99:59:59.999 deux blocs valides apparaissent 99:59:59.999 --> 99:59:59.999 un compromis 99:59:59.999 --> 99:59:59.999 ou j'ai essayé de faire une équivocation 99:59:59.999 --> 99:59:59.999 un controle d'accès très fin, très précis. 99:59:59.999 --> 99:59:59.999 À cause de 99:59:59.999 --> 99:59:59.999 On peut décider de qui peut lire un claim, en particulier 99:59:59.999 --> 99:59:59.999 on as quand même besoin de savoir 99:59:59.999 --> 99:59:59.999 comment es ce que je peux 99:59:59.999 --> 99:59:59.999 comment ça fonctionne dans un systeme comme ça 99:59:59.999 --> 99:59:59.999 un tampon, une certification de dernier bloc de la chaîne 99:59:59.999 --> 99:59:59.999 Alice, redistribue une attestation 99:59:59.999 --> 99:59:59.999 de Bob 99:59:59.999 --> 99:59:59.999 .. 99:59:59.999 --> 99:59:59.999 Le dernier point est peut être ancien, 99:59:59.999 --> 99:59:59.999 mais c'est pas grave 99:59:59.999 --> 99:59:59.999 C'est comme ça, que ça se passe chez les humains, d'ailleurs 99:59:59.999 --> 99:59:59.999 ce n'est pas une histoire de protocole réseau. 99:59:59.999 --> 99:59:59.999 On peut utiliser ce mécanisme pour présenter deux de nos amis. 99:59:59.999 --> 99:59:59.999 préserver le graphe social des propriétaires des 99:59:59.999 --> 99:59:59.999 claimchains 99:59:59.999 --> 99:59:59.999 authentifié 99:59:59.999 --> 99:59:59.999 Cela peut supporter 99:59:59.999 --> 99:59:59.999 une PKI, un système de distribution de clé 99:59:59.999 --> 99:59:59.999 stocker 99:59:59.999 --> 99:59:59.999 contrôler un botnet ou ce que vous voulez. 99:59:59.999 --> 99:59:59.999 ... 99:59:59.999 --> 99:59:59.999 meme si tout est chiffré 99:59:59.999 --> 99:59:59.999 tant que vous ne publiez pas la clé qui permet de le déchiffrer 99:59:59.999 --> 99:59:59.999 la vie privée peut etre utilile 99:59:59.999 --> 99:59:59.999 l'équivocation permet d'éviter, d'assurer que deux personnes voit la même chose 99:59:59.999 --> 99:59:59.999 que plusieurs 99:59:59.999 --> 99:59:59.999 des compromis dans les claimchains. 99:59:59.999 --> 99:59:59.999 puisque 99:59:59.999 --> 99:59:59.999 les informations publiées restent valides 99:59:59.999 --> 99:59:59.999 il n'y a pas de répudiation possible. 99:59:59.999 --> 99:59:59.999 99:59:59.999 --> 99:59:59.999 Donc on as bcp travaillé sur la scalabilité. 99:59:59.999 --> 99:59:59.999 Github, là où on as notre papier. 99:59:59.999 --> 99:59:59.999 les limites 99:59:59.999 --> 99:59:59.999 combien de temps ça prend de ? 99:59:59.999 --> 99:59:59.999 très flexible en terme de scénario 99:59:59.999 --> 99:59:59.999 ça peut marché aussi avec des scénarios ad-hoc. 99:59:59.999 --> 99:59:59.999 quand vous incluez les preuves dans un email 99:59:59.999 --> 99:59:59.999 quand vous faites pièce jointe 99:59:59.999 --> 99:59:59.999 à vos amis 99:59:59.999 --> 99:59:59.999 les claims que les veux 99:59:59.999 --> 99:59:59.999 de la chaine de claim 99:59:59.999 --> 99:59:59.999 la preuve d'inclusion est 99:59:59.999 --> 99:59:59.999 regardons maintenant sous le capot. 99:59:59.999 --> 99:59:59.999 j'espère que l'on as du temps. 99:59:59.999 --> 99:59:59.999 une timestamp 99:59:59.999 --> 99:59:59.999 pour les capacités 99:59:59.999 --> 99:59:59.999 les métadonnées de claimchain. toutes les identités 99:59:59.999 --> 99:59:59.999 le handle Twitter 99:59:59.999 --> 99:59:59.999 quelques clés publiques que l'on as besoin 99:59:59.999 --> 99:59:59.999 pour signer les nouveaux blocs 99:59:59.999 --> 99:59:59.999 Et une autre clé pour les capabilités techniques. 99:59:59.999 --> 99:59:59.999 ensuite le principal élement 99:59:59.999 --> 99:59:59.999 sous forme d'arbre de préfix. préfixes 99:59:59.999 --> 99:59:59.999 c'est comme ça que l'on 99:59:59.999 --> 99:59:59.999 comme le payload 99:59:59.999 --> 99:59:59.999 On le signe et on attache la signature et on a une information qui se tiens. 99:59:59.999 --> 99:59:59.999 dans un email 99:59:59.999 --> 99:59:59.999 enregistré en ligne 99:59:59.999 --> 99:59:59.999 Si on veut ajouter un claim, par exemple 99:59:59.999 --> 99:59:59.999 Alice, la route du préfixe 99:59:59.999 --> 99:59:59.999 On veut ajouter un claim 99:59:59.999 --> 99:59:59.999 99:59:59.999 --> 99:59:59.999 À partir de maintenant ça sera bob@riseup.net 99:59:59.999 --> 99:59:59.999 bob@riseup.net plus le nonce 99:59:59.999 --> 99:59:59.999 Ensuite on calcule l'index du noeud final 99:59:59.999 --> 99:59:59.999 on prend juste 99:59:59.999 --> 99:59:59.999 on fait un lookup. 99:59:59.999 --> 99:59:59.999 on va vers une clé de chiffrement symétrique 99:59:59.999 --> 99:59:59.999 ensuite, on va tout chiffrer, tout le contenu 99:59:59.999 --> 99:59:59.999 sûr que la claim key 99:59:59.999 --> 99:59:59.999 avec un mécanisme 99:59:59.999 --> 99:59:59.999 la preuve VRF 99:59:59.999 --> 99:59:59.999 la claim key 99:59:59.999 --> 99:59:59.999 C'est comme cela que l'on as le noeud final à Bob 99:59:59.999 --> 99:59:59.999 scénario suivant : On veut ajouter une capabilité 99:59:59.999 --> 99:59:59.999 pour lire Bob 99:59:59.999 --> 99:59:59.999 d'abord on va ... un défi DH 99:59:59.999 --> 99:59:59.999 ensuite on va utilisé 99:59:59.999 --> 99:59:59.999 pour générer la clé lookup 99:59:59.999 --> 99:59:59.999 l'index de la clé de lookup ... 99:59:59.999 --> 99:59:59.999 le Nonce 99:59:59.999 --> 99:59:59.999 et pour charger 99:59:59.999 --> 99:59:59.999 Ça permet de cacher quelles capacités ont été révoquées. 99:59:59.999 --> 99:59:59.999 de là, on dérive 99:59:59.999 --> 99:59:59.999 la clé de claim 99:59:59.999 --> 99:59:59.999 à partir de 99:59:59.999 --> 99:59:59.999 et avec la clé symétrique que l'on a dérivé à l'étape 3 99:59:59.999 --> 99:59:59.999 on génère ce noeud terminal 99:59:59.999 --> 99:59:59.999 maintenant si GF veut récupérer la derniere MaJ 99:59:59.999 --> 99:59:59.999 il va faire l'inverse, c'est à dire, 99:59:59.999 --> 99:59:59.999 si 99:59:59.999 --> 99:59:59.999 la derniere maj 99:59:59.999 --> 99:59:59.999 de l'arbre 99:59:59.999 --> 99:59:59.999 Alice 99:59:59.999 --> 99:59:59.999 DH 99:59:59.999 --> 99:59:59.999 va récupérer la clé de capacité 99:59:59.999 --> 99:59:59.999 aller 99:59:59.999 --> 99:59:59.999 l'arbre de préfixe de M 99:59:59.999 --> 99:59:59.999 ensuite il va pouvoir déchiffrer 99:59:59.999 --> 99:59:59.999 Donc, si vous avez suivi, 99:59:59.999 --> 99:59:59.999 ça inclus le hash 99:59:59.999 --> 99:59:59.999 il peut récupérer 99:59:59.999 --> 99:59:59.999 et le déchiffrer 99:59:59.999 --> 99:59:59.999 ça c'est fait 99:59:59.999 --> 99:59:59.999 à l'étape n° 4 99:59:59.999 --> 99:59:59.999 la preuve VRF 99:59:59.999 --> 99:59:59.999 pour vérifier 99:59:59.999 --> 99:59:59.999 (...) (...) (...) 99:59:59.999 --> 99:59:59.999 on est une équipe très multi-disciplinaire, on as des sociologues, des crytographes et c'est très intéressant pour nous d'avoir ce projet européen qui s'intéresse aux communications sûres et sécurisées, ça nous permet nous d'utiliser les connaissances de toutes les personnes qui ont travaillées là dessus pour arriver à ce produit fini. 99:59:59.999 --> 99:59:59.999 On cherche aussi à être dans ce que l'on appelle l'openinovation, c'est à dire l'inovation ouverte, tout le travail ouvert au public tout le monde peut prendre la structure de la claimchain et l'utiliser dans un autre but 99:59:59.999 --> 99:59:59.999 donc c'est comme ça que l'on a fait une claimchain extensive 99:59:59.999 --> 99:59:59.999 au final. On as maintenanant un peu de temps pour les questions, merci beaucoup pour votre temps. 99:59:59.999 --> 99:59:59.999 Applause 99:59:59.999 --> 99:59:59.999 Donc nous avons 4 micros. Posez vos questions. 99:59:59.999 --> 99:59:59.999 Question d'Internet, j'ai compris 99:59:59.999 --> 99:59:59.999 vous utilisez ce système 99:59:59.999 --> 99:59:59.999 en faisant 99:59:59.999 --> 99:59:59.999 GPG 99:59:59.999 --> 99:59:59.999 aussi 99:59:59.999 --> 99:59:59.999 vos amis de 99:59:59.999 --> 99:59:59.999 l'accès de lecture 99:59:59.999 --> 99:59:59.999 encore plus difficile à utiliser que GPG ? 99:59:59.999 --> 99:59:59.999 Alors vous avez parfaitement compris qu'effectivement il faut tjr faire ces manipulations de signatures de clés, de signature parties 99:59:59.999 --> 99:59:59.999 ça c'est si vous voulez etre certain que vous avez les bons claims, que vous avez la bonne identité. 99:59:59.999 --> 99:59:59.999 alors, par contre, 99:59:59.999 --> 99:59:59.999 avec ce mécanisme 99:59:59.999 --> 99:59:59.999 les choses deviennent 99:59:59.999 --> 99:59:59.999 je vais vous montrer, cela fait parti de la simulation 99:59:59.999 --> 99:59:59.999 vous pouvez voir à gauche 99:59:59.999 --> 99:59:59.999 on simule le scénario 99:59:59.999 --> 99:59:59.999 complètement centralisé où l'on a juste 99:59:59.999 --> 99:59:59.999 des présentations dans les emails 99:59:59.999 --> 99:59:59.999 on peut voir que ça marche quand même 99:59:59.999 --> 99:59:59.999 sans qu'on est besoin, confiance à la personne 99:59:59.999 --> 99:59:59.999 on peut dire 99:59:59.999 --> 99:59:59.999 les emails qui passent sont chiffrés avec la bonne clé 99:59:59.999 --> 99:59:59.999 on a la confiance 99:59:59.999 --> 99:59:59.999 micro n°1, je m'intéresse à l'expressivité 99:59:59.999 --> 99:59:59.999 de la révocation des crédentials, le soutien de la délégation de l'accès, ce genre de chose, tout cela peut etre fait, c'est ce que l'on fait par ex, on dit 99:59:59.999 --> 99:59:59.999 que sémantique 99:59:59.999 --> 99:59:59.999 avec ça, clé à seuil, 99:59:59.999 --> 99:59:59.999 autre question, vous utilisez SHA-256 pour générer les clés ? 99:59:59.999 --> 99:59:59.999 es ce que c'est difficile de changer ça, ou cela serait cassé ? 99:59:59.999 --> 99:59:59.999 Alors, étant donné que l'on as, des versions du protocole de la claimchain, en haut du bloc, ici, c'est comme ça que l'on peut mettre à jour le rythme de hashage 99:59:59.999 --> 99:59:59.999 mais effectivement cela ne serait pas très facile 99:59:59.999 --> 99:59:59.999 autre question, merci c'était très intéressant 99:59:59.999 --> 99:59:59.999 je veux vous demander sur CrytoBit, la dérivation de clé 99:59:59.999 --> 99:59:59.999 pk vous utilisez la fonction de hash SHA et pas d'autres fonctions de dérivations de clé comme DPKDF ? 99:59:59.999 --> 99:59:59.999 Alors, je pense que c'est une question de simplicité ici, mais je n'ai pas de bonne réponse. Il est possible que votre suggestion soit meilleure; 99:59:59.999 --> 99:59:59.999 si vous voulez on peut en parler après cette présentation, merci bcp. 99:59:59.999 --> 99:59:59.999 une autre question, la dernière 99:59:59.999 --> 99:59:59.999 Comment es ce que la vie privée du droit social assuré par le cross hashing 99:59:59.999 --> 99:59:59.999 la confidentialité du graphe social, comment on la protège ? 99:59:59.999 --> 99:59:59.999 la confidentialité du graphe social, en utilisant le hashing, le cross hashing 99:59:59.999 --> 99:59:59.999 le claim ici 99:59:59.999 --> 99:59:59.999 le contenu du claim 99:59:59.999 --> 99:59:59.999 que l'on met dans notre arbre de préfixe 99:59:59.999 --> 99:59:59.999 ici 99:59:59.999 --> 99:59:59.999 ce contenu est chiffré, et il ne laisse fuire aucune information sur le contenu 99:59:59.999 --> 99:59:59.999 du claim 99:59:59.999 --> 99:59:59.999 donc, à cause de ce système de capabilité, qui ne permet à certains individus de lire un claim en particulier