PKI, PGP et OpenSSL
Pierre-Louis Cayrel
Universit´ e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France
05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Licence professionnelle Administrateur de R´ eseaux et de Bases de Donn´ ees
IUT Limoges
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Sommaire
PKI
PGP
OpenSSL
Architectures PKI
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Motivations
I Comment r´ ecup´ erer et ˆ etre sˆ ur d’une cl´ e publique ?
I
En effet, Oscar peut se faire passer pour le destinataire !
I
Il faut un moyen de prouver la correspondance entre une cl´ e publique et une personne !
I Plus g´ en´ eralement : comment g´ erer des authentifiants dans un
environnement distribu´ e/r´ eseau ?
Principe g´ en´ eral
I PKI = Public Key Infrastructure
I Ensemble d’infrastructures permettant de r´ ealiser effectivement des
´
echanges s´ ecuris´ es.
I PKI ne distribue pas des cl´ es mais des certificats !
I
Un certificat contient une cl´ e publique
I
Il contient aussi des donn´ ees d’identit´ e
I
Pour une personne : ´ etat civil, adresse, mail...
I
Pour un serveur : nom de domaine, adresse IP, mail de l’administrateur etc...
I
Un certificat est valid´ e par un tiers de confiance
I
On parle d’autorit´ e de certification = CA I La PKI assure la gestion des certificats
I
cr´ eation/distribution...
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Cr´ eation d’un certificat
I Alice g´ en` ere ses cl´ es K e et K d
I
K
e: cl´ e publique
I
K
d: cl´ e priv´ ee
I Elle ´ emet une requˆ ete au CA pour un certificat de K e I CA valide la cl´ e, authentifie Alice et g´ en` ere un certificat
I
le certificat est sign´ e par le CA
I
Cette signature certifie l’origine du certificat & son int´ egrit´ e.
I Le certificat est publi´ e dans un annuaire publique
V´ erifier l’authenticit´ e du tiers de confiance
I Chaque CA poss` ede lui-mˆ eme un certificat
I
La cl´ e priv´ ee associ´ ee permet de signer les certificats ´ emis par le CA
I
Ce certificat est sign´ e par un autre CA etc...
⇒ Chaˆıne de certificat
I Le dernier certificat de la chaˆıne est sign´ e par lui-mˆ eme
I
On parle de certificat auto-sign´ e ou certificat racine
I Definition (PKI)
Ensemble de technologies, organisations, proc´ edure et pratiques qui supporte l’impl´ ementation et l’exploitation de certificats bas´ es sur la cryptographie ` a cl´ e publique.
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Normes PKI
I Il existe plusieurs normes pour les PKI
I
la plupart sont en cours d’´ evolution
I Deux types d’infrastructures : 1. architectures hi´ erarchiques
I
reposent sur diff´ erents CA, qui sont distincts des utilisateurs.
I
Ex : PKIX (Public Key Infrastructure X.509) 2. architectures non-hi´ erarchiques
I
chaque utilisateur est son propre CA
I
initialement con¸ cues pour la messagerie comme PGP et le P2P s´ ecuris´ es
I
confiance mutuelle entre les utilisateurs
I
Ex : SPKI (Simple Public Key Infrastructure, Spooky), SDSII (Simple
Distributed Security Infrastucture ou Sudsy)
Fonctions d’une PKI
I ´ emettre des certificats ` a des entit´ es pr´ ealablement authentifi´ ees ;
I r´ evoquer des certificats, les maintenir ;
I ´ etablir, publier et respecter des pratiques de certification pour ´ etablir un espace de confiance ;
I rendre les certificats publics par le biais de services d’annuaires ;
I ´ eventuellement, g´ erer les cl´ es et fournir des services d’archivage.
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Gestion des cl´ es
1. Gestion des clefs (Key management).
I
cr´ eation, distribution, stockage, utilisation
I
recouvrement, l’archivage et destruction
I
repose sur des r` egles ` a respecter imp´ erativement : 1.1 Les clefs secr` etes doivent l’ˆ etre et le rester
1.2 Les clefs secr` etes doivent exister seulement en clair ` a l’int´ erieur d’un module r´ esistant
1.3 Limiter le d´ eploiement des clefs 1.4 S´ eparer les clefs par utilisation 1.5 Synchroniser les clefs
1.6 Journal d’´ ev´ enements
2. Mise en commun des clefs (cf DH)
3. Transport des clefs
Acteurs d’une PKI
I D´ etenteur d’un certificat
I
entit´ e qui poss` ede une cl´ e priv´ ee
I
le certificat num´ erique contient la cl´ e publique associ´ ee.
I
plusieurs types de certificat : client, serveur, VPN etc...
I Utilisateur d’un certificat
I
r´ ecup` ere le certificat
I
utilise la cl´ e publique dans sa transaction avec le d´ etenteur.
I L’ Autorit´ e de Certification (CA 1 )
I
Ens. de ressources d´ efini par son nom et sa cl´ e publique qui :
I
g´ en` ere des certificats ;
I
´ emet et maintient les informations sur les CRL
2I
publie les certificats non encore expir´ es ;
I
maintient les archives des certificats expir´ es/r´ evoqu´ es.
I
Entit´ e juridique et morale d’une PKI
1
Certification Authority
2
Certification Revocation List
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Acteurs d’une PKI (2)
I Autorit´ e d’enregistrement (RA 3 )
I
Interm´ ediaire entre le d´ etenteur de la cl´ e et le CA.
I
V´ erifie les requˆ etes des utilisateurs
I
Transmet les requˆ etes au CA
I
niveau de v´ erification d´ epend de la politique de s´ ecurit´ e
I
Chaque CA a une liste de RA accr´ edit´ es.
I
Un RA est connu d’un CA par son nom et sa cl´ e publique.
I
CA v´ erifie les informations du RA par le biais de sa signature
I Emetteur de CRL
Acteurs d’une PKI (3)
I D´ epˆ ot ou Annuaire (Repository)
I
Distribue les certificats et les CRL.
I
Accepte les certificats et les CRL d’autres CA et les rend disponibles aux utilisateurs.
I
Connu par son adresse et son protocole d’acc` es.
I Archive
I
stockage sur le long terme des informations pour le compte d’un CA.
I
permet de r´ egler les litiges
I
en sachant quel certificat ´ etait valable ` a telle ´ epoque.
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Cr´ eation d’un certificat
PGP
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Philip Zimmermann
Pretty Good Privacy
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
PGP, un premier exemple de certificat
I Format de certificat PGP a ´ et´ e d´ efini par Philip Zimmermann.
I Contient les informations suivantes :
I
Num. de la version de PGP (identifie l’algo utilis´ e pour cr´ eer la clef)
I
la clef publique et l’algorithme associ´ e
I
RSA, DH (Diffie-Hellman) ou DSA (Digital Signature Algorithm).
I
la signature digitale du CA
I
identit´ e du porteur : nom, num´ ero ID, photographie, etc.
I
la p´ eriode de validit´ e du certificat
I
l’algorithme sym´ etrique (` a clef priv´ ee) pr´ ef´ er´ e.
I Particularit´ e : un certificat peut contenir plusieurs signatures.
I
plusieurs personnes ` a titre de CA peuvent certifier l’association
’clef/identification’
La forme standard d’un certificat
Fig.: www.selso.com
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Le certificat X.509
Fig.: laurent.flaum.free.fr
Les certificats X. 509 contiennent :
I Le num´ ero de version X. 509 : identifie la version du standard X. 509 s’appliquant ` a ce certificat, ce qui d´ etermine les informations ` a sp´ ecifier. La version 3 est la plus courante.
I La cl´ e publique du d´ etenteur du certificat : cl´ e publique du d´ etenteur du certificat associ´ ee ` a un identifiant d’algorithme sp´ ecifiant le syst` eme de cryptographie auquel appartient la cl´ e ainsi que tous les param` etres de cl´ e correspondants.
I Le num´ ero de s´ erie du certificat : l’entit´ e (application ou personne) ayant cr´ e´ e le certificat doit lui affecter un num´ ero de s´ erie unique permettant de le distinguer des autres certificats ´ emis. Ces informations sont utilis´ ees de diff´ erentes mani` eres. Par exemple, lorsqu’un certificat est r´ evoqu´ e, son num´ ero de s´ erie est plac´ e dans une liste des r´ evocations de certificats ou LRC.
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Les certificats X. 509 contiennent aussi :
I L’identifiant unique du d´ etenteur du certificat (ou nom explicite/
DN). Ce nom doit ˆ etre unique sur Internet. Un DN se compose de plusieurs sous-sections et peut avoir la structure suivante : NC = Robert Durand, UO = Service de s´ ecurit´ e r´ eseau, O = Network Associates, Inc., C = France
(Ces ´ el´ ements se r´ ef` erent au nom, ` a l’unit´ e organisationnelle, ` a l’organisme et au pays du sujet. )
I La p´ eriode de validit´ e du certificat : dates/ heures de d´ ebut et
d’expiration du certificat. Indique la date d’expiration du certificat.
Les certificats X. 509 contiennent aussi :
I Le nom unique de l’´ emetteur du certificat : nom unique de l’entit´ e ayant sign´ e le certificat. Il s’agit g´ en´ eralement d’une CA. L’utilisation du certificat implique que vous faites confiance ` a l’entit´ e ayant sign´ e le certificat. Notez que dans certains cas, tels que pour les certificats CA de haut ou bas niveau, l’´ emetteur signe son propre certificat.
I La signature num´ erique de l’´ emetteur : signature effectu´ ee avec la cl´ e priv´ ee de l’entit´ e ayant ´ emis le certificat.
I L’identifiant d’algorithme de signature : identifie l’algorithme utilis´ e par la CA pour signer le certificat.
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Le mod` ele PKIX
Fig.: ljk.imag.fr/membres/Jean-Guillaume.Dumas/
Authentification d’entit´ es ` a partir de certificats
I Fait l’objet d’une norme : FIPS-196
I Notations utilis´ ees dans FIPS-196 : A Nom qui identifie Alice B Nom qui identifie Bob
Signx (M ) La signature du message M avec la cl´ e priv´ ee de X Rx Un challenge al´ eatoire produit par X
CertX Le certificat de X
X .Y La concat´ enation de X et de Y
TokenID Identificateur de Token. Il pr´ ecise les informations identifiant le Token, le type de protocole... qui faciliteront le traitement du Token.
TokenXY Un token envoy´ e de X vers Y TokenXY i Le i-` eme token envoy´ e de X vers Y [Z ] Pr´ ecise que le champs Z est optionnel
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Authentification d’entit´ es ` a partir de certificats (2)
I Alice envoie ` a Bob une demande d’authentification
I Bob g´ en` ere R b et envoit ` a Alice :
TokenBA 1 = R b
I Alice g´ en` ere R a et envoit avec son certificat :
TokenAB = R a .R b .B.Sign a (R a .R b .B)
I Bob v´ erifie le certificat d’Alice.
I
il peut ensuite v´ erifier les informations de TokenAB
I
Apr` es v´ erification, Alice est authentifi´ ee aupr` es de Bob.
I Bob envoit avec son certificat :
TokenBA 2 = R b .R a .A.Sign b (R b .R a .A)
I Alice proc` ede de la mˆ eme mani` ere pour authentifier Bob.
Mod` ele de confiance PGP
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Mod` ele de confiance PGP
Fig.: www-id.imag.fr/svarrett/
OpenSSL
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
Application pratique : OpenSSL
Application pratique : OpenSSL
I Cr´ eation d’un r´ epertoire pour les certificats mkdir certificates; cd certificates
I Creation du certificat pour le CA :
I Utiliser le script CA.sh /usr/lib/ssl/misc/CA.sh − newca
I Cr´ eation du certificat serveur/personne :
openssl req − new − nodes − keyout newreq.pem − out newreq.pem − days 365
I Signature du certificat du serveur par le CA /usr/lib/ssl/misc/CA.sh − sign
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr
R´ esum´ e SSL
Qu’avez-vous pens´e de ce cours ?
Pierre-Louis Cayrel Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr