Cryptographie Systmes symtriques et asymtriques Fonctions de hachage

  • Slides: 56
Download presentation
Cryptographie Systèmes symétriques et asymétriques Fonctions de hachage Signature numérique

Cryptographie Systèmes symétriques et asymétriques Fonctions de hachage Signature numérique

Problématique n Failles dans les protocoles de communication n Toute information circulant sur Internet

Problématique n Failles dans les protocoles de communication n Toute information circulant sur Internet peut être capturée et enregistrée et/ou modifiée Problème de confidentialité et d’intégrité n Toute personne peut falsifier son adresse IP (spoofing) ce qui engendre une fausse identification Problème d’authentification n Aucune preuve n’est fournie par Internet quant à la participation dans un échange électronique Problème d’absence de traçabilité 2

Cryptographie n Science mathématique permettant d’effectuer des opérations sur un texte intelligible afin d’assurer

Cryptographie n Science mathématique permettant d’effectuer des opérations sur un texte intelligible afin d’assurer une ou plusieurs propriétés de la sécurité de l’information. Intégrité Authentification Non Répudiation Confidentialité 3

Définition d’un crypto-système Un crypto-système est décrit par cinq uplets (P, C, K, E,

Définition d’un crypto-système Un crypto-système est décrit par cinq uplets (P, C, K, E, D), satisfaisant ces conditions: n « P » est un ensemble fini de textes clairs (Plain text) n « C » est un ensemble fini de textes cryptés (Cypher text) n n « K » est l’espace de clés (key space), représente un ensemble fini de clés possibles. Pour chaque k € K, il existe une fonction cryptage ek € E, et une fonction de décryptage correspondante dk € D n Les fonctions ek : P C et dk : C P doivent satisfaire: dk(ek(x))=x pour chaque x € P 4

Principaux objectifs n n n Le texte clair ne doit pas être facilement obtenu

Principaux objectifs n n n Le texte clair ne doit pas être facilement obtenu à partir d’un texte crypté. Les clés ne doivent pas être facilement obtenues à partir d’un texte crypté. L’espace des clés doit être assez large pour résister aux attaques brute-force. 5

Cryptanalyse n n Principes et méthodes permettant de trouver un message clair à partir

Cryptanalyse n n Principes et méthodes permettant de trouver un message clair à partir d’un message crypté sans connaissance de la clé. Attaques classifiées selon le type de connaissance disponible pour l’intrus (cryptanalyst). Connaissant C=E(P, K) mais pas K, l’objectif est de trouver P ou K. Types d’attaques de cryptanalyse: n n Texte chiffré uniquement: uniquement C et E sont connus par l’intrus Texte clair connu: Uniquement E, C, et quelques paires de messages clairs/cryptés avec K, sont connus par l’intrus n Texte clair choisi: E, C, sont connus, et P a été choisi par l’intrus. n … 6

Cryptage symétrique n Exigences: n Un algorithme de cryptage solide. n Une clé secrète

Cryptage symétrique n Exigences: n Un algorithme de cryptage solide. n Une clé secrète partagée et connue entre l’émetteur et le récepteur. Y = E K( X ) X = D K( Y ) n Suppose que l’algorithme de cryptage est connu à l’avance. n Les clés sont distribuées à travers des canaux sécurisés. n Exemples : n Algorithmes : DES, IDEA, AES n Taille des clés : 56 -128 -192 -256 -… bits 7

Cryptage symétrique: principe de base Transmission par canal sécurisé Clé 01010000111 Cryptanalyst Texte clair

Cryptage symétrique: principe de base Transmission par canal sécurisé Clé 01010000111 Cryptanalyst Texte clair Voici le numéro de ma carte de crédit 111111, Cryptage Internet Décryptage Texte clair Voici le numéro de ma carte de crédit 111111, ☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω ٭ Texte crypté Emetteur Récepteur 8

Cryptage symétrique: Modes Opérationnels n Cryptage par flux (Stream Cipher) n n Principe: Traite

Cryptage symétrique: Modes Opérationnels n Cryptage par flux (Stream Cipher) n n Principe: Traite les éléments d’entrée de façon continue, produisant à la fois un élément de sortie (crypté). n La clé est aussi longue que le stream de données. n Mode adapté pour la communication en temps réel: Pas besoin d’attendre n Implémenté en général sur des supports hardware. l’arrivé du block entier Cryptage par bloc (Bloc Cipher) n n Principe: Le texte est divisé en différents blocks de taille fixe. Un block est traité à la fois, produisant un block de données cryptées. le block doit être entièrement disponible avant le traitement La même fonction et la même clé est utilisée pour crypter les blocks successifs. Implémentation d’une manière logicielle en générale. 9

Chiffrement Par Flux Chiffrement symétrique La clé de chiffrement est la même que la

Chiffrement Par Flux Chiffrement symétrique La clé de chiffrement est la même que la clé de déchiffrement 10

Chiffrement Par Flux n n n Caractéristiques Pas besoin de lire le message ni

Chiffrement Par Flux n n n Caractéristiques Pas besoin de lire le message ni d'avoir sa longueur pour commencer a chiffrer Génération de pseudo-aléa, appelé flux de clé (keystream) que l'on combine (souvent par XOR) avec le flux de donnees 11

Chiffrement Par Flux 12

Chiffrement Par Flux 12

Cryptographie Symétrique: opérations de base n Substitution n n Remplacement de chaque élément (bit,

Cryptographie Symétrique: opérations de base n Substitution n n Remplacement de chaque élément (bit, lettre, groupe de bits ou de lettres) dans le texte clair par un autre élément. Transposition n Réarrangement des éléments du texte clair La plupart des systèmes utilisent plusieurs étapes de transposition et de substitution. Aucune information ne doit être perdue durant ces deux opérations 13

Exemple de cryptage par substitution Exemple: Caesar's cipher n Etapes: n n Clé =

Exemple de cryptage par substitution Exemple: Caesar's cipher n Etapes: n n Clé = 3 Remplacer chaque lettre par celle qui la succède de trois (3). a devient d, b devient e, …, y devient b, z devient c L’algorithme peut être décrit comme suit: n n C = E(p) = (p+3) mod (26) Problèmes rendant la cryptanalyse de cet algorithme simple: n n n Algorithme de cryptage et de décryptage connu. Seulement 25 clés à essayer. Le langage du message clair est connu et facilement identifiable. 14

Exemple de cryptage par transposition Exemple: Rail fence technique n Principe: Le texte clair

Exemple de cryptage par transposition Exemple: Rail fence technique n Principe: Le texte clair est réécrit comme une séquence de lignes, puis réordonnée comme une séquence de colonnes Key: 4 3 1 2 5 6 7 Plaintext: a t t a c k p o s t p o n e d u n t i l t w o a m x y z Ciphertext: TTNA APTM TSUO AODW COIX KNLY PETZ n Cryptanalyse possible vue que l’algorithme préserve la fréquence de distribution des lettres du texte original. 15

Cryptographie Symétrique : exemples n Algorithmes de chiffrement en continu (Stream Cipher) n Exemple

Cryptographie Symétrique : exemples n Algorithmes de chiffrement en continu (Stream Cipher) n Exemple : RC 4 (RSA Security) n n Taille de la clé variable (128 bits en pratique). Algorithmes de chiffrement par blocs (Block Cipher) n Chiffrement par blocs de texte clair: 64 bits (DES), 128 bits (AES). n n DES (clé 56 bits), 3 DES (clé de 168 bits ou 112 bits). RC 2 (clé 128 bits), Blowfish (clé 128 bits, jusqu'à 448 bits), AES (clé 128, 192, 256 bits). 16

Cryptage symétrique n Avantages n n n Confidentialité des données. Rapidité, et facilité de

Cryptage symétrique n Avantages n n n Confidentialité des données. Rapidité, et facilité de mise en œuvre sur des circuits. Limitations n n n Problématique de l'échange de la clé de chiffrement n Établissement préalable d'un canal sûr pour la transmission de la clé Une tierce partie ne peut pas s’assurer de l’authenticité des messages. Problème de la distribution des clés de cryptage n Nécessité d’établir un canal sécurisé pour la transmission de la clé n Nombre de clés échangées (en n²). 17

Exemple: Chiffrement RC 4 18

Exemple: Chiffrement RC 4 18

Chiffrement RC 4 19

Chiffrement RC 4 19

Chiffrement RC 4 20

Chiffrement RC 4 20

Chiffrement RC 4 21

Chiffrement RC 4 21

Chiffrement RC 4 22

Chiffrement RC 4 22

DES (Data Encryption Standard) n n L’algorithme de cryptage (Block cipher) à clés symétriques

DES (Data Encryption Standard) n n L’algorithme de cryptage (Block cipher) à clés symétriques le plus utilisé. Crypte des blocks de 64 bits en utilisant des clés relativement courtes (taille effective 56 -bit). Produit de transpositions et de substitutions. Implémentation facile en matériel. n n Boites transposition P-Box Boites de substitution S-Box 23

Algorithme DES 1 48 bits 3 2 4 24

Algorithme DES 1 48 bits 3 2 4 24

DES (étapes 1 et 3): P-Box Permutation initiale Permutation finale n Le bit numéro

DES (étapes 1 et 3): P-Box Permutation initiale Permutation finale n Le bit numéro 1 deviendra à la position 58 n Implémentation simple en matériel

DES (étape 2) n Les sous-clés (Round keys) sont générées à partir de la

DES (étape 2) n Les sous-clés (Round keys) sont générées à partir de la clé principale de 56 bits: n Diviser la clé de 56 bits en deux segments. n Rotation de chaque segment par un ou deux bits à droite. n Sélection de 24 bits de chaque segment. 26

DES (étape 3) Un tour DES (One DES round) Cryptage Décryptage Block de 64

DES (étape 3) Un tour DES (One DES round) Cryptage Décryptage Block de 64 bits en entrée 32 bits Li+1 32 bits Ri Block de 64 bits en entrée Sous-clé de 48 bits 32 bits Li+1 Fonction de cryptage + + 32 bits Ri+1 32 bits Li Block de 64 bits en sortie 32 bits Ri+1 32 bits Ri Block de 64 bits en sortie 27

Fonction de cryptage A B C 28

Fonction de cryptage A B C 28

A- Fonction d’expansion n Etendre les blocks d’entré Ri de 32 bits à un

A- Fonction d’expansion n Etendre les blocks d’entré Ri de 32 bits à un block Ri’ de 48 bits. n n n Division des 32 bits en des segments de 4 bits Élargir chaque segment de 4 bits avec les bits de ses voisins pour attendre 6 bits. XOR des 48 bits en sortie avec la clé. 1 2 3 4 5 6 7 8 9 … 32 1 2 3 4 5 6 7 8 9 29

B- Fonction de substitution 0 0 1 1110 01=1 0100=4 14 Un sous-bloc de

B- Fonction de substitution 0 0 1 1110 01=1 0100=4 14 Un sous-bloc de 6 bits est transformé en un sous-bloc de 4 bits.

Les boites de substitution

Les boites de substitution

C – Fonction de permutation n Bit en position 1 est envoyé en position

C – Fonction de permutation n Bit en position 1 est envoyé en position 16 32

Obtention des sous clés Ki 33

Obtention des sous clés Ki 33

Limites de DES n Les progrès en cryptanalyse et en électronique a fait que

Limites de DES n Les progrès en cryptanalyse et en électronique a fait que la longueur 56 des clés est devenu un problème pour DES La taille de l’ensemble : {0, 1}56 permet de retrouver la clé à partir d’un texte clair connu en faisant du brute force. n 3 -DES (triple DES) a été lancé comme un nouveau standard en 1999. n Utilise 2 ou 3 clés. n Niveau de sécurité satisfaisant. n Permet de continuer l’utilisation des boites S-Box et P-Box matériel et logiciel, en attendant la migration vers AES. K 3 Cryptage décryptage Cryptage DES Cryptage 34

AES: L’algorithme de base: Rijndael Taille clé (bits) Taille de bloc (bits) 128 192

AES: L’algorithme de base: Rijndael Taille clé (bits) Taille de bloc (bits) 128 192 256 A E S 128 192 256 10 12 14 12 12 14 14 Tableau de nombre de rondes pour le Rijndael, déterminé en fonction de la taille des blocs et de la taille de la clé 35

Comparatif DES AES Taille de clé 56 bits 128, 192 ou 256 bits Type

Comparatif DES AES Taille de clé 56 bits 128, 192 ou 256 bits Type de chiffre Chiffre à bloc symétrique Taille de bloc 64 bits 128, 192 ou 256 bits Resistance à la cryptanalyse Vulnérable à la cryptanalyse linéaire et différentielle; tables de substitution faibles Résistant contre des attaques différentielles, linéaires et par interpolation. Sécurité Prouvé comme inadéquat Considéré sécurisé Clés possibles 256 2128, 2192 ou 2256 Clés possibles composées de caractères ASCII affichables* 957 9516, 9524 ou 9532 Recherche sur toutes les clés possibles à 50 milliard de clés par seconde** Pour une clé de 56 bits: 400 jours Pour une clé de 128 bits: 5 x 1021 years * - Il y a 95 caractères ASCII affichables ** - Temps affiché pour une recherche sur 100% des clés. ¨En théorie, une clé peut être trouvée après 50% de recherche. Source : 36

AES: Aperçu général bloc départ Clé de chiffrage ronde initiale Add. Round. Key Sub.

AES: Aperçu général bloc départ Clé de chiffrage ronde initiale Add. Round. Key Sub. Bytes Shift. Rows Mix. Columns Le chiffrement se fait sur 10 rondes composées de 4 étapes. 9 rondes Clé de ronde n Add. Round. Key Sub. Bytes Shift. Rows Clé de ronde 10 ronde finale Add. Round. Key bloc arrivé ronde 9 0 4 3 2 1 7 60 37 5 8

AES: Domaines d’utilisation n Chiffrement de documents confidentiels n n Voix sur IP: Skype

AES: Domaines d’utilisation n Chiffrement de documents confidentiels n n Voix sur IP: Skype n n The Committee on Nationa Security Systems “Skype uses AES (Advanced Encryption Standard), […] which is used by U. S. Government organizations to protect sensitive, information. ” Wi. Fi: pour le WPA 2 (norme IEEE 802. 11 i) n n L’algorithme AES est utilisé pour protéger des documents confidentiels. Utilise l’algorithme AES plutôt que RC 4 (utilisé par WEP et WPA) Compression de fichiers: Win. RAR et Win. Zip 38

Cryptographie asymétrique (1) n Appelé aussi: cryptographie à clé publique / à paire de

Cryptographie asymétrique (1) n Appelé aussi: cryptographie à clé publique / à paire de clés / asymétrique n Représente une révolution dans l’histoire de la cryptographie n Utilisation de deux clés: n n Clé publique: Connue par tout le monde, et peut être utilisée pour crypter des messages ou pour vérifier la signature. Clé privée: Connue par le récepteur uniquement, utilisée pour décrypter les messages, ou pour créer la signature. Si on crypte avec l’une de ces clés le décryptage se fait uniquement avec l’autre. Impossible de trouver la clé privée à partir de la clé publique. 39

Cryptographie asymétrique (2) n Clés à grande taille (ex: RSA: 1024 -2048 -…). n

Cryptographie asymétrique (2) n Clés à grande taille (ex: RSA: 1024 -2048 -…). n Fonction trappe à sens unique n Kpr: clé privée, Kpu: clé publique n Y=f. Kpr(X) facile à calculer si Kpr et X sont connus. X=f. Kpu-1(Y) facile si Kpu et Y sont connus, mais impossible si Y est connu et Kpu non connue. Utilisé généralement pour n Cryptage / décryptage: assurer la confidentialité. n Signature numérique: assurer l’authentification et la non répudiation. n Distribution de clés: se mettre d’accord sur une clé de session. 40 n n

Cryptographie asymétrique: scénarios d’utilisation Scénario: confidentialité Clé publique du récepteur Texte clair Cryptage Voici

Cryptographie asymétrique: scénarios d’utilisation Scénario: confidentialité Clé publique du récepteur Texte clair Cryptage Voici le numéro de ma carte de crédit 111111, Clé privée du récepteur Internet Décryptage Texte clair Voici le numéro de ma carte de crédit 111111, ☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω ٭ Texte crypté Emetteur Récepteur 41

Cryptographie asymétrique: scénarios d’utilisation Scénario: authenticité de l’émetteur et non répudiation d’envoi Clé publique

Cryptographie asymétrique: scénarios d’utilisation Scénario: authenticité de l’émetteur et non répudiation d’envoi Clé publique de l’émetteur Clé privée de l’émetteur Texte clair Cryptage Voici le numéro de ma carte de crédit 111111, Internet Décryptage Texte clair Voici le numéro de ma carte de crédit 111111, ☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω ٭ Texte crypté Emetteur Récepteur 42

Cryptographie asymétrique: scénarios d’utilisation Scénario: Distribution des clés de session (clés symétriques) 43

Cryptographie asymétrique: scénarios d’utilisation Scénario: Distribution des clés de session (clés symétriques) 43

Cryptographie asymétrique : exemples n RSA n n n Développé par Rivest, Shamir &

Cryptographie asymétrique : exemples n RSA n n n Développé par Rivest, Shamir & Adleman à MIT en 1977, publié en 1978. Le plus connu et le plus utilisé comme algorithme de cryptage asymétrique : utilisé pour le cryptage et la signature électronique. n Utilise des entiers très larges 1024+ bits n La sécurité repose sur le coût de factorisation des entiers larges. Diffie-Hellman n Algorithme utilisé pour l’échange et la distribution des clés symétriques. 44

Cryptage asymétrique: Avantages et inconvénients n Avantages n n n Pas besoin d’établir un

Cryptage asymétrique: Avantages et inconvénients n Avantages n n n Pas besoin d’établir un canal sûr pour la transmission de la clé. Plusieurs fonctions de sécurité: confidentialité, authentification, et non-répudiation Inconvénient n n Généralement dix fois plus lent que le cryptage symétrique. Problème d’implémentation sur les équipements disposants de faible puissance de calcul (ex: cartes bancaire, stations mobiles, etc. ) n n Clés longues Complexité algorithmique de la méthode (ex: réalisation des opérations modulo n) Solution: Utilisation du cryptage asymétrique pour l’échange des clés secrètes de session d'un algorithme symétrique à clés privées. 45

Fonction de hachage n n n Entrée: message M avec contenu et taille arbitraire.

Fonction de hachage n n n Entrée: message M avec contenu et taille arbitraire. Sortie: message de taille fixe h=H(M). La fonction de hachage permet d’extraire une empreinte qui caractérise les données. n n Irréversible: n n Une empreinte a toujours une taille fixe indépendamment de la taille des données. Etant donnée h, il est difficile de trouver x tel que: h = H(x) Complexité de l’ordre de 2 n, n est le nombre de bits du digest. Calcul facile et rapide (plus rapide que le cryptage symétrique). Exemples: n n MD 5, SHA, … Taille du digest: 128 -160 -… bits 46

Fonctions de Hachage: Principes Texte clair Internet =? Hachage Empreinte 1) = Empreinte reçue

Fonctions de Hachage: Principes Texte clair Internet =? Hachage Empreinte 1) = Empreinte reçue 2) Empreinte recalculée Le texte reçu est intègre Empreinte recalculée ≠ Empreinte reçue Hachage Le texte reçu est altéré Empreinte recalculée 47

