Certificats numériques

 

Dernière rubrique modifiée : 2005-05-19

Bien que la cryptographie à clé publique simplifie la gestion des clés en permettant l'utilisation d'une paire de clés par de nombreuses personnes, un problème subsiste : comment distribuer une clé publique de sorte que l'utilisateur la trouve et sache qu'elle est valide ?

Pour le protocole S/MIME, la solution à ce problème réside dans l'utilisation de certificats numériques. Ces derniers permettent au protocole S/MIME de se démarquer des nombreuses autres solutions de sécurité de messages concurrentes.

Certificats numériques et cryptographie à clé publique

Un certificat numérique est une forme d'identification numérique, ressemblant pour beaucoup à un passeport ou un permis de conduire. Il s'agit d'un ensemble d'informations d'identification numérique qui renseigne sur l'identité d'une entité et d'autres informations de prise en charge. Un certificat numérique est délivré par une autorité, appelée Autorité de certification (CA). De ce fait, l'Autorité de certification garantit la validité des informations contenues dans le certificat. En outre, un certificat numérique n'est valide que pour une période de temps spécifique.

Les certificats numériques prennent en charge la cryptographie à clé publique car ils contiennent la clé publique de l'entité identifiée dans le certificat. Le certificat établissant une correspondance entre une clé publique et un individu donné, et son authenticité étant garantie par l'autorité qui le délivre, il permet de savoir comment trouver la clé publique d'un utilisateur et en déterminer la validité : un utilisateur peut obtenir la clé publique d'un autre utilisateur en se référant au certificat numérique et il peut avoir la certitude que le certificat est valide puisque que ce dernier est délivré par une Autorité de certification digne de confiance.

En outre, les certificats numériques s'appuient sur la cryptographie à clé publique pour leur propre authentification. Lorsqu'un certificat numérique est délivré, l'Autorité de certification responsable le signe à l'aide de sa propre clé privée. Pour valider l'authenticité d'un certificat numérique, un utilisateur peut se procurer la clé publique de cette Autorité de certification, la comparer au certificat numérique et déterminer ainsi si la signature est celle de l'Autorité de certification.

Structure des certificats numériques

Pour qu'un certificat numérique soit utile, il doit être structuré de manière compréhensible et fiable afin que les informations qu'il renferme puissent être facilement récupérées et comprises. Par exemple, les passeports sont structurés de manière identique afin que les informations qu'ils contiennent soient facilement compréhensibles pour toute personne devant consulter un type de passeport qu'elle n'a jamais vu auparavant. De la même manière, tant que les certificats numériques sont normalisés, ils peuvent être lus et compris, quelle qu'en soit l'autorité émettrice.

La norme S/MIME spécifie que les certificats numériques utilisés doivent répondre à la norme X.509 de l'ITU (International Telecommunications Union). La version 3 de S/MIME exige de manière spécifique que les certificats numériques soient conformes à la version 3 de la norme X.509. La norme S/MIME s'appuyant sur une norme établie et reconnue pour la structure des certificats numériques, elle capitalise sur la croissance de cette norme et en améliore l'acceptation.

La norme X.509 spécifie que les certificats numériques renferment des informations normalisées. Plus spécifiquement, les certificats répondant à la norme X.509 version 3 comportent les champs suivants :

  • Numéro de version   Version de la norme X.509 à laquelle le certificat se conforme.
  • Numéro de série   Numéro d'identification unique du certificat émis par l'Autorité de certification.
  • Identifiant de l'algorithme du certificat   Noms des algorithmes de clé publique spécifiques utilisés par l'Autorité de certification pour signer le certificat numérique en question.
  • Nom de l'émetteur   Identité de l'Autorité de certification qui a effectivement émis le certificat.
  • Période de validité   Période de temps pendant laquelle un certificat numérique est valide. Date de début et date d'expiration.
  • Nom du sujet   Nom du détenteur du certificat numérique.
  • Clé publique du sujet   Clé publique associée au détenteur du certificat numérique et algorithmes spécifiquement associés à la clé publique.
  • Identifiant unique de l'émetteur   Informations permettant d'identifier de manière unique l'émetteur du certificat numérique.
  • Identifiant unique du sujet   Informations permettant d'identifier de manière unique le détenteur du certificat numérique.
  • Extensions   Informations supplémentaires liées à l'utilisation et à la gestion du certificat.
  • Signature numérique de l'Autorité de certification   Signature numérique réelle produite à l'aide de la clé privée de l'Autorité de certification et de l'algorithme spécifié dans le champ Identifiant de l'algorithme du certificat.

