Infrastructure à clés publiques
Une PKI (Public Key Infrastructure), aussi communément appelée IGC (Infrastructure de Gestion de Clefs) ou ICP (Infrastructure à Clefs Publiques), est un ensemble de composants physiques (des ordinateurs, des cartes à puces), de procédures humaines (vérifications, validation) et de logiciels (système) en vue de créer et de gérer le cycle de vie des certificats numériques.
La création des certificats numériques est en soi relativement simple; ce qui fait la complexité d'une PKI, c'est l'ensemble des mécanismes de contrôle interne pour les différentes opérations de création, de renouvellement, de révocation voire de recouvrement des certificats. Ces précautions sont liées au fait que les certificats numériques peuvent avoir une valeur légale en permettant une signature électronique équivalent à une signature manuscrite.
Il existe deux scénarios possibles de cycle de vie d'un certificat numérique:
- le certificat numérique expire (chaque certificat numérique contient une date de « naissance » et une date de « péremption »).
- le certificat est révoqué, pour quelque raison que ce soit (perte de la clé privée associée, etc.) et dans ce cas, l'identifiant du certificat numérique est ajouté à une liste de certificats révoqués (CRL pour Certificates Revocation List) pour informer les applications qu'elles ne doivent plus faire confiance à ce certificat.
Usuellement, on distingue deux familles de certificats numériques, les certificats de signature (utilisés pour signer des e-mails ou s'authentifier sur un site web) et les certificat de chiffrement (les gens qui vous envoient des e-mails utilisent la partie publique de votre certificat pour chiffrer le contenu que vous serez seul à pouvoir déchiffrer). Mais cette typologie n'est pas exhaustive; un découpage plus orienté applicatif pourrait être envisagé. L'intérêt de la séparation des usages découlent notamment des problématiques de séquestre de clés et de recouvrement. En effet, lorsqu'il a chiffrement il peut y avoir nécessité de recouvrer les informations chiffrées. ALors que lorsqu'il y a signature, il est indispensable de s'assurer que la clé privé n'est possédé que par une seule partie.
Les PKI (comme définie par l'IETF) se scindent en 5 entités distinctes:
- L'Autorité de Certification (AC ou CA) qui a pour mission de signer les demandes de certificat (CSR : Certificate Signing Request) et de signer les listes de révocations (CRL : Certificate Revocation List), cette autorité est la plus critique.
- L'Autorité d'Enregistrement (AE ou RA) qui a pour mission de générer les demandes de certificats, et d'effectuer les vérifications d'usage sur l'identité de l'utilisateur final (les certificats numériques sont nominatifs et uniques pour l'ensemble de la PKI).
- L'Autorité de Dépôt (Repository) qui a pour mission de stocker les certificats numériques ainsi que les listes de révocation (CRL).
- L'Autorité de Séquestre (Key Escrow), cette entité a un rôle particulier, en effet lorsqu'on génère des certificats de chiffrement, on a l'obligation légale de fournir aux autorités un moyen de déchiffrer les données chiffrées pour un utilisateur de la PKI. C'est là qu'intervient le Séquestre, cette entité a pour mission de stocker de façon sécurisée les clés de chiffrement qui ont été générées par la PKI, pour pouvoir les restaurer le cas échéant.
- L'Entité Finale (EE : End Entity) est optionnelle, cette entité est en charge d'enregistrer les nouveaux utilisateurs finaux.
| Sommaire |
Nature et composition d'un certificat électronique
Un certificat électronique est une donnée publique. Suivant la technique des clefs asymétriques, à chaque certificat électronique correspond une clef privée, qui doit être soigneusement protégée.
Un certificat numérique porte les caractéristiques de son titulaire: si le porteur est un être humain, cela peut être son nom et son prénom, le nom de sa structure (par exemple, son entreprise ou son ... État!) et de son entité d'appartenance. Si c'est un équipement informatique (comme une passerelle d'accès ou un serveur d'application sécurisé), le nom est remplacé par l'URI du service. A ces informations d'identification s'ajoute la partie publique du biclef.
L'ensemble de ces informations (comprenant la clef publique) est signé (c'est à dire, dans un sens, sanctifié) par l'Autorité de Certification de l'organisation émettrice. Cette Autorité a la charge de:
- s'assurer que les informations portées par le certificat numérique sont correctes;
- s'assurer qu'il n'existe, pour une personne et pour une même fonction, qu'un et qu'un seul certificat valide à un moment donné.
Le certificat numérique est donc, à l'échelle d'une organisation, un outil pour témoigner, de façon électroniquement sûre, d'une identité.
L'usage conjoint des clefs cryptographiques publique (contenue dans le certificat) et privée (protégée par l'utilisateur, par exemple au sein d'une carte à puce), permet de disposer de fonctions de sécurité importante (cf. infra).
Comment sont délivrés et gérés les certificats numériques
Un certificat numérique naît après qu'une demande de certificat ait abouti.
Une demande de certificat est un fichier numérique (appelé soit par son format, PKCS#10, soit par son équivalent fonctionnel, CSR pour Certificate Signing Request) qui est soumis à une Autorité d'Enregistrement par un utilisateur final ou par un administrateur pour le compte d'un utilisateur final.
Cette demande de certificat est examinée par un Opérateur d'Autorité d'Enregistrement. Cette position est une responsabilité clef: c'est lui qui doit juger de la légitimité de la demande de l'utilisateur et accorder, ou non, la confiance de l'organisation. Pour se forger une opinion, l'Opérateur doit suivre une série de procédures, plus ou moins complètes, consignées dans deux documents de référence qui vont de pair avec la création d'une PKI qui sont la Politique de Certification (PC) et la Déclaration des Pratiques de Certification (DPC). Ces documents peuvent exiger, en fonction des enjeux de la certification, des vérifications plus ou moins poussées: rencontre en face-à-face, validation hièrarchique, etc. L'objectif de l'Opérateur d'AE est d'assurer que les informations fournies par l'utilisateur sont exactes et que ce dernier est bien autorisé à solliciter la création d'un certificat.
Une fois son opinion formée, l'Opérateur de l'AE valide la demande ou la rejette. S'il la valide, la demande de certificat est alors adressée à l'Autorité de Certification (AC). L'AC vérifie que la demande a bien été validée par un Opérateur d'AE digne de confiance et, si c'est le cas, signe la CSR. Une fois signée, une CSR devient ... un certificat.
Le certificat, qui ne contient aucune information confidentielle, peut par exemple être publiée dans un annuaire d'entreprise: c'est la tache du Module de Publication, souvent proche de l'AC.
Les différents modes de création des certificats numériques
Il existe deux façons distinctes de créer des certificats électroniques: le mode centralisé et le mode décentralisé
- le mode décentralisé est le mode le plus courant: il consiste à faire créer, par l'utilisateur (ou, plus exactement par son logiciel ou carte à puce) le biclef cryptographique et de joindre la partie publique de la clef dans la CSR. L'Infrastructure n'a donc jamais connaissance de la clef privée de l'utilisateur, qui reste confinée sur son poste de travail ou dans sa carte à puce.
- le mode centralisé consiste en la création du biclef par l'AC: au debut du cycle de la demande, la CSR ne contient pas la clef publique, c'est l'AC qui la produit. Elle peut ainsi avoir de bonnes garanties sur la qualité de la clef (aléa) et peut ... en détenir une copie protégée. En revanche, il faut transmettre à l'utilisateur certes son certificat (qui ne contient que des données publiques) mais aussi sa clef privée ! L'ensemble de ces deux données est un fichier crée sous le format PKCS#12. Son acheminement vers l'utilisateur doit être entrepris avec beaucoup de précaution et de sécurité, car toute personne mettant la main sur un fichier PKCS#12 peut détenir la clef de l'utilisateur.
Le mode décentralisé est préconisé pour les certificats
d'authentification (pour des questions de coût, parce qu'il est plus
simple de refaire un certificat en décentralisé qu'à recouvrer une
clef) et de signature (parce que les conditions d'exercice d'une
signature juridiquement valide prévoit que le signataire doit être le
seul possesseur de la clef: en mode décentralisé, la PKI n'a jamais
accès à la clef privée).
Le mode centralisé est préconisé pour les certificats de chiffrement, car, lorsqu'un utilisateur a perdu sa clef (par exemple, sa carte est perdue ou dysfonctionne), un opérateur peut, au terme d'une procédure de recouvrement, récupérer la clef de chiffrement et la lui remettre. Chose qui est impossible à faire avec des clefs qui n'ont pas été séquestrées.
Pourquoi mettre en place une PKI ?
Une PKI délivre des certificats numériques. Ces certificats permettent d'effectuer des opérations cryptographiques, comme le chiffrement et la signature numériques. Ces opérations offrent des garanties lors des transactions électroniques:
- confidentialité: seul le destinataire légitime d'un message pourra en avoir une vision intelligible
- authentification: lors de l'envoi d'un message, on connaît sûrement l'émetteur
- intégrité: on a la garantie qu'un message expédié n'a pas été altéré, accidentellement ou intentionnellement
- non répudiation: un impétrant produisant une action fâcheuse peut dire qu'il a fait une erreur, mais il ne peut pas prétendre que ce n'est pas lui.
Les PKI facilitent l'obtention de ses garanties en permettant la distribution et la vie des certificats numériques.
Voir aussi
Liens externes
- PKI tutorial
- PKIX workgroup
- http://www.newpki.org/
- http://idx-pki.idealx.org/
- http://www.openca.org/
- http://www.mozilla.org/projects/security/pki/
- http://www.oreilly.fr/catalogue/2841772357.html (Livre PKI Open Source)
| Image manquante Key-crypto-sideways.png | Portail Cryptologie - Accédez d'un seul coup d’œil à toute la série des articles « Cryptologie » de Wikipédia. |