Propriétés d’une fonction de hachage n Irréversible n n Soit « y » le

Propriétés d’une fonction de hachage n Irréversible n n Soit « y » le résultat de hachage, il est pratiquement infaisable de trouver « x » tel que h(x)=y. Résistance forte à la collision: n n Soit « x » et « y=h(x) » , il est pratiquement infaisable de trouver «x’ x » tel que h(x’)=h(x). Il est pratiquement infaisable de trouver deux valeurs distinctes « x’ » et « x » tel que h(x’)=h(x). 48

Fonctions de Hachage: Exemples n MD 5 : Message Digest 5 n n n

Fonctions de Hachage: Exemples n MD 5 : Message Digest 5 n n n Développé en 1991 Génère une empreinte de taille 128 bits en traitant les données d’entrée par blocs de 512 bits. SHA-1 : Secure Hash algorithm n Génère une empreinte de taille 160 bits. n Plus fort que MD 5. 49

Signature numérique n Principe de fonctionnement n n n La clé publique est utilisée

Signature numérique n Principe de fonctionnement n n n La clé publique est utilisée pour la vérification de la signature Soit: n M: message à signer, H: fonction de hachage n Kpr, Kpu: paire de clés privée/publique de l’émetteur. n n Le Hash (résultat de la fonction de hachage) d’un message est crypté avec la clé privée de l’émetteur. E / D: fonction de cryptage / Décryptage en utilisant Kpu / Kpr. En recevant (M, EKpr(H(M))), le récepteur vérifie si: H(M)=DKpu(EKpr(H(M))) 50