S/MIME nécessitant un certificat conforme à la norme X.509 v3, ces informations décrivent également les caractéristiques utilisées par S/MIME pour ses certificats.

importantImportant :
La norme X.509 v3 est une norme qui régit les certificats numériques en général. Elle n'édicte pas de norme concernant les certificats spécifiques à S/MIME. Vous pouvez trouver des informations portant sur les certificats numériques spécifiques à S/MIME dans les RFC (Requests for Comments) correspondants.

Bien que les certificats numériques soient électroniques, n'oubliez pas qu'étant donné qu'ils sont normalisés, ils peuvent être utilisés sur des ordinateurs personnels mais aussi sur de nombreux périphériques tels que des ordinateurs de poche, des téléphones portables et des cartes à puce. Les cartes à puce peuvent être employées sur un large éventail de périphériques différents et constituent par de nombreux aspects le support idéal pour les certificats numériques. Elles permettent de transporter et d'utiliser les certificats numériques à la manière d'un permis de conduire ou d'un passeport.

La normalisation des certificats S/MIME, grâce aux RFC de S/MIME et à la norme X.509 version 3 est un élément clé du succès de S/MIME car elle permet à n'importe quelle application répondant à la norme de comprendre les certificats numériques.

Certificats numériques et infrastructure à clé publique

L'un des avantages de la cryptographie à clé publique réside dans le fait qu'elle allège la tâche de gestion des clés puisqu'une paire de clés peut remplacer plusieurs clés symétriques. Cet avantage est renforcé par la présence des certificats numériques qui permettent de distribuer et gérer les clés publiques. Cependant, il n'existe pas d'auto gestion pour les certificats numériques. Ces derniers ont été conçus pour être diffusés librement et leur gestion nécessite de prendre en compte leur nature distribuée. Les certificats numériques requièrent une infrastructure capable de les gérer dans leur contexte d'utilisation. L'infrastructure à clé publique est indissociable des certificats numériques. Elle est responsable de l'émission des certificats, de leur distribution via un annuaire et de leur validation. L'infrastructure à clé publique est également chargée des opérations sous-jacentes permettant la prise en charge des certificats numériques et permet à ces derniers d'offrir les fonctionnalités sur lesquelles s'appuient des services tels que S/MIME.

L'infrastructure à clé publique étant un sujet à la fois vaste et complexe, son étude ne peut entrer dans le cadre de ce manuel. Les informations présentées ici portent essentiellement sur la façon dont l'infrastructure à clé publique et les certificats numériques interagissent avec la sécurité des messages. Il existe de nombreux ouvrages excellents concernant l'infrastructure à clé publique. Vous pouvez également obtenir des informations complémentaires en consultant la documentation qui vous a été remise par votre fournisseur d'infrastructure à clé publique et d'autres ressources spécialisées dans le sujet.

Interaction entre l'infrastructure à clé publique et la sécurité des messages

L'infrastructure à clé publique permet d'émettre des certificats et de les rendre accessibles via un annuaire. Elle valide également les certificats numériques en vérifiant leur authenticité, leur validité et leur fiabilité. Ces services sont cruciaux pour les certificats numériques car ces derniers s'appuient sur un modèle distribué en utilisant des autorités de certification tierces.

La façon dont les certificats numériques sont émis et publiés dans un annuaire dépend de la solution d'infrastructure à clé publique utilisée et de sa mise en œuvre. En règle générale, l'infrastructure à clé publique émet des certificats numériques et publie les informations les concernant dans un annuaire auquel d'autres applications peuvent accéder. Une partie de ces informations sert à valider les certificats numériques. Comme indiqué dans la section sur la cryptographie à clé publique et la sécurité des messages de la rubrique Cryptographie à clé publique, les opérations relatives à la sécurité des messages nécessitent l'accès aux clés publiques de l'expéditeur et du destinataire du message. Les certificats numériques des utilisateurs contenant ces informations, il est indispensable de pouvoir y accéder. En permettant l'accès aux certificats numériques, l'infrastructure à clé publique capitalise sur les avantages offerts par la cryptographie à clé publique en terme de simplification de la gestion des clés puisqu'elle dispense d'avoir échanger manuellement les clés. L'infrastructure à clé publique rend les certificats numériques accessibles via un annuaire à partir duquel ils peuvent être extraits par des applications, au moment voulu.

