Qu'est-ce qu'un PKI ?

Une PKI est un outil permettant de créer et de gérer des certificats.

L'usage d'une PKI est OBLIGATOIREMENT lié à des procédures HUMAINES.

Une PKI est constituée de (ou fait appel à) :

- un certificat particulier dit "certificat racine"
- un système de génération de bi-clés
- un système d'actions cryptographiques (chiffrement et déchiffrement)
- une autorité d'enregistrement
- une autorité de certification
- une autorité de dépôt
- un système de révocation de certificats
- un système de séquestre des clés privées des certificats


Le certificat racine

Une PKI possède un certificat particulier, appelé (parfois improprement) certificat racine. Ce certificat racine est à la base du principe de confiance lié aux PKI: Ce point est le plus important à connaître sur le principe de fonctionnement et d'utilisation des certificats : la confiance envers une PKI, et donc envers les certificats émis par cette PKI, repose sur une action volontaire, celle d'accorder sa confiance au certificat racine de cette PKI.

La confiance accordée au certificat racine d'une PKI est semblable à la confiance qu'on peut accorder à :
- un filigrane dans un billet de banque : 1) on admet que tel filigrane est "de confiance", et 2) on affirme pouvoir reconnaître ce filigrane
- une signature sur un documentpapier : 1) on fait confiance à la signature d'une personne, et 2) on affirme être capacble de discerner une véritable signature de cette personne

Pour les certificats racines: 1) on adment faire confiance à ce certificat (action volontaire) et 2) on stocke la partie publique de ce certificat racine sur un support informatique pour l'avoir "sous la main" lorsqu'il est nécessaire de mettre en oeuvre la confiance envers ce certificat racine, ce qui correspond à la capacité de reconnaître ce certificat (celui présenté est identique au bit près à celui stocké, ou non).

La décision de faire confiance (ou pas) à une organisation, via sa PKI et donc via son certificat racine, est une des procédures humaines liées aux PKI.
En quelque sorte, le fait de faire confiance à une PKI implique de faire partie de cette PKI.

Géneration de certificats (autorité d'enregistrement)

Le rôle principal d'une PKI est de créer des certificats qui permettront à leurs titulaires de s'authentifier auprès de l'émetteur du certificat (ou auprès de toute entité qui a mandaté l'émetteur).

La génération du certificat est le rôle de l'autorité d'enregistrement : elle décide de qui est autorisé à disposer de certificats. Cette autorité d'enregistrement peut être une personne physique, qui décide si Jean Dupont peut ou non avoir un certificat de tel ou tel type délivré par la PKI (autre procédure humaine liée à la PKI).
Ce peut être une interface avec un annuaire d'entreprise, cette annuaire étant géré, directement ou non, par des personnes physiques (procédure humaine, toujours).

L'autorité d'enregistrement doit "montrer patte blanche" à la PKI pour que celle-ci accepte ses ordres.

Le certificat est complété par un bi-clé, soit généré par la PKI, soit généré par un système extérieur à la PKI.

Après génération, le certificat est soumis à la signature par la PKI.

La signature d'un certificat par la PKI (autorité de certification)

La signature est le travail de l'autorité de certification. Elle consiste simplement à ajouter la signature de la PKI au certificat généré par l'autorité d'enregistrement. Cette signature consiste à générer un condensat du certificat, de chiffrer ce condensat avec la clé privée du certificat racine, et d'ajouter cette signature au certificat.
Dès maintenant, si vous faites confiance au certificat racine de la PKI, vous pouvez faire confiance au certificat qui vient d'être créé (sous réserve de vérifier que celui qui le présente possède bien la clé privée correspondante, et que ce certificat n'est pas révoqué).

L'autorité de certification doit également "montrer patte blanche" à la PKI.

L'archivage du certificat (autorité de dépôt)

La PKI mémorise les certificats qu'elle a émis, sans leurs clés privées. Il est ainsi possible d'avoir l'historique des certificats émis.

La révocation de certificat et la diffusion de l'information "certificat révoqué"

Si un certificat est compromis, il est nécessaire de le révoquer, afin de ne plus lui faire confiance.

La révocation consiste à positionner un indicateur dans la PKI, signifiant que le certificat est révoqué.
La PKI ajoute alors ce certificat à la CRL (Certificate Revocation List = Liste de Révocation de Certificats). Celui qui contrôle la validité d'un certificat au travers d'une CRL sera donc averti qu'il ne faut plus lui faire confiance.
L'autre moyen de savoir si un certificat est révoqué est d'interroger le service OCSP (Online Certificate Status Protocol) de la PKI.

La révocation de certificat peut faire suite au vol ou à la perte du certificat, ou à la découverte qu'il a été émis frauduleusement. Il est alors révoqué de manière définitive (irréversible).
Il existe un cas de révocation réversible : la cas où un certificat doit être suspendu, par exemple pendant les congés de son titulaire.

Le séquestre des clés privées

Enfin, une PKI peut fournir un service de séquestre des clés privées Ceci est particulièrement utile pour des certificats de chiffrement, en cas de perte (sans comprimission) du certificat de chiffrement : par exemple, un utilisateur dont la carte à puce serait détériorée peut récupérer son certificat de chiffrement sur une nouvelle carte à puce.

Ce service de séquestre est, comme les autres, accessible uniquement en montrant patte blanche. Il est même possible de ne pouvoir activer une récupération de clé privée qu'en présence de <n> responsables de sécurité parmi <m> responsables autorisés.

Pour en savoir plus

Les infrastructures à clés publiques sur Wikipédia


Jean-Baptiste Fahy, août 2012