• Aucun résultat trouvé

Classe de protocoles param´etr´es

2.2 Protocoles param´etr´es

2.2.1 Classe de protocoles param´etr´es

Nous commen¸cons tout d’abord par voir ce que signifie un syst`eme param´etr´e dans la litt´erature. Nous d´efinissons apr`es la notion de protocoles param´etr´es avec quelques exemples d’utilisation de ces protocoles.

Syst`eme param´etr´e Nous pouvons d´efinir un syst`eme param´etr´e comme une collection d’un nombre arbitraire de composants agissant l’un sur l’autre par l’interm´ediaire d’une liaison syn- chrone ou asynchrone. Dans [106], un syst`eme param´etr´e consiste en une composition en pa- rall`ele de n processus sym´etriques, ex´ecutants tous, le mˆeme programme. Dans le mˆeme esprit, d’apr`es [84], un syst`eme param´etr´e consiste en un nombre arbitraire de processus `a ´etats finis. Ces syst`emes param´etr´es peuvent utiliser des structures de donn´ees telles que les tableaux qui ont aussi une longueur param´etr´ee selon le nombre de processus.

Consid´erons maintenant un r´eseau o`u un certain nombre de processus concurrents inter- agissent entre eux. G´en´eralement, ce nombre de processus concurrents n’est pas connu en avance dans une telle situation. L’int´erˆet d’une telle caract´eristique est de concevoir des protocoles qui peuvent fonctionner correctement pour n’importe quel nombre de processus concurrents. Ces protocoles sont alors nomm´es protocoles param´etr´es par consid´eration du nombre de processus. Un exemple classique de syst`eme param´etr´e est de consid´erer les algorithmes distribu´es o`u n utilisateurs partagent une ressource et ex´ecutent un protocole pour assurer l’acc`es mutuel exclusif `a cette ressource. La propri´et´e d’exclusion mutuelle `a une ressource, pour un syst`eme donn´e de n processus, exprime le fait que, tout i et j de {1, .., n}, tant que le processus i ex´ecute une partie de sa section critique et donc utilise la ressource partag´ee, le processus j o`u j 6= i n’ex´ecute aucune partie de sa section critique et donc n’utilise pas la ressource partag´ee. Dans ce cadre de protocoles, nous pouvons citer le protocole param´etr´e de Peterson [83]. Ce protocole assure l’utilisation mutuelle exclusive d’une ressource donn´ee qui est partag´ee entre n processus, o`u n est le param`etre du protocole param´etr´e et peut ˆetre non born´e.

En r´esum´e, un syst`eme param´etr´e repr´esente une famille de syst`emes `a ´etats finis utilisant des type d´efinis r´ecursivement tels que les chaˆınes ou les arbres. Le param`etre de ses syst`emes est g´en´eralement le nombre de processus dans ce syst`eme qui peut ˆetre arbitrairement grand. En effet, les syst`emes param´etr´es sont des syst`emes pouvant avoir un nombre arbitraire de processus identiques mis en parall`ele, chaque processus ´etant un syst`eme fini. Ces syst`emes sont omnipr´esents dans plusieurs contextes. Par exemple, les protocoles g´erants les r´eseaux doivent fonctionner quelque soit le nombre de composantes de ces r´eseaux.

Protocole param´etr´e Dans le mˆeme esprit, dans le cadre des protocoles cryptographiques d´efinis en Section [?], un protocole param´etr´e peut ˆetre d´efini comme ´etant un protocole mettant en cause un nombre arbitraire de participants. N´eanmoins, au contraire des syst`emes param´etr´es o`u les processus sont identiques, les participants du protocole param´etr´e peuvent ne pas effectuer

2.2. Protocoles param´etr´es 19 des actions similaires. En d’autres termes, ces participants peuvent avoir des comportements diff´erents vis `a vis d’un mˆeme message re¸cu. Ainsi, nous pouvons les classer dans un premier temps en deux cat´egories :

– les protocoles sym´etriques.

Dans ces protocoles, chaque participant ex´ecute des actions similaires. En effet, en recevant un certain message, un participant traite ce message et envoie un autre message comme r´eponse. Dans un protocole sym´etrique, tous les participants ont le mˆeme comportement vis `a vis d’un mˆeme message re¸cu, i.e. ils envoient la mˆeme r´eponse, modulo les informa- tions priv´ees utilis´ees lors du traitement du message re¸cu. Par exemple, pour la premi`ere phase du protocole GDH [8], en recevant une liste de m messages, chacun des participants exponentie chacun de ces messages par sa contribution personnelle, construit et envoie la liste compos´ee de m − 1 messages modifi´es, du message m et du message m modifi´e. – les protocoles asym´etriques.

