Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

A.4 Gestion de clé

A.4.1 Clés secrètes symétriques

La gestion des clés peut être plus ou moins simple selon les applications. Dans le contexte de mécanismes symétriques, la principale difficulté réside dans la distribution, ou mise en accord, des clés afin de permettre aux correspondants de partager les mêmes secrets initiaux sans que des attaquants potentiels ne les aient interceptés. Ceci peut être réalisé au moyen de techniques asymétriques modernes mais peut également l’être via des méthodes non cryptographiques de nature organisationnelle.

En outre, une durée de vie maximale, appelée crypto-période, est en général associée à chaque clé. Une telle durée de vie peut être représentée par une date limite d’emploi ou par un compteur du nombre d’utilisations qui ne doit pas dépasser une certaine limite. Une telle limitation de l’usage des clés vise en général à réduire l’effet d’une éventuelle compromission des clés. Elle peut cependant également s’avérer nécessaire si les primitives cryptographiques sont sous-dimensionnées par rapport au niveau de sécurité visé. Il est cependant important de bien comprendre que dans un système cryptographiquement bien conçu il ne doit pas y avoir de phénomène « d’usure » des clés limitant leur emploi.

Afin de protéger les clés lors de leur stockage, celles-ci peuvent être elles-mêmes chiffrées avec une autre clé qui n’a généralement pas à être partagée. On désigne en général sous le terme de clé noire une clé ainsi chiffrée, par opposition aux clés rouges qui sont en clair. Il va de soi que l’ensemble des clés d’un système en fonctionnement ne peuvent toutes être noires simultanément.

Notons enfin un cas particulier d’architecture, encore assez courant, utilisant un secret largement partagé entre un grand nombre d’utilisateurs. La divulgation de telles clés a en général des conséquences dramatiques en termes de sécurité, ce qui est contradictoire avec leur large diffusion. Dans certaines applications, l’usage exclusif de primitives symétriques rend nécessaire l’emploi de telles architectures ; ceci milite fortement en faveur d’une utilisation d’architectures asymétriques permettant de s’en passer.

À titre d’exemple, imaginons un groupe important de individus souhaitant pouvoir s’authentifier mutuellement. En utilisant des techniques symétriques, on peut soit prévoir une clé secrète par paire d’individu, ce qui implique que chacun mémorise au moins clés, soit donner la même clé à tout le monde. Si l’on souhaite de plus pouvoir ajouter de nouveaux membres facilement, cette dernière solution devient la seule possible. Cependant, quelle confiance peut-on avoir dans un tel système, même si la clé est stockée dans une enceinte protégée telle une carte à puce ?

Une manière simple de résoudre ce problème avec une technique asymétrique est de faire choisir à chaque membre du groupe une bi-clé dont la clé publique est certifiée par une autorité. Chaque membre doit donc uniquement mémoriser sa bi-clé et la clé publique de l’autorité. On peut ensuite utiliser une des techniques d’identification évoquées en annexe A.2.1.

A.4.2 Bi-clés asymétriques

La gestion des bi-clés en cryptographie asymétrique est à la fois plus simple et plus complexe que dans le cas symétrique. Plus simple, et également plus sûre, car il n’y a plus besoin de partager des secrets à plusieurs. Ainsi, la clé privée n’a besoin d’être connue que de son seul détenteur et certainement pas divulguée à d’autres. Par conséquent, il n’y a en théorie nul besoin de faire générer de telles clés par un tiers. On peut par exemple tout à fait concevoir qu’une clé privée soit générée par une carte à puce et qu’à aucun moment de la vie du système cette clé n’ait à quitter l’enceinte supposée sécurisée de la carte.

Le problème majeur qui se pose réside cependant dans la nécessité d’associer une clé publique à l’identité de son détenteur légitime. Une telle certification de clé publique peut être effectuée au moyen de la signature d’un certificat par une autorité qui certifie de ce fait que telle clé publique appartient bien à tel individu ou entité. Il se pose alors le problème de la vérification de cette signature qui va à son tour nécessiter la connaissance de la clé publique de l’autorité. Afin de certifier cette clé, on peut concevoir qu’une autorité supérieure génère un nouveau certificat, et ainsi de suite. On construit ainsi un chemin de confiance menant à une clé racine en laquelle il faut bien finir par avoir confiance, sans que cette confiance soit garantie par un mécanisme cryptographique. De telles constructions sont désignées sous le terme d’infrastructure à clé publique (ICP ou PKI pour « public key infrastructure »). La notion d’Infrastructure de gestion de clé (IGC ou KMI pour « key management infrastructure ») recouvre quant à elle toutes les opérations d’enregistrement ou d’affectation d’une clé dans un système en y incluant aussi la vérification de l’identité de son possesseur, la gestion de ses équipements, des révocations, etc.

Notons enfin que dans de nombreuses applications pratiques, il est nécessaire de disposer d’une sorte de voie de secours permettant par exemple d’accéder à des données chiffrées sans être pour autant destinataire de ces informations. Les motivations de tels mécanismes de recouvrement peuvent être multiples mais il est important d’insister sur le fait qu’elles peuvent être parfaitement légales et légitimes. La méthode la plus simple est le séquestre de clés consistant à mettre sous scellés les clés privées ou secrètes tout en contrôlant les conditions d’accès à ces informations.

Des travaux cryptographiques modernes proposent cependant de nombreuses autres solutions bien plus souples, sûres et efficaces.