25.5 Cryptographie à clé publique ‑ Notions

25.5.1 Présentation

Le contenu de la plupart des communications Internet, comme la consultation des pages Web ou les forums de discussion publics, peut être géré par tout utilisateur équipé à cet effet. Le contenu des autres transmissions de données, comme l'échange d'informations relatives aux cartes de crédit dans le cadre d'achats en ligne, doit rester confidentiel.

La cryptographie à clé publique est une méthode largement utilisée qui permet de garantir la sécurité et le caractère confidentiel des données transmises sur Internet. La particularité de la cryptographie à clé publique réside dans l'utilisation de codes numériques, appelés “clés”, qui permettent d'authentifier les expéditeurs de messages et de crypter le contenu de ces derniers.

25.5.2 Transmissions sécurisées

Les transmissions de données sont confidentielles et sécurisées dans les deux situations suivantes :

  • Authentification : Le destinataire des données sait que l'expéditeur est bien celui qu'il prétend être.

  • Chiffrement : Les données envoyées sont codées pour que seul leur destinataire puisse les lire.

25.5.3 Paires de clés

L'authentification et le chiffrement se font à l'aide de paires de codes numériques liés par une relation mathématique et appelés des « clés ». Une clé de chaque paire est publique (distribuée à tous) et l'autre clé est privée.

Tout émetteur de données, qu'il s'agisse d'un individu, d'un logiciel ou d'une entité comme une banque ou une société, se voit attribuer une paire de clés par un système de cryptographie à clé publique.

L'illustration suivante propose une synthèse des principes et des fonctions de base de chaque clé d'une paire:

Figure 25-1 Description de la paire de clés de base

Paires de clés et authentification

L'authentification vise à prouver au destinataire des données que l'expéditeur est bien celui qu'il prétend être.

Supposez que vous souhaitiez autoriser votre banque à transférer des fonds de votre compte vers un autre. La banque a besoin d'une preuve selon laquelle vous êtes l'expéditeur du message et que celui‑ci n'a pas été altéré pendant le transfert. La figure ci-après illustre le traitement de votre transaction en ligne au moyen de la cryptographie à clé publique.

Figure 25-2 Processus de clé publique

Pour plus d'informations sur les signatures digitales et leur vérification, reportez‑vous à la section Signatures digitales.

Paires de clés et chiffrement

Le chiffrement signifie que les données ne peuvent être lues que par le destinataire désigné.

Supposez que vous souhaitiez commander un ouvrage auprès d'un fournisseur Internet et utiliser votre carte de crédit pour régler le montant de la facture. Vous ne voulez pas que votre numéro de carte de crédit soit lu par une personne autre que le destinataire prévu.

L'illustration suivante représente le processus de codage par le biais duquel la transmission du numéro de votre carte de crédit peut être sécurisée.

Figure 25-3 Processus de chiffrement

25.5.4 Mise en place d'une relation de confiance

Si l'expéditeur et le destinataire se font confiance, ils peuvent se contenter d'échanger des clés publiques et d'établir une transmission de données sécurisée (authentification et codage). Pour ce faire, chacun va utiliser la clé publique de l'autre et sa propre clé privée.

Dans des circonstances normales, toutefois, les parties qui ont besoin de transmissions de données sécurisées n'ont aucun moyen de valider l'identité de leur interlocuteur. Une tierce partie de toute confiance est nécessaire pour garantir l'identité des deux parties en présence.

Autorités de certification

Une partie devant prouver son identité dans un environnement de cryptographie à clé publique fait appel aux services d'un tiers digne de confiance reconnu comme autorité de certification.

L'objectif principal de l'autorité de certification consiste à vérifier que l'identité d'une partie est bien celle qu'elle prétend être, puis à lui délivrer un certificat de clé publique. Le certificat de clé publique vérifie que la clé publique contenue dans le certificat appartient à la partie mentionnée dans ce certificat.

Figure 25-4 Requête de certificat

Une fois que l'autorité de certification a déterminé l'identité de la partie, elle émet un « certificat électronique » et y applique sa signature numérique.

Signatures digitales

Tout comme une signature sur un document papier en prouve l'authenticité, la signature digitale indique l'authenticité des données électroniques.

Pour créer une signature digitale, le logiciel qui sert à la générer lie les données signées à la clé privée du signataire. L'illustration suivante représente le processus que suit l'autorité de certification (CA) pour créer sa signature digitale et l'apposer sur un certificat de clé publique.

Figure 25-5 Signature numérique

La signature digitale est liée de manière unique au signataire et aux données. Personne d'autre ne peut reproduire la signature car personne d'autre ne possède la clé privée du signataire. Par ailleurs, le signataire ne peut pas nier avoir signé les données. Ce processus est connu sous le nom de non‑rejet.

Lorsqu'une autorité de certification signe un certificat de clé publique, elle garantit avoir vérifié l'identité du propriétaire de cette clé conformément aux stratégies publiées et établies.

Une fois que les données signées (certificat de clé publique par exemple) sont reçues, le logiciel en vérifie l'authenticité en leur appliquant le même calcul que celui initialement utilisé par le logiciel ayant apposé sa signature. Si les données n'ont pas été altérées, les deux calculs génèrent les mêmes résultats. Il est peu probable que les données et la signature aient été modifiées pendant le transfert.

Chaîne de certificats

Une chaîne de certificats est une liste ordonnée de certificats. Les certificats sont classés de sorte que le certificat de serveur ou utilisateur apparaisse en premier, suivi par le certificat de son autorité de certification.

Les autorités de certification peuvent soit signer leurs propres certificats (les certificats sont alors auto-signés) ou les faire signer par une autre autorité de certification. Si les certificats sont auto-signés, l'autorité de certification est généralement qualifiée de racine. S'ils ne sont pas auto-signés, l'autorité de certification est généralement qualifiée de subordonnée ou intermédiaire.

Si un certificat utilisateur ou de serveur a été signé par une autorité de certification avec un certificat auto-signé, la chaîne de certificats se compose exactement de deux certificats : le certificat d'entité finale et le certificat de l'autorité de certification racine.

Si un certificat utilisateur ou de serveur a été signé par une autorité de certification intermédiaire, la chaîne de certificats est plus longue. Les deux premiers éléments sont toujours le certificat d'entité finale, suivi par le certificat de l'autorité de certification intermédiaire. Toutefois, les certificats de l'autorité de certification intermédiaire sont alors suivis du certificat de son autorité de certification. Cette liste se poursuit alors jusqu'à ce que le dernier certificat dans la liste soit destiné à une autorité de certification racine. La longueur d'une chaîne de certificats peut par conséquent être infinie. Toutefois, dans la pratique, la plupart des chaînes de certificats ne comportent que deux ou trois certificats.

Racines approuvées

Afin de valider une signature numérique, vous devez approuver au moins un des certificats de la chaîne de certificats de serveur ou utilisateur. Vous pouvez approuver directement le certificat de l'utilisateur ou du serveur, ou choisir d'approuver n'importe quel autre certificat de la chaîne. En règle générale, le certificat approuvé est le certificat de l'autorité de certification racine.

La plupart des logiciels applicatifs pouvant utiliser des certificats disposent déjà d'une liste des certificats approuvés installés. Ces certificats sont destinés à des autorités de certification racine et sont, par conséquent, appelés « racines approuvées ».Ces autorités de certification sont généralement des autorités de certification commerciales. Si vous le souhaitez, vous pouvez ajouter des certificats supplémentaires à cette liste ou en supprimer.