• Aucun résultat trouvé

Distribution anonyme de clefs

Dans le document Cryptographie appliquée (Page 114-118)

Bien qu’il soit improbable que quiconque utilise ce protocole pour jouer au poker par modem, Charles Pf l e e g e r décrit une situation où ce protocole serait bien utile [1254], Considérez le problème de la distribution des clefs. Si nous émettons l’hypothèse que les utilisateurs ne peuvent pas engendrer leurs clefs eux-mêmes (elles doivent avoir une certaine forme, ou elles doivent être signées par un organisme, ou quelque chose de similaire), alors nous devons mettre en place un serveur centralisé pour engendrer et distribuer les clefs. Le problème est de trouver un moyen pour distribuer les clefs de manière que personne, même pas le serveur lui-même, puisse déterminer qui a quelle clef.

Le protocole suivant résout le problème :

Alice engendre une paire « clef privée, clef publique ». Pour ce protocole, elle garde les deux clefs secrètes.

Le C D C engendre une suite continue de clefs.

Le C D C chiffre les clefs une à une avec sa propre clef publique.

Le C D C transmet les clefs une à une sur le réseau.

Alice choisit une clef au hasard.

Alice chiffre la clef choisie avec sa clef publique.

Alice attend un peu (suffisamment longtemps pour que le serveur ne puisse pas deviner quelle clef elle a choisie) et envoie la clef doublement chiffrée au C D C .

8° Le C D C déchiffre la clef doublement chiffrée avec sa clef privée, donnant une clef chiffrée avec la clef publique d’Alice.

Le serveur envoie cette clef chiffrée à Alice.

10° Alice déchiffre la clef avec sa clef privée.

Estelle, qui écoute tout, n’a pas la moindre idée de la clef choisie par Alice. Elle voit un flot continu de clefs passer à l’étape 4. Quand Alice renvoie sa clef au serveur à l’étape 7, elle est chiffrée avec sa clef publique, qui est également secrète. Estelle n’a aucun moyen de corréler celle-ci avec le flot de clefs du serveur. Quand le serveur renvoie la clef à Alice à l’étape 9, elle est aussi chiffrée avec la clef publique d ’Alice. Ce n’est qu’à l’étape 10, quand Alice déchiffre sa clef, que celle-ci est dévoilée.

Si vous utilisez l’algorithme R S A , il y a des fuites d’information dans ce protocole, au rythme d ’un bit par message. C ’est lié aux résidus quadratiques une fois de plus.

Si vous envisagez de distribuer des clefs ainsi, veillez à ce que la fuite d’information soit suffisamment faible. Bien sûr, si Alice ne peut pas faire confiance au C D C , la fuite d ’information est inévitable. Un C D C malveillant garderait un enregistrement de toutes les clefs qu’il engendre. Il pourrait ensuite parcourir cet enregistrement pour déterminer quelle est la clef d’Alice.

Ce protocole présume qu’Alice agit honnêtement. Si l’algorithme R S A est utilisé, elle peut agir pour obtenir plus d’information qu’elle ne devrait en avoir. Ce n ’est pas un problème dans notre scénario, mais peut le devenir dans d ’autres circonstances.

4.12 Accumulateurs à sens unique

Alice fait partie de la société Clique d’import export. Il lui arrive de rencontrer les autres membres dans des restaurants mal éclairés et de chuchoter des secrets à droite à gauche. Le problème est que le restaurant est si mal éclairé qu’elle a du mal à voir si la personne à l’autre bout de la table est aussi membre.

La société Clique peut opter pour plusieurs solutions. Chaque membre peut porter une liste des membres. Cela pose deux problèmes. Premièrement, tout le monde doit transporter une importante base de données, et deuxièmement, ils doivent surveiller de prés leurs listes des membres. D ’un autre côté, un secrétaire.de confiance pourrait distribuer des cartes d’identité signées numériquement. Ceci présente l’avantage sup­

plémentaire de permettre aux étranger de vérifier l’appartenance d ’un membre (pour des remises chez l’épicier par exemple), mais cela requiert un secrétaire de confiance.

Aucun membre de la société Clique ne mérite une telle confiance.

Une solution originale consiste à utiliser quelque chose du nom de a ccu m u la teu r à sens u n iqu e [126]. C ’est, une sorte de fonction de hachage à sens unique, à la différence près que c ’est, commutatif. C ’est à dire qu’il est, possible d ’appliquer cette fonction à la liste des membres dans n’importe quel ordre en obtenant toujours la même valeur.

On peut même rajouter des membres toujours sans se soucier de l’ordre.

