Vous êtes sur la page 1sur 34

Certificat numérique

& PKI (Public Key


Infrastructure )

1
Introduction

• Le problème majeur de la cryptographie


asymétrique est :
– l’échange des clés publiques.
– Et la vérification que cette clé est bien la clé
de la personne qui prétend être

• Il faut associer plus d’informations à une clé


publique pour permettre de l’authentifier .
2
Introduction
• L’idée est d’associer plus d’information à une clé publique (
organisme , nom propriétaire ,……..)  associer un
certificat

• En plus la clé sera signée par une Autorité de Certification 


Un organisme de confiance .

• Derrière une autorité de certification , il y a toute une


organisation (infrastructure ) pour délivrer les certificats ,
tester leur validité , révocation, gestion des clés ,….  c’est
une PKI ( Public Key Infrastructure )

3
Les certificats numériques
• Un certificat numérique permet de lier l’identité d’un
système ( personne , entreprise ou machine ) à une clé
publique.
• C’est une information attachée à une clé publique, signée
numériquement par une partie tierce de confiance (autorité
de certification).
• L’objet de la signature est de garantir que les informations
de certification ont été contrôlées et validées.
• Les certificats numériques sont utilisés donc pour empêcher
les tentatives de falsification de clé publique .
• Un certificat numérique fonctionne comme une pièce
d’identité.
4
Autorité de certification AC
• L’autorité de certification est une partie tierce de confiance qui
garantit la validité de certificats numériques.
• L’autorité de certification délivre, distribue les certificats
numériques et elle les révoque en cas où les informations qu’ils
contiennent ne sont plus valables.
• L’autorité de certification certifie la correspondance Clé publique
avec l’identité pour l’ensemble d’une population

• Le modèle de confiance utilisé est le suivant:


• Si l’entité A fait confiance à une Autorité de Certification et
cette Autorité de Certification délivre un certificat à l’entité B (
B est bien identifié ) alors A est assuré de l’identité de B
• A peut faire confiance à B et il peut vérifier à tout moment la
validité de l’identité ( le certificat ) de B en contactant l’AC .
5

thawte , verisign ,…..


Cycle de vie d’un certificat

6
Structure d’un certificat
Le standard X509

• Les certificats requièrent un format commun  c’est


le standard X.509 qui est le plus utilisé.

• X.509 est un standard de cryptographie de l’UIT


(Union Internationale des Télécommunications). Il a
été crée en 1988 .

• Un certificat au format x509 version3 contient les


données suivantes :

7
Version du certificat
Numéro de série du certificat
Description de l’algorithme de signature de l’AC
Nom de l’AC qui a généré le certificat
Période de validité
Nom de l’utilisateur auquel appartient le certificat
Clé publique de l’utilisateur
Description de l’algorithme à utiliser avec la clé publique

Identification possible de l’AC (optionnel)


Identification possible de l’utilisateur (optionnel)
Extensions (optionnel)
Signature de l’AC
8
Exemples de Certificates X.509
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 9 (0x9)
Signature Algorithm: sha1 With RSA Encryption
Issuer: C=US, ST=Florida, L=Tampa, O=Text CA,
CN=bsd.jcs.local
Validity
Not Before: Mar 31 20:02:42 2003 GMT
Not After : Mar 30 20:02:42 2004 GMT
Subject: C=US, ST=Florida, L=Tampa, O=sslecho,
CN=linux.jcs.local
Subject Public Key Info:
Public Key Algorithm: rsa Encryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:d6:6f:d6:40:00:8a:c6:86:00:b8:31:62:f3:a6:
bd:c1:f0:10:b5:69:34:8c:f7:d6:09:98:66:9d:dd:
a5:90:5e:58:fb:06:9d:59:21:75:fb:ac:ab:86:56:
63:dd:99:8f:1f:22:1d:2f:2e:1b:f9:39:6c:c5:1e:
b3:01:a0:1a:07:56:21:5b:c3
Exponent: 65537 (0x10001)
X509v3 extensions:
Netscape Cert Type:
SSL Server
Signature Algorithm: sha1 With RSA Encryption
4b:e7:22:94:f9:a9:c3:db:6b:a5:c3:ea:39:b7:9a:04:36:c9:
c4:3f:2f:a5:7f:ef:89:8f:13:51:e6:9c:a7:94:20:71:ed:5a:
1d:57:65:bb:38:34:2f:0a:86:73:e2:18:e0:8f:23:4d:d0:a3:
Exemple de certificat

