Académique Documents
Professionnel Documents
Culture Documents
&
Infrastructure de Gestion de
Clés
Contrôle d’accès
• Autorisations ou non d’accès à des objets
““crypter,
crypter, encrypter ”: pas de sens clair
encrypter”: clair..
JRES2001 – Tutoriel Certificats X509 et Infrastructure de Gestion de Clés 6
Un peu d’historique
L’histoire du chiffrement montre que ce qui est
réputé sûr un jour devient naïf.
L’augmentation de la puissance des machines
altère petit à petit la fiabilité des algorithmes de
chiffrement.
Les progrès théoriques peuvent brusquement
casser certaines technologies. Exemple : gain
récent d’un facteur 10 sur la complexité de la
réduction en facteurs premiers
1 0 1 0 1
1 1 0 1 1
0 1 1 1 0
1 1 0 1 1
0 0 0 0 0
0 0 0 0 0
1 1 0 1 1
0 1 1 1 0
0 0 0 0 0
Analyse statistique :
basée sur les propriétés des messages en clair
(exemple : le «e» représente 14.5 % des caractères
utilisés dans un texte en français).
Attaque de l’algorithme.
• Par exemple, pour les algorithmes qui génèrent une clef
secrète aléatoirement, il arrive que l’aléa ne soit pas parfait et
donc reproductible par l’attaquant.
TE Algorithme de chiffrement
TEX ir
la
en c
Alice
Internet
TE
TEX ir
la
en c Algorithme de déchiffrement
Bob
Clef de déchiffrement
E X TE Chiffrement asymétrique
T ir
cl a
en
Alice
Internet
E X TE
T ir
cl a
en Déchiffrement asymétrique
Bob
Clef privée de Bob
ρ ειντε ιντε
Ε µπ ρ ε
Clef aléatoire Chiffrement
Εµπ
asymétrique ❅■
✥✸ ✴✥ ❒
✴ ❁❉
❃●
❅■
TE Chiffrement ✸ ✴✥ ❒
TEX ir symétrique ✴ ✥
● ❁❉ Internet
la ❃
en c
Alice
Bob ρ ειντε
Clef aléatoire Déchiffrement
Ε µπ
asymétrique ❅■
✸ ✴✥ ❒
E X TE ✴ ✥
❁❉
T ir ❃ ●
cl a Déchiffrement symétrique
en
JRES2001 – Tutoriel Certificats X509 et Infrastructure de Gestion de Clés 27
Chiffrement: longueur des clefs (1/2)
Décrypter
• Déchiffrer sans posséder la clef de déchiffrement
• Nombreuses méthodes. Limite : rapidité des calculateurs
Plus la clef est longue (nombre de bits), plus il est
difficile de décrypter
• Avec un algorithme de chiffrement solide (bon
mathématiquement)
La puissance des machines augmente
• La taille des clefs utilisées doit augmenter
• La législation s’adapte :
Utilisation des produits de chiffrement en France :
Avant 1999 : libre pour des clefs jusqu’à 40 bits
Après 1999 : libre pour des clefs jusqu’à 128 bits
JRES2001 – Tutoriel Certificats X509 et Infrastructure de Gestion de Clés 28
Chiffrement: longueur des clefs (2/2)
ne pas confondre algorithmes à clefs secrètes (clefs
couramment entre 40 et 256 bits) et algorithmes à
clefs publiques (clefs couramment entre 512 et 2048
bits), pour lesquels la longueur de la clef n'est pas
comparable :
• pour les algorithmes à clefs secrètes, la référence est
l'attaque par force brute (moyenne 2 n-1n-1 essais pour retrouver
la clé)
• pour les algorithmes à clefs publiques, la robustesse est
basée sur la difficulté mathématique à résoudre le problème
sur lequel est basé l'algorithme (l'attaque par force brute n'a
guère de sens)
E X TE
in te T
Em pr e Fct de hachage
n clair
e
E X TE
inte T
Em pr e
n clair
Dé c
e
hiff
Bob re m
ent
égalité ?
Clef publique de
Alice
JRES2001 – Tutoriel Certificats X509 et Infrastructure de Gestion de Clés 31
Chiffrement à clefs asymétriques
Questions :
• la clé est -elle bien celle appartenant à la personne avec qui
est-elle
les échanges sont envisagés?
pour une application il assure que celle -ci n’a pas été
celle-ci
détournée de ses fonctions ;
pour un site il offre la garantie lors d’un accès vers celui -ci
celui-ci
que l’on est bien sur le site auquel on veut accéder.
Subject DN de l’entité
Ex : C=FR,O=CNRS,OU=UPS836,CN=Claude
C=FR,O=CNRS,OU=UPS836,CN=Claude Gross/Email=Claude.Gross@urec.cnrs.fr
Gross/Email=Claude.Gross@urec.cnrs.fr
• Informations diverses
Adresse de la CRL
…
JRES2001 – Tutoriel Certificats X509 et Infrastructure de Gestion de Clés 38
Fonction de
certification Fonction de Fonction de Fonction de
Fonction de
(signature de chiffrement de chiffrement de négociation de
signature
certificats / clé données clé
CRL).
Signature
digitalSignature
numérique x
Non
nonRepudiation
répudiation x
Chiffrement
keyEncipherment
de clé x
Chiffrement
dataEncipherment
de données x
Négociation
keyAgreement
de clés x
Clé de
keyCertSign signature de x
certificat
Signature de
cRLSign
CRL x
Chiffrement
encipherOnly
seul
Déchiffrement
decipherOnly
seul
Version: 3 (0x2)
Fct de hachage Empreinte 1
Serial Number: 114 (0x72)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=FR, O=CNRS, CN=CNRS
Validity
Not Before: Nov 6 09:43:01 2001 GMT non oui
Not After : Nov 6 09:43:01 2003 GMT Certificat Egalité ?
Certificat
Subject: C=FR, O=CNRS, OU=UREC,
CN=Alice/Email=alice@urec.cnrs.fr invalide valide
…
Signature
1b:2b:c0:3e:52:4d:14:43:… Déchiffrement Empreinte 2
AC
intermédiaire
AC1 AC2
AC1 AC2
AC
émettrice
Autorité
d’Enregistrement
Service de
Validation
Annuaire
Opérateur
de Certification
Service de
Séquestre
⇒ Utilisation dd’un
’un annuaire (LDAP)
Certificats (personnes, services, AC)
CRLs
4
Autorité
d’Enregistrement
Service de
Annuaire Validation
2 3
Opérateur
de Certification
Service de
Séquestre
IGC
Application 3
6
6
Autorité
d’Enregistrement
Service de
Validation
Annuaire
Opérateur
de Certification
Service de
Séquestre
IGC
Étude
Étude des
des moyens
moyens de de collecte
collecte des
des informations,
informations, de
de leur
leur validatio
validationn et
et de
de la
la
création
création des
des certificats.
certificats.
Définition
Définition de
de la
la durée
durée de
de vie
vie des clefs
clefs (privée,
(privée, publique
publique et/ou
et/ou de
de session),
session),
des
des certificats,
certificats, de
de la
la consolidation
consolidation de ceux -ci, de la gestion
ceux-ci, gestion des
des listes
listes de
de
révocations.
révocations.
Étude
Étude des
des moyens
moyens dede distribution
distribution des
des certificats
certificats via
via des
des communi cations
communications
sécurisées
sécurisées de
de type
type «« VPN
VPN »» ou
ou sur
sur un
un support
support style
style «« carte
carte de
de cr édit » avec
crédit
récupération
récupération en
en main
main propre
propre ou
ou par
par un
un agent
agent de
de sécurité
sécurité sur
sur site
site..
Définition
Définition des
des services
services nécessitant
nécessitant une
une haute
haute disponibilité
disponibilité (exemple :: gestion
(exemple gestion des
des
listes de révocation).
listes de révocation).
Prise
Prise en
en compte
compte de
de la
la nécessité
nécessité d’un
d’un recouvrement
recouvrement des
des clefs
clefs priv ées et
privées et de
de
l’interaction
l’interaction avec
avec l’autorité
l’autorité suprême
suprême et/ou
et/ou avec
avec d’autres
d’autres commun autés
communautés
(interopérabilité
(interopérabilité pour
pour certifications
certifications croisées).
croisées).
Étude
Étude du
du support
support matériel/logiciel
matériel/logiciel du
du certificat
certificat chez
chez l’utilisat eur en
l’utilisateur en tenant
tenant compte
compte de
de
la
la vétusté
vétusté des
des postes
postes de
de travail
travail et
et en
en prévoyant
prévoyant desdes évolutions
évolutions aisées.
aisées.
Prise
Prise en
en compte
compte de
de l’impact
l’impact sur
sur les
les structures
structures existantes
existantes :: phys iques et
physiques et
organisationnelles.
organisationnelles.
Définition
Définition de
de la
la formation/information
formation/information des
des acteurs.
acteurs.
⇒ RFC 2527
Chiffrement:
• Content -Type: xx-pkcs7-mime
Content-Type: -pkcs7-mime
From dupont@cru.fr
Subject: test
Content-type: multipart/signed
Content-type: text/plain
Content-transfert-encoding: base64
A934B163418C52D
A934B163418C52D6706714A58C3F11
85706714A58C706714A58C33749326
6706714A58C3F11
85706714A58C706
714A58C33749326
Content-Type: application/x-pkcs7-signature;
Content-Transfer-Encoding: base64
1234915642AC2461C268903261C
From: vip@gouv.fr
To: pizza@pizza.com
avion@arme.com
Date: Thu, 06 Dec 2000
Subject: pizza
porte 4avion
saisons
nucléaire
Content-type: text/plain
J’en veux deux, merci de me
Livrer rapidement.
Content-Type: application/x-pkcs7-signature;
1234915642AC2461C268903261C
To: dupont@
0134ABD14378561…
random
tagada
0134ABD14378561…
&&sign(&crypt($msg))
sign(&crypt($msg))
• On ne peut transmettre le message à un tiers sans
altérer la signature
Chiffrement
Pour les applications utilisant un mot de
passe.
Très utile dans le cas des annuaires LDAP
utilisé en référentiel unique d’authentification
: le mot de passe devient de plus en plus
critique.
Très utile pour les usages nomades à
travers des réseaux réputés non sûrs.
JRES2001 – Tutoriel Certificats X509 et Infrastructure de Gestion de Clés 77
Objectifs de SSL 2/3
Authentification du serveur
Le chiffrement à partir d’un certificat du serveur ; le
client peut exploiter ce certificat pour authentifier le
serveur.
Attention : l’authentification du serveur ne permet pas
de savoir si le serveur de la camif est :
• camif .fr
camif.fr
• camif .com
camif.com
• lacamif .fr
lacamif.fr
• camif .biz
camif.biz
HTTP
LDAP
IMAP
X509 POP
SSL
Communication
sécurisée
TCP
IP
LDAPS 636
POP3S 995
IMAPS 993
NNTPS 563
HTTPS 443
Client hello
Server Hello
Server Certificate
Server Hello Done
Client Certificate 0.2 à
0.4 KB
Change Cipher Spec
Finished
Change Cipher Spec
Finished
SSL handshake has read 13326 bytes and written 1603 bytes
New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA
Server public key is 1024 bit
etc
JRES2001 – Tutoriel Certificats X509 et Infrastructure de Gestion de Clés 95
Stunnel 1/3
SSL Tunneling Proxy
Licence GPL ((http://www.stunnel.org)
http://www.stunnel.org)
Multi -plateforme Unix, Windows
Multi-plateforme
Basé sur les librairies OpenSSL
Usage multiple en frontal, proxy
proxy,, localement ou
pour rediriger des flux vers une autre machine
Exemple POP3S, LDAPS, IMAPS
/usr/sbin/stunnel \
-c -d imap \ /usr/sbin/stunnel \
-r mailhost.cru.fr:imaps \ -d imaps \
-p client.pem \ -l /usr/sbin/imapd \
-A ca-bundle.pem -v level3 \
-a client-cert-dir \
-p mailhost.pem \
-A ca-bundle.pem
Listen 443
SSLengine on|off
SSLCertificateFile SSLCertificatekeyFile
SSLCACertificate (File|Path)
SSLCACertificate(File|Path)
• bundle par défaut
• make
SSLCertificateChainFile
SSLCARevocation (File|Path)
SSLCARevocation(File|Path)
SSLEngine on|off
SSLVerifyClient none| optional|require
none|optional|require
SSLVerifyDepth n
SSLOptions +|
+|-- <option>
• StdEnvVars : extraction des infos du certificat vers
des variables à usage des CGI
JRES2001 – Tutoriel Certificats X509 et Infrastructure de Gestion de Clés 117
HTTPD.conf
• FakebasicAuth : le DN est utilisé comme nom
d’usager dans le fichier d’authentification basique.
(le mot de passe est alors xxj31ZMTZzkVA). Cette
option doit associer avec Require valid -user,
valid-user,
AuthUserFile
AuthUserFile,, AuthName
• StrictRequire utile avec « satisfy any » si on veut
SSLRequire ou ((SSLRequireSLL
SSLRequireSLL et d’autres
conditions). Grâce à cette directive le « any » ne
concerne que les autres conditions
Standards
RFC 2459 - PKIX Certificate and CRL Profile : http://www.ietf.org/rfc/rfc2459.txt
RFC 2510 - PKIX Certificate Management Protocols : http://www.ietf.org/rfc/rfc2510.txt
RFC 2511 - PKIX Certificate Request Message Format : http://www.ietf.org/rfc/rfc2511.txt
RFC 2527 - Certificate Policy and Certification Practices Framework : http://www.ietf.org/rfc/rfc2527.txt
RFC 2560 - PKIX Online Certificate Status Protocol (OCSP) : http://www.ietf.org/rfc/rfc2560.txt
RFCs S/MIME V2 : http://www.ietf.org/rfc/rfc2311.txt
http://www.ietf.org/rfc/rfc2312.txt
http://www.ietf.org/rfc/rfc2313.txt
http://www.ietf.org/rfc/rfc2314.txt
RFCs S/MIME V3 : http://www.ietf.org/rfc/rfc2630.txt
http://www.ietf.org/rfc/rfc2631.txt
http://www.ietf.org/rfc/rfc2632.txt
http://www.ietf.org/rfc/rfc2633.txt
Produits
Openssl : http://www.openssl.org/
Modssl : http://www.modssl.org/
Stunnel : http://www.stunnel.org
Sendmail/TLS : http://www.sendmail.org/~ca/email/starttls.html
Postfix/TLS : http://www.hsc.fr/ressources/breves/postfix-tls.html
OpenCA : http://www.openca.org