• Aucun résultat trouvé

Classification des protocoles distribués

Partie I Introduction à la cryptologie partagée 23

Chapitre 2 Généralités sur la cryptographie partagée 49

2.1.2 Classification des protocoles distribués

On classe les protocoles distribués en fonction de différents critères comme les hypothèses faites sur les canaux de communication entre les participants, les propriétés de sécurité que tente d’attaquer un adversaire ou encore la puissance des adversaires.

Les canaux

Les modèles de communication diffèrent en fonction de trois critères : l’existence de canaux secrets de communication reliant chaque paire de joueurs, l’existence d’un canal de broadcast qui permet de transmettre le même message à plusieurs destinataires en même temps, et suivant des contraintes tem-porelles sur les canaux de communication synchrones (un message émis arrive immédiatement au(x) destinataire(s)) ou asynchrones (existence d’un délai de transit variable selon le moment d’émission ou la destination).

Propriétés de sécurité d’un schéma partagé

On rappelle que dans les protocoles partagés, l’adversaire a le droit d’obtenirtparts de la clé secrète en attaquanttserveurs. De plus, dans le cas des schémas de signature ou de déchiffrement, le modèle de communication est le suivant. Initialement, chaque serveur a une part de la clé secrète. Lorsqu’un message doit être signé ou déchiffré, un joueur particulier, appelé combineur, envoie le message à signer ou à déchiffrer à tous les serveurs. Les serveurs appliquent une fonction dépendant de leur part de la clé et du message, et retournent le résultat au combineur. Dans le cas de la signature, le message renvoyé est appelé part de la signature et dans le cas du déchiffrement, part du déchiffré. Enfin, le combineur exécute l’algorithme de combinaison pour générer la signature ou déchiffrer le message.

Les deux propriétés que tente de contredire un adversaire contre un schéma multiparties sont : – la sécurité du protocole qui dépend du schéma cryptographique. Dans le cas d’un schéma de

signature, il s’agit de forger une signature contre une attaque à messages choisis adaptative. Ainsi, l’adversaire a accès àtparts de la clé secrète de signature, aux signatures sur les messagesmi de son choix distincts du message à forger et des parts de signatures des joueurs non corrompus sur les messagesmi. La figure 2.1 représente le modèle de sécurité d’un schéma de signature distribué.

La valeurpkreprésente la clé publique,skj les parts de la clé de signature connue par l’adversaire, sila signature sur le messagemi, etf(mi,skj)les parts de signature sur le messagemien utilisant la part de la cléskj.

mi

sj, f(mi,skj), j > t

A pk,sk1,sk2, . . . ,skt

(m, s), m6=mi

Challengeur

FIG. 2.1: Modèle de sécurité d’un schéma de signature distribué.

Dans le cas d’un système de chiffrement, il s’agit d’apprendre de l’information sur le message clair ou de contredire l’indistinguabilité du schéma de chiffrement. L’adversaire a accès àtparts de la clé de déchiffrement,sk1,sk2, . . . ,skt, aux parts de déchiffrement des joueurs non corrompus sur les messagesσide son choix,mi, f(σi,skj), et aux déchiffrés sur les chiffrés de son choix suivant le mode d’attaque (cf. 2.2).

A pk,sk1,sk2, . . . ,skt

Challengeur

σi m0,m1

cb

mi, f(σi,skj),j > t

b

mi, f(σi,skj),j > t σi

FIG. 2.2: Modèle de sécurité sémantique d’un système de chiffrement distribué contre une attaque adap-tative à chiffrés choisis.

Dans le cas du partage de la clé, il s’agit d’apprendre de l’information sur une part de la clé détenue par un joueur non-corrompu.

– La robustesse du protocole permet de garantir que même en présence de joueurs capables de tricher en envoyant de mauvaises parts, le protocole permettra toujours de générer une signature valide, de déchiffrer correctement un message ou encore de générer une clé avec une distribution uniforme sur l’espace des clés.

Les adversaires

Il existe plusieurs catégories d’adversaires selon :

1. leur capacité d’attaque sur un serveur (droit de lecture du contenu de la mémoire, accès en écriture, envoi de mauvais messages),

2. leurs ressources de calcul,

3. leur méthode pour décider les machines à attaquer.

La première distinction que nous introduirons concerne les adversairespassifsetactifs:

– Un adversaire passif peut lire toutes les informations disponibles dans la mémoire des machines attaquées et tente uniquement de contredire la sécurité du protocole et non la robustesse du proto-cole.

– Un adversaire actif contrôle le comportement complet des joueurs corrompus. Il tente de contredire la sécurité du protocole et/ou d’attaquer la robustesse.

Les adversaires sont aussi classés suivant les ressources de calcul disponibles. Si l’adversaire est polynomialement borné, on parlera desécurité cryptographiqueouconditionnelle, et dans le cas où les ressources ne sont pas bornées, on parlera desécurité au sens de la théorie de l’informationou inconditionnelle.

De plus, on peut distinguer adversaires statiques et adversaires adaptatifs ou dynamiques. Contrai-rement à un adversaire statique qui corrompt les joueurs au début de l’exécution du protocole, un ad-versaire adaptatif peut décider de corrompre n’importe quel joueur, au cours de l’exécution du protocole aussi longtemps que le nombre de joueurs corrompus ne dépasse pas une limite, dépendant par exemple des messages échangés. Il est clair qu’un adversaire adaptatif semble plus fort qu’un adversaire statique.

Cependant dans certains modèles, il y a équivalence entre adversaires statique et adaptif [31]. Pour étu-dier ces équivalences, il est utile de mettre en correspondance les adversaires et les modèles de sécurité utilisés : sécurité au sens de la théorie de l’information et sécurité cryptographique. Il est assez intuitif de penser que dans le modèle de la théorie de l’information, il y a équivalence entre ces deux d’adversaires.

En effet, l’attaquant n’obtient aucune information lorsqu’il voit passer les messages échangés entre les serveurs non corrompus. Il ne peut donc pas utiliser ces données pour décider quel serveur corrompre. En revanche dans le modèle cryptographique, les communications entre les serveurs non corrompus peuvent permettre à un adversaire puissant de déduire des informations. Ainsi, on suppose que de l’information fuit, mais en quelle quantité ? Si le nombre de serveurs est petit et si l’on ne considère que des adver-saires passifs28, l’adversaire ne peut pas réunir suffisamment d’information et il y a encore équivalence entre ces deux notions. Cependant, dès quen=ω(log(k))oùkest un paramètre de sécurité, ou si l’on ne considère que des adversaires actifs, il n’y a plus équivalence quel que soit le nombre de serveurs corrompus.

Il est enfin possible de considérer les adversaires mobiles. De même qu’un adversaire adaptatif, ils peuvent corrompre un serveur à n’importe quel moment du jeu. Ils peuvent aussi décider de perdre le

28. Passifs ne veut pas dire ici que l’adversaire ne fait qu’écouter le canal de communication. On rappelle qu’il a aussi accès en lecture à la mémoire de plusieurs machines.

contrôle sur certains et regagner la capacité de corrompre d’autres joueurs ultérieurement ou les mêmes un instant plus tard. Ces adversaires modélisent le comportement d’un attaquant qui craint d’être détecté et préfère perdre temporairement le contrôle sur une machine pour éviter de se faire remarquer. Dans le cas des protocoles proactifs, le temps est divisé en périodes. Ces adversaires peuvent donc attaquer n’importe quel serveur mais ne peuvent en attaquer quetdurant la même période de temps.