1 99:59:59,999 --> 99:59:59,999 [Musique d'introduction dynamique] 2 99:59:59,999 --> 99:59:59,999 Présentateur : Je pense que beaucoup d'entre vous utilisent PGP ici. 3 99:59:59,999 --> 99:59:59,999 Levez la main. 4 99:59:59,999 --> 99:59:59,999 Bon(s) hacker(s), c'est bien. 5 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, 6 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 7 99:59:59,999 --> 99:59:59,999 mais c'est comme ça qu'il faudrai le faire normalement 8 99:59:59,999 --> 99:59:59,999 Si je vous disais qu'il y a une façon meilleure de le faire. 9 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. 10 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 (?) 11 99:59:59,999 --> 99:59:59,999 Conférencier : Bonjour, bons hackers ! 12 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é, ... . 13 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, 14 99:59:59,999 --> 99:59:59,999 ClaimChain est une infrastructure décentralisé de clé publique 15 99:59:59,999 --> 99:59:59,999 qui soutient la vérification bonne pour la vie privée. 16 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é 17 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. 18 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, 19 99:59:59,999 --> 99:59:59,999 temps-proof en anglais 20 99:59:59,999 --> 99:59:59,999 et puis on peut être 21 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é 22 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. 23 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. 24 99:59:59,999 --> 99:59:59,999 25 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. 26 99:59:59,999 --> 99:59:59,999 Blockchain, c'est appelé le stack de blocs 27 99:59:59,999 --> 99:59:59,999 28 99:59:59,999 --> 99:59:59,999 Ils utilisent un token Bitcoin pour l'identité. 29 99:59:59,999 --> 99:59:59,999 Donc on peut acheter des identités, à d'autres. Et ils vous appartiennent. 30 99:59:59,999 --> 99:59:59,999 C'est une plus puissante abstraction que ce que nous avons utilisé aujourd'hui. 31 99:59:59,999 --> 99:59:59,999 Si vous avez 32 99:59:59,999 --> 99:59:59,999 en NameCoin 33 99:59:59,999 --> 99:59:59,999 tout le monde va vous reconnaitre comme le propriétaire de cette identité. 34 99:59:59,999 --> 99:59:59,999 De l'autre coté ils ne vous donne pas 35 99:59:59,999 --> 99:59:59,999 propriétaire de cette identité 36 99:59:59,999 --> 99:59:59,999 si je dis, je suis dans ce système "Alice". 37 99:59:59,999 --> 99:59:59,999 Comment on va pouvoir vérifier que cette personne est Alice ? 38 99:59:59,999 --> 99:59:59,999 identités soit liées. 39 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. 40 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. 41 99:59:59,999 --> 99:59:59,999 Il y a un nombre spécifié de transactions, qui est inclus. 42 99:59:59,999 --> 99:59:59,999 Ensuite la génération suivante de blockchains 43 99:59:59,999 --> 99:59:59,999 ça peut être fait par email. 44 99:59:59,999 --> 99:59:59,999 ils ont remplacé par 45 99:59:59,999 --> 99:59:59,999 Le fournisseur est responsable des clés qu'il publie sur les utilisateurs. 46 99:59:59,999 --> 99:59:59,999 Donc si l'email utilise CONIX, on peut aller chercher la clé public du serveur public 47 99:59:59,999 --> 99:59:59,999 tout le monde obtient à ce moment précis 48 99:59:59,999 --> 99:59:59,999 on as aussi une discovery facile. 49 99:59:59,999 --> 99:59:59,999 Parce que ce que on sait que Alice a Zmail 50 99:59:59,999 --> 99:59:59,999 c'est très facile, à vérifier 51 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. 52 99:59:59,999 --> 99:59:59,999 On peut détecter l'identification, mais jusqu'à un certain point. 53 99:59:59,999 --> 99:59:59,999 Ils ont un seul point de défaillance. 54 99:59:59,999 --> 99:59:59,999 55 99:59:59,999 --> 99:59:59,999 Et les fournisseurs dans cette position privilégiée. 56 99:59:59,999 --> 99:59:59,999 (..) 57 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. 58 99:59:59,999 --> 99:59:59,999 Donc j'ai parlé des arbres de, des arbres binaires. 59 99:59:59,999 --> 99:59:59,999 60 99:59:59,999 --> 99:59:59,999 imaginer moi, j'ai ma clé privée 61 99:59:59,999 --> 99:59:59,999 trier les noeuds terminaux, au lieu d'utilisé des hashs 62 99:59:59,999 --> 99:59:59,999 sorties uniques 63 99:59:59,999 --> 99:59:59,999 clé privée qui est compatible avec cette fonction 64 99:59:59,999 --> 99:59:59,999 Et ma fonction produira 65 99:59:59,999 --> 99:59:59,999 qui a l'air aléatoire pour tout le monde 66 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 67 99:59:59,999 --> 99:59:59,999 qui insèrent des données avec un label en particulier 68 99:59:59,999 --> 99:59:59,999 toutes ses assertions se retrouvent 69 99:59:59,999 --> 99:59:59,999 Ce principe ça s'appelle la non-équivocation. 70 99:59:59,999 --> 99:59:59,999 C'est à dire que si deux personnes vont voir 71 99:59:59,999 --> 99:59:59,999 par exemple Gmail 72 99:59:59,999 --> 99:59:59,999 le même noeud final de l'arbre 73 99:59:59,999 --> 99:59:59,999 Comment on utilise ? 74 99:59:59,999 --> 99:59:59,999 Ce que l'on fait différement. un système décentralisé 75 99:59:59,999 --> 99:59:59,999 pour ça on a les utilisateurs qui hébergent 76 99:59:59,999 --> 99:59:59,999 ClaimChain séparé 77 99:59:59,999 --> 99:59:59,999 du coup on n'as pas besoin d'avoir un consensus global. 78 99:59:59,999 --> 99:59:59,999 n'importe qui peut vérifier 79 99:59:59,999 --> 99:59:59,999 Toute personne peut vérifier la chaine en entière. 80 99:59:59,999 --> 99:59:59,999 deux blocs valides apparaissent 81 99:59:59,999 --> 99:59:59,999 un compromis 82 99:59:59,999 --> 99:59:59,999 ou j'ai essayé de faire une équivocation 83 99:59:59,999 --> 99:59:59,999 un controle d'accès très fin, très précis. 84 99:59:59,999 --> 99:59:59,999 À cause de 85 99:59:59,999 --> 99:59:59,999 On peut décider de qui peut lire un claim, en particulier 86 99:59:59,999 --> 99:59:59,999 on as quand même besoin de savoir 87 99:59:59,999 --> 99:59:59,999 comment es ce que je peux 88 99:59:59,999 --> 99:59:59,999 comment ça fonctionne dans un systeme comme ça 89 99:59:59,999 --> 99:59:59,999 un tampon, une certification de dernier bloc de la chaîne 90 99:59:59,999 --> 99:59:59,999 Alice, redistribue une attestation 91 99:59:59,999 --> 99:59:59,999 de Bob 92 99:59:59,999 --> 99:59:59,999 .. 93 99:59:59,999 --> 99:59:59,999 Le dernier point est peut être ancien, 94 99:59:59,999 --> 99:59:59,999 mais c'est pas grave 95 99:59:59,999 --> 99:59:59,999 C'est comme ça, que ça se passe chez les humains, d'ailleurs 96 99:59:59,999 --> 99:59:59,999 ce n'est pas une histoire de protocole réseau. 97 99:59:59,999 --> 99:59:59,999 On peut utiliser ce mécanisme pour présenter deux de nos amis. 98 99:59:59,999 --> 99:59:59,999 préserver le graphe social des propriétaires des 99 99:59:59,999 --> 99:59:59,999 claimchains 100 99:59:59,999 --> 99:59:59,999 authentifié 101 99:59:59,999 --> 99:59:59,999 Cela peut supporter 102 99:59:59,999 --> 99:59:59,999 une PKI, un système de distribution de clé 103 99:59:59,999 --> 99:59:59,999 stocker 104 99:59:59,999 --> 99:59:59,999 contrôler un botnet ou ce que vous voulez. 105 99:59:59,999 --> 99:59:59,999 ... 106 99:59:59,999 --> 99:59:59,999 meme si tout est chiffré 107 99:59:59,999 --> 99:59:59,999 tant que vous ne publiez pas la clé qui permet de le déchiffrer 108 99:59:59,999 --> 99:59:59,999 la vie privée peut etre utilile 109 99:59:59,999 --> 99:59:59,999 l'équivocation permet d'éviter, d'assurer que deux personnes voit la même chose 110 99:59:59,999 --> 99:59:59,999 que plusieurs 111 99:59:59,999 --> 99:59:59,999 des compromis dans les claimchains. 112 99:59:59,999 --> 99:59:59,999 puisque 113 99:59:59,999 --> 99:59:59,999 les informations publiées restent valides 114 99:59:59,999 --> 99:59:59,999 il n'y a pas de répudiation possible. 115 99:59:59,999 --> 99:59:59,999 116 99:59:59,999 --> 99:59:59,999 Donc on as bcp travaillé sur la scalabilité. 117 99:59:59,999 --> 99:59:59,999 Github, là où on as notre papier. 118 99:59:59,999 --> 99:59:59,999 les limites 119 99:59:59,999 --> 99:59:59,999 combien de temps ça prend de ? 120 99:59:59,999 --> 99:59:59,999 très flexible en terme de scénario 121 99:59:59,999 --> 99:59:59,999 ça peut marché aussi avec des scénarios ad-hoc. 122 99:59:59,999 --> 99:59:59,999 quand vous incluez les preuves dans un email 123 99:59:59,999 --> 99:59:59,999 quand vous faites pièce jointe 124 99:59:59,999 --> 99:59:59,999 à vos amis 125 99:59:59,999 --> 99:59:59,999 les claims que les veux 126 99:59:59,999 --> 99:59:59,999 de la chaine de claim 127 99:59:59,999 --> 99:59:59,999 la preuve d'inclusion est 128 99:59:59,999 --> 99:59:59,999 regardons maintenant sous le capot. 129 99:59:59,999 --> 99:59:59,999 j'espère que l'on as du temps. 130 99:59:59,999 --> 99:59:59,999 une timestamp 131 99:59:59,999 --> 99:59:59,999 pour les capacités 132 99:59:59,999 --> 99:59:59,999 les métadonnées de claimchain. toutes les identités 133 99:59:59,999 --> 99:59:59,999 le handle Twitter 134 99:59:59,999 --> 99:59:59,999 quelques clés publiques que l'on as besoin 135 99:59:59,999 --> 99:59:59,999 pour signer les nouveaux blocs 136 99:59:59,999 --> 99:59:59,999 Et une autre clé pour les capabilités techniques. 137 99:59:59,999 --> 99:59:59,999 ensuite le principal élement 138 99:59:59,999 --> 99:59:59,999 sous forme d'arbre de préfix. préfixes 139 99:59:59,999 --> 99:59:59,999 c'est comme ça que l'on 140 99:59:59,999 --> 99:59:59,999 comme le payload 141 99:59:59,999 --> 99:59:59,999 On le signe et on attache la signature et on a une information qui se tiens. 142 99:59:59,999 --> 99:59:59,999 dans un email 143 99:59:59,999 --> 99:59:59,999 enregistré en ligne 144 99:59:59,999 --> 99:59:59,999 Si on veut ajouter un claim, par exemple 145 99:59:59,999 --> 99:59:59,999 Alice, la route du préfixe 146 99:59:59,999 --> 99:59:59,999 On veut ajouter un claim 147 99:59:59,999 --> 99:59:59,999 148 99:59:59,999 --> 99:59:59,999 À partir de maintenant ça sera bob@riseup.net 149 99:59:59,999 --> 99:59:59,999 bob@riseup.net plus le nonce 150 99:59:59,999 --> 99:59:59,999 Ensuite on calcule l'index du noeud final 151 99:59:59,999 --> 99:59:59,999 on prend juste 152 99:59:59,999 --> 99:59:59,999 on fait un lookup. 153 99:59:59,999 --> 99:59:59,999 on va vers une clé de chiffrement symétrique 154 99:59:59,999 --> 99:59:59,999 ensuite, on va tout chiffrer, tout le contenu 155 99:59:59,999 --> 99:59:59,999 sûr que la claim key 156 99:59:59,999 --> 99:59:59,999 avec un mécanisme 157 99:59:59,999 --> 99:59:59,999 la preuve VRF 158 99:59:59,999 --> 99:59:59,999 la claim key 159 99:59:59,999 --> 99:59:59,999 C'est comme cela que l'on as le noeud final à Bob 160 99:59:59,999 --> 99:59:59,999 scénario suivant : On veut ajouter une capabilité 161 99:59:59,999 --> 99:59:59,999 pour lire Bob 162 99:59:59,999 --> 99:59:59,999 d'abord on va ... un défi DH 163 99:59:59,999 --> 99:59:59,999 ensuite on va utilisé 164 99:59:59,999 --> 99:59:59,999 pour générer la clé lookup 165 99:59:59,999 --> 99:59:59,999 l'index de la clé de lookup ... 166 99:59:59,999 --> 99:59:59,999 le Nonce 167 99:59:59,999 --> 99:59:59,999 et pour charger 168 99:59:59,999 --> 99:59:59,999 Ça permet de cacher quelles capacités ont été révoquées. 169 99:59:59,999 --> 99:59:59,999 de là, on dérive 170 99:59:59,999 --> 99:59:59,999 la clé de claim 171 99:59:59,999 --> 99:59:59,999 à partir de 172 99:59:59,999 --> 99:59:59,999 et avec la clé symétrique que l'on a dérivé à l'étape 3 173 99:59:59,999 --> 99:59:59,999 on génère ce noeud terminal 174 99:59:59,999 --> 99:59:59,999 maintenant si GF veut récupérer la derniere MaJ 175 99:59:59,999 --> 99:59:59,999 il va faire l'inverse, c'est à dire, 176 99:59:59,999 --> 99:59:59,999 si 177 99:59:59,999 --> 99:59:59,999 la derniere maj 178 99:59:59,999 --> 99:59:59,999 de l'arbre 179 99:59:59,999 --> 99:59:59,999 Alice 180 99:59:59,999 --> 99:59:59,999 DH 181 99:59:59,999 --> 99:59:59,999 va récupérer la clé de capacité 182 99:59:59,999 --> 99:59:59,999 aller 183 99:59:59,999 --> 99:59:59,999 l'arbre de préfixe de M 184 99:59:59,999 --> 99:59:59,999 ensuite il va pouvoir déchiffrer 185 99:59:59,999 --> 99:59:59,999 Donc, si vous avez suivi, 186 99:59:59,999 --> 99:59:59,999 ça inclus le hash 187 99:59:59,999 --> 99:59:59,999 il peut récupérer 188 99:59:59,999 --> 99:59:59,999 et le déchiffrer 189 99:59:59,999 --> 99:59:59,999 ça c'est fait 190 99:59:59,999 --> 99:59:59,999 à l'étape n° 4 191 99:59:59,999 --> 99:59:59,999 la preuve VRF 192 99:59:59,999 --> 99:59:59,999 pour vérifier 193 99:59:59,999 --> 99:59:59,999 (...) (...) (...) 194 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. 195 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 196 99:59:59,999 --> 99:59:59,999 donc c'est comme ça que l'on a fait une claimchain extensive 197 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. 198 99:59:59,999 --> 99:59:59,999 Applause 199 99:59:59,999 --> 99:59:59,999 Donc nous avons 4 micros. Posez vos questions. 200 99:59:59,999 --> 99:59:59,999 Question d'Internet, j'ai compris 201 99:59:59,999 --> 99:59:59,999 vous utilisez ce système 202 99:59:59,999 --> 99:59:59,999 en faisant 203 99:59:59,999 --> 99:59:59,999 GPG 204 99:59:59,999 --> 99:59:59,999 aussi 205 99:59:59,999 --> 99:59:59,999 vos amis de 206 99:59:59,999 --> 99:59:59,999 l'accès de lecture 207 99:59:59,999 --> 99:59:59,999 encore plus difficile à utiliser que GPG ? 208 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 209 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é. 210 99:59:59,999 --> 99:59:59,999 alors, par contre, 211 99:59:59,999 --> 99:59:59,999 avec ce mécanisme 212 99:59:59,999 --> 99:59:59,999 les choses deviennent 213 99:59:59,999 --> 99:59:59,999 je vais vous montrer, cela fait parti de la simulation 214 99:59:59,999 --> 99:59:59,999 vous pouvez voir à gauche 215 99:59:59,999 --> 99:59:59,999 on simule le scénario 216 99:59:59,999 --> 99:59:59,999 complètement centralisé où l'on a juste 217 99:59:59,999 --> 99:59:59,999 des présentations dans les emails 218 99:59:59,999 --> 99:59:59,999 on peut voir que ça marche quand même 219 99:59:59,999 --> 99:59:59,999 sans qu'on est besoin, confiance à la personne 220 99:59:59,999 --> 99:59:59,999 on peut dire 221 99:59:59,999 --> 99:59:59,999 les emails qui passent sont chiffrés avec la bonne clé 222 99:59:59,999 --> 99:59:59,999 on a la confiance 223 99:59:59,999 --> 99:59:59,999 micro n°1, je m'intéresse à l'expressivité 224 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 225 99:59:59,999 --> 99:59:59,999 que sémantique 226 99:59:59,999 --> 99:59:59,999 avec ça, clé à seuil, 227 99:59:59,999 --> 99:59:59,999 autre question, vous utilisez SHA-256 pour générer les clés ? 228 99:59:59,999 --> 99:59:59,999 es ce que c'est difficile de changer ça, ou cela serait cassé ? 229 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 230 99:59:59,999 --> 99:59:59,999 mais effectivement cela ne serait pas très facile 231 99:59:59,999 --> 99:59:59,999 autre question, merci c'était très intéressant 232 99:59:59,999 --> 99:59:59,999 je veux vous demander sur CrytoBit, la dérivation de clé 233 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 ? 234 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; 235 99:59:59,999 --> 99:59:59,999 si vous voulez on peut en parler après cette présentation, merci bcp. 236 99:59:59,999 --> 99:59:59,999 une autre question, la dernière 237 99:59:59,999 --> 99:59:59,999 Comment es ce que la vie privée du droit social assuré par le cross hashing 238 99:59:59,999 --> 99:59:59,999 la confidentialité du graphe social, comment on la protège ? 239 99:59:59,999 --> 99:59:59,999 la confidentialité du graphe social, en utilisant le hashing, le cross hashing 240 99:59:59,999 --> 99:59:59,999 le claim ici 241 99:59:59,999 --> 99:59:59,999 le contenu du claim 242 99:59:59,999 --> 99:59:59,999 que l'on met dans notre arbre de préfixe 243 99:59:59,999 --> 99:59:59,999 ici 244 99:59:59,999 --> 99:59:59,999 ce contenu est chiffré, et il ne laisse fuire aucune information sur le contenu 245 99:59:59,999 --> 99:59:59,999 du claim 246 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