Signature numérique: Génération Clé privée du signataire Texte clair Fonction de Hachage Cryptage Asymétrique

Signature numérique: Génération Clé privée du signataire Texte clair Fonction de Hachage Cryptage Asymétrique Empreinte Processus de Génération de la Signature numérique

Signature numérique: Vérification Texte clair Hachage Clé publique de l’émetteur Signature numérique Empreinte recalculée

Signature numérique: Vérification Texte clair Hachage Clé publique de l’émetteur Signature numérique Empreinte recalculée =? Décryptage Empreinte reçue 1) = Empreinte reçue 2) La signature reçue est correcte Empreinte recalculée ≠ Empreinte reçue La signature reçue est incorrecte Empreinte recalculée

Emetteur Cryptage du résultat de hachage avec la clé privée de l’émetteur Transmission du

Emetteur Cryptage du résultat de hachage avec la clé privée de l’émetteur Transmission du message, du résultat de hachage crypté, et des informations relatives aux algorithmes utilisés Récepteur Décryptage avec la clé public de l’émetteur Signature incorrecte Résultats différent Résultats égaux Emetteur du message authentifié, message intègre, et l’émetteur ne peut pas répudier l’envoi 53

Signature numérique VS Signature Manuscrite n Les deux signatures (numérique & manuscrite ) assurent:

Signature numérique VS Signature Manuscrite n Les deux signatures (numérique & manuscrite ) assurent: n n n Authentification du signataire Non répudiation. Intégrité Authentification La signature numérique, seule, assure l’intégrité des données. Non Répudiation 54

SSL n n Le SSL est un procédé de sécurisation des transactions effectuées via

SSL n n Le SSL est un procédé de sécurisation des transactions effectuées via Internet système SSL est indépendant du protocole utilisé, ce qui signifie qu'il peut aussi bien sécuriser des transactions faites sur le Web par le protocole HTTP que des connexions via le protocole FTP ou POP. En effet, SSL agit telle une couche supplémentaire, permettant d'assurer la sécurité des données, située entre la couche application et la couche transport (protocole TCP par exemple). Au milieu de l'année 2001, le brevet de SSL appartenant jusqu'alors à Netscape a été racheté par l'IETF (Internet Engineering Task Force) et a été rebaptisé pour l'occasion TLS (Transport Layer Security). 55

SSL 56

SSL 56