- Infrastructure À Clés Publiques
-
Infrastructure à clés publiques
Une Infrastructure à clés publiques (ICP) ou Infrastructure de Gestion de Clefs (IGC) ou encore Public Key Infrastructure (PKI), est un ensemble de composants physiques (des ordinateurs, des équipements cryptographiques ou HSM, des cartes à puces), de procédures humaines (vérifications, validation) et de logiciels (système et application) en vue de gérer le cycle de vie des certificats numériques ou certificats électroniques.
Une infrastructure à clés publiques délivre un ensemble de services pour le compte de ses utilisateurs.
En résumé, ces services sont les suivants :
- Enregistrement des utilisateurs (ou équipement informatique),
- Génération de certificats,
- Renouvellement de certificats,
- Révocation de certificats,
- Publication de certificats,
- Publication des listes de révocation (comprenant la liste des certificats révoqués),
- Identification et authentification des utilisateurs (administrateurs ou utilisateurs qui accèdent à l'IGC),
- Archivage, séquestre et recouvrement des certificats (option).
Sommaire
Description de l'infrastructure à clés publiques
Rôle d'une infrastructure de gestion des clés
Une IGC délivre des certificats numériques. Ces certificats permettent d'effectuer des opérations cryptographiques, comme le chiffrement et la signature numérique qui offrent les garanties suivantes lors des transactions électroniques :
- confidentialité : seul le destinataire (ou le possesseur) légitime d'un bloc de données ou d'un message pourra en avoir une vision intelligible
- authentification : lors de l'envoi d'un bloc de données ou d'un message ou lors de la connexion à un système, on connaît sûrement l'identité de l'émetteur ou l'identité de l'utilisateur qui s'est connecté
- intégrité : on a la garantie qu'un bloc de données ou un message expédié n'a pas été altéré, accidentellement ou intentionnellement
- non-répudiation : l'auteur d'un bloc de données ou d'un message ne peut pas renier son œuvre.
Les IGC permettent l'obtention de ces garanties par l'application de processus de vérification d'identité rigoureux et par la mise en œuvre de solutions cryptographiques fiables (éventuellement évaluées), conditions indispensables à la production et à la gestion des certificats électroniques.
Composants de l'infrastructure de gestion des clés
Les IGC (comme définies par l'IETF) se scindent en 4 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évocation (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 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 l'IGC).
- 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'Entité Finale (EE : End Entity) L’utilisateur ou le système qui est le sujet d’un certificat (En général, le terme “entité d’extrémité” (EE) est préféré au terme “sujet” afin d’éviter la confusion avec le champ Subject.)
En complément, on pourra ajouter l'autorité de séquestre, qui n'est pas définie spécifiquement par l'IETF :
- 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 [en France] de fournir aux autorités un moyen de déchiffrer les données chiffrées pour un utilisateur de l'IGC. 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 l'IGC, pour pouvoir les restaurer le cas échéant.
Les certificats numériques
Familles
Usuellement, on distingue deux familles de certificats numériques :
- les certificats de signature, utilisés pour signer des documents ou s'authentifier sur un site web, et
- les certificats de chiffrement (les gens qui vous envoient des courriels 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écoule notamment des problématiques de séquestre de clés et de recouvrement. En effet, lorsqu'il y 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ée n'est possédée que par une seule partie.
Nature et composition
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. À 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 publiques (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).
Gestion
Un certificat numérique naît après qu'une demande de certificat a 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 IGC 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é dans un annuaire d'entreprise : c'est la tâche du Module de Publication, souvent proche de l'AC.
Modes de création
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 début 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éé 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é, l'IGC 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.
Scénario de fin de vie
Il existe deux scénarios possibles de fin 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 Certificate Revocation List) pour informer les applications qu'elles ne doivent plus faire confiance à ce certificat. Il est aussi possible que les applications s'informent en quasi temps réel de l'état du certificat avec le protocole OCSP.
Précautions pour le déploiement
Certains experts pensent aujourd'hui que, dans un monde ouvert, il faut prendre certaines précautions avant de déployer une PKI, faute de quoi il y a des risques de pillage. Avant d'aborder les questions techniques, il faut par exemple se demander quels sont les utilisateurs, et si le cadre juridique est prêt.
Lorsque l'entreprise échange beaucoup de données avec des partenaires en extranet, comme c'est le cas des entreprises étendues ou des pôles de compétitivité, la question de la sécurisation de l'interopérabilité se pose.
Dans ces grandes communautés, l'information d'autorité doit être gérée dans des registres de métadonnées publics. Le certificat électronique peut alors être associé, dans le registre, à l'identifiant, afin de circonscrire le patrimoine informationnel partagé par la communauté de pratique.
Voir par exemple : Dictionnaire de métadonnées pour le référentiel des publications CNRS
Voir aussi
- Cryptographie
- Signature numérique
- Chiffrement
- Certificat électronique
- Authentification forte
- Identité numérique
Liens externes
- Généralistes
- (en) IETF - Publications du groupe de travail PKIX
- (en) [pdf] University of Auckland - Tutoriel sur les PKI
- (en) [pdf] Cryptographie et PKI par e-Xpert Solutions
- (en) [pdf] Training PKI par e-Xpert Solutions
- (fr) [pdf] Tutorial PKI / HES Yverdon
- Autorités de certification
- (fr) Certigna
- (fr) Certinomis (filiale de La Poste)
- (fr) Chambersign France
- (fr) Greffe du tribunal de commerce de Paris
- (fr) Certigreffe
- (fr) Liste complète de celles reconnues par les administrations publiques
- (fr) Fast, tiers de confiance européen
- (fr) Dhimyotis opérateur de certification normé
- Solution applicatives
- (en) EJBCA (Open source) (site officiel)
- (fr) EJBCA (Open source) (version francophone)
- (fr) OpenTrust ex Idealx
- (en) OpenCA (Open source)
- (en) openWebPKI
- (en) NewPKI (Open source)
- (fr) Rooster (Open source)
- (en) Projets PKI sur Mozilla.Org (Open source)
- Portail de la cryptologie
- Portail de la sécurité informatique
Catégories : Algorithme de cryptographie asymétrique | Gestion de clé | Sécurité informatique
Wikimedia Foundation. 2010.