Dans ce cas, certains participants ne se comportent pas comme les autres participants vis `a vis d’un mˆeme message re¸cu. Un exemple de ce genre de situation se pr´esente dans des protocoles o`u il y a deux sortes de participants : une entit´e centrale et le reste des participants. Cette entit´e centrale peut ˆetre d´efinie d`es le d´epart sans tenir compte de la topologie de l’ensemble des participants. Il s’agit g´en´eralement d’un leader ou d’un serveur qui a pour rˆole de contrˆoler l’´echange de messages entre ces participants ou bien la r´esolution des requˆetes de ces participants. Cette entit´e centrale peut aussi ˆetre d´efinie par rapport `a la topologie de l’ensemble des participants. Dans ce cas, elle est g´en´eralement le dernier ´el´ement de la chaˆıne repr´esentant cet ensemble de participants. Comme exemple, nous pouvons citer les protocoles Tanaka Sato [97] ou Asokan-Ginzboorg [6]. Le premier protocole met en cause un serveur et un ensemble de participants. Le serveur re¸coit des requˆetes des autres participants, et les traite selon le type de ces requˆetes. Dans le deuxi`eme protocole, le dernier participant joue le rˆole d’un leader qui collecte les contributions des autres participants afin de calculer une clef du groupe.

Une autre caract´eristique qui peut diff´erencier les protocoles param´etr´es des autres protocoles est l’impact du param`etre qui est le nombre de participants sur la d´efinition et la structure elles-mˆemes du protocole. Nous consid´erons donc dans ce cas deux cat´egories de protocoles param´etr´es :

– la structure du protocole d´epend du param`etre (Dependant Structure protocols). Dans ce cas, la d´efinition mˆeme du protocole d´epend de la valeur de n qui est le nombre de participants impliqu´es dans le protocole. En d’autres termes, la d´efinition du protocole diff`ere d’une valeur de n `a une autre. Par exemple, le nombre de phases constituant le protocole diff`ere pour diff´erentes valeurs de n. Comme exemple de cette cat´egorie nous pouvons citer le protocole de signature de contrat de Garay-MacKenzie (GM) [48] et plus pr´ecis´ement le sous-protocole principal de ce protocole (Main). Ce sous-protocole consiste en un ´echange de promesses entre les signataires (participants du protocole). Il est compos´e de n niveaux qui sont d´efinis r´ecursivement. En outre, chaque niveau de r´ecursion utilise un niveau de promesses diff´erent et plus fort que l’ancien. Il est donc ´evident que la structure de sous-protocole diff`ere pour diff´erentes valeurs du param`etre n.

– la structure du protocole ne d´epend pas du param`etre (Independant Structure protocol). Le nombre de phases du protocole ou bien le d´eroulement du protocole ne fait donc pas intervenir le param`etre. Ils sont toujours valables pour n’importe quelle valeur du pa- ram`etre. Par exemple, le protocole Asokan-Ginzboorg [6] admet exactement quatre phases ind´ependamment du nombre de participants impliqu´es. Dans la premi`ere phase, le leader envoie `a l’ensemble des participants une clef d’encryption. La deuxi`eme phase consiste

20 Chapitre 2. Protocoles de groupe `a collecter les contributions de ces diff´erents participants. En troisi`eme phase, le leader envoie la clef de groupe concat´en´ee `a d’autres informations relatives `a chacun des parti- cipants. Finalement, la quatri`eme phase est la confirmation du bon calcul de la clef du groupe par les diff´erents participants. L’ex´ecution de ce protocole pour n’importe quelle valeur du param`etre du protocole ne change que le nombre de messages ´echang´es dans chacune des phases mais ne change en aucun cas la structure de ce protocole.

Autre param´etrage. Une autre sorte de param´etrage des protocoles est de consid´erer des structures de donn´ees complexes r´ecursives telles que les tables ou les listes dont la longueur est param´etr´ee, mais ind´ependamment du nombre de participants impliqu´es. Ces protocoles sont pr´esents dans plusieurs applications. Nous pr´esentons dans ce qui suit quelques exemples.

Comme premier contexte, nous pouvons citer le cas d’un participant qui re¸coit une liste dont il ne connaˆıt pas la longueur. Il va traiter les messages composant la liste et va construire un message `a base des informations qu’il vient d’acqu´erir. Il va par la suite envoyer le message qu’il a compos´e. Un exemple pratique de cette situation est de consid´erer un client qui a besoin d’informations concernant un service particulier. Il contacte un interm´ediaire pour r´ecup´erer les informations n´ecessaires. Ce dernier lui envoie alors la liste des offres concernant ce service. Le client compose alors sa requˆete finale et la transmet `a l’interm´ediaire. Ce cas suppose im- plicitement l’existence de plusieurs serveurs fournissant chacun le service voulu du client. Le param`etre d´epend donc implicitement du nombre de participants du protocole. Cependant, ce cas peut aussi ˆetre ind´ependant des participants. En effet, ce client peut demander directement `

a un certain serveur plusieurs services fournis par ce seul serveur.

Ce genre de situation peut aussi se pr´esenter dans le cas d’une ´edition collaborative d’un mˆeme document. Des modifications sont faites en mˆeme temps sur plusieurs parties de ce mˆeme document. Le document peut ˆetre alors mod´elis´e comme une liste de plusieurs parties en cours de modification par plusieurs participants.

Dans le mˆeme contexte de fichiers, nous pouvons aussi citer le cas d’un serveur envoyant `

a un client un fichier de taille arbitraire. Ce fichier est sous forme d’une liste de morceaux de fichiers.

Nous revenons maintenant aux protocoles param´etr´es par le nombre de participants. Dans ce type de protocoles, n agents participent `a l’ex´ecution du protocole, n ´etant un param`etre. Sauf information explicite, nous consid´erons tout au long de ce manuscrit ce type de protocoles.