Pour comprendre comment l'infrastructure à clé publique valide un certificat, il suffit de se rappeler le rôle joué par l'Autorité de certification dans l'émission d'un certificat numérique. Comme indiqué dans la section sur les certificats numériques et la cryptographie à clé publique plus haut dans cette rubrique, l'Autorité de certification émettrice du certificat atteste la validité de l'identité en signant le certificat à l'aide de la clé publique. Pour vérifier l'authenticité d'un certificat, il faut vérifier la signature numérique de l'Autorité de certification. L'infrastructure à clé publique valide un certificat à l'aide d'un mécanisme permettant de vérifier la signature de l'autorité émettrice du certificat. Si la signature ne peut être vérifiée, on peut en déduire que le certificat n'est pas digne de confiance.

Comme précisé au début de cette rubrique, aucune méthode de sécurité n'est parfaite. Un certificat numérique peut être compromis, généralement suite à la perte de la clé privée. Pour que des certificats numériques soient fiables, il doit exister un moyen d'annuler ou de « révoquer » un certificat numérique avant qu'il n'expire, tout comme on peut le faire pour une carte de crédit qui a été volée. La révocation des certificats est un des autres services critiques assurés par l'infrastructure à clé publique pour les certificats numériques et constitue une des étapes de vérification du certificat numérique.

L'infrastructure à clé publique assurant la fiabilité des certificats numériques, elle en fait partie intégrante. Il est impossible d'utiliser des signatures numériques sans infrastructure à clé publique. Étant donné qu'Exchange Server 2003 prend en charge les certificats X.509 v3, l'infrastructure à clé publique spécifique mise en œuvre dans une installation Exchange dépendra des certificats numériques utilisés avec Exchange. En terme de sécurité des messages, cependant, toutes les infrastructures à clé publique assurent les services fondamentaux que nous venons d'évoquer pour la prise en charge des certificats numériques. Les différences entre les infrastructures à clé publique tiennent à leurs conceptions et mises en œuvre respectives et sont spécifiques à chaque déploiement.

Certificats numériques et sécurité des messages

Maintenant que vous connaissez le concept de certificats numériques et que vous avez vu comment ces certificats interagissent avec la cryptographie à clé publique, nous allons appliquer ces connaissances à la sécurité des messages. La section suivante explique comment les certificats numériques prennent en charge les services de sécurité centraux qui englobent les signatures numériques et le cryptage des messages.

Utilisation des certificats numériques pour les signatures numériques

Comme mentionné dans la section sur la cryptographie à clé publique et les signatures numériques de la rubrique Cryptographie à clé publique, la relation entre une clé publique et la clé privée d'un utilisateur permet au destinataire d'un message de l'authentifier et de le valider. Les certificats numériques prennent en charge la cryptographie à clé publique car ils constituent un moyen fiable de distribution et d'accès aux clés publiques. Lorsqu'un expéditeur signe un message, il fournit la clé privée associée à la clé numérique indiquée dans le certificat numérique. À son tour, lorsque le destinataire valide un signature numérique sur un message, il se procure la clé publique permettant d'effectuer cette opération à partir du certificat numérique de l'expéditeur. La figure suivante décrit une opération de signature couplée aux éléments de prise en charge de la cryptographie à clé publique.

35451fb8-5e11-4d67-ba6e-e5d4da6febca

  1. Le message est capturé.
  2. La valeur de hachage du message est calculée.
  3. La clé privée de l'expéditeur est extraite du certificat numérique de l'expéditeur.
  4. La valeur de hachage est cryptée à l'aide de la clé privée de l'expéditeur.
  5. La valeur de hachage cryptée est ajoutée au message sous la forme d'une signature numérique.
  6. Le message est envoyé.

La figure suivante décrit une opération de vérification couplée aux éléments de prise en charge de la cryptographie à clé publique.

d1b14a27-5cfb-4df2-89f7-990219378716

  1. Le message est reçu.
  2. La signature numérique contenant la valeur de hachage cryptée est extraite du message.
  3. Le message est récupéré.
  4. La valeur de hachage du message est calculée.
  5. La clé publique de l'expéditeur est extraite du certificat numérique de l'expéditeur.
  6. La valeur de hachage cryptée est décryptée à l'aide de la clé publique de l'expéditeur.
  7. La valeur de hachage décryptée est comparée à la valeur de hachage produite lors de la réception.
  8. Si les valeurs correspondent, le message est valide.

