Vous êtes sur la page 1sur 9

Introduction Introduction

Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Plan du cours

Gestion des clés publiques

• Introduction
École Nationale d’Ingénieurs de Tunis
• Certificats
2007 - 2008
• Le standard X.509
Mohamed Koubàa • Infrastructure de clés publiques
Département Technologies de l’Information et de la Communication
École Nationale d’Ingénieurs de Tunis
courriel: mohamed.koubaa@enit.rnu.tn

mohamed.koubaa@enit.rnu.tn CFS - ENIT 1 mohamed.koubaa@enit.rnu.tn CFS - ENIT 2

Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Plan du cours Introduction

• La cryptographie par clé publique permet :


◦ Une communication secrète entre deux interlocuteurs ne partageant
• Introduction pas une clé secrète
• Certificats ◦ La signature des messages sans l’intervention d’une tierce personne
(BB)
• Le standard X.509
• Les condensats de messages autorisent la vérification facile de
• Infrastructure de clés publiques
l’intégrité des messages reçus
• Si Alice et Bob ne se connaissent pas, comment vont-ils faire pour
se transmettre leur clés publiques afin d’entamer leurs échanges ?

mohamed.koubaa@enit.rnu.tn CFS - ENIT 3 mohamed.koubaa@enit.rnu.tn CFS - ENIT 4


Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Une première solution (1) Une première solution (2)


• Solution apparemment simple : Alice et Bob mettent leur clé
publique sur leur site Web
◦ Alice souhaitant avoir la clé publique de Bob, se connecte sur le site
Web de Bob
◦ Alice commence par taper l’URL du site Web de Bob grâce son
navigateur
◦ Le navigateur va chercher l’adresse IP correspondante et envoie une
requête GET
◦ Ève intercepte la requête et y répond en renvoyant une fausse page
d’accueil qui correspond à une copie fidèle de la page Web de Bob avec
la clé publique EE (clé publique d’Ève)
◦ Lorsqu’Alice chiffre son premier message elle le fait sans savoir avec la
clé d’Ève
◦ Ève décode le message, le lit, le rechiffre avec la clé publique de Bob et
le renvoie à son légitime destinataire
◦ Ève peut modifier le message qu’elle a intercepté avant de le renvoyer
• Nécessité d’un mécanisme complémentaire pour permettre un
échange de clés publiques sécurisé
mohamed.koubaa@enit.rnu.tn CFS - ENIT 5 mohamed.koubaa@enit.rnu.tn CFS - ENIT 6

Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Une deuxième solution Plan du cours

• Un centre de distribution des clés (ouvert 24h/24h) • Introduction


• Le centre distribue les clés publiques à qui les demande • Certificats
• La solution n’est pas envisageable à grande échelle : le centre • Le standard X.509
deviendrait un goulot d’étranglement
• Infrastructure de clés publiques
• Sécurité fortement compromise si le centre tombe en panne

mohamed.koubaa@enit.rnu.tn CFS - ENIT 7 mohamed.koubaa@enit.rnu.tn CFS - ENIT 8


Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Les certificats (1) Les certificats (2)

• Bob souhaite permettre à Alice et à d’autres personnes de


communiquer avec lui de façon sécurisée
• La distribution des clés publiques n’est plus centralisée
• Bob se déplace auprès de la CA, muni de sa clé publique et de sa
• Un organisme certificateur CA - Certification Authority carte d’identité et demande à être certifié
• La CA certifie que les clés publiques appartiennent bien à leurs • La CA délivre un certificat et signe son hachage SHA-1 avec sa clé
légitimes propriétaires (individus, entreprises, organisations, . . . ) privée
• La CA remet une disquette contenant le certificat et son hachage
signé à Bob qui s’acquitte une certaine redevance

mohamed.koubaa@enit.rnu.tn CFS - ENIT 9 mohamed.koubaa@enit.rnu.tn CFS - ENIT 10

Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Les certificats (3) Les certificats (4)

I hereby certify that the public key


19836A8B03030CF8373· · · • Un certificat sert à créer un lien entre une clé publique et le nom de
belongs to son détenteur (individu ou entreprise)
Robert John Smith
• Les certificats ne sont pas secrets et ne sont pas protégés
12345 University Avenue
Berkeley, CA 94702 ◦ Bob peut choisir de déposer son certificat sur sa page Web
Birthday : July 4, 1958 ◦ Un lien sur la page d’accueil renvoie à la fois le certificat et le bloc de
email : bob@superdupernet.com signature (le hachage signée par la CA ayant délivré le certificat)
SHA-1 hash of the above certificate signed with the CA’s private key

mohamed.koubaa@enit.rnu.tn CFS - ENIT 11 mohamed.koubaa@enit.rnu.tn CFS - ENIT 12


Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Les certificats (5) Les certificats (6)

• Ève peut modifier la page Web de Bob et substituer sa clé publique


