SEPTIEME EDITION DU FESTIVAL INTERNATIONAL D'ETE D'INTERNET, 1 Du 24 au 27 Août 2006. EL Kantaoui, Sousse
Support du Cours :
Initiation aux 10 domaines fondamentaux de l’expertise en sécurité des systèmes d’Information, pour entamer la préparation aux
certifications Internationales CISSP et SSCP
Chapitre 3 : Crytographie
« Cryptography »
Agence Nationale de Sécurité Informatique
© ANSI, 2006, Toute reproduction et utilisations à but non commercial est autorisée et interdite pour celles à but commercial, sauf autorisation écrite de l’Agence Nationale de Sécurité Informatique
Chapitre 3 Cryptographie
« Cryptography »
© ANSI, 2006, Toute reproduction et utilisations à but non commercial est autorisée et interdite pour celles à but commercial, sauf autorisation écrite de l’Agence Nationale de Sécurité Informatique
Chapitre 3 Cryptographie
I- Mécanisme de base pour la Confidentialité : Le Chiffrement ………1
II- Mécanisme de base pour l’intégrité : Les fonctions de Hahage……… …..……..21
III- Mécanisme de base pour l’authenticité : La signature électronique ………25
IV- Mécanisme de base pour la Non-répudiation : l’Horodatage ………..…..30
V- Mécanisme d’échange de données cryptographiques : les protocoles cryptographiques ……….………36
VI- Mécanisme d’insertion d’attributs cryptographiques dans les applicatifs : les APIs cryptographiques ……….……….…42
VII- Authenticité des clés publiques : Les Certificats ……… …..…….47
VIII- Mécanisme de gestion des attributs cryptographiques : Infrastructures de PKI ……….……….…53 Laboratoire Ouvert (Port El Kantaoui, de 21h-01 Heures) :
- Présentation détaillée des protocoles IPSec et SSL
- Déploiement (configuration, administration) et utilisation d’outils open-source de chiffrement
Formateurs : Pr Nabil SAHLI, Mr Haythem EL MIR
4
Le but traditionnel de la cryptographie est d’élaborer des méthodes permettant
d’échanger des données de manière sécurisée . La cryptographie moderne s’attaque en fait plus généralement aux problèmes de sécurité des communications.
Le but est d’offrir un certain nombre de services de sécurité de base : Confidentialité, Intégrité et Authentification des données transmises, ainsi que l’authentification des tiers et la Non-répudiation..
Pour cela, on utilise des :
• Mécanismes de Chiffrement, pour la confidentialité
• Mécanismes de Hashage, pour l’intégrité
• Mécanismes de signature électronique, pour l’authentificicité
• Mécanismes de Notarisation, pour la non-répudiation
+ Des Protocoles cryptographiques, pour la gestion des échanges, inhérents au
déploiement de ces mécanismes et des Infrastructures (PKI), pour gérer les attributs de cryptographie
Nous allons passer enrevue dans ce cours la totalité de ces mécanismes.
I- Mécanisme de base pour la Confidentialité : Le
Chiffrement
6
Confidentialité et chiffrement
La confidentialité est historiquement le premier problème posé en sécurité Solution = Chiffrement des données.
Chiffrement et déchiffrement : le chiffrement est la transformation à l'aide d'une clé de chiffrement d'un message en clair en un message incompréhensible
Chiffre : algorithme utilisé pour le chiffrement Cryptogramme : message chiffré
- Décrypter : retrouver le message clair correspondant à un message chiffré sans posséder la clé de déchiffrement ou même retrouver la clé de déchiffrement
L’algorithme (chiffre) est Public
* connu de tous
* Seules les clés sont maintenues sécrétes, lors du chiffrement
Algorithmes de chiffrement
8
I- SYMETRIQUES 1 Clé SECRETE
Message Clair
S
NINQO
S
Message Clair
Le Chiffrement à clé symétrique
(principe)
Une seule clé pour chiffrer et déchiffrer: elle doit rester secrète.
I- SYMETRIQUES 1 Clé SECRETE
Message Clair
S
NINQO
S
Message Clair
Le Chiffrement à clé symétrique
-Principaux modes de chiffrement :
-Chiffrement en continu (stream cipher) – Agissent sur un bit à la fois.
– Implémentation simple.
Le plus courant utilisé actuellement : RC4 (longueur de clef variable, généralement 128 bits) Chiffrement par blocs (block cipher)
Opèrent sur le texte en clair par blocs (généralement, de 16 bits)
-Le plus courant utilisé actuellement:
-3DES : trois clefs distinctes (168 bits) ou seulement deux (112 bits) -AES (Rijndael, longueur de clé variable : 128, 192, 256)
- Autres :
-IDEA (128 bits)
- CAST-128 (128 bits)
- Blowfish (longueur de clé variable, jusqu'à 448 bits)
Le Chiffrement à clé symétrique
Avantages
* Rapide :
Æ adapté pour les chiffrement de gros volumes de données
Inconvénients
- Gestion des clés : Une clé par paire d’interlocuteur
Æ Le problème de la transmission dangereuse des clés
Les algorithmes Asymétriques (Chiffrement à clé publique) : Principe
Elle se base sur deux clés (« interliées à la géneration») :
Æ une clé publique, permettant le chiffrement Æ une clé privée, permettant le déchiffrement
–La clé publique est mise à la disposition de quiconque désire chiffrer un message. Ce dernier ne pourra être déchiffré qu'avec la clé privé, qui doit être confidentielle.
–Connaître la clef publique ne permet pas de retrouver la clef privée correspondante.
NINQO
Secrète Publique
Message Clair1 Message Clair1
P
>zKLàù
+ Authentification P
Publiée sans risque(Répertoires PUBLICS)
Le chiffrement est ainsi effectué par la clé publique (diffusée sans risque) et seul le détenteur de la clef privée peut déchiffrer
13
Algorithmes Asymétriques
Avantages :
* Gestion sécurisée des clés : adapté aux environnement anonymes :
- La clé publique peut être diffusée, sans risque, et utilisée pour chiffrer
- La clé secréte ne quite jamais son possesseur (le chiffreur) : Elimine le problème épineux de diffusion d’une clé secrète existante dans les algos symétriques
- Offre un pas d’authentification de l’émetteur (sans garantie de confidentialité)
Inconvénients
* Algorithmes très lents
* Authentification de la clé publique.
Algorithme asymétrique, le plus populaire :
RSA : Algorithme imaginé par Rivest, Shamir et Adleman (mathématiciens du MIT), en 1977
Fondé sur la difficulté de factoriser des grands nombres. La multiplication de deux grands nombres premiers est considérée comme une fonction à sens unique.
• Longueur de clés variables 1024, 2048 bits, ..
14
Algorithmes Hybrides et notion de Clefs de session
Les algorithmes asymétriques permettent de s'affranchir de problèmes liés à l'échange de clé via un canal sécurisé. Toutefois, ces derniers restent
beaucoup moins efficaces que les algorithmes symétriques. La notion de clé de session est un compromis entre le chiffrement symétrique et asymétrique permettant de combiner les deux techniques.
clefs de session
: Le principe de la clé de session est simple : il consiste àgénérer aléatoirement une clé de session et de chiffrer celle-ci à l'aide d'un algorithme de chiffrement à clef publique (plus exactement à l'aide de la clé publique du destinataire). Le destinataire est en mesure de déchiffrer la clé de session à l'aide de sa clé privée. Ainsi, expéditeur et destinataires seront en possession d'une clé (symétrique) commune et
secréte, qu’ils pourront utiliser pour chiffrer des données de masse, nécessitant une rapidité d’exécution.
15
Algos Symétriques : PLUSRapides
(~1000xAsym)
Algos ASYMETRIQUES
•PLUS PRATIQUES:
Conviennent à des Env MULTI-UT
« Anonymes » (Publication des clés)
S
Clé de session(aléatoire)
Utilisation d’ALGOS HYBRIDES(SYM+ASYM)
S
Message Clair
S
I N T E R N E T
*JQ
S
Message Clair
P
P S
S
16
Transport de clefs de session
déchiffrement avec la clé privée du
récepteur Extraction de la clé de session Chiffrement avec
la clé publique du récepteur
Clé générée aléatoirement
S
Clé de session
S S
Envoi de la clé de session
17
Sécurité des algorithmes, no tions
La sécurité des algorithmes repose sur :
• Leur robustesse face aux attaques = Qualité de
leur conception (Pour autant, on ne peut prouver la solidité d’un algorithme, que face aux attaques
connues)
Æ Il faut éviter d’utiliser des algorithmes, non publiés (et donc non testés)
• La puissance de calcul nécessaire pour les «
casser » (qui doit dépasse généralement l’energie disponible dans l’Univers)
Æ La taille des clés utilisables
18
F O R C E
SYSTEME
C R Y P T O G R A P H I Q U E
Q U A L I T E S C O N C E P T U E L L E S
•Failles fonctionnelles
(Algos+Protcoles Cryptographiques
•PAS DE PREUVE
FORMELLE ABSOLUE (PREUVES RELATIVESA Failles CONNUES et puissance de traitement)
•Attaques « Expertes » (chosen plaintext,known plaintext, ciphertext-only, Timing
•RETROUVER la CLE (SYM)
?
N bits
•Attaque (Non Experte) par Recherche EXHAUSTIVE
2
Nclés
// DERIVER CLE PRIVEE(ASYM)
RESISTANCE A LA CRYPTOANALYSE
EXPORT 40 bits
-DES 56 bits
-IDEA,CAST 128 bits
Efficacité -AES(2001)
256 bits
Taille-clé Skipjack
160bits
SOL(Taille clé): Chiffrement Multiple
DES(56bits) DES(56bits) DES(56bits)
:3x56= 168 bits (ou 112)
3DES
Algos Non Publiés •RESTRICTIONS DE TAILLE à l ’EXPORT(US)
==> Assurer l ’ AUTONOMIE (Rech/Dev ) QUALITE DE L ’ IMPLEMENTATION FAITE
+
19
Q U A L I T E D E L
’ I M P L E M E N T A T I O N
F O R C E
SYSTEME
C R Y P T O G R A P H I Q U E
• Génération des clés Pass-phrase
Générateur de Nombres Purement
aléatoires
-DISRIBUTION et AUTHENTIFICATION DES Clés PUBLIQUES:
•? Compression des données(Avant)
CONFIDENTIALITE C H I F F R E M E N T
•GESTION DES CLES :
• Détails d ’Implémentation :
•Mode de Chiffrement (ECB, CBC,CFB, OFB) . . .
-Modes d ‘ Utilisation et de Stockage par le Logiciel-Client
==
20
Taille de clefs
Plus la taille de la clé est grande et plus il sera difficile à un attaquant qui cherche à retrouver la clé:
• Clés secrètes : Recherche des combinaisons possibles (2n combinaisons à rechercher, pour une taille de n bits)
• Clés RSA : Recherche de factorisation de nombres premiers
21
II- Mécanismes d’ Intégrité
22
Intégrité : Fonctions de hachage
Une fonction de hashage (dite fonction à sens unique) transforme une chaîne de longueur quelconque en une chaîne de taille (inférieure)fixe = empreinte
A sens unique :
- Facile à calculer mais difficile à inverser
Î Et Impossible de trouver deux messages ayant la même empreinte
Intégrité des données : detecter si des données ont été modifiés, lors de leur transit, depuis le producteur
Æ Basée sur l’utilisation des fonctions de hachage.
Message De taille Quelconque
Empreinte De taille FIXE
X
HASH
23
C O N T R O L E D’
I N T E G R I T E
FONCTIONS DE HASHAGE
MESSAGE FONCTION DE SCELLE
HASHAGE
FONCTION DE HASHAGE
IMPOSSIBLE
SCELLE
MESSAGE
+
MESSAGE INTEGRE
SI IDENTIQUES
MODIFICATION
UN BIT IMPOSSIBLE
MD5, SHA-1, SHA-2
24
Exemples de fonctions de hachage
MD5 est une fonction de hachage développée par Rivest en 1991 et constitue en fait la 5ème version de l’algorithme (Message Digest).
Æ Manipule des blocs de 512 bits.
Æ Génère une empreinte de 128 bits.
MD5 fait l'objet de la RFC 1321
Secure Hash Algorithme version 2 (il y a une version 1) développé conjointement par la NSA et le NIST.
Æ travaille sur des blocs de 512 bits Æ produit des empreintes de 160 bits.
SHA est basé sur MD4 et est réputé plus sûr que MD5.
25
III- Authenticité des données
26
Mécanisme d’Authenticité : Signature électronique
• Par analogie avec la signature manuscrite d'un
document papier : La signature électronique est un mécanisme permettant d‘authentifier l'auteur d'un
document électronique et de garantir son intégrité.
• Un mécanisme de signature numérique doit présenter les propriétés suivantes :
– permettre au lecteur d'un document d‘authentifier la personne ou l'organisme qui a apposé sa signature.
– garantir que le document n'a pas été altéré entre l'instant où l'auteur l'a signé et le moment où le destinataire le consulte.
La norme ISO 7498-2 définit la signature numérique comme des “données ajoutées à une unité de données, ou transformation cryptographique d’une unité de données, permettant à un destinataire de prouver la source et l’intégrité de l’unité de données et protégeant contre la contrefaçon (par le destinataire, implique que seul l’expéditeur doit être capable de générer la signature).
27
SIGNATURE ELECTRONIQUE
MESSAGE FONCTION DE
HASHAGE SCELLE SIGNATURE
Chiffrement ASYM S
Clé Privée
+
SIGNATUREMESSAGE
+ P
CA
CERTIFICATs Algos ASYM : DSA, DH, RSA
Chiffrement Hybride
28
Signature électronique
Génération
1- La fonction de hachage est utilisée pour créer une empreinte unique.
2- La clef privée est utilisée pour le chiffrement de cette empreinte (seul son détenteur peut chiffrer, mais tout le monde peut déchiffrer: donc en fait vérifier la "signature"), grâce à la cryptographie asymétrique.
Empreinte Signature
Chiffrement avec la clé privée de
l’émetteur Hachage avec une
fonction bien définie Texte
en clair 1000100
29
Signature électronique
Vérification
Empreinte
Signature
Déchiffrement avec la clé publique de l’émetteur
Hachage avec la même fonction
Texte en clair
Empreinte 2
Si égales ÆMessage authentifié et Intégre
Sinon il y a une incohérence
IV- NON REPUDIATION:
Horodatage
31
Horodatage
Horodatage (aussi appellé contremarque de temps ) = signature électronique datée Æ Lors de la signature d'un document, on complète cette signature de
la date de signature
Æ Il faut que le format du document n’ait pas un contenu dynamique ( comme Word, PDF), mais de confiance (XML, …)
. La durée de vie de la preuve dépasse celle du certificat , utilisé pour la signature Æ Conservation de la liste de certificats révoqués ou périmés.
Intérêt :
- Eviter la répudiation, car l’absence de preuve de date peut provoquer des conflits (j’avais perdu ma clé privée , ….)
- Usage pour l’archivage électronique
32
4- N O N R E P U D I A T I O N
SIGNATURE DIGITALE et Notaires Electroniques
MESSAGE FONCTION DE HASHAGE
SCELLE
Chiffrement S
HORDOTAGE + Autres Infos (selon Notaire)
SIGNATURE
NOTAIRE
SIGNATURE SIGNATURE
MESSAGE
+
RECEPTEUR
INTERNET
P
SET
MESSAGE
33
Etablissement de la preuve :
•Peut être établie par une convention entre les parties
•Peut être établie par un tiers spécialisé dans ce service (majorité des cas ) Æ Lors de la signature du document, le service ajoute une contremarque de Temps
Exemple de tiers de service d’horodatage européens : Kotio (www.kotio.com)
ATOS-Origin (www.mediacert.com) Certplus (www.certplus.com)
Certeurope (www.certeurope.fr) Certipost (www.certipost.be) Infocamere (www.infocamere.it) La Poste (www.laposte.fr)
34
Autorité de Gestion de Preuves
Vérificateur
Autorité de gestion des preuves
Service de vérification
Service de fourniture Service de
génération Service
d’enregistrement des déposants
Service de constitution de maintien et de restitution
Opérateur d’archive Opérateur d’horodatage Politique
de
gestion
35
Processus d'horodatage
Utilisateur A
Utilisateur B
Prestataire de services de confiance Envoie le
message vers B
Autorité d’horodatage
Produit un condensât et le signe
Horodatage simple
Archivage des condensâts
Condensât signé et horodaté Le message
aurait pu être signé selon la procédure de l’émission
+
36
V- PROTOCOLES
CRYPTOGRAPHIQUES
37
PROTOCOLES CRYPTOGRAPHIQUES
Rôle des protocoles cryptographiques : Implémenter des échanges entre entités qui ne se connaissent pas (ou/et qui ne se font pas confiance).
But : Permettre de mettre en œuvre des mécanismes de confidentialité et d’intégrité entre interlocuteurs anonymes, en veillant à empêcher
l’espionnage et la tricherie.
les tâches sont ainsi reliées à la cryptographie: échange de clef de chiffrement, authentification des interlocuteurs...
Exemple : Protocoles d’échange de clefs et d’authentification mutuelle
Æ
Permet l'échange de clefs sécurisé (authentifié) entre usagers annonymes.38
Exemple de protocole cryptographique d’échange de clefs : Diffie-Hellman
Inventé en 1976 par Diffie et Hellman,
Æ Ce protocole permet à deux tiers de générer un secret partagé sans avoir aucune information préalable l’un sur l’autre.
Æ Basé sur la cryptologie à clef publique
Æ Solidité et Sécurité : basée sur la difficulté de calculer des logarithmes discrets sur un corps fini.
Le secret (clé) généré à l’aide de cet algorithme peut
ensuite être utilisé pour dériver une ou plusieurs clefs
(clef secrète, clef de chiffrement de clefs...).
39
Diffie-Hellman : principe
Utilisateur 1:
Mongi
Utilisateur 2 : Selima
Mongi choisit un grand nombre aléatoire a (valeur privée)
Selima choisit un grand nombre aléatoire b (valeur privée)
Mongi calcule
(valeur publique)
Selima calcule (valeur publique) Échange des valeurs publiques
Mongi calcule (secret partagé)
Selima calcule (secret partagé)
40
Diffie-Hellman : principe
Exemple de déroulement de l’algorithme :
1. Mongi et Selima se mettent d’accord sur un grand entier n
tel que (n-1)/2 soit premier et sur un entier g primitif par rapport à n. Ces deux entiers sont publics.
2. Selima choisit de manière aléatoire un grand nombre entier a, qu’elle garde secret,
et calcule sa valeur publique, A = ga mod n.
Mongi fait de même et génère b et B = gb mod n.
3. Selima envoie A à Mongi ; Mongi envoie B à Mongia.
4. Selima calcule KAB = Ba mod n ; Mongi calcule KBA = Ab mod n.
KAB = KBA = gab mod n est le secret partagé par Selima et Mongi.
Une personne qui écoute la communication connaît g, n, A=ga mod n et B=gb mod n, ce qui ne lui permet pas de calculer gab mod n : il lui faudrait pour cela calculer le logarithme de A ou B pour retrouver a ou b.
41
Rien n’est démuni de Failles et d’évolutions conséquentes !
Diffie-Hellman
Faille Sensible à l'attaque par simularque
d’interposition (Man-In-the Middle attack) : L'attaquant envoie sa valeur publique à la
place de Mongia et de Mongi et partage ainsi un secret avec chaque tiers.
Solution: authentifier les valeurs publiques, le
protocole résultant s'appelle Diffie-Hellman
authentifié.
VI-La Cryptographie dans les applications
APIs Crytographiques
43
APIs Cryptographies
Les API (Interface du Programme de l'Application) Cryptographique (CryptoAPI) permettent d’intégrer des fonctions
cryptographiques dans n’importe quelle application (même vétuste), sans être obligés de gérer les mécanismes
cryptographiques : Elle offrent
– Fonctions de la Génération de la clef : Ces fonctions permettent aux applications de produire et personnaliser des clefs
cryptographiques. Le support plein est inclus dans les modes du chaînage changeants, les vecteurs de l'initialisation, et les autres traits de l'encryptage.
– Fonctions d'Échange de clés .
– Fonctions de chiffrement de Données (Le support est aussi inclus pour crypter et hacher simultanément ces données.
– Fonctions de Signature électronique de données (+ d’autres fonctions, selon la crypto API)
44
Exemple API Crytographiques open-source
• GSS-API
• GPGME
• Libgcrypt
• Libcrypto
• LibTomCrypt
• Cryptlib
• Libgcrypt
• Crypto++
45
C-API Algorithmes utilises
GSS API Hashes : MD5
Clé Publique: DH, RSA
Clé privé: AES, DES, Blowfish, CAST5, Twofish, Arcfour
GPGME Hashes : MD2,MD5
libgcrypt Clé publique : SHA , RSA
Clé privé: Blowfish, CAST5, Twofish, Arcfour Libcrypto Clé Publique : RSA, DH, DSA
Clé privé: AES, DES, Blowfish LibTomCrypt Hashes : MD5, SHA
Clé privé : AES, blowfish, cast-128, cast-256, des, 3des
Clé publique : dh, dsa, elgmal, Eliptic curve, luc, lucelg, lucdif, rabin, rabin-williams Cryptlib Hashes: md2, md4, md5, mdc2, sha
Clé Publique : RSA, DH, DSA,
Clé privé: AES, DES, 3DES (EDE), Blowfish, CAST-128, IDEA, Safer-SK, RC2, RC4, RC5 Libgcrypt Hashes: MD5, RIPE-MD160, SHA-1, TIGER-192, MACs
Clé privé: AES, DES, Blowfish, CAST5, Twofish, Arcfour Clé public : RSA, El Gamal, DSA
Crypto++ Hashes: crc md2 md5 haval ripe-md160 Tiger sha sha-2 panama
Clé privé : AES, blowfish, cast-128, cast-256, des, 3des, diamond2, gost, idea, lubyrack, Mars, panama, arc4, rc5,rc6, safer, sapphire, seal, serpent, shark, square, tea, twofish, wake Clé publique : dh, dsa, elgmal, Eliptic curve, luc, lucelg, lucdif, rabin, rabin-williams,
blumgoldwassr, rsa
Also support for PKCS1, OAEP, PSSR padding
46
Les Certificats
47
Rôle et Principe du certificat
PROBLEME DES ALGORITHMES ASYMETRIQUES :
QUI PROUVE QU’UNE CLE PUBLIQUE EST BIEN CELLE DE LA PERSONNE QUI LE PRETEND
Quelqu’un pourrait publier une fausse clé publique, prétendant qu’il s’agit de la votre Et ainsi :
Î Si tes interlocuteurs utilisaient cette clé
Alors L’Intrus pourra déchiffrer tous les messages qui te seront evoyés et pourra signer des documents en ton nom
SOLUTION : UTTILISATION DE CERTIFICATS :
• Permet de lier une clef publique à une personne (et d’autres éléments), au moyen de la signature d'une autorité de confiance :
- Nom du propriétaire de la clef - Dates de validité
- Type d'utilisation autorisée - …
48
Propriétés d’un certificat
• Émis par une autorité de certification (Certificate Authority – CA).
• Garantit l'exactitude des données.
• Certificats vérifiables au moyen de la clef publique de la CA.
• Listes de révocation (Certificate
Revocation List – CRL) permettent de révoquer des certificats , en cas de
compromission de la clé privée.
49
Catégories de certificats
• Le certificat client, stocké sur le poste de travail de l'utilisateur ou embarqué dans un « conteneur » ( carte à puce, mémoire disque sécurisée, ..)
Æpermet d'identifier un utilisateur (carte d'identité numérique )et de lui associer des droits.
Dans la plupart des scénarios il est transmis au serveur lors d'une connexion, qui lui affectera des droits d’accès en fonction de l'accréditation de l'utilisateur.
• Les certificats serveur, installés sur un serveur (web, ..)
Æ
permet d'assurer le lien entre le service et le propriétaire duservice. Dans le cas d'un site web, il permet de garantir que l‘URL et en particulier le domaine de la page web appartiennent bien à telle entreprise. Par ailleurs il permet de sécuriser les transactions
(chiffrer, authentifier) avec les utilisateurs grâce au protocole SSL.
50
Processus d’émission et vérification des certificats
Autorité de certification Autorité
d’enregistrement
Client désirant obtenir un certificat
Répertoire public
Clé publique et preuve d'identité
Demande de certificat
Émission de certificat
Publication et révocation de certificats
Client désirant vérifier l’identité
Récupération du certificat client
Vérification du certificat
Récupération
du certificat racine
51
Les certificats X.509
52
Les certificats X.509
• Version : Indique à quelle version de X.509 correspond ce 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.
• Issuer Name : Distinguished Name (DN) de l'autorité de certification qui a émis ce certificat.
• Validity period : Période de validité.
• Subject Name : Distinguished Name (DN) du détenteur de la clef publique.
• Subject public key info : Infos sur la clef publique de ce certificat.
• Issuer Unique ID / 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 précédents.
53
Exemple d’usage des Certificats : Protocole SSL (Normalisé par l’IETF sous la description TLS )
- Largement utilisé pour sécuriser des transactions sur Internet (commerce électronique, ..),
Peu d’effort de mise en œuvre (s’insère « naturellement », sans modifier les services classiques internet) :
UTILISATIONS Courantes : Authentification sous HTTP (protocole du Web) via une URL spéciale ( HTTPS::// xxx.yyy.com ) et un port spécial (443 au lieu de 80)
+ authentification de l’Utilisateur :
Le serveur peut transmettre au client un challenge ( chiffré avec la clé de session ) et une requête d’authentification (du client). Le client répond par l’envoi du challenge chiffré avec sa propre clé secrète. Le serveur peut vérifier (en contactant une Autorité de Certification sur Internet) et la possession par le client de la clé secrète
-Authentification de serveurs (Web, ..)
-Version largement diffusée : V2
- Nouvelle version, plus fiable : V3 ( possibilité de négocier une authentification en cours d’échange )
54
VIII - Gestion des Certificats au sein d’une entreprise :
Infrastructure de gestion des données crytographiques ( clefs publiques):
PKI (Public Key Infrastructure)
55
Infrastructure à clefs publiques PKI
- Nécessité de pouvoir gérer des listes importantes de clefs publiques, pour des entités réparties dans un réseau
(Intranet/Extranet).
- Solution : Instaurer des infrastructures à clefs publiques (Public Key Infrastructure, PKI ): systèmes de gestion des clefs publiques prévus pour une utilisation à grande
échelle.
Remarque : La plupart de ces systèmes utilisent des certificats, mais ce n'est pas une obligation (DNSSEC, qui permet de distribuer des clefs publiques de façon authentifiée, peut être utilisé pour mettre en œuvre une PKI).
56
• PKI : infrastructure =ensemble d'éléments, protocoles et services
• Rôle:
– Enregistrement et émission des clefs publiques (Certificats)
– Stockage et distribution,
– Révocation et vérification de statut des clés
– Sauvegardes et récupération.
57
Composants d'une PKI
• Autorités d'enregistrement : Registration Authority – RA (et Local Registration
Authorities – LRAs)
• Autorité de certification (Certificate Authority - CA)
• Émetteur de certificats
• Émetteur de listes de révocations
• Annuaire : publication des clés publiques
• Service de validation en ligne des clés
publiques.
58
Répertoire Public
==
Processus de dépôt de Certificat
59
Déploiement d’une PKI
Côté serveur(s)
• Générationdu certificat serveur
• Configuration de la clé secréte (répertoires protégés, ..)
Certificats clients
• Génération du certificat serveur
• Installation du certificat de la CA
• Installation du certificat du client
On peut choisir d'utiliser la même autorité de certification (crée localement) pour le serveur et les clients - OU d'avoir recours à deux autorités différentes.
Distribution des clefs publiques
Instaurer un annuaire des clefs publiques (LDAP, voir chapitre 7).
- Problèmes Importants, à considérer lors du déploiement : – Distribuer les clefs (privées) de manière sécurisée.
– Stocker les clefs privées de façon TRES sûre (Split des clés, coofres-forts, …).
60
CA National : ANCE
• Autorité de certification racine (plus haut
niveau de confiance)
• Accréditation des FSCs (Fournisseurs de Services de Certification)
• Audit des activitésdes FSCs
(et retrait de leur homologation, en cas de manquement aux obligationsréglementaires) .
61
L'Agence Nationale de Certification Électronique (ANCE)
• créée par la loi n°2000-83 du 9 Août 2000
Missions de l'ANCE
• L'octroi de l'autorisation d'exercice de l'activité de Fournisseur de Services de Certification Electronique (FSCE) sur tout le territoire de la République Tunisienne.
• Le contrôle du respect par le FSCE des dispositions de la loi et de ses textes d'application.
• La définition des caractéristiques du dispositif de création et de vérification de la signature.
• La conclusion des conventions de reconnaissance mutuelle avec les parties étrangères.
• La génération, la révocation et la conservation des certificats électroniques relatifs aux agents publics habilités à effectuer les échanges électroniques.
• L'homologation des moyens de cryptage utilisés pour crypter les échanges à travers les réseaux des télécommunications.
• La participation aux activités de recherche, de formation et d'étude afférentes aux échanges et au commerce électroniques
62
Exemple d’usage de certificat pour un serveur Web
« par l’image »
(pour vous mettre en appétit pour les TPs à base d’outils open-source seront réalisés ce
soir, à partir de 21 h, sur le port El Kantaoui)
63
Objet du TP sur la PKI
Contrôle d’accès à un serveur web par le biais de certificats, la solution et ses composants: serveur web à accès
sécurisé via SSLv3.
• SSL :
– Authentification du serveur via un certificat – Authentification des clients via un certificat – Chiffrement des échanges
• Composants :
– Apache (www.apache.org) : serveur web – mod_ssl (www.modssl.org) :
• module SSL pour Apache
• Bonne documentation sur les certificats et SSL – OpenSSL (www.openssl.org) :
• bibliothèque de fonctions cryptographiques utilisée par mod_ssl
• commandes en ligne permettant de mettre en œuvre une autorité de certification.
64
Installation du certificat de la CA (dans Internet Explorer, pour windows)
Le certificat de la CA doit être installé (publié) par
tous les intervenants.
65
Création du Certificat d‘un serveur Web
1- Créer la paire de clés du serveur web (privée/publique)
2- Signer le certificat du serveur web par l’autorité de certification
3- Copier le certificat signé dans la machine
hôte du serveur web
66
Installation du Certificat d‘un serveur
Æ installer le certificat du serveur web dans
chacun des répertoires protégés
67
Configuration du serveur
Après l’application des nouveaux paramètres
le serveur web requiert l’authentification des
clients qui se connectent
68
Installation du certificat du client
dans le Browser (IE)
69
Vérification de l’identité (certificat)
du client dans IE
70
Révocation d'un certificat
Résultat de la révocation d’un certificat ce
dernier n’est plus valide
71
Livres
- RSA Laboratories, Frequently Asked Questions About Today’s Cryptography - Version 4.1, 2000:
http://www.rsasecurity.com/rsalabs/faq/
- Cryptographie appliquée / Applied Cryptography
Schneier Bruce, Cryptographie appliquée - Algorithmes,
protocoles et codes source en C - 2ème édition, International Thomson Publishing France, 1997.
-Handbook of Applied Cryptography
Menezes Alfred J., van Oorschot Paul C., Vanstone Scott A.,
Handbook of Applied Cryptography, CRC Press LLC, Fourth
Printing, July 1999 : http://cacr.math.uwaterloo.ca/hac/
72
Sites
Cours et logiciels en téléchargement
http://cryptologie.free.fr/
FAQ sur la longueur des clefs
http://groups.google.fr/groups?selm=1e2h18u.1 gbwu8m1sl6insN%25lauper1%40club-
internet.fr
La FAQ de sci.crypt en français
http://michel.arboi.free.fr/cryptFAQ/
Forum Usenet
news:fr.misc.cryptologie
http://fr.wikipedia.org/wiki/Cryptologie
http://www.bibmath.net/crypto/index.php3
73
Objet du Cours/TP de ce soir
Objet :
- Présentation des normes IPSec, SSL
Déploiement (Installation, configuration, administration)
et
Utilisation d’outils Open-source :
– Outil de VPN : IPSec, SSL
– Outil de Chiffrement sur disque
– Infrastructure de PKI
74
© ANSI, 2006, Toute reproduction et utilisations à but non commercial est autorisée et interdite pour celles à but commercial, sauf autorisation écrite de l’Agence Nationale de Sécurité Informatique
Agence Nationale de Sécurité Informatique