• Aucun résultat trouvé

Relation de confiance et gestion de clés

Que ce soit à travers les techniques de contrôle d’accès ou les techniques cryp- tographiques, nous nous intéressons dans cette thèse à la sécurité des échanges et des données dont ils impliquent le transfert entre les différentes parties. Celles- ci sont représentées ou bien par un réseau tout entier ou bien par des entités

2.5 Relation de confiance et gestion de clés 41 individuelles. Quand il s’agit du réseau tout entier, ce sont en réalité les équi- pements réseau qui prennent en charge les échanges entre le réseau et d’autres entités.

Afin de mettre en œuvre ces techniques, en particulier l’authentification avec mot de passe, le chiffrement et le hachage, il est important pour les différentes parties de se mettre préalablement d’accord sur les éléments secrets qui serviront à les identifier ou à cacher leurs messages. Ici, il s’agit des mots de passe, des clés de chiffrement et de déchiffrement et/ou des clés de hachage. Parfois, face à la multitude des algorithmes, leurs divers degrés de solidité et les multiples services qu’ils peuvent rendre, ces éléments sont négociés au même temps que les algorithmes qui vont s’en servir. Cette phase établie donc une relation de confiance entre les différentes parties concernées grâce à un partage de secrets . Il va de soit que ce partage nécessite un échange sécurisé où un adversaire ne doit pas être en mesure d’écouter, de voir ou d’enregistrer le secret, ou les éléments d’identification de manière générale. Le moyen le plus élémentaire est celui par contact physique de main en main. Là le secret est chuchoté, enfermé dans une enveloppe, tapé à la dérobée, etc. Le contact physique peut aussi se faire grâce aux ondes infrarouges entre deux entités séparées de quelques mètres de distance et en ligne de vue directe. Enfin à travers la fibre optique, il est possible d’échanger un secret à une distance de quelques kilomètres au moyen de la mécanique quantique. C’est un moyen prometteur mais pas encore tout à fait mûr.

A défaut de contact physique, on peut avoir recours à un contact virtuel par la mise en place d’un canal sécurisé. Cette idée est souvent basée sur la présence d’un tiers de confiance (en anglais trust third party ou TTP) en qui chacune des parties, client et authentifiant, ont confiance et, plus globalement, sur une hiérarchisation des relations de confiance, vu aussi comme une chaîne de confiance.

2.5.1

Hiérarchisation de la confiance

Dans la ligne de tradition de la cryptographie, supposons que deux entités Alice (A) et Bob (B) veuillent partager un secret sans qu’Ève ne puisse les espionner. Si A et B font déjà confiance à une entité tierce, que l’on désigne par Big Brother (BB), c.-à-d. que chacun a déjà partagé une clé avec BB, ils peuvent établir un canal sécurisé. Pour cela, plusieurs méthodes ont été mise en œuvre, par exemple celle utilisée par Kerberos. Dans ce système, BB est le serveur Kerberos, il choisi une clé qu’il chiffre avec sa clé partagée avec A et l’envoie à celle-ci et fait de même avec la clé partagée avec B. Dorénavant A et B partage cette clé et peuvent communiquer de façon chiffrée. Remarquons au passage que BB connaît aussi cette clé, et à moins qu’il ne soit une autorité supérieure, comme un organisme étatique, une banque, etc. il est difficile de lui faire confiance.

Les algorithmes cryptographiques à clés asymétriques ont été inventés prin- cipalement pour résoudre ce problème. Cela est d’autant plus problématique que le nombre d’entités qui doivent connaître le même secret est grand : le risque de divulguer ce secret croit quand le nombre d’entités augmente. Deux clés as- sociées algébriquement sont utilisées dans le chiffrement asymétrique : une clé publique et une clé privée. Seule l’entité qui a choisi la valeur de la clé privée la connaît et la détient, alors que tout autre entité ne peut connaître que la clé

publique associé.

Supposons que A comme B possèdent chacun ce type de couple de clé, et BB aussi. Il suffit que BB certifie que A et B sont bien les détenteurs de leurs clés respectives pour que A puisse faire confiance à la clé publique de B et vice versa. Dorénavant, chaque fois que A veut cacher un message destiné à B, elle le chiffre au moyen de la clé publique de celui-ci et aussi, bien entendu, d’un algorithme asymétrique.

Certifier consiste à signer la clé publique d’une entité et éventuellement d’autres informations liées à son identité, par exemple son nom, son adresse mail, le lieu où elle travaille, etc. avec la clé privée de BB. La signature obtenue est mise avec la clé publique et le reste des informations dans un même fichier que l’on appelle certificat.

Une fois cela est fait, cette opération peut être effectuée à plusieurs niveaux c.-à-d. que A peut elle même certifier des clés publiques d’autres entités qui elles à leur tour peuvent certifier d’autres clés publiques. Ainsi une hiérarchie de certification est établie. Généralement, l’entité qui est au plus haut est une autorité réputée et celles qui sont plus bas le sont moins.

