Introduction à la cryptographie Progression Sécurité & réseaux TCP/IP - Cours1 : Révision réseaux Introduction à la cryptographie 28/11/2002 Ciefa Poly-informatique 20/06/2002 - Ciefa Poly-informatique
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
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
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(N-1) clés N personnes 2 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 Fiat Shamir Diffie Hellman Chiffrement El Gamal El Gamal + DSA 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
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
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) 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
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
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
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
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
Ciefa Poly-informatique Les certificats X.509v3 28/11/2002 Ciefa Poly-informatique
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
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
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
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 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
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
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 28/11/2002 Ciefa Poly-informatique