Introduction à la cryptographie
description
Transcript of Introduction à la cryptographie
28/11/2002 Ciefa Poly-informatique
Introduction à la cryptographie
28/11/2002 Ciefa Poly-informatique
Plan du cours
Confidentialité et algorithmes de chiffrement
Fonctions de hachage et signature
Authentification mutuelle et échange de clés de session
Certificats et PKI
Outils cryptographiques
28/11/2002 Ciefa Poly-informatique
Introduction But de la cryptographie : fournir un certain nombre de services de
sécurité : Confidentialité Intégrité Authentification de l’origine des données ou d’un tiers Non-répudiation …
Moyens mis en œuvre : mécanismes de sécurité, construits au moyen d’outils cryptographiques :
Chiffrement Scellement et signature Protocoles d’authentification mutuelle avec échange de clefs …
28/11/2002 Ciefa Poly-informatique
Partie 1
Confidentialité et algorithmes de chiffrement
Fonctions de hachage et signature
Authentification mutuelle et échange de clés de session
Certificats et PKI
Outils cryptographiques
28/11/2002 Ciefa Poly-informatique
Différents types d’algorithmes
Algorithmes symétriques ou à clef secrète=> Plus rapides donc mieux pour chiffrement
Algorithmes asymétriques ou à clef publique=> Échange de clefs secrètes=> Signature
28/11/2002 Ciefa Poly-informatique
Chiffrement symétrique : principe
Principe : clef de chiffrement = clef de déchiffrement
La clef doit rester secrète La sécurité du système dépend de ce secret
28/11/2002 Ciefa Poly-informatique
Chiffrement symétrique : algorithmes
Algorithmes de chiffrement en continu (stream cipher) Agissent sur 1 bit à la fois Le plus courant actuellement : RC4 (longueur de clef
variable, svt 128 bits)
Algorithmes de chiffrement par blocs (block cipher) Opèrent sur le texte en clair par blocs (svt 64 bits) DES (clef de 56 bits codée sur 64) 3DES (112), IDEA (128), RC6 (128), AES (128 à 256)
28/11/2002 Ciefa Poly-informatique
Exemple d’algorithme : DES
28/11/2002 Ciefa Poly-informatique
Intérêt chiffrement symétrique
Avantages : Rapide en général (dépend de la taille de la clé)
Inconvénients : Ne permet pas la signature électronique Problème de distribution des clés :
N personnes N(N-1)
2clés
28/11/2002 Ciefa Poly-informatique
Chiffrement asymétrique : principe
Chiffrement : clef publique utilisée pour le chiffrement, seul le détenteur de la clef privée peut déchiffrer
Signature : clef privée utilisée pour le chiffrement, seul son détenteur chiffrer, mais tout le monde peur déchiffrer
28/11/2002 Ciefa Poly-informatique
Chiffrement asymétrique : intérêt
Avantages : Permet la signature électronique Utilise deux clefs distinctes, l’une ne permettant pas de
retrouver l’autre
Inconvénients : Trop lent pour une utilisation intensive en chiffrement
=> utilisé seulement pour échange de clef et signature
28/11/2002 Ciefa Poly-informatique
Comparaison algorithmes asymétriques
Chiffrement Échange de clé
Signature Identification
RSA X X X X
Fiat Shamir
X X
Diffie Hellman
X
Chiffrement El Gamal
X
El Gamal + DSA
X X
28/11/2002 Ciefa Poly-informatique
Algorithme asymétrique : RSA
Génération des clés publiques et privées:
• on choisit 2 entiers premiers p et q (512 bits chacun)
• on calcule N = p*q
• on choisit e premier avec (p-1)(q-1)
• on calcule d tel que ed = 1 mod ppcm((p-1),(q-1))
Clé publique : (N, e)
Clé privée : d
28/11/2002 Ciefa Poly-informatique
Combinaison clefs publique/ secrète
28/11/2002 Ciefa Poly-informatique
Partie 2
Confidentialité et algorithmes de chiffrement
Fonctions de hachage et signature
Authentification mutuelle et échange de clés de session
Certificats et PKI
Outils cryptographiques
28/11/2002 Ciefa Poly-informatique
Intégrité et authentification
Service souhaité : pouvoir s’assurer que le message
Émane bien de l’expéditeur annoncé (authentification) N’a pas été modifié pendant le transfert (intégrité)
Authentification de l’origine des données et intégrité sont inséparables, et forment « l’authenticité ».
28/11/2002 Ciefa Poly-informatique
Fonctions de hachage
Fonction de hachage à sens unique (sans collision) Convertit une chaîne de longueur quelconque en une chaîne
de taille inférieure fixe : empreinte (ou condensé) À sens unique :
Facile à calculer mais difficile à inverser Il est difficile de trouver deux messages ayant la même
empreinte
MD5 (Message Digest 5) => empreinte de 128 bits
SHA (Secure Hash Algorithm) => empreinte de 160 bits
28/11/2002 Ciefa Poly-informatique
Signature Numérique (1/2)
Signature
Vérification
28/11/2002 Ciefa Poly-informatique
Signature Numérique (2/2)
Mécanisme fournissant les services suivants : Authentification de l’origine des données Intégrité Non répudiation de la source Plus rapide que de signer tout le document
Algorithmes DSS => standard correspondant à : SHA + El Gamal RSA => norme constituée de : MD5 (ou SHA) + RSA
28/11/2002 Ciefa Poly-informatique
Partie 3
Confidentialité et algorithmes de chiffrement
Fonctions de hachage et signature
Authentification mutuelle et échange de clés de session
Certificats et PKI
Outils cryptographiques
28/11/2002 Ciefa Poly-informatique
Introduction
Relations entre échange de clefs et authentification mutuelle
L’échange de clefs doit être authentifié pour éviter les attaques
Une clef de session permet d’étendre l’authentification à l’ensemble de la communication
Protocole d’authentification mutuelle avec échange de clef (tout en un)
Type d’échange de clefs Transport : ex RSA (utilisé par SSL) Génération : Diffie-Hellman
28/11/2002 Ciefa Poly-informatique
Transport de clefs
28/11/2002 Ciefa Poly-informatique
Diffie-Hellman : principe Protocole cryptographique permettant à 2 tiers de générer
un secret partagé sans informations préalables l’un sur l’autre
Principe : Échange de valeurs publiques
Permettant de générer un secret partagé
28/11/2002 Ciefa Poly-informatique
Diffie-Hellman : propriétés Sensible à l’attaque de l’intercepteur : l’attaquant envoie sa
valeur publique à la place de chacun des tiers et partage ainsi un secret avec chacun d’entre eux.=> solution : authentifier les valeurs publiques (certificats ou signature)
Propriété de Perfect Forward Secrecy (PFS) Principe : la découverte du secret à long terme ne compromet
pas les clefs de session (ie secret n’intervient pas dans la fabrication des clefs)
28/11/2002 Ciefa Poly-informatique
Partie 4
Confidentialité et algorithmes de chiffrement
Fonctions de hachage et signature
Authentification mutuelle et échange de clés de session
Certificats et PKI
Outils cryptographiques
28/11/2002 Ciefa Poly-informatique
Distribution des clefs publiques
Idée de départ : simple annuaire des clefs publiques Problèmes à résoudre :
Distribuer les clefs de façon authentifiée et intègre Stocker les clefs de façon sûre (protection en intégrité)
Limiter le nombre de clefs à stocker
Solution = certificats et hiérarchies de certification Élément de transport d’une clef publique, dont
l’authenticité est vérifiable de façon autonome Authentification : lie une clef publique et son possesseur Intégrité : toute modification du certificat sera détectée
28/11/2002 Ciefa Poly-informatique
Principe du certificat Certificat = Structure de données
Permet de lier une clef publique à différents éléments, au moyen de la signature et d’une autorité de confiance :
Nom du propriétaire de la clef Dates de validité Type d’utilisation autorisée …
Format actuel : X509v3
Émis par une autorité de certification (CA) : Garantit l’exactitude des données Certificats vérifiables au moyen de la clef publique de la CA
Listes de révocation (CRL) : permettent de révoquer des certificats avant leur expiration normale
28/11/2002 Ciefa Poly-informatique
Émission et vérification des certificats
28/11/2002 Ciefa Poly-informatique
Les certificats X.509v3
28/11/2002 Ciefa Poly-informatique
Qu’est-ce qu’une PKI ?
PKI = Public Key Infrastructure = infrastructure à clefs publiques
Nature : infrastructure, ensemble d’éléments, protocoles et services…
Rôle : gestion des clefs publiques à grande échelle Enregistrement et émission Stockage et distribution Révocation et vérification de statut Sauvegardes et récupération
La plupart des PKI actuelles utilisent des certificats
28/11/2002 Ciefa Poly-informatique
Composants d’une PKI
Elements : Utilisateurs finaux
(possesseurs de clefs) Autorités d’enregistrement
(Registration Authority) Autorité de certification
(Certificate Authority) Annuaire Service de validation
Hiérarchie Plusieurs niveaux de certification
28/11/2002 Ciefa Poly-informatique
Partie 5
Confidentialité et algorithmes de chiffrement
Fonctions de hachage et signature
Authentification mutuelle et échange de clés de session
Certificats et PKI
Outils cryptographiques
28/11/2002 Ciefa Poly-informatique
Introduction
Les mécanismes de cryptographie peuvent être appliqués
Au niveau des documents et données à protéger : PGP, S/MIME, signature XML
Au niveau des protocoles de communication : IPsec, TLS/SSL, SSH
La protection des échanges peut se faire Au niveau physique Au niveau réseau : IPsec Au niveau transport : TLS/SSL Au niveau applicatif : SSH
28/11/2002 Ciefa Poly-informatique
IPsec : caractéristiques IPsec = IP Security Protocol (norme IETF)
Principe : chaque paquet IP échangé est chiffré et/ou authentifié
Seule norme de chiffrement au niveau réseau.
Peut être mis en œuvre dans tout type d’équipement sur le réseau: serveur, routeur, PC, etc …
Algorithmes cryptographiques : Chiffrement : RC5, DES, Triple DES, … Authenticité : HMAC-MD5, HMAC-SHA, …
28/11/2002 Ciefa Poly-informatique
IPsec : fonctionnalités fournies
Modes Transport : sécurisation de bout en bout, en-tête non modifiée Tunnel : encapsulation dans un nouveau paquet IP
Services apportés par IPsec : Confidentialité des données Authenticité des données (authentification + intégrité) Protection contre le rejeu=> Permet d’atteindre un bon niveau de sécurité
28/11/2002 Ciefa Poly-informatique
TLS/SSL : caractéristiques TLS = Transport Level Security, SSL= Secure Socket Layer
(norme IETF depuis 1995 – SSL 3.0 = TLS 1.0)
Seule norme de chiffrement au niveau TCP
Protocole client/serveur : repose sur la fiabilité de TCP, pour offrir aux applications de niveau supérieur une interface de communication (API non normalisée)
Algorithmes cryptographiques : Protocoles d’échange de clefs : RSA, Diffie-Hellman Chiffrement des données : DES, 3DES, RC4, IDEA Authentification : HMAC-MD5, HMAC-SHA
28/11/2002 Ciefa Poly-informatique
TLS/SSL : fonctionnalités fournies
Services de sécurité fournis : Confidentialité des données Authentification et intégrité des données Authentification optionnelle des tiers
Peut être mis en œuvre dans tout protocole sur TCP : HTTP, FTP, NNTP, SMTP, POP,… Utilisation principale : HTTPS
Limite de la norme : pas de liste de révocation des certificats (mais les produits le font : Apache + mod_ssl, …)
28/11/2002 Ciefa Poly-informatique
TLS/SSL : Composants et authentification
Composants : SSL Record Protocol : protection des données SSL Handshake Protocol : établissement de la session SSL Change Cipher Spec Protocol : négociation des algorithmes
cryptographiques et de compression SSL Alert Protocol : messages d’erreur
Authentification avec SSL Identification des serveurs basée sur les noms DNS Authentification du serveur par un certificat Authentification du client par mot de passe dans la communication
chiffrée (propre à HTTP, pas à SSL) À partir de SSL 3.0, il est possible d’authentifier le client au moyen
d’un certificat
28/11/2002 Ciefa Poly-informatique
SSH SSH = Secure Shell
SSH = un protocole IETF, un produit, une société Remplaçant sécurisé de telnet, rlogin, rsh, rcp, etc…
Principe : Authentification mutuelle de l’utilisateur et du serveur Chiffrement de l’ensemble de la session Nombreux algorithmes (IDEA, DES, 3DES, RC4, …)
Usages : Connexion à distance : administration déportée Permet de rediriger des ports Échanges de fichiers
28/11/2002 Ciefa Poly-informatique
PGP PGP = Pretty Good Privacy
PGP = un protocole, un produit, une ex-société
Principe du modèle de la confiance directe Les utilisateurs
Distribuent les clefs Signent les clefs des personnes qu’ils connaissent Révoquent leurs clefs perdues
Les versions récentes permettent la délégation de révocation
Usages : Messagerie électronique Divers : chiffrements de données, de disques