Nous constatons que cette méthode permet de partager la clé publique avec autant d’entités que l’on veut et garder malgré ça la clé privée secrète contrai- rement à la méthode utilisant des algorithmes symétrique ou des mot de passes où la clé secrète ou le mot de passe doivent être partagés avec autant d’entités qu’il est nécessaire. Mais la cryptographie asymétrique n’a pas que des bons côtés car bien qu’il est permis de chiffrer avec la clé publique, cette opération est coûteuse en temps est ne doit pas être employer pour chiffrer une grande quantité de données.

L’idée lumineuse qui a été trouvée consiste à chiffrer non plus ces données mais une clé symétrique choisie conjointement par A et B. Celle-ci peut ensuite servir à négocier d’autres clés symétriques à d’autres fins utiles. Le protocole IKE (Internet Key Exchange) permet de mettre en place ce type de négociation de clé symétrique en se basant sur l’existence préalable de relation de confiance entre A et B via BB, certificateur de leur clés publiques. IKE fait appel à des protocoles de négociation de clés comme Diffie-Hellman.

D’autres modèles de confiance utilisant les certificats existent, par exemple PGP (pretty good privacy) . Celui-ci utilise la notion de chaîne de certificats.

2.5.2

Renforcement de la vigilance en environnement dis-

tribué

Les modèles décrits ci-dessus sont certes convenables quand il s’agit de consi- dérer une entité individuelle seule maîtresse de toutes sortes de chiffrement en émanant, par exemple un client d’une banque donne seul l’ordre de vente ou d’achat d’un produit en y envoyant un message chiffré. Mais que se passerait-il si ce genre de décision devait être pris par une société ? Serait-il judicieux de confier cette responsabilité à une seule personne ? L’affaire Kerviel nous a mon- tré le contraire. Pour permettre à plusieurs entités de prendre chacune une part de responsabilité dans une prise de décision importante, et pour empêcher que tout autre entités ne puisse violer leurs identités, on peut utiliser la cryptographie à seuil.

Dans le système de cryptographie à seuil, la clé de chiffrement est partagée en plusieurs parts, chacune d’elles est donnée à un participants. Il suffit qu’il

2.5 Relation de confiance et gestion de clés 43

Partage de clé clé secrète

la clé est connue en entier par chacune des

entités autorisées ex: clé partagée dans la cryptographie symétrique

la clé n'est connue que d'une seule et unique entité ex: clé privée associée à une clé publique dans la

cryptographie asymétrique

seulement une ou plusieurs parts de la clé sont connues par chacune des entités autorisées

ex: clé privée associée à une clé publique dans la

cryptographie asymétrique

clé publique

toute entité/personne peut connaître la clé ex: clé publique associée

à une clé privée dans la cryptographie symétrique



Figure 2.3 – Procédés de partage de clés cryptographiques

y est un nombre suffisant d’entre eux pour pouvoir retrouver la clé : c’est le seuil cryptographique. Cette techniques apporte une meilleure sécurité du fait de l’impossibilité de chiffrer sans l’apport d’un nombre seuil de parts de clé. Nous détaillerons aussi bien son fonctionnement que ces applications à la section 4.4.2 du chapitre 4 de cette thèse.

2.5.3

Partage de clés

Tout au long de cette section, nous avons montré que les techniques de par- tage sont nombreuses et indispensables à la mise en place de la sécurité. En plus des clés cryptographiques, nous avons vu que les mots de passe, lorsqu’ils sont employés, sont partagés entre au moins deux entités, par exemple un client et un serveur. Il ne nous semble pas utile de nous attarder sur la manière de les partager. Au fond ce partage est similaire à celui des clés de chiffrement symétrique. Ainsi, nous nous concentrerons sur le partage des clés cryptogra- phiques en général et à chaque fois qu’il s’agira de partage de clé symétrique, on comprendra qu’il est aussi valable pour les mots de passes.

La figure 2.3 récapitule l’ensemble des techniques de partage de clés que nous avons exposées jusque là. Globalement, deux types de partage existent : le partage de clé secrète et le partage de clé publique. Ce dernier, comme son nom l’indique ne restreint pas l’usage de la clé au contraire du premier.

De plus, le premier type de partage dépend de la façon dont la clé est parta- gée. Elle peut être connue entièrement de chacune des entités concernées, deux ou plus, c’est le cas des clés symétriques. Elle peut n’être connue que d’une seule entité, celle qui l’a créée, c’est le cas des clés privées de la cryptographie asymétrique. Enfin elle peut être divisée en plusieurs morceaux de clé répartis entre plusieurs entités, celles qui y sont autorisées, chacune pouvant détenir un ou plusieurs morceaux au même temps. Ceci est le cas des clés utilisées dans la cryptographie à seuil. Shamir a été parmi les premiers à décrire un procédé se servant des polynômes pour calculer chaque morceau, appelé aussi part, de clé [49].

Sur la figure 2.3, ces méthodes de partage sont classées par ordre croissant de solidité. Meilleure est la solidité, plus complexe est le calcul cryptographique

Figure 2.4 – Divers types de communications chiffrées (Les cadenas indiquent les communications chiffrées)

nécessaire, d’où l’importance de bien définir les besoins cryptographiques chaque fois qu’on y a recours.