Vous êtes sur la page 1sur 8

I.

Etude d’une PKI


I.1. Introduction à la PKI

 Présentation d’une PKI

L’utilisation massive de messages électroniques et l’expansion du commerce électronique est


devenu une opération de plus en plus courante. En effet, les données qui transitent sur
Internet, sont sujettes à diverses attaques comme l'attaque man in the middle lorsque les
entités échangent leurs clefs publiques. Dans une petite structure, il pourrait être envisageable
de générer sa paire de clefs localement et d’échanger les clefs publiques hors ligne (en main
propre par exemple), mais cette solution est inimaginable pour une structure internationale.
Dans ce cas de figure, une authentification automatique des clefs publiques est indispensable.

C’est dans ce contexte que la NIST (National Institute of Stantards and Technology) s’est vu
imposer en 1994 la tâche d’étudier et de définir un standard afin de gérer l’authentification
dans un environnement international. Ce projet avait pour but de permettre l’interopérabilité
des différents systèmes électroniques opérant dans le commerce électronique. L’étude était
portée sur la manière de générer les clefs, de les distribuer, d’obtenir les clefs publiques au
moyen de certificats, et la publication des certificats obsolètes. L’étude visait à définir des
recommandations techniques pour définir une architecture PKI au travers de divers
composants.

A la même façon qu’un passeport ou d’une carte d’identité, la PKI va fournir une garantie
d’identité numérique aux utilisateurs. Cette pièce d’identité numérique, appelée certificat
numérique, contient la clef publique de l’utilisateur, mais également des informations
personnelles sur l’utilisateur. Comme tout document formel, le certificat numérique est signé
par l’autorité de certification et c’est cette signature qui lui donnera toute crédibilité aux yeux
des utilisateurs. Le certificat numérique est largement publié, il n’a pas à être tenu secret, il est
consultable via un annuaire.

Pour obtenir un certificat numérique, le client doit effectuer une requête auprès d’un
organisme reconnu. Il transmet avec sa requête sa clef publique. L’organisme construit un
certificat incorporant la clef publique du client, il signe le certificat à l’aide de sa clef privée.
L’autorité de certification publiera le certificat signé comportant la clef publique et l’identité
précise du propriétaire, quiconque consultera ce certificat aura l’assurance dans l’authenticité
de la clef publique contenue dans celui-ci car il a confiance dans l’autorité de certification qui
a délivré ce certificat.

En somme, la PKI (Public Key Infrastructure) est un système de gestion des clefs publiques
qui permet de gérer des listes importantes de clefs publiques et d'en assurer la fiabilité, pour
des entités généralement dans un réseau. Elle offre un cadre global permettant d'installer des
éléments de sécurité tels que la confidentialité, l'authentification, l'intégrité et la non-
répudiation tant au sein de l'entreprise que lors d'échanges d'information avec l'extérieur.

Schéma à faire
 Ses objectifs

Une infrastructure à clé publique permettra de délivrer des certificats électroniques qui, ces
mêmes certificats, garantiront la confidentialité des échanges informatiques, l’intégrité des
données et l’authentification des utilisateurs au moment d’une transaction. L’infrastructure
PKI intègre un ensemble de composants, des procédures spécifiques et des fonctions
particulières assurant à la fois la création des certificats et leur distribution. Le cycle de vie
des certificats numériques est également à intégrer dans l’infrastructure à clé publique.

Grâce à leur mise en place, les utilisateurs auront la possibilité de s’authentifier, de bénéficier
d’une transaction chiffrée et d’avoir recours à la signature électronique. Cependant, les
objectifs sont les suivants :

 Confidentialité des données :

La PKI permet de chiffrer les données en transit en utilisant des clés publiques et privées
pour garantir la confidentialité des données échangées.

 Authenticité des données :

La PKI permet de garantir que les données sont envoyées par un utilisateur authentique en
utilisant des certificats numériques qui contiennent des informations sur l'identité de
l'utilisateur et la clé publique correspondante.

 Intégrité des données :

La PKI permet de garantir l'intégrité des données en transit en utilisant des clés de
chiffrement pour empêcher la modification des données en transit.

 Protection contre les attaques de type "Man-in-the-Middle" :

La PKI permet de protéger contre les attaques de type "Man-in-the-Middle" en


garantissant que la clé publique utilisée pour chiffrer les données est bien celle de
l'utilisateur authentique.

 Gestion centralisée des certificats :

La PKI permet une gestion centralisée des certificats numériques, ce qui facilite leur
distribution et leur révocation en cas de compromission ou de fin de validité.

 Utilisations multiples :

