Forcer un comportement honnête

9

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).

Yasser Sobhdel
la source
2
Vous pouvez jeter un œil à ceci: wisdom.weizmann.ac.il/~oded/gmw2.html . Dans cet article, les parties malhonnêtes sont obligées d'agir honnêtement en prouvant (en connaissance de cause) qu'elles ont suivi le protocole à l'étape précédente.
MS Dousti
4
Je pense que "forcer un comportement honnête" est une définition possible de la cryptographie moderne (qui est plus que simplement cacher des informations). Dans ce cas, chaque sous-domaine de la cryptographie peut être considéré comme une approche de cette question.
Marc
J'allais écrire la même chose que Marc. (Soit dit en passant, les preuves interactives ou même la définition de NP peuvent également être considérées comme «forçant un comportement honnête» sur le prouveur, bien qu'elles ne soient généralement pas considérées comme des protocoles cryptographiques.) La question est vraiment large, et il semble y avoir aucun moyen unique d'imposer un comportement honnête dans diverses situations.
Tsuyoshi Ito
1
Qu'entendez-vous précisément par "mais ils ne semblent tout simplement pas résoudre tout le problème?" Pourriez-vous être plus précis?
Alon Rosen
@Sadeq: Voir le dernier paragraphe! @Marc & Tsuyoshi lto: Veuillez consulter la section Modifier. cela peut aider.
Yasser Sobhdel

Réponses:

6

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:

  • Crypto théorie: supposons que les "bons" agents suivent toujours le protocole, tandis que les agents "malveillants" essaient de renverser le protocole. Concevez le protocole de cryptographie de telle sorte que les bons agents obtiennent ce dont ils ont besoin, tandis que les agents malveillants n'obtiennent rien.
  • théorie des jeux: supposons que chaque agent ne regarde que pour son propre intérêt. Utilisez la conception du mécanisme pour maximiser l'avantage total pour tout le monde.
  • réseau distribué tolérant aux pannes: supposez que chaque agent commet une erreur occasionnelle et que quelques agents bots répandent de nombreux messages malveillants. Détectez et isolez les nœuds du bot jusqu'à ce qu'ils soient fixes; utiliser la détection et la correction d'erreurs (EDAC) pour corriger l'erreur occasionnelle; utiliser des protocoles convergents qui finissent par s'installer dans un état utile, quelle que soit la mauvaise information initiale stockée dans les tables de routage.

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.

David Cary
la source
4

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.

yhirai
la source
1
Voici un article connexe pour accompagner les diapositives: theory.stanford.edu/~vteague/STOC04.pdf - Cette approche ne "force" pas les gens à suivre le protocole, mais essaie de concevoir le protocole pour inciter les individus à vouloir faire cela. Bien sûr, pour ce faire, vous devez faire quelques hypothèses sur ce que les personnes qui suivent le protocole veulent faire exactement ...
Aaron Roth
si possible, pourriez-vous expliquer ce que signifie «rationnel» dans ce contexte? Par exemple, cela signifie-t-il l'adhésion à un ensemble mondial sous-jacent d'axiomes? ou cela signifie-t-il que les parties concernées partagent le même ensemble d'axiomes sous-jacents? la première explication me semble absurde dans tout scénario du monde réel, car les individus ont souvent des motivations sous-jacentes très différentes, et on peut donc s'attendre à ce qu'ils traitent les «incitations» de manières très différentes.
s8soj3o289
@blackkettle: un acteur rationnel maximise (l'attente de) une fonction d'utilité. pour la raison que vous signalez, il est toujours difficile de trouver les bons axiomes que les services publics doivent satisfaire. mais nous essayons toujours pour l'ensemble minimal d'axiomes. tous les bons livres sur la microéconomie entreraient dans les détails sur cette question
Sasho Nikolov
@blackkettle: à propos du journal Halpern: il suppose que les parties au protocole (de partage de secret) préfèrent connaître le secret plutôt que de ne pas le savoir, et préfèrent que moins que plus d'autres parties connaissent le secret. la notion d'équilibre qu'il utilise est également l'équilibre de Nash sur des stratégies non dominées (c'est-à-dire qu'un joueur ne jouerait pas une stratégie si une autre est toujours au moins aussi bonne; aussi, tant que d'autres joueurs ne changent pas leurs stratégies et que sa stratégie actuelle n'est pas pire que tout autre, elle ne le changerait pas non plus).
Sasho Nikolov