Comment pouvez-vous forcer une partie à être honnête (obéir aux règles du protocole)?
J'ai vu certains mécanismes tels que les engagements, les preuves, etc., mais ils ne semblent tout simplement pas résoudre tout le problème. Il me semble que la structure de la conception du protocole et de tels mécanismes doivent faire l'affaire. Quelqu'un a-t-il une bonne classification de cela?
Modifier
Lors de la conception de protocoles sécurisés, si vous forcez une partie à être honnête, la conception serait beaucoup plus facile, bien que cette application ait son propre avantage. J'ai vu lors de la conception de protocoles sécurisés, les concepteurs supposent quelque chose qui ne me semble pas réaliste, par exemple pour supposer que toutes les parties sont honnêtes dans le pire des cas ou en supposant l'honnêteté du serveur qui conserve les données des utilisateurs. Mais quand on regarde la conception de protocoles dans des modèles plus stricts, on voit rarement de telles hypothèses (au moins je ne l'ai pas vu - j'étudie surtout les protocoles surFramework UC de Canetti dont je pense qu'il n'est pas encore totalement formalisé). Je me demandais, existe-t-il une bonne classification des façons dont vous pouvez forcer une partie à être honnête ou existe-t-il un compilateur capable de convertir le protocole d'entrée en un protocole avec des parties honnêtes?
Maintenant, je vais expliquer pourquoi je pense que cela ne fait tout simplement pas l'affaire, même si cela peut sembler non pertinent. Lors de la conception de protocoles dans le cadre UC, qui bénéficie du paradigme idéal / réel, chaque lien de communication dans le modèle idéal est authentifié, ce qui n'est pas vrai dans le modèle réel. Les concepteurs de protocoles recherchent donc des méthodes alternatives pour implémenter ce canal via l'hypothèse PKI ou un CRS (Common Reference String). Mais lors de la conception de protocoles d'authentification, supposer que les canaux authentifiés sont incorrects. Supposons que nous concevions un protocole d'authentification dans le cadre UC, il y a une attaque dans laquelle l'adversaire forge l'identité d'une partie, mais en raison de l'hypothèse de liens authentifiés dans le modèle idéal, cette attaque n'est pas supposée dans ce cadre! Vous pouvez vous référer àModélisation des attaques internes sur les protocoles d'échange de clés de groupe . Vous remarquerez peut-être que Canetti, dans son ouvrage fondateur, Notions universellement composables d'échange de clés et de canaux sécurisés, mentionne une notion antérieure de sécurité appelée SK-Security, qui suffit simplement à assurer la sécurité des protocoles d'authentification. Il avoue en quelque sorte (en déclarant que c'est une question de technicité) que la définition de l'UC dans ce contexte est trop restrictive et fournit une variante détendue appelée oracle de non-information (ce qui m'a dérouté, car je n'ai vu ce modèle de sécurité nulle part où , Je ne peux pas associer ce modèle de sécurité à un autre modèle de sécurité, probablement mon manque de connaissances: D).
[En remarque, vous pouvez presque faire convertir n'importe quel protocole Sk-secure en un protocole sécurisé UC indépendamment de l'heure du simulateur. Par exemple, vous pouvez simplement supprimer les signatures des messages et demander au simulateur de simuler toutes les interactions de manière fictive. Voir Échange de clés de groupe contributif universellement composable pour la preuve! Supposons maintenant qu'il s'agit d'un protocole d'échange de clés de groupe avec de nombreuses parties polynomiales, quelle serait l'efficacité du simulateur ?? C'est l'origine de mon autre question dans ce forum .]
Quoi qu'il en soit, en raison du manque d'engagement dans le modèle simple (sur UC), j'ai cherché d'autres moyens de sécuriser le protocole en contournant simplement le besoin de cette relaxation. Cette idée est donc très basique dans mon esprit et m'est venue à l'esprit juste après avoir étudié le dernier schéma d'engagement de canetti dans le modèle simple: Dureté adaptative et sécurité composable dans le modèle simple à partir d'hypothèses standard .
BTW, je ne cherche pas de preuves de connaissance zéro parce que pour une raison que je ne connais pas, chaque fois que quelqu'un a utilisé l'un d'eux dans un protocole simultané (sur le cadre UC), les autres ont mentionné le protocole comme inefficace (peut être en raison du rembobinage du simulateur).
la source
Réponses:
Hélas, vous ne pouvez pas forcer les gens à faire ce que le protocole dit qu'ils devraient faire.
Même les personnes bien intentionnées qui avaient l'intention de suivre le protocole font parfois des erreurs.
Il semble y avoir au moins 3 approches:
conception de mécanisme Dans la théorie des jeux, la conception d'une situation (telle que la mise en place des règles d'une vente aux enchères) de telle sorte que les personnes qui ne cherchent égoïstement que pour leurs propres intérêts finissent par faire ce que le concepteur veut qu'elles soient appelées "conception de mécanisme" . En particulier, en utilisant la théorie de la mise en œuvre , les situations peuvent être conçues de telle sorte que le résultat final maximise le bénéfice total pour tout le monde, en évitant les situations mal conçues telles que la «tragédie des biens communs» ou le «dilemme du prisonnier» où des choses se produisent qui n'appartiennent à personne. intérêt à long terme.
Certains des processus les plus robustes sont conçus pour être compatibles avec les incitations .
La théorie des jeux fait généralement l'hypothèse simplificatrice que tous les agents concernés sont "rationnels". Dans la théorie des jeux, «rationnel» signifie qu'un agent préfère certains résultats à d'autres résultats, est disposé et capable de modifier ses actions d'une manière qui, selon lui (compte tenu des informations dont il dispose), aboutira à un résultat plus préféré (le sien propre). intérêt personnel étroit), et il est assez intelligent pour se rendre compte que d'autres agents rationnels agiront de la même manière pour essayer d'obtenir le résultat le plus préféré de tous les résultats possibles qui pourraient résulter de ce choix d'action.
Un concepteur peut temporairement faire l'hypothèse simplificatrice que tout le monde n'agit qu'en fonction de son propre intérêt personnel. Cette hypothèse facilite la conception d'une situation à l'aide de la théorie de l'implémentation. Cependant, une fois la conception terminée, peu importe que les gens agissent selon leur propre intérêt personnel étroit (" Homo economicus "), ou s'ils sont altruistes et souhaitent maximiser le bénéfice net total pour chacun - dans un situation bien conçue, les deux types de personnes font exactement les mêmes choix et le résultat final maximise le bénéfice total pour tout le monde.
protocoles convergents
Lors de la conception d'un protocole de routage , chaque nœud du réseau envoie des messages à ses voisins en lui transmettant des informations sur les autres nœuds accessibles à partir de ce nœud.
Hélas, ces messages contiennent parfois des erreurs. Pire, un nœud est parfois mal configuré et génère de nombreux messages trompeurs et peut-être même conçus de manière malveillante.
Même si nous, les humains, savons que le message peut être incorrect, nous concevons généralement le protocole de sorte qu'un nœud fonctionnant correctement approuve chaque message et stocke les informations dans sa table de routage, et prenne ses décisions comme s'il croyait que ces informations étaient entièrement vraies.
Une fois qu'un humain éteint un mauvais nœud (ou le déconnecte du réseau), nous concevons généralement le protocole pour transmettre rapidement de bonnes informations pour éliminer les informations corrompues, et ainsi converger rapidement vers un état utile.
approches combinées
La conception de mécanismes algorithmiques semble essayer de combiner l'approche réseau tolérante aux pannes et l'approche du mécanisme de la théorie des jeux.
@Yoichi Hirai et Aaron, merci d'avoir signalé quelques tentatives intéressantes pour combiner théorie des jeux et cryptographie.
la source
Joe Halpern a une diapositive sur ce sujet. http://games2009.dimi.uniud.it/Halpern.pdf
Il s'agit d'inciter les parties à suivre un protocole. Ces mécanismes nécessitent une rationalité des parties et les arguments sont basés sur la théorie des jeux.
la source