à celle de Bob
• Ève peut placer son propre certificat et son bloc de signature sur sa ◦ Alice exécute l’algorithme SHA-1 sur le certificat ; Alice obtient un
fausse page Web hachage différent (la clé publique de la CA est connue par Alice)
◦ Alice lit le contenu du certificat et se rend compte que ce n’est pas le ◦ Ève ne peut en aucun cas de générer un bloc de signature identique
nom de Bob qui y figure étant donné qu’Ève ne connait pas la clé privée de la CA
• Il n’est pas nécessaire que la CA soit en ligne pour la vérification ⇒
éviter tout risque de goulot d’étranglement
mohamed.koubaa@enit.rnu.tn CFS - ENIT 13 mohamed.koubaa@enit.rnu.tn CFS - ENIT 14

Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Plan du cours X.509

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


• Introduction
• X.509 établit les formats standards de certificats électroniques
• Certificats
• X.509 a été créé en 1988 dans le cadre du standard X.500
• Le standard X.509
• Le format X.509 a connu trois versions successives (la version 3 (V3)
• Infrastructure de clés publiques
est retenue ici pour l’étude)

mohamed.koubaa@enit.rnu.tn CFS - ENIT 15 mohamed.koubaa@enit.rnu.tn CFS - ENIT 16


Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Structure d’un certificat X.509 (1) Structure d’un certificat X.509 (2)
• Version : indique à quelle version de X.509 correspond le certificat
• Serial number : numéro de série du certificat (propre à chaque
autorité de certification)
• Signature algorithm ID : identifiant du type de signature utilisée
(algorithme utilisé pour signer le certificat)
• Issuer name : DN - Distinguished Name de l’autorité de certification
qui a émis le certificat (nom X.500 de l’autorité de certification)
• Validity period : période de validité du certificat
• Subject name : DN du détenteur de la clé publique
• Subject public key info : informations sur la clé publique du certificat
• Issuer (Subject) unique ID : extensions optionnelles introduites avec
la version 2 de X.509
• Extensions : extensions génériques optionnelles introduites avec la
version 3 de X.509
• Signature : signature numérique de la CA sur l’ensemble des champs
mohamed.koubaa@enit.rnu.tn CFS - ENIT 17 mohamed.koubaa@enit.rnu.tn CFS - ENIT 18

Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Exemple de certificat (1) Exemple de certificat (2)


• Subject
• Version : 3 ◦ CN=*.enst.fr
• Serial number : 33 ◦ OU=SIAV
◦ O=Ecole Nationale Superieure des Telecommunications
• Certificate Signature Algorithm : MD5 With RSA Encryption
◦ C=FR
• Issuer
• Extensions
◦ E=certificat@enst.fr ◦ Certificate Basic Constraints
◦ CN=ENST CA  Not Critical
◦ OU=CA  Is not a Certificate Authority
◦ O=Ecole Nationale Superieure des Telecommunications ◦ Netscape Certificate Comment
◦ L=Paris  Not Critical
◦ ST=Paris  OpenSSL Generated Certificate
◦ C=FR ◦ Certificate Subject Key ID
• Validity  Size : 20 Bytes /160 Bits
 3d 6a 20 25 98 · · ·
◦ Not Before : 05/10/2007 13 :34 :35 GMT
◦ Certificate Authority Key Identifier
◦ Not After : 04/10/2009 13 :34 :35 GMT
 Size : 1 Byte /8 Bits
 00
mohamed.koubaa@enit.rnu.tn CFS - ENIT 19 mohamed.koubaa@enit.rnu.tn CFS - ENIT 20
Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Exemple de certificat (3) Plan du cours

• Certificate Signature Algorithm : MD5 With RSA Encryption • Introduction


• Certificate Signature Value • Certificats
◦ Size : 128 Bytes /1024 Bits • Le standard X.509
◦ a7 9E bd 69 22 ff · · · • Infrastructure de clés publiques

mohamed.koubaa@enit.rnu.tn CFS - ENIT 21 mohamed.koubaa@enit.rnu.tn CFS - ENIT 22

Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Infrastructure de clés publiques (1) Infrastructure de clés publiques (2)

• Une seule CA habilitée à délivrer les certificats pour le monde entier


serait vite étouffée sous le nombre des demandes (blocage du
système) • De quelle organisation doit relever la CA ?
• Solution : multiplier le nombre d’autorités de certification (toutes les • Il est difficile d’imaginer une autorité que tout le monde accepterait
autorités relèvent de la même organisation et utilisent la même clé de considérer comme étant légitime et fiable
privée pour signer les certificats) • Une façon différente de certifier les clés publiques a été mise en
• Problème : possibilité de fuite des clés (les risques de vol ou de fuite place sous le nom générique de PKI - Public Key Infrastructure
augmentent)
• La compromission de la clé privée ruinerait toute l’infrastructure de
sécurité du monde électronique

mohamed.koubaa@enit.rnu.tn CFS - ENIT 23 mohamed.koubaa@enit.rnu.tn CFS - ENIT 24


Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Infrastructure de clés publiques (3) Hiérarchie d’une PKI (1)

• Une PKI renferme :