La PKI peut être utilisée dans de nombreuses applications, telles que la signature
électronique, l'authentification de l'utilisateur, l'accès à distance et la gestion des droits
d'accès.
 Ses fonctionnalités et ses utilisations

Les fonctionnalités d'une PKI comprennent la création et la gestion de certificats numériques,


la validation des identités numériques, la signature électronique, le chiffrement des données,
la révocation des certificats, et la gestion des clés de chiffrement.

Les utilisations d'une PKI sont nombreuses et variées. Elle est utilisée pour sécuriser les
transactions en ligne, les échanges d'e-mails, les transferts de fichiers, les connexions à
distance, les systèmes de paiement électronique, les réseaux privés virtuels (VPN), et les
applications de messagerie instantanée. Elle est également utilisée dans le domaine de la
santé, de la finance, de l'administration publique, et de l'industrie pour garantir la
confidentialité et la sécurité des données sensibles.

I.2. Les composantes d’une PKI

La PKI a été largement utilisé dans des applications d’entreprise et de nombreux services de
sécurité et aussi dans différentes plates-formes telles que l’authentification des utilisateurs. La
signature numérique, et la non-répudiation.

Elle utilise deux objets principaux : le certificat numérique de type X.509 v3, et la
spécification de la liste de révocation de certificat. Le modèle PKIX définit les éléments que
comporte une PKI. Le modèle de composants PKIX intègre les quatre grandes composantes :
l’entité finale, le certificat de la clé publique, le certificat de l’autorité et le dépôt.

Schéma à faire

 L’entité finale :

Elle peut être considérée comme les utilisateurs du service PKI. Le terme entité finale est
un terme générique qui désigne les abonnés, les périphériques réseaux (tels que les
serveurs et les réseaux), les processus, ou toute autre entité qui peut demander et recevoir
un certificat numérique. L’entité finale utilise le certificat acquis pour soutenir la sécurité
et la confiance dans les transactions. En plus l’entité finale peut également être un tiers
(une personne ou une organisation), qui ne détient pas nécessairement un certificat, mais
peut être le bénéficiaire d’un certificat (lors de l’exécution d’une transaction) et qui agit
donc sur la confiance du certificat et / ou la signature numérique qui sera vérifiée à l’aide
de ce certificat.

 L 'autorité de certification (CA) :

Une autorité de certification est l’émetteur des certificats de clé publique dans une PKI
donnée. Les certificats de clés publiques sont signés numériquement par l’autorité de
certification émettrice, qui va effectivement (et légalement) lier le nom du sujet à la clé
publique soumise. La clé publique du CA qui est utilisée pour vérifier la signature sur les
certificats délivrés. Les CA sont également responsables de l’élaboration de listes de
certificats révoqués (CRL), qui rendent des certificats invalides, à moins que cela est
déléguée à une entité distincte, appelée émetteur de la liste de révocation de certificats.
 L’autorité d’enregistrement (RA) :

Une autorité d’enregistrement est une composante administrative à laquelle une CA


délègue certaines fonctions de gestion liées à l’enregistrement des utilisateurs. La RA est
souvent associée aux processus d’enregistrement de l’entité finale. Cependant, il peut être
responsable d’un certain nombre de fonctions, notamment les tâches suivantes :

- Assurer que les demandeurs soient munis d’un certificat, tout en vérifiant
l’exactitude et l’intégrité des informations requises par les demandeurs.
- Vérifier que l’entité finale demandant l’émission d’un certificat possède la clé
privée associée à la clé publique fournie.
- La réalisation des interactions nécessaires avec la CA de délégation pour le compte
de l’entité finale, en cas de notifications de compromission de clé…

 Serveur de certificats :

Un serveur de certificats est une composante (ou système) utilisée pour stocker et
récupérer les certificats, les informations connexes telles que la norme PKCS émise pour
l’entité finale et la liste des certificats révoqués (CRL).

Le serveur peut être une base X.500 ou un répertoire avec des installations d’accès
public via le protocole Lightweight Directory Access (LDAP) ou File Transfer Protocol
(FTP) afin que les certificats puissent être récupérés par toute entité finale pour différents
besoins.

 La liste de révocation (CRL) :

La liste de révocation devrait être publiée périodiquement, par exemple chaque jour,
chaque semaine, etc… Si aucun certificat n’est retiré au cours de la période indiquée, une
liste de révocation néanmoins devrait être émise comme notification qu’aucun certificat
n’a été retiré. Les autorités de certification devraient informer les utilisateurs de la
fréquence d’émission de la liste de révocation.

Les listes de révocation doivent être protégées contre les accès non autorisés, les
falsifications et les suppressions non autorisées. Et même après l’expiration de la validité
des certificats révoqués, l’autorité de certification devra les archiver pour une éventuelle
utilisation ultérieurement.

 Les certificats numériques :

