29/03/2025

Les notions de certificat, de clé publique et de clé privée

I. Présentation

Lorsque l'on adresse le sujet des certificats, immanquablement, il nous faut comprendre les concepts de base de la cryptographie. Dans ce chapitre, je vous propose d’évoquer plusieurs notions indispensables : les clés publiques et privées, puis les certificats.

II. Clé publique et clé privée : à quoi ça sert ?

Si on parle de chiffrement asymétrique (cas le plus courant), il nous faut une paire de clés :

  • L’une est publique,
  • L’autre est privée.

En effet, rappelons la différence entre les chiffrements symétrique et asymétrique :

  • Chiffrement symétrique : une seule clé est utilisée à la fois pour chiffrer et déchiffrer les données. Cette clé doit rester secrète et être partagée entre les parties concernées.
  • Chiffrement asymétrique : deux clés distinctes sont utilisées, à savoir une clé publique pour chiffrer les données et une clé privée, gardée secrète, pour les déchiffrer.

Pour bien comprendre le fonctionnement du chiffrement asymétrique et l’utilité de ces deux clés, faisons une analogie :

Laissez-moi vous présenter Bob et Alice (bien connus dans le monde de la cryptologie !).

Tous deux ont acheté un lot de cadenas au magasin (autorité de certification) et ils les mettent à disposition de tout le monde en position ouverte (clé publique).

Chacun dispose évidemment des clés pour ouvrir leurs cadenas (clé privée).

Bob veut envoyer un message confidentiel à Alice, contenu dans un carnet.

Bob place son carnet dans une mallette, prend un cadenas mis à disposition par Alice et il ferme la mallette avec.

La mallette est envoyée via transporteur chez Alice, son contenu reste secret puisque protégé par le cadenas.

Alice en prend livraison, et puisqu'il s'agit de son cadenas, elle dispose de la clé pour l'ouvrir et prendre le carnet à l'intérieur. Au passage, elle aura pu vérifier l’état du cadenas et de la mallette pour s’assurer de leurs intégrités.

III. Qu’est-ce que les certificats ?

Dans cette partie, nous essaierons de démystifier la notion de certificats, en évoquant les éléments essentiels à connaître.

A. Définition d’un certificat

Un certificat numérique est un document électronique émis par une autorité de certification (CA, pour Certificate Authority) qui garantit l’identité d’une entité (personne, organisation ou machine).

Ce certificat, représenté par un fichier, contient une clé publique associée à cette entité et permet d’assurer la confidentialité, l’intégrité et l’authenticité des échanges.

Les certificats sont régis par la norme X.509 et incluent des informations essentielles.

B. Que contient un certificat X.509 ?

La norme X.509 définit les informations qui constituent un certificat :

  • Émetteur : données relatives à l'autorité de certification (CA) ayant délivré le certificat,
  • Clé publique : utilisée pour le chiffrement,
  • L'objet : représente l'entité (personne, périphérique, organisation) à qui le certificat a été délivré,
  • Période de validité : plage temporelle durant laquelle le certificat est valide (date + heure)
  • Signature numérique : informations de signature pour garantir l'intégrité et l'authenticité du présent certificat.

Vous devez également savoir que chaque certificat X.509 possède un numéro de série unique attribué par l'autorité de certification, permettant de l'identifier de manière univoque. Il y a également une autre information importante : l’algorithme de signature utilisé par la CA pour signer le certificat (par exemple : SHA-256 avec RSA).

Remarque : le nom X.509 provient des normes de l'ITU-T, où « X » désigne la série sur les communications de données et « 509 » le numéro de la recommandation. Initialement publié en 1988 dans le cadre du standard X.500, il définit le format des certificats numériques pour la sécurité des infrastructures à clé publique (PKI).

C. Est-ce qu’il y a des certificats de plusieurs types ?

Oui, on trouve trois types principaux de certificats :

  • À nom d’objet unique : le nom inscrit dans le certificat représente un seul nom de machine, une seule URL ou un seul identifiant utilisateur (email, nom…)
  • SAN : comme Subject Alternatives Names, un nom principal est inscrit, et plusieurs noms supplémentaires peuvent être ajoutés. Ce type peut contenir un ou plusieurs domaines différents.
  • Wildcard : tous les noms d’un domaine peuvent être sécurisés, mais il ne peut référencer qu’un seul domaine.

Ils sont le plus souvent émis par une autorité de certification, qu'elle soit interne ou publique. À la marge, vous trouverez également des certificats autosignés. Bien qu'il s'agisse de certificats à part entière, ils ne respectent pas l'un des principes fondamentaux, à savoir la chaîne de confiance (voir plus bas), aussi il faut limiter au maximum leur utilisation.

D. Les formats de certificats numériques

Les certificats numériques peuvent être encodés et stockés dans différents formats, adaptés à des usages spécifiques. Voici ceux les plus courants :

1. Format DER (Distinguished Encoding Rules)