Aussi, voici ce qu’Alïce fait. Elle calcule l’accumulation de tous les noms des membres excepté le sien. Ensuite, elle stocke le résultat avec son nom. Bernard, ainsi que tous les autres membres, font de même. Maintenant, quand Alice et Bernard se rencontrent dans le restaurant, mal éclairé, ils échangent simplement leurs valeurs d ’accumulation et leurs noms. Alice vérifie alors que l’ajout du nom de Bernard à sa valeur d’accumulation

produit le même résultat que l’ajout du nom d’ Alice à sa propre valeur d’accumulation.

Bernard fait de même. Chacun sait alors que l’autre est bien un membre. De plus, aucun des deux n’a la moindre idée des identités des autres membres.

Encore mieux, on peut donner toutes les valeurs d’accumulation à des personnes exté­

rieures. Alice peut alors prouver son appartenance à la société à une personne extérieure (peut-être pour obtenir une remise au magasin local de contre espionnage) sans que la personne extérieure puisse deviner la liste entière des membres.

Pour ajouter de nouveaux membres, il suffit d’envoyer leurs noms aux autres.

Malheureusement, le seul moyen d ’effacer un membre et d ’envoyer à tout le monde une nouvelle liste et de recalculer les valeurs d’accumulation. Mais la société Clique n’a besoin de faire cela que si un membre démissionne; les membres morts peuvent rester sur la liste. (Aussi étrange que cela puisse paraître, cela n’a jamais posé de problème).

C’est une idée intelligente qui entre en application chaque fois que vous désirez les mêmes effets que les signatures numérique sans avoir recourt à un signeur centralisé.

4.13 Divulgation tout ou rien de secrets

Imaginez qu’Alice soit un ex-agent, secret de l’ex-Union soviétique, aujourd’hui sans emploi. Pour se faire de l’argent, elle vend des secrets. Toute personne prête à en payer le prix peut acheter un secret. Elle a même un catalogue. Tous les secrets sont mentionnés avec un numéro et avec des titres alléchants : « Où est Jimmy Hoffa? »,

« Qui contrôle secrètement la Commission Trilatérale? », « Pourquoi Boris Yeltsin paraît-il toujours avoir avalé une couleuvre? », etc.

Alice ne donnera pas deux secrets pour le prix d ’un, ni la moindre information concer­

nant n’importe quel secret. Bernard, un acheteur potentiel, ne veut pas acheter des secrets au hasard, ni dire à Alice quel secret il veut lui acheter. Cela ne regarde pas Alice, sinon, elle pourrait ajouter à la fin de son catalogue : « Quels sont les secrets qui intéressent Bernard? »

Un protocole de poker ne marchera pas dans ce cas-là car, à la fin du protocole, Alice et Bernard doivent mutuellement révéler leur jeu. B y aussi des astuces que Bernard peut utiliser pour apprendre plus d ’un secret.

La solution s’appelle les protocoles à divulgation tout ou rien de secrets (aussi connus sous le nom de A N D O S : « all-or-nothing disclosure of secrets ») [249], car dès que Bernard a obtenu l’information sur un quelconque secret d’Alice, il a perdu toute chance d’apprendre quoi que ce soit concernant les autres secrets.

Il y a plusieurs protocoles A N D O S décrits dans la littérature cryptographique. Certains d’entre eux seront décrits dans le paragraphe 23.9.

4.14 Dépôt de clefs

Voici comment Silvio M l C A U introduit ce sujet [1091] :

« Les écoutes téléphoniques, autorisées par les autorités judiciaires, consti­

tuent le moyen le plus efficace de la société pour prévenir le crime et pour confondre les criminels. Il y a donc une crainte légitime quant à la large

diffusion de la cryptographie à clef publique, qui pourrait être un outil puissant dans les mains des organisations criminelles et terroristes. De fait, plusieurs projets de loi proposent qu’une agence gouvernementale puisse, dans certaines circonstances définies par la loi, être capable d ’obtenir le texte en clair de toute communication sur un réseau public. Actuellement, cette demande se traduirait en une obligation pour tous les citoyens de:

1°) utiliser un cryptosystème faible — c ’est-à-dire, un cryptosystème que les autorités (mais aussi n’importe qui d ’autre !) pourrait casser sans grand effort; 2°) remettre, a priori, leur clef secrète à cette autorité. Il n’est pas étonnant qu’une telle alternative ait provoqué un tollé général. La plupart des citoyens concernés estiment que le secret de la vie privée doit passer avant la sécurité nationale et la mise en application de la loi. »

Le dépôt de clefs est au coeur du programme gouvernemental américain C L IP P E R et de son standard de chiffrement par clefs sous dépôt « Escrowed. Encryption Standard ».