Les certificats permettent de s’assurer que la clé publique récupérée appartient bien au
destinataire souhaité. Les certificats sont comme une pièce d’identité prouvant que la clé
appartient à telle ou telle personne, organisme ou autre. Lorsque vous achetez sur un site
de vente en ligne et que vous vous apprêtez à envoyer vos coordonnées, vous devez être
sûr que le destinataire est bien le site de vente.

Pour cela, il suffit de vérifier son certificat. Un certificat est composé de deux parties :
- Les informations
- La signature

Pour assurer ces clients, le site de vente en ligne, utilise une clé publique qui appartient
bien au site, pour prouver la possession de cette clé le commerçant envoie ces informations et
sa clé publique à un organisme de certification appelé infrastructure à clés publiques
(EasyCA, par exemple).

L’organisme vérifie que les informations soumises sont correctes puis ajoute à celle-ci
ces propres informations. Ensuite, il ajoute une signature au certificat. Cette signature est un
hachage du résumé des informations encodé avec la clé privée de l’organisme de certification.

Lorsque l’expéditeur récupère le certificat il n’a plus qu’à calculer le hachage du


résumé des informations, et à décoder la signature avec la clé publique de l’organisme de
certification. Ensuite il n’a plus qu’à comparer les deux résultats pour savoir si le certificat est
un vrai. Si oui, les informations sont donc exactes. Cette méthode permet d’éviter d’encoder
son message avec une clé publique inconnue et donc de révéler ces informations à des
personnes malveillantes.

I.3. Fonctionnement d’une PKI

 Demande de certificat

La demande de certificat est une étape importante pour garantir la sécurité et l'authenticité des
transactions numériques. Il est important de fournir des informations précises et vérifiables
lors de la demande de certificat et de suivre les procédures de validation et de distribution
recommandées pour garantir l'efficacité de l'infrastructure PKI. Toutefois, voici les étapes
générales pour faire une demande de certificat numérique :

 Identifier le type de certificat nécessaire :

Il existe différents types de certificats numériques, chacun ayant des caractéristiques et des
utilisations spécifiques. Il est important de déterminer le type de certificat nécessaire en
fonction de l'objectif de l'utilisateur et des exigences de l'application.

 Remplir le formulaire de demande de certificat :

Une fois le type de certificat déterminé, l'utilisateur doit remplir un formulaire de


demande de certificat. Ce formulaire contient des informations sur l'identité de l'utilisateur
et sur la clé publique correspondante. Les informations peuvent varier selon le type de
certificat demandé, mais généralement, elles incluent le nom de l'utilisateur, l'adresse e-
mail, le nom de l'organisation et la clé publique.

 Soumettre la demande de certificat :

Une fois le formulaire rempli, l'utilisateur doit soumettre la demande de certificat à


l'autorité de certification (CA) qui émettra le certificat. La soumission peut se faire par le
biais d'un serveur de certificats, par courrier électronique ou par d'autres moyens
sécurisés.

 Vérification de l’identité de l’utilisateur :

La CA doit valider l'identité de l'utilisateur avant d'émettre le certificat. La vérification


peut se faire en utilisant des informations d'identification, telles qu'une pièce d'identité ou
une lettre d'approbation de l'employeur.

 Vérification de la clé publique :

La CA doit également vérifier la clé publique fournie par l'utilisateur pour s'assurer qu'elle
est valide et qu'elle correspond à l'identité de l'utilisateur.

 Emission du certificat :

Une fois la demande de certificat validée, la CA émet le certificat numérique, qui contient
les informations sur l'identité de l'utilisateur et la clé publique correspondante. Le
certificat est signé par la clé privée de la CA pour garantir son authenticité.

 Distribution du certificat :

Une fois émis, le certificat doit être distribué à l'utilisateur qui l'a demandé. Cela peut se
faire via un serveur de certificats ou par d'autres moyens sécurisés.

 Validation et émission du certificat

Lorsqu’un certificat est présenté à une application pour réaliser une opération de chiffrement,
d’authentification d’un utilisateur, de vérification de la signature d’un document.
L’application doit s’assurer de la validité de ce certificat.

Cette opération englobe plusieurs vérifications qui peuvent être réalisées ou non. Il
convient de faire le choix lors de la sécurisation de l’application. Ces vérifications sont
notamment :

- Vérification de la période de validité du certificat telle qu’elle est mentionnée dans


