Nicole Dausque
Nicole.Dausque@urec.cnrs.fr
09/05/2000
Public Key Infrastructure (PKI) que l’on peut traduire par Infrastructures à Clefs
Publiques (ICP) ou encore Infrastructures de Gestion de Clefs (IGC) : que se cache-t-il
derrière ces trois sigles ? L’article qui suit tente de lever le voile sur les différents éléments
sur lesquels s’appuient les IGC (c’est cet acronyme qui sera retenu tout au long de l’article). Mais cet
article ne se veut en aucun cas un exposé sur la législation actuelle, un cours sur la
cryptographie ou une étude comparative sur les organismes de certification ; les références
citées permettront d’obtenir des informations précises sur ces différents sujets. On pourra
également se reporter à l’article de Jean-Luc Archimbaud traitant des raisons qui ont conduit
l’UREC [REFurec] à la mise en service d’une plate-forme de test d’une autorité de
certification pour le CNRS (http://www.urec.cnrs.fr/securite/articles/CA.CNRS-Test.pdf).
Clef symétrique :
texte en
clair à texte en
envoyer Algorithme de Algorithme de clair
chiffrement Emission du texte déchiffrement retrouvé
brouillé
Clef asymétrique :
texte en
clair à texte en
Algorithme de Algorithme de clair
envoyer chiffrement déchiffrement
Emission du texte retrouvé
brouillé
Publication
de clefs
publiques
ð il n’y a pas partage d’un secret entre les protagonistes : la clef privée n’est connue
que de son propriétaire, la clef publique est accessible à tous mais il n’y a pas de technique
simple permettant de retrouver la clef privée à partir de la clef publique.
Actuellement dans l’utilisation courante, la clef peut s’apparenter à un mot de passe qui
ne circule pas sur le réseau. Au futur la carte magnétique style « vitale » et les équipements de
lecture adéquats se généralisant, ils seront le support des clefs.
Les algorithmes et les clefs sont utilisés pour produire la signature électronique et le
chiffrement de messages ou de données.
Mécanismes utilisés
En utilisant les bases exposées précédemment, les mécanismes de signature et de
chiffrement permettent d’assurer les fonctions : d’authentification, de scellement, de non-
répudiation, de confidentialité.
Signature :
La signature est une empreinte chiffrée que l’on ajoute au message. Il existe une relation
biunivoque entre l’objet signé et la signature qui l’accompagne. La fonction de hachage
utilisée pour réaliser ce scellement, est telle qu’il est impossible de reconstruire l’objet initial
à partir de son empreinte, et d’obtenir une empreinte équivalente pour deux objets
initialement différents :
Création de la signature :
hachage empreinte
Message à
algorithme à
émettre
clef
Clef privée asymétrique
émetteur
hachage empreinte
Message reçu
fonction de
vérification
empreinte
reçue
Signature valide
ou non valide
algorithme à
clef
Clef publique
asymétrique
émetteur
Chiffrement :
document
document brouillé
Déchiffrement :
algorithme à
document
Clef privée clef
récepteur asymétrique
Les extensions :
Message Signature1
Signature2 …
ü chiffrement et signature
Afin d’assurer la confidentialité d’un message signé, la fonction chiffrement est
alors appliquée, et ceci récursivement :
Message Signature1
chiffrement…
Les standards
L’évolution de l’utilisation de la cryptographie est également liée aux développements
de plusieurs standards (ou standards de fait…) :
ü PKCS « Public-Key Cryptography Standards » [REFpkcs, REFrfcs] est un ensemble
de standards pour la mise en place des IGC, coordonné par RSA [REFrsa.] ; ces
standards définissent les formats des éléments de cryptographie :
o PKCS#1 : RSA Cryptography Specifications Version 2 (RFC 2437)
o PKCS#2 : inclus dans PKCS#1
o PKCS#3 : Diffie-Hellman Key Agreement Standard Version 1.4
o PKCS#4 : inclus dans PKCS#1
o PKCS#5 : Password-Based Cryptography Standard Version 2
o PKCS#6 : Extended-Certificate Syntax Standard Version 1.5
o PKCS#7 : Cryptographic Message Syntax Standard Version 1.5 (RFC2315)
o PKCS#8 : Private-Key Information Syntax Standard Version 1.2
o PKCS#9 : Selected Attribute Types Version 2.0
o PKCS#10 : Certification Request Syntax Version 1.7 or Certificate Signing
Request (CSR) (RFC 2314)
o PKCS#11 : Cryptographic Token Interface Standard Version 2.10
o PKCS#12 : Personnal Information Exchange Syntax Standard Version 1.0
o PKCS#13 : Elliptic Curve Cryptography Standard Version 1.0
o PKCS#14 : Pseudorandom Number Generation Standard Version 1.0
o PKCS#15 : Cryptographic Token Information Format Standard Version 1.1
Gestion des
clefs APPLICATIONS
Annuaires
SERVEURS
Gestion des LDAP
certificats
CLIENTS
messagerie, www…
autorité de autorité de
certification certification
organisationnelle 1 Relations de confiance organisationnelle 2
Si interopérabilité
Relations
hiérarchiques
Il n’est pas obligatoire que les certificats émis par ces différentes entités soient
construits avec les mêmes informations.
L’autorité de certification s’appuie généralement sur deux autres entités qui travaillent
par délégations : l’Autorité d’Enregistrement et l’Opérateur de Certification. Cependant elle
garde la responsabilité des procédures et des principes de certification ; c’est elle qui fait
appliquer la politique de certification et elle est responsable pour ses utilisateurs du niveau de
confiance fourni par l’IGC.
L’autorité d’enregistrement assure le contrôle des données identifiant le demandeur de
certificat ; c’est elle qui authentifie une demande de révocation qui sera ensuite exécutée par
l’autorité de certification ; elle assure lors de la délivrance d’un nouveau certificat (sur date de
péremption atteinte) un recouvrement des certificats afin d’assurer la continuité pour la
fonctionnalité signature et/ou chiffrement ; elle travaille en étroite collaboration avec
l’opérateur de certification ; elle possède un bi-clef certifié pour s’authentifier auprès de
l’autorité de certification et pour accomplir les tâches qui lui incombent.
L’opérateur de certification réalise la distribution sécurisée des certificats ; il gère en
collaboration avec l’autorité d’enregistrement les cycles de vie des certificats ; en fonction de
la politique de certification ce peut être lui qui génère les bi-clefs pour le compte des
utilisateurs ; il possède un bi-clef certifié pour s’authentifier auprès de l’autorité de
certification et pour accomplir les tâches qui lui incombent.
Certificat
pour une
application
spécifique
AC : Autorité de certification
(responsabilité, reconnaissance
globale…)
Les principales fonctions réalisées par les IGC pour la gestion des certificats se
résument ainsi :
Ø enregistrement de demande et vérification des critères pour attribution d’un
certificat : l’identité du demandeur est vérifiée ainsi que le fait qu’il soit bien en possession de
la clef privée associée
Ø création des certificats
Ø diffusion des certificats entraînant publication des clefs publiques
Ø archivage des certificats pour assurer la sécurité et la pérennité
Ø renouvellement des certificats en fin de période de validité
Ø suspension de certificats : elle peut être utile si le propriétaire estime ne pas avoir
besoin temporairement de son certificat ; cependant cette fonction n’est pas aisée à mettre en
œuvre ; elle est essentiellement administrative et il n’existe pas de standard d’implémentation
Ø révocation de certificats : sur date de péremption, perte, vol ou compromission de
clefs
Ø création et publication (au sens gestion) des listes de révocation des certificats ; il y
aura révocation du certificat dans les cas suivants : date de fin de validité atteinte, clef privée
divulguée, perdue (donc impossibilité de lire les objets rendus confidentiels) ou compromise.
Il n’existe aucun protocole standard qui permette de faire la révocation automatiquement, on a
donc forcément recours à des moyens administratifs. Ceux-ci doivent être implantés avec un
maximum de sécurité (le demandeur de la révocation doit en particulier prouver qu’il est bien
le propriétaire de la clef publique ou privée devenue inutilisable). Les listes de révocation
doivent d’une part être protégées pour éviter toute corruption, d’autre part être accessibles en
permanence et le plus à jour possible (notion de temps réel). Pour un fonctionnement correct,
cette fonction nécessite une synchronisation des horloges de tous les acteurs concernés par les
listes de révocation.
Toute communauté peut créer sa propre IGC, dans ce cas une étude de faisabilité est
nécessaire en s’appuyant sur de nombreux critères.
Tous ces critères sont normalement pris en compte dans les offres commerciales
existant à ce jour, cependant celles-ci restent très orientées commerce électronique.
En conclusion
Dans l’article il n’est fait mention que d’un seul bi-clef utilisable pour toutes les
fonctions à réaliser. Cependant il s’avère que si l’on veut être plus rigoureux dans la gestion
des clefs, il sera nécessaire de différencier les bi-clefs en fonction de leur utilisation :
ü Pour le chiffrement, la perte ou la compromission ou toute autre indisponibilité de la
clef privée entraîne une indisponibilité de l’objet chiffré. Il est nécessaire de prévoir
des moyens de recouvrement de clefs afin d’assurer la récupération des objets chiffrés.
ü Pour la signature, la perte de la clef privée n’entraîne pas une indisponibilité de
l’objet qui a été signé, de plus il ne faut pas qu’une signature puisse être générée au
nom d’une autre personne ; il ne doit donc pas y avoir de recouvrement de la clef
privée pour un bi-clef de signature.
ü Pour échanger des clefs on peut être amené à les chiffrer à l’aide de bi-clefs
d’échange de clef afin de les protéger. Le recouvrement de ce bi-clef est nécessaire au
même titre que celui du bi-clef de chiffrement.
Nous avons donc vu que L’IGC intègre cryptographie à clef publique et certificat
numérique, elle peut s’apparenter à des tiers de confiance ou tiers de séquestre et doit recevoir
l’agrément du SCSSI [REFscss, REFigcs] pour avoir une portée nationale. On parlera alors
d’habilitation ou « labellisation » des IGC mais aussi des produits de chiffrement, si on veut
avoir une confiance réelle en ces produits. Le support des clefs et des certificats de
l’utilisateur final devra également être reconnu « de qualité » au sens sécurité pour une mise
en place de la reconnaissance de la signature électronique comme « droit à la preuve ».
Actuellement l’absence de standards pour l’implantation des listes de révocation est un
frein à l’utilisation aisée des certificats et à la mise en œuvre d’IGC ; le seul protocole
existant : OCSP « Online Certificate Status Protocol » (RFC2560) [REFrfcs] ne possède à ce
jour aucune implémentation.
L’obligation de remise « du clair » d’un document, aux autorités nationales soulève le
problème de la mise en place d’organismes « d’extrême confiance » gardant sous haute
protection un double des clefs privées. Cette nouvelle organisation nécessite de gérer dans le
temps les certificats.
L’évolution des IGC suivra donc la législation, ainsi lorsque la signature électronique
sera admise comme « droit à la preuve » dans tous les domaines, toute la chaîne menant à la
fabrication d’un certificat et tout le processus conduisant à signer devra être reconnu comme
« infaillible » ; se posera alors le problème de conservation de la signature prouvant la validité
d’un document pendant toute sa durée de vie ; il y aura nécessité de conserver une référence
« temps » au moment de la signature afin que la validation soit possible à tout moment. La
certificats
clefs et algorithmes
scellement, chiffrement, …
Plus d’informations
[REFurec] http://www.urec.cnrs.fr/securite/
[REFlegi] http://www.legifrance.gouv.fr/
[REFchif] http://www.scssi.gouv.fr/present/chiffre/liste.html
[REFjust] http://www.justice.gouv.fr/publicat/signelec.htm
[REFeuro] http://europa.eu.int/comm/internal_market/fr/media/sign/index.htm
[REFtech] http://www.cnam.fr/www2/cours/crypto/cryptographie.html
http://www.ens.fr/~wwwgrecc/Recherche/Crypto/
http://ballesta.inrialpes.fr/~riveill/cours/ensimag3-GL-
SI/cryptographie/cryptographie.html
[REFnist] http://csrc.nist.gov/pki/nist_crypto/welcome.html
[REFrfcs] http://www.ietf.org/rfc.html
http://www.pasteur.fr/infosci/RFC/
http://www-lor.int-evry.fr/~pascal/RFC/index.html
ftp://ftp.ietf.org/rfc/
[REFidea] http://www.egr.msu.edu/~qinyong/ece813/IDEA.htm
[REFblow] http://www.counterpane.com/blowfish.html
[REFaes.] http://csrc.nist.gov/encryption/aes/
[REFpkcs] http://www.rsasecurity.com/rsalabs/pkcs/
[REFrsa.] http://www.rsasecurity.com/rsalabs/
[REFipsk] http://www.ietf.org/html.charters/ipsec-charter.html
[REFipsc] http://www.hsc.fr/ressources/veille/ipsec/index.html.fr
[REFssl.] http://developer.netscape.com/tech/security/ssl/howitworks.html