◦ Les utilisateurs
◦ Les autorités de certification
◦ Les certificats
◦ Les annuaires
• Le rôle d’une PKI
◦ Fournir un moyen de structurer ses composants (utilisateurs, CA, . . . )
◦ Définir des standards pour différents documents et protocoles

mohamed.koubaa@enit.rnu.tn CFS - ENIT 25 mohamed.koubaa@enit.rnu.tn CFS - ENIT 26

Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Hiérarchie d’une PKI (2) Fonctionnement d’une PKI (1)

• La CA de plus haut niveau root (racine) certifie les CA du deuxième • Alice a besoin de la clé publique de Bob pour communiquer avec lui
niveau (RA - Regional Authorities)
• Alice trouve la clé publique de Bob sur un certificat signé par CA5
• Le domaine de compétences d’une RA peut recouvrir certaines
régions géographiques tel un pays ou un continent • Alice ignore tout de CA5 : Alice pourrait demander à cette entité la
preuve de sa légitimité
• L’appellation RA n’est pas standardisée (aucun terme n’a été
standardisé pour les différents niveaux de l’arborescence) • CA5 exhiberait le certificat qu’elle a obtenu de RA2 qui contient sa
clé publique
• Les RA certifient les CA qui délivrent les certificats aux individus et
aux organismes • Alice vérifie que le certificat de Bob a bien été signé par CA5 et qu’il
est donc parfaitement valide grâce à la clé publique de CA5
• Lorsque l’autorité suprême (root) certifie une nouvelle RA, elle
génère un certificat X.509 attestant qu’elle a approuvé l’autorité RA, • Alice pourrait également demander à RA2 de prouver sa légitimité,
y inclut la clé publique de la RA, signe le tout et l’envoie à la RA Alice recevrait alors le certificat signé par root et contenant la clé
publique de RA2
• Une RA procède de la même façon pour créer une nouvelle CA

mohamed.koubaa@enit.rnu.tn CFS - ENIT 27 mohamed.koubaa@enit.rnu.tn CFS - ENIT 28


Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Fonctionnement d’une PKI (2) Fonctionnement d’une PKI (3)

• Bob souhaitant simplifier la tache d’Alice pourrait lui collecter les


deux certificats nécessaires et les lui transmettre en même temps
que le sien • Qui dirige root ?
• Alice vérifie au moyen de la clé publique de root le certificat de plus • Éviter de recourir à une autorité mondiale unique
haut niveau puis grâce à la clé publique contenu dans ce dernier le • Plusieurs autorités de plus haut niveau (root), chacune chapeautant
second . . . ses propres RA et CA
• Alice n’aura besoin de contacter personne • Les navigateurs récents contiennent d’origine les clés publiques de
• Une chaı̂ne de certificats remontant jusqu’à root est appelée chaı̂ne plus d’une centaine de root (ancre de confiance - trust anchor)
de confiance (chain of trust) ou chemin de certification (certification
path)

mohamed.koubaa@enit.rnu.tn CFS - ENIT 29 mohamed.koubaa@enit.rnu.tn CFS - ENIT 30

Introduction Introduction
Certificats Certificats
Le standard X.509 Le standard X.509
Infrastructure de clés publiques Infrastructure de clés publiques

Les annuaires La révocation de certificat (1)

• L’émetteur d’un certificat peut choisir de révoquer celui-ci si son


• Où conserver les certificats (et la chaı̂ne remontante de leur ancre titulaire en a fait un usage abusif
de confiance ? ◦ Non acquittement d’une quelconque redevance
◦ La clé privée de son titulaire a été révélée ou compromise
• Une première solution : chacun conserve son certificat ◦ La PKI doit être en mesure d’effectuer la révocation
• Une deuxième solution :
• Diffusion périodique par les CA d’une CRL - Certificate Revocation
◦ Utiliser les DNS comme des annuaires de certificats List (numéros de série des certificats révoqués)
◦ Alice doit s’enquérir de l’adresse IP de Bob pour le contacter
◦ Le DNS renvoie l’adresse IP mais aussi toute la chaı̂ne des certificats • Un utilisateur devant utiliser un certificat doit commencer par
de Bob consulter la CRL
◦ Le certificat n’est pas dans la liste, mais il se peut qu’il a été révoqué
• Une troisième solution : des serveurs spécialistes de la gestion des
juste après la diffusion de la CRL
certificats X.509 ◦ Le seul moyen d’avoir la certitude est de poser la question à la CA
• Un certificat révoqué peut être rétabli

mohamed.koubaa@enit.rnu.tn CFS - ENIT 31 mohamed.koubaa@enit.rnu.tn CFS - ENIT 32


Introduction
Certificats
Le standard X.509
Infrastructure de clés publiques

La révocation de certificat (2)

• Où conserver les CRL ?


• Conserver les CRL au même endroit que les les certificats eux mêmes
• Les annuaires reçoivent régulièrement les CRL et suppriment les
certificats révoqués
• Mise en cache au niveau du réseau (une CRL est un document signé)

mohamed.koubaa@enit.rnu.tn CFS - ENIT 33