10
Vérification de la validité d’un certificat
• Publier une clé publique revient à fournir un certificat associé à cette clé
publique signé par une autorité de certification  donc vérifier la
validité d’une clé publique revient à vérifier la validité du certificat
correspondant.
• Vérifier la validité d’un certificat revient à vérifier la signature de l’AC
qui existe sur ce certificat .
• Le certificat de l’AC est connu par tout le monde .
• Pour vérifier un certificat il faut :
– Recalculer la signature du certificat ( utiliser l’algorithme de hachage
fourni avec le certificat )
– Déchiffrer la signature sur le certificat ( celle qui est générée par
l’AC ) en utilisant la clé publique de l’autorité de certification .
– Comparer les deux signatures : s’il y a une différence donc le
certificat n’est pas valide sinon on peut l’utiliser en toute sécurité

11
Vérification de la validité d’un certificat

• Le récepteur peut utiliser les autres informations


incluses dans le certificat pour s’assurer de la validité
du certificat :
– Nom et organisme de la personne
– Date de validité du certificat
– …………..
• Il peut aussi contacter l’AC pour s’assurer que le
certificat en question n’est pas révoqué .

12
Gestion des certificats

La PKI

13
PKI

• La gestion des certificats nécessite toute une


organisation  une PKI .
• PKI : Public Key Infrastructure ou Infrastructure à clé
publique :
• Une PKI est un ensemble :
– de composants ( logiciels , matériels , ressource
humaine)
– fonctions et procédures
– dédié à la gestion de clés et de certificats basés sur
la cryptographie à clé publique.
14
Rôle d’une PKI
Gestion des
clés
Enregistrer Générer
clients certificats

Renouveler

Cocertification PKI certificats

Publication
certificats
Recouvrir
Révoquer
clés
certificats

15
Composants d’une PKI

Une PKI comporte au mois trois


composants:
Autorité de certification
-l’autorité de certification
-L’autorité d’enregistrement
-Le dépôt ( annuaire ) des
certificats
Autorité d’enregistrement Dépôt

Client

16
Composants d’une PKI
• L’autorité de certification AC
– C’est l’entité qui détient l’entière responsabilité de la gestion des
certificats et des clés (création, attribution, mise à jour, révocation et le
recouvrement).
– C’est l’AC qui édite la règlementation à respecter dans une PKI, on parle
de Politique de Certification (PC).
• L’autorité d’enregistrement AE
– C’est l’entité responsable des interactions entre le client et l’AC.
– Elle diminue la charge de l’AC en s’occupant de la tâche de vérification
et validation des demandes de certificats et la distribution des certificats
aux clients.
– L’AE se porte garante du lien entre un certificat, l’identité du porteur et
autre attributs (informations personnelles du client).
• Le dépôt
C’est une base de données en ligne qui rend disponible les certificats émis par
l’AC ainsi qu’une liste de certificats révoqués à l’ensemble des utilisateurs.
17
Architecture d’une PKI

• On distingue deux architectures de PKI


– Architecture monopoliste ( simple ): Une CA
avec plusieurs autorités d’enregistrement

– Architecture hiérarchique ( Délégation de


pouvoir de certification ) : Une CA délègue le
pouvoir de certification à d’autres entités qui
deviennent CA à leur tour, en leur fournissant un
certificat qui certifie leur capacité d’être CA.

18
Architecture d’une PKI
Architecture simple

AC

AE AE

Client Client
Client Client

19
Problème de l’architecture simple

• Puisqu’ il existe une seule AC qui gère les clés de


toutes les entités alors si la clé privée de l’AC est
compromise  tous les certificats délivrés par cette
AC seront révoqués ainsi que le certificat de cette
dernière.
• Pour rétablir l’AC, elle doit délivrer de nouveaux
certificats pour toutes les entités de la PKI.

• Le déploiement d’une telle architecture est simple.


• Cette architecture convient à de petite organisation
avec un nombre limité d’utilisateurs. 20
Architecture d’une PKI
Architecture hiérarchique

AC racine

AC AC

AE AE AE AE

Client Client Client Client Client Client


Client Client

21
Chemin de certification
• Dans une architecture hiérarchique, la vérification de la signature
d’un certificat nécessite l’analyse de tout un chemin de
certification.
• Un chemin de certification est une séquence ordonnée de
certificats qui est analysée pour obtenir la validation d’un certificat
fournis par cette PKI .
• Ce chemin commence à partir du AC racine ( la plus haute AC )
jusqu’à l’AC qui a fournis le certificat .
• Ce chemin est inclus dans le certificat .
• L’analyse se déroule en deux étapes :
– la reconstitution du chemin en s’assurant qu’on possède
l’ensemble des certificats jusqu’à l’AC racine.
– la validation du chemin qui consiste à la vérification de la
signature de chaque certificat commençant par celui de l’AC
22
racine .
Processus de l’obtention d’un certificat
Client