Ce format binaire est principalement utilisé sur des systèmes Unix/Linux. Il se démarque par sa représentation binaire des données.

  • Extensions de fichier : .der ou .crt.

2. Format Base64 (PEM - Privacy Enhanced Mail)

Le format PEM encode les certificats en texte lisible (Base64) et est souvent employé pour transférer des certificats via e-mail ou fichier texte. Il est largement utilisé, car il est compatible avec la plupart des systèmes et facilement lisible par l’Homme. Lorsque l’on édite ce fichier, nous pouvons constater une première ligne telle que « -----BEGIN CERTIFICATE-----»  .

  • Extensions de fichier : .pem, .crt, .cer.

À titre d’information, voici un certificat exporté en base64.

3. PKCS#7 (Public Key Cryptography Standards 7)

Le format PKCS#7 est utilisé pour regrouper un certificat et sa chaîne de confiance, sans inclure la clé privée. Il est fréquent dans des contextes nécessitant uniquement les certificats publics.

  • Extensions de fichiers : .p7b, .p7c.

4. PKCS#12 (PFX ou Personal Information Exchange)

Ce format est un conteneur qui regroupe le certificat, sa chaîne de confiance, et la clé privée. Il est souvent utilisé dans des environnements Windows pour importer ou exporter des certificats. Son principal avantage, c’est qu’il permet d’inclure toutes les informations dans un seul fichier. Mais, attention, il doit être utilisé avec parcimonie, étant donné que la clé privée n’a pas vocation à être distribuée.

  • Extensions de fichiers : .pfx, .p12.

Comme le montre l’image ci-dessous, Windows est capable d’exporter les certificats en plusieurs formats. Il existe également des outils de conversion, tels que OpenSSL.

E. La clé privée, j’en ai besoin ?

Oui, pour permettre le chiffrement ou le déchiffrement, c’est nécessaire d’avoir une clé privée. Mais elle doit rester la plus confidentielle possible, il ne s'agit pas de la diffuser à n'importe qui.

Par exemple, si on vous demande de fournir votre certificat d'autorité pour établir la chaîne de confiance avec un partenaire, il ne faut pas lui donner un export de certificat avec la clé privée !

F. Qu’est-ce qui détermine que mon certificat est valide ?

Plusieurs critères :

  • Dates : que sa date de validité ne soit pas expirée ou anticipée : en effet, un certificat est valide entre une date et une heure donnée jusqu’à une date et une heure future. Exemple du 01/04/2023 01:00 au 02/04/2024 02:00
  • Noms : que les noms inscrits dedans correspondent au nom du serveur ou à l’URL utilisés pour la connexion,
  • Provenance : que la chaîne de confiance soit respectée : c’est-à-dire qu’il soit émis depuis une autorité (interne ou publique) en laquelle j’ai confiance (certificat racine installé dans le magasin local),
  • Révocation : que le certificat n'ait pas été révoqué.

IV. Recommandations de l'ANSSI

L'Agence nationale de la sécurité des systèmes d'information propose bon nombre de publications qui fournissent des recommandations très utiles sur les bonnes pratiques et la sécurité. Vous pouvez retrouver ces guides sur cette page :

Parmi les documents disponibles, vous trouverez le Guide des mécanismes cryptographiques.

Vous pourrez, par exemple, y lire l'information suivante :

Cela nous renseigne sur le fait que la fonction de hachage doit s'appuyer sur 256 bits, et ailleurs vous trouverez les algorithmes qui peuvent être utilisés. Ainsi, l'utilisation de SHA256 est conforme.

Quant aux longueurs de clés privées, on apprend que 2048 bits suffit, à condition que la date de validité du certificat ne dépasse pas 2030. Au-delà, il faut sélectionner 3072 bits.

Dernière illustration concernant cette fois l'algorithme à utiliser. Les recommandations de clés sont valables avec RSA. En utilisant Elliptic Curve, on peut réduire la taille de clé à 250 bits.

Vous l'aurez compris, ce guide est incontournable quand il s'agit de faire les bons choix autour des certificats.

V. Conclusion

Suite à la lecture de ce chapitre, vous avez une meilleure compréhension des notions de certificats et de clés publiques et privées. Les concepts de base étant posés, regardons de plus près ce qu'est une autorité de certification : direction le prochain chapitre de ce cours !

author avatar
Hugues MOCCAND Architecte Systèmes
Architecte Systèmes en poste chez CHEOPS TECHNOLOGY, spécialiste des infrastructures informatiques sécurisées, l’un des leaders du Cloud Computing en France, organisé en 4 Divisions, Cloud & Managed Services, Infrastructure, Cyberdéfense, Modernisation Technologique, avec plus de 600 collaborateurs et 12 agences en France et en Suisse (DFI). Plusieurs fois certifiés Microsoft, je travaille en mode projets pour accompagner nos clients lors de leur transformation numérique principalement sur les sujets Microsoft : Azure, Microsoft 365, sécurité et produits on-premises, tels que Active Directory, PKI, RDS et Exchange Server.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.