le certificat lui-même.
- Vérification de la signature présente dans le certificat, à l’aide de la clé publique de
la CA émettrice. Ceci implique de détenir au préalable ou de récupérer par un
moyen sûr le certificat de la CA concernée.
- Vérification du chemin de certification. En effet, l’application doit, pour accepter
le certificat, avoir confiance en la CA émettrice. Si le certificat de la CA émettrice
a été émis lui-même par une autre CA, il faut remonter la chaine de certification
jusqu’à un certificat de la CA connue et de confiance. Cela implique aussi la
vérification de la validité (date de validité et statut de non révocation) de chaque
certificat de CA se trouvant dans la chaîne de certification. Au sommet de la
chaîne, doit se trouver une CA dans laquelle l’application place sa confiance, et
dont le certificat auto-signé aura été remis au préalable à l’application par un
moyen sûr.
- Vérification du statut du certificat. Cette opération consiste à vérifier que le
certificat n’est ni révoqué ni suspendu.

Ces vérifications peuvent être réalisées de différentes manières en fonction des


services offerts par la PKI et de l’implémentation retenue. Elles peuvent être faites soit
par l’application sécurisée elle-même, soit par une interrogation de l’infrastructure
PKI.

Afin de mieux comprendre le principe d’émission d’un certificat numérique, nous allons
considérer deux utilisateurs : Bob et Alice.

L’utilisateur Bob veut certifier que sa clé publique lui appartient. Il envoie cette clé
publique dans le serveur de clés d’une CA, ainsi que différentes informations le concernant
(nom, e-mail, etc…).

L’autorité d’enregistrement vérifie des informations fournies par l’utilisateur Bob, à


partir du formulaire servi. La CA ajoute au certificat : son propre nom, le nom de l’utilisateur,
la période de validité, la clé publique de l’utilisateur, l’algorithme de chiffrement, l’usage que
l’on peut faire de ce certificat et surtout sa signature numérique.

Cette signature est calculée à partir des informations du certificat. La CA calcule un


résumé en appliquant une fonction de hachage connue, comme RSA. Puis, l’autorité de
certification signe ce résumé en lui appliquant sa clé privée.

Lorsque l’utilisateur Alice veut envoyer un message à l’utilisateur Bob, il télécharge le


certificat de celui-ci à partir d’un serveur de certificats du système PKI. Il calcule le résumé
du certificat. Puis, applique la clé publique de la CA, auteur du certificat à la signature
électronique et envoie donc le message à l’utilisateur Bob. A la réception, l’utilisateur Bob
fait le travail inverse. Si la quantité obtenue est égale au résumé par comparaison bit par bit,
l’utilisateur Bob est sûr qu’il est entrain de communiquer avec l’utilisateur Alice.

 Vérification du certificat

La vérification d'un certificat numérique est un processus permettant de s'assurer de


l'authenticité et de la validité du certificat, ainsi que de la correspondance entre le certificat et
le site web visité. Cette vérification est essentielle pour garantir la sécurité des
communications numériques et éviter les fraudes et les attaques malveillantes. La vérification
du certificat implique plusieurs étapes, qui sont les suivantes :

 Vérification de la chaîne de confiance :

La première étape consiste à vérifier la chaîne de confiance du certificat. Cela signifie


vérifier que le certificat a été émis par une autorité de certification (CA) de confiance, qui
est elle-même approuvée par une autorité de certification racine (Root CA) reconnue.
Cette vérification permet de garantir que le certificat est légitime et qu'il n'a pas été émis
par une entité malveillante.

 Vérification de la validité :

La deuxième étape consiste à vérifier la validité du certificat. Cette étape comprend la


vérification de la date d'expiration du certificat, ainsi que la vérification de la
correspondance entre le nom de domaine de l'entité qui a émis le certificat et le nom de
domaine du site web visité.

 Vérification de la clé publique :

La troisième étape consiste à vérifier la clé publique du certificat. Cette vérification


permet de s'assurer que la clé publique contenue dans le certificat correspond à la clé
publique utilisée par l'entité émettrice du certificat. Cette étape permet de garantir que la
communication est sécurisée et que les données échangées ne peuvent pas être
interceptées ou modifiées par des tiers malveillants.

 Vérification de révocation :

La quatrième étape consiste à vérifier si le certificat n'a pas été révoqué par l'autorité de
certification avant sa date d'expiration. Pour cela, on utilise une liste de révocation de
certificats (CRL) ou un protocole d'état de révocation en ligne (OCSP) pour s'assurer que
le certificat est toujours valide et qu'il n'a pas été compromis.

En somme, la vérification d'un certificat numérique est un processus essentiel pour garantir
l'authenticité et la validité du certificat, ainsi que la sécurité des communications numériques.
Elle permet de s'assurer que les données échangées sont protégées contre les tiers malveillants
et que l'identité des parties est bien vérifiée.

Vous aimerez peut-être aussi