Il s’ agit ici de développer un cryptosystème qui permetrait, à la fois de protéger la vie privée de chacun et de faire des écoutes sous autorisation judiciaire.

Ce standard tire sa fiabilité de puces résistante à l’investigation. Chaque puce de chif­

frement aurait un numéro d ’identification unique et une clef secrète. Cette clef est divisée en deux morceaux et fichée avec son numéro dans deux organismes distincts de dépôt. Chaque fois que la puce chiffre un fichier de données, elle commence par chiffrer la clef de session avec cette clef secrète unique. La clef de session chiffrée et le numéro d’identification de la puce sont transmis lors de la communication. Quand un organisme de répression veut déchiffrer le traffique chiffré avec une de ces puces, elle se procure cryptosystèmes, la clef privée est morcellée et chaque morceau est confié à une autorité différente. Comme pour un schéma de secret réparti, les autorités peuvent se mettre ensemble pour reconstruire la clef privée. De plus, les morceaux ont la propriété de pouvoir être validés individuellement, sans reconstruire la clef privée.

Alice peut créer sa propre clef privée, la diviser en n morceaux et donner chacun des n morceaux à un dépositaire7. Aucun de ces dépositaires ne peut reconstruire individuel­

lement la clef privée d’Alice. Toutefois, chacun des dépositaires peut vérifier la validité du morceau de clef qui lui a été confié ; Alice ne peut pas envoyer à un des dépositaires une chaîne de bits aléatoire et espérer s’en tirer ainsi. Si l’autorité judiciaire autorise une écoute, les autorités compétentes pour faire respecter la loi peuvent réquisitionner les n morceaux auprès des n dépositaires. Avec les n morceaux, les autorités peuvent reconstruire la clef privée et peuvent placer une écoute sur les lignes d ’Alice. En outre, Martin, doit corrompre tous les n dépositaires pour être capable de reconstruire la clef privée d’Alice et ainsi violer sa vie privée.

6 . Le gouvernem ent am ércain aurait payé un m illion de dollars à M i c a l l i pou r l’ utilisation de son brevet [1092, 1093]; des com pagnies de banques ont ensuite acheté le brevet de M i c a l l i .

7. N ote du traducteur : en français, o n parle égalem ent de « fidéicom m issaire ».

Voici comment le protocole est défini :

Alice crée sa paire « clef privée, clef publique ». Elle partage sa clef privée en plusieurs morceaux publics et privés.

Alice envoie un morceau public et le morceau privé correspondant à chaque dépositaire. Ces messages doivent être chiffrés. Elle envoie aussi la clef publique au C D C .

Chaque dépositaire effectue un calcul pour vérifier que le morceau public et le morceau privé dont il dispose sont corrects. Chaque dépositaire stocke le morceau privé quelque part en sécurité et envoie le morceau public au C D C . 4° Le C D C effectue un autre calcul sur les morceaux publics et la clef publique. Si

tout est correct, il signe la clef publique d’Alice et soit il la renvoie à celle-ci, soit il l’affiche dans une base de données quelque part.

Si une autorité judiciaire autorise une écoute, alors chaque dépositaire remet son mor­

ceau au C D C . Le C D C reconstruit alors la clef privée. Avant cela, ni le C D C , ni aucun des dépositaires ne pouvait reconstruire individuellement la clef privée : tous les dépositaires sont requis pour reconstruire la clef.

Tout algorithme à clef publique peut être rendu équitable de cette manière. Certains algorithmes particuliers sont décrits dans le paragraphe 23.10. L’article de M lC A L i

[1091, 1090] présente des méthodes pour combiner cela avec un schéma à seuil, de manière qu’un sous-ensemble des dépositaires (par exemple, 3 parmi 5) soit nécessaire pour reconstruire la clef privée. Il montre aussi comment combiner cela avec un transfert inconscient (voir § 5.5) afin que les dépositaires ne puissent pas connaître l’identité du propriétaire de la clef privée reconstruite.

Les cryptosystèmes équitables ne sont pas parfaits. Un criminel peut exploiter le sys­

tème en utilisant un canal subliminal (voir § 4.2) pour insérer une autre clef secrète dans son morceau. De cette manière, il peut communiquer de façon sûre avec quelqu’un d’autre en utilisant cette clef subliminale sans avoir à se soucier d’une mise sur écoute judiciaire. Un autre protocole appelé d é p ô t d e clefs à sû reté in tégrée résoud ce problème [957, 834]. L’algorithme et le protocole seront décrits au paragraphe 23.10.

Dans le document Cryptographie appliquée (Page 114-118)