Comme l'indiquent ces séquences, les certificats numériques donnent accès aux clés publiques à des fins de vérification de la signature numérique.

Utilisation des certificats numériques pour le cryptage des messages

Tout comme les certificats numériques prennent en charge les signatures numériques en permettant l'accès aux clés publiques à des fins de vérification, ils prennent également en charge le cryptage des messages en donnant accès aux clés publiques en vue du processus de cryptage. Comme mentionné dans la section sur la cryptographie à clé publique et le cryptage des messages de la rubrique Cryptographie à clé publique, un expéditeur peut accéder à la clé publique d'un destinataire, ce qui lui permet de crypter le message, sachant que seul le destinataire du message sera en mesure de le décrypter. Dans ce cas, c'est le certificat numérique du destinataire qui permet le cryptage. Tout comme pour les signatures numériques, l'opération est rendue possible par la clé publique du certificat numérique. La figure suivante décrit une opération de cryptage couplée aux éléments de prise en charge de la cryptographie à clé publique.

21058391-2d70-42f9-bf25-8ead79705b27

  1. Le message est capturé.
  2. La clé publique est extraite du certificat numérique du destinataire.
  3. Une clé de session symétrique à usage unique est générée.
  4. L'opération de cryptage est effectuée sur le message à l'aide de la clé de session.
  5. La clé de session est cryptée à l'aide de la clé publique du destinataire.
  6. La clé de session cryptée est incluse dans le message crypté.
  7. Le message est envoyé.

La figure suivante décrit une opération de décryptage couplée aux éléments de prise en charge de la cryptographie à clé publique.

50f0afca-e520-46b5-8e12-6e295dfe86d9

  1. Le message est reçu.
  2. Le message crypté et la clé de session cryptée sont extraits du message.
  3. La clé privée du destinataire est extraite du certificat numérique du destinataire.
  4. La clé de session est décryptée à l'aide de la clé privée du destinataire.
  5. Le message est décrypté à l'aide de la clé de session décryptée.
  6. Le message décrypté est renvoyé au destinataire.

Utilisation des certificats numériques pour les signatures numériques et le cryptage de messages

Les signatures numériques et le cryptage des messages sont des éléments complémentaires. La figure suivante décrit une opération de signature et de cryptage couplée aux éléments de prise en charge d'une signature numérique.

e81cca9b-c780-49d9-a3f9-69cc3c442183

  1. Le message est capturé.
  2. La valeur de hachage du message est calculée.
  3. La clé privée de l'expéditeur est extraite du certificat numérique de l'expéditeur.
  4. La clé publique du destinataire est extraite du certificat numérique du destinataire.
  5. La valeur de hachage est cryptée à l'aide de la clé privée de l'expéditeur.
  6. La valeur de hachage cryptée est ajoutée au message sous la forme d'une signature numérique.
  7. Une clé de session symétrique à usage unique est générée.
  8. L'opération de cryptage est effectuée sur le message à l'aide d'une clé de session.
  9. La clé de session est cryptée à l'aide de la clé publique du destinataire.
  10. La clé de session cryptée est incluse dans le message crypté.
  11. Le message est envoyé.

La figure suivante décrit une opération de décryptage et de vérification de la signature numérique, couplée aux éléments de prise en charge de la cryptographie à clé publique.

97705e57-0a94-4197-99c3-40bb58a9eaa0

  1. Le message est reçu.
  2. Le message crypté et la clé de session cryptée sont extraits du message.
  3. La clé privée du destinataire est extraite du certificat numérique du destinataire.
  4. La clé de session est décryptée à l'aide de la clé privée du destinataire.
  5. Le message est décrypté à l'aide de la clé de session décryptée.
  6. La signature numérique contenant la valeur de hachage cryptée est extraite du message.
  7. La valeur de hachage du message est calculée.
  8. La clé publique de l'expéditeur est extraite du certificat numérique de l'expéditeur.
  9. La valeur de hachage cryptée est décryptée à l'aide de la clé publique de l'expéditeur.
  10. La valeur de hachage décryptée est comparée à la valeur de hachage produite lors de la réception.
  11. Si les valeurs correspondent, le message est valide.
  12. Le message décrypté est renvoyé au destinataire.

Si vous avez compris comment les certificats numériques permettent la cryptographie à clé publique et comment cette dernière assure les services de sécurité de base pour les signatures numériques et le cryptage des messages, vous avez compris le fonctionnement de la sécurité des messages avec S/MIME. Ensemble, ces concepts forment le noyau central de la sécurité des messages.