Introduction a l'infrastructure de gestion des cles
Les Algorithmes asymétriques
Ce type d’infrastructure est basé sur la cryptographie à clé publique. Celle-ci s’appuie sur un algorithme mathématique qui, à partir d’un couple de clé dit bi-clé, permet de chiffrer et de déchiffrer des données. Ce bi-clé doit avoir les propriétés suivantes :
- Tout chiffrement (resp. déchiffrement) effectué à l’aide d’une des deux clés doit pouvoir être déchiffré (resp. chiffré) à l’aide de l’autre clé.
- Il n’existe pas de troisième clé permettant de chiffrer (resp. déchiffrer) les données déchiffrées (resp. chiffrées) par une des bi-clés.
- La connaissance d’une des deux clés ne doit pas permettre la connaissance de l’autre clé.
On associe à chaque entité un ou plusieurs couples de clé. Une des clés est appelée clé publique, la deuxième clé privée. La clé publique doit être communiquée à l’ensemble de toutes les entités avec lesquelles on doit communiquer. La clé privée doit être gardée secrète. Le couple de clé étant unique, on peut identifier de manière sûre l’entité qui a chiffré des données avec sa clé privée.
Ainsi, les algorithmes à clé privée permettent d’assurer :
- Le chiffrement : Il est effectué à l’aide de la clé publique de l’utilisateur et est déchiffré à l’aide de la clé privée.
- La signature et l’intégrité : Ces fonctions sont effectuées à partir d’un algorithme de hachage1 dont le résultat est chiffré à l’aide de la clé privée de l’utilisateur. La signature est vérifiée à l’aide de la clé publique.
Le principal problème des algorithmes à clé publique vient de la méthode de transmission de la clé publique d’une entité à toutes les autres entités. En effet, il faut être certain que tout le monde a reçu une clé originale, qui n’a pas été substituée par une tierce personne. Afin d’assurer l’intégrité de la clé, des certificats numériques sont utilisés. Ces certificats sont gérés grâce aux infrastructures à clés publiques.
L’infrastructure de gestion clés (IGC ou PKI en anglais)
Le certificat numérique constitue en réalité le lien entre une entité et une clé publique. Une norme (X509v3) a d’ailleurs été mise en place pour ces certificats. Ils sont publiés par une autorité de certification (CA) qui ne connaît pas les clés privées des entités. Une autorité d’enregistrement vérifie l’identité de la personne suivant une procédure définie. Cette opération effectuée, l’autorité de certification signe le certificat, ce qui permet d’en assurer la provenance.
D’une manière plus générale, un certificat contient un ensemble d’informations publiées et associées à une clé publique. Il peut être attribué à tout type d’entité, c’est à dire un individu, une société, du matériel, etc.
La confiance qu’un utilisateur met dans un certificat dépend de la confiance que cet utilisateur met dans l’autorité de certification et de la classe du certificat.
- Classe 1 : Délivrance du certificat sur une adresse de mail
- Classe 2 : Délivrance du certificat sur une preuve d'identité papier non vérifiée (photocopie de pièces justificatives...)
- Classe 3 : Délivrance du certificat avec vérification de l'identité physique
- Classe 3+ : Stockage du certificat sur un support matériel protégeant la clé privée.
Avec ce système, seule la clé publique de signature de l’autorité de certification est nécessaire pour communiquer avec les autres entités. En effet lorsqu’ils reçoivent un certificat contenant une clé publique, ils peuvent contrôler l’intégrité du certificat avec la clé publique de l’autorité de certification. Ceci leur garantit de pouvoir utiliser la clé publique contenue dans le certificat sans crainte.
Les certificats sont généralement publiés dans un annuaire, éventuellement selon la norme X500. L’accès à cet annuaire est effectué via le protocole d’accès LDAP.
Dans une entreprise, il peut être intéressant d’avoir une autorité de certification racine qui a pour rôle de certifier d’autres autorités de certification. Dans ce cas on obtient une structure arborescente. Ceci permet d’effectuer un découpage fonctionnel, géographique.
Périodiquement l’autorité de certification publie une liste de révocation CRL. Lors de l’utilisation d’un certificat, l’utilisateur doit s’assurer que l’autorité de certification est une autorité de confiance, que la date du certificat n’a pas expiré et que le certificat ne figure pas dans la liste des certificats révoqués.
Remarque : La clé privée de signature de l’autorité de certification racine est le point faible de tout système à base de PKI. Si elle est compromise, toute l’infrastructure s’écroule.
Les PKI peuvent être utilisées pour un usage interne ou externe. Afin de faciliter les échanges avec l’extérieur, l’autorité de certification externe peut être reconnue par une autorité de certification commerciale comme « Verisign ». On peut aussi par exemple mettre en place des certifications croisées qui permettent qu’une autorité de certification fasse confiance à une autre et réciproquement.
1 Les fonctions de hachage permettent de garantir qu’il est impossible de trouver deux messages intelligibles ayant le même résultat.