1. Le client fait une


demande de certificat 7. Le certificat est
remis au client

2. L’AE procède à
l’authentification et la AE
vérification des attributs du
demandeur
6. Le certificat est transmis à
l’AE pour qu’il soit remis au
3. La demande est transmise demandeur
à l’AC

Dépôt
AC
4. L’AC génère le 5. Le certificat est transmis
certificat dans u dépôt accessible à
stous les utilisateur
(optionnel)
23
Enregistrement d’un client
• Lorsqu’une entité se présente pour l’obtention d’un certificat,
elle est enregistrée auprès de l’AE.
• L’enregistrement consiste à recueillir les informations
caractéristiques du demandeur : son nom, son adresse
électronique, etc.
• Pour l’enregistrement, deux contrôles sont réalisés :
l’authentification et la vérifications des attributs.
• L’authentification peut être envisagée soit par déplacement
physique du demandeur avec présentation de pièces
d’identités justificatives, soit par simple envoi de copie de
pièce d’identité.
• La vérification consiste à vérifier la validité des attributs du
client demandeur de certificat (appartenance à une société,
fonction dans l’organisation, etc.)
24
Génération des clés privé/publique
• La génération d’une paire de clé publique/privée peut
être centralisée ou décentralisée.

• Dans la génération centralisée, la paire de clé est


générée par l’autorité de certification. Elle est
envoyée ensuite au client via un canal sécurisé .

• Dans la génération décentralisé, c’est le client qui


génère la paire de clés et envoie une requête de
signature de certificat (CSR : Certificate Signing
Request) à l’AC pour lui générer un certificat .
25
Renouvellement d’un certificat

• Un certificat possède une période de validité.


• Une fois le certificat expiré (date limite
dépassé), son utilisation n’est plus valable.
• La PKI assure alors le renouvellement d’un
certificat dés son expiration après demande du
propriétaire.

26
Révocation d’un certificat

• Un certificat peut être révoqué (annulé) pour des


raisons telles que : perdre une clé privée, changer des
informations personnelles, quitter l’organisation, etc.
• Les certificats révoqué sont stockées dans une LCR
( Liste de Certificats Révoquées )
• Lorsque un certificat est révoqué, son numéro est
inséré dans une LCR.
• La mise à jour d’une LCR se fait périodiquement.

27
Recouvrement d’une clé privée

• Grâce à cette fonctionnalité, les clés privées


perdues peuvent être reconstituées.
• Cependant, pour des raisons de sécurité, on
n’autorise que le recouvrement de clés
correspondantes aux certificats de chiffrement.

28
Application des certificats

HTTPS

29
HTTPS
• Le HTTP ( HyperText Transfert Protocol) est le protocole le
plus utilisé sur Internet.

• C’est un protocole client/serveur utilisé pour transférer les


documents entre le serveur HTTP et le navigateur web.

• Avec HTTP les documents sont transmis sans être chiffrés en


plus on a pas la garantie qu’on accède au vrais serveur web .

• Pour améliorer la confidentialité, on utilise le protocole


HTTPS (HTTP over SSL) qui utilise les certificats.

30
HTTPS

• HTTPS authentifie le client et le serveur grâce au certificat


numérique.

• Il chiffre également la communication (garanties apportées


par SSL)

• Il est généralement utilisé pour les transactions financières en


ligne: commerce électronique, banque en ligne.

• Il est même utilisé lors d’une simple inscription à un site web


pour des raisons de confidentialité.
31
Authentification du serveur
• Comme première étape , le client demande au
serveur de lui envoyer le certificat .
• Le client procède à la vérification du certificat en
contactant l’autorité de certification qui a généré le
certificat du serveur .
• Si la vérification échoue alors le client avertis
l’utilisateur
• Si la vérification réussit alors le client envoie les
requet pour recupérer les page web

32
Authentification des client
• Le serveur lui aussi peut procéder à la
vérification de l’identité des clients
• Les clients doivent introduire leur certificat
• Le serveur vérifie la validité des certificats

33
Les certificats et openssl
Pour l’obtention d’un certificat , il faut générer une CSR (CSR :
Certificate Signing Request) et l’envoyer à une autorité de
certification ( il faut disposer déjà d’une clé publique et d’une
clé privée )

openssl req –new –key server.key –out server.csr

Pour la création d’un sertifcat à partir d’un CSR :


openssl req –x509 –key server.key –in server.csr –out
server.crt

Le fichier résultat doit être copié dans un endroit bien particulier


afin d’être utilisé par votre serveur web . 34

Vous aimerez peut-être aussi