Chapitre II Introduction à la cryptographie
PLAN 1. Terminologie 2. Chiffrement symétrique 3. Chiffrement asymétrique 4. Fonction de hachage 5. Signature numérique 6. Scellement 7. Echange de clés 8. Principe Diffie Helman 9. Distribution des clés publique et Certificat 10. Conclusion 2
Terminologie(1) La cryptologie est une science qui comporte deux branches la cryptographie et la cryptanalyse: La cryptographie traditionnelle est l études des méthodes permettant de transmettre des données d une manière confidentielle Afin de protéger un message on lui applique une transformation qui le rend incompréhensible; Dans la cryptographie moderne les transformations en question sont des fonction mathématiques, appelées algorithmes cryptographiques, qui dépendent d un paramètre appelé clef. 3
Terminologie(2) Le chiffrement, est l action qui à partir d un texte en clair donne un texte chiffré ou un cryptogramme Inversement le déchiffrement et l action qui permet de reconstruire le texte en clair à partir d un texte chiffré En anglais: Chiffrement Encryption Déchiffrement Decryption 4
Terminologie(3) La cryptanalyse est l études des procédés cryptographique dans le but de trouver des faiblesses et en particulier de pouvoir décrypter des textes chiffrés. Le décryptement est l action consistant à retrouver le texte en clair sans connaître la clé de déchiffrement. 5
Terminologie(4) 6
Historique Les premiers techniques de cryptographie
Objectifs de la cryptographie moderne offrir d autre services pour la sécurité des communications tels que: la confidentialité l intégrité L authentification de l origine des données Pour cela, on utilise un certain nombre de mécanismes basés sur des algorithmes cryptographiques 8
Principe du chiffrement symétrique Dans la cryptographie conventionnelle, les clés de chiffrement et de déchiffrement sont identiques: La clé secrète est connue seulement par les tiers communiquant Le procédé de chiffrement est dit symétrique 9
Principe du chiffrement asymétrique(1) Avec les algorithmes asymétriques, les clés de chiffrement et de déchiffrement sont distinctes et ne peuvent se déduire l une de l autre. Idée: On peut donc rendre l une des deux publique tandis que l autre reste privé. C est pourquoi on parle de chiffrement à clef publique. Si la clé publique sert au chiffrement tout le monde peut chiffrer un message, que seul le propriétaire de la clé privée pourra déchiffrer on assure la confidentialité. Certains algorithmes permettent d utiliser la clé privée pour chiffrer. Dans ce cas n importe quels pousseurs de clé publique peut déchiffrer Cela permet donc la signature de messages. 10
Principe du chiffrement asymétrique(2) 11
Historique du chiffrement asymétrique Le concept de cryptographie à clé publique a été inventé par Whifield Diffie et Martin Hellman en 1976, dans le but de résoudre le problème de distribution des clés posé par la cryptographie à clés secrètes de nombreux algorithmes permettant de réaliser un cryptosystème à clé publique ont été proposés depuis Ils sont le plus souvent basés sur des problèmes mathématiques difficiles à résoudre, donc leur sécurité est conditionnée par ces problèmes mathématiques difficiles à résoudre N.B. Si quelqu un trouve un jour le moyen de simplifier la résolution d un de ces problèmes, l algorithme correspondant s écroulera 12
Utilisation du chiffrement asymétrique Tous les algorithmes actuels présentent l inconvénient d être plus lents que les algorithmes à clé secrète; ils sont souvent utilisés non pour chiffrer directement des données, mais pour chiffrer une clé de session secrète Certains algorithmes asymétriques ne sont adaptés qu au chiffrement, tandis que d autres ne permettent que la signature, Les algorithmes sont utilisables à la fois pour le chiffrement et pour la signature: RSA, ELGamal, Rabin, ECC 13
Exemple de combinaison chiffrement symétrique et asymétrique 14
Fonction de hachage ou condensation (1) Fonction qui convertit une chaîne de longueur quelconque en une chaîne de taille inférieure et généralement fixe La chaîne résultante est appelée empreinte ou condensé de la chaîne initiale La fonction de hachage est à sens unique Facile à calculer (produire l empreinte) Difficile à inverser (déduire la ou les chaînes d une empreinte donnée) On exige à ce que la fonction soit sans collision c.a.d trouver deux messages avec la même empreinte 15
Fonction de hachage (2) Principe du hachage La plus part des fonction de hachage sont construites par itération d une fonction de compression: Le message M est décompsé en N blocs m1,m2,m3 mn, puis une fonction de compression f est appliquée à chaque bloc et au résultat de la compression du bloc précédent l empreinte h(m) est le résultat de la dernière compression 16
Fonction de hachage (3) Algorithme de hachage MD5 (Message Digest 5) Enpreinte de 128 bits SHA(Secure Hash Algorithm) Empreinte 160 SHA-1 révision publiée en 1994, considéré plus sûr que MD5 SHA-2 (Octobre 2000) agrandit la taille de l empreinte 17
La signature numérique(1) Définition: 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ée et protégeant contre la contrefaçon (par le destinataire par exemple)». seul l expéditeur doit être capable de générer la signature Une signature numérique fournit à la fois les services d authentification de l origine des données, l intégrité des données et la non-répudiation la plus part des algorithmes de signature utilisent la cryptographie à clé publique 18
Signature numérique(2) Théoriquement consiste à chiffrer le message en question avec une clé privé À la réception du message et de son cryptogramme, le destinataire disposant de la clé publique peut vérifier la signature Dans la pratique cette méthode est peu utilisée du fait de son lenteur 19
Signature numérique(3) Méthodes pratique pour signer un message, la source consiste à calculer une empreinte de ce message à signer et à ne chiffrer avec la clé privée que cette empreinte. Le calcul d une empreinte par application d une fonction de hachage étant rapide et surtout la quantité de données à chiffrer étant fortement réduite cette solution est bien plus rapide que la précédente. 20
Signature numérique(4) Vérification de la Signature numérique 21
Signature numérique(5) Algorithmes permettant la signature numérique DSS: satndard NIST SHA-1 + El-Gamal RSA: norme de fait MD5 + RSA SHA1 + RSA ECC: Elliptic Curve Cryptography plus léger que RSA 22
Scellement Le scellement fournit les services d authentification de l origine des données et l intégrité des données, mais il ne fournit pas la nonrépudiation. Ceci permet l utilisation de la cryptographie à clé secrète pour la génération du sceau ou du Message Authentication Code (MAC) 23
Echange de clés(1) Deux méthodes d échange de clés : 1.Transport de clé: Utilisation d un algorithme à clé publique pour chiffrer une clé de session générée aléatoirement 24
Transport de clés de session avec clé publique 25
Echange de clés(2) 2. Génération de clé: Exemple du protocole Diffie-Hellman permettant de générer un secret partagé à partir de données publiques 26
Génération de clés : Diffie-Hellman Protocole cryptographique inventé en 1976 par Diffie et Hellman Permet à deux tiers de générer un secret partagé sans information préalable l un sur l autre. Il fait intervenir des valeurs publiques et des valeurs privée(il est à l origine de la cryptographie à clé publique) La sécurité dépend de la difficulté de calculer des logarithmes discrets sur un corps fini Le secret généré à l aide de cet algorithme peut ensuite être utilisé pour dériver une ou plusieurs clés sécrètes 27
Principe Diffie-Hellman(1) Déroulement de l algorithme : 1.Alice et Bob 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 n et g sont publics. 2.Alice choisit d une manière aléatoire un grand nombre entier a. qu elle garde secret, et calcule sa valeur publique, A=g a mod n. Bob fait de même et génère b et B=g b mod n 3.Alice envoie A à Bob ; Bob envoie B à Alice. 4.Alice calcule K AB =B a mod n ;Bob calcule K BA =A b mod n. K AB =K BA =g ab mod n : est le secret partagé par Alice et Bob. 5.Une personne qui écoute la communication connaît g, n, A=g a mod n et B=g b mod n, ce qui ne lui permet pas de calculer g ab mod n : il lui faudrait pour cela calculer le logarithme de A ou B pour retrouver a ou b. 28
Principe Diffie-Hellman(2) 29
Distribution des clés publiques Idée de départ : consiste à utiliser un simple annuaire des clés publiques. Problèmes : Distribuer les clés d une façon authentifié et limiter le nombre de clés à stocker. Solution : Utilisé les certificats et la hiérarchie de certification 30
Autorités de certification Ce sont des infrastructures à clés publique(pki) Rôle : gestion des clés publiques à grande échelle (moyennant des certificats) Enregistrement et émission Stockage et distribution Révocation et vérification de statut Sauvegarde et récupération Exemple : A.N.C.E 31
Les Certificats Un certificat est l élément de transport d une clé publique Un certificat est émise par une A.C L authenticité du certificat est vérifiable d une façon autonome toute modification du certificat sera détectée Le certificat permet l authentification du possesseur lie la clé publique au possesseur 32
Structure du certificat X.509v3 1. Indique à quelle version X.509 correspond ce certificat 2. Numéro de série (propre à chaque autorité de certification) 3. Identifiant du type de signature utilisée 4. Nom distingué de l autorité de certification qui a émis ce certificat 5. Période de validité 6. Nom distinguée du détenteur de la clé publique 7. Informations sur la clé publique de ce certificat 8. Extensions optionnelles introduites avec la version 2 de X.509 9. Extensions : extensions génériques optionnelles, introduites avec la version 3 de X.509 10.Signatures numériques de l autorité de certification su l ensemble des champs précédents 33
Conclusion Les services de la sécurité moderne (authentification, intégrité, chiffrement, non répudiation) reposent sur les apports de la cryptographie Les algorithmes de chiffrement reposent sur des problèmes mathématiques difficiles à résoudre Le chiffrement asymétrique est lourd, il est utilisé généralement pour l échange de clé Certaines applications doivent leur existence à la cryptographie (Payement électronique, VPN ) 34