1 / 68

Services et Mécanismes de base de la Cryptographie

Services et Mécanismes de base de la Cryptographie. Systèmes symétriques et asymétriques Fonction de hachage Signature numérique. Khaled SAMMOUD. Sommaire. Domaine de la sécurité. Services de sécurité. Algorithmes de chiffrement symétrique. Chiffrement symétrique – DES.

libitha
Download Presentation

Services et Mécanismes de base de la Cryptographie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Services et Mécanismes de base de la Cryptographie Systèmes symétriques et asymétriques Fonction de hachage Signature numérique Khaled SAMMOUD

  2. Sommaire • Domaine de la sécurité. • Services de sécurité. • Algorithmes de chiffrement symétrique. • Chiffrement symétrique – DES. • Algorithmes de chiffrement asymétrique. • Chiffrement asymétrique – RSA. • Fonctions de hachage. • Signature. • Certificat. • Quelques standards

  3. Authentification Identification Intégrité Confidentialité Non-répudiation Non-rejeu Contre l’analyse de trafic Horodatage Services de la sécurité

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

  5. Intégrité Authentification Non Répudiation Confidentialité Cryptographie • 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.

  6. 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: • « P » est un ensemble fini de textes clairs (Plain text) • « C » est un ensemble fini de textes cryptés (Cypher text) • « 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 • Les fonctions ek : P  C et dk : C  P doivent satisfaire: dk(ek(x))=x pour chaque x € P

  7. Principaux objectifs • 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.

  8. Cryptanalyse • 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: • 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 • Texte clair choisi: E, C, sont connus, et P a été choisi par l’intrus. • …

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

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

  11. Message clair Message clair chiffrement déchiffrement Clé Algorithme Symétrique • Une seule clé: clé secrète • Transformation et permutation. • Traitement relativement rapide. • Problème d’échange et de gestion des clés. • Usage : service de confidentialité Message chiffré Clé Alice Bob

  12. Cryptage symétrique: Modes Opérationnels • Cryptage par flux (Stream Cipher) • Principe: Traite les éléments d’entrée de façon continue, produisant à la fois un élément de sortie (crypté). • La clé est aussi longue que le stream de données. • Mode adapté pour la communication en temps réel: Pas besoin d’attendre l’arrivé du block entier • Implémenté en général sur des supports hardware. • Cryptage par bloc (Bloc Cipher) • 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.

  13. Mi-1 Mi-1 Mi Mi E E Ci-1 Ci E E Ci Ci-1 CBC Mode ECB Mode Algorithme Symétrique • Deux modes: • Chiffrement symétrique en stream • Chiffrement symétrique en bloc • Electric Code Block (ECB). • Cipher Block Chaining (CBC).

  14. Cryptographie Symétrique: opérations de base • Substitution • Remplacement de chaque élément (bit, lettre, groupe de bits ou de lettres) dans le texte clair par un autre élément. • Transposition • 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

  15. Exemple de cryptage par substitution Exemple: Caesar's cipher • Etapes: • 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: • C = E(p) = (p+3) mod (26) • Problèmes rendant la cryptanalyse de cet algorithme simple: • Algorithme de cryptage et de décryptage connu. • Seulement 25 clés à essayer. • Le langage du message clair est connu et facilement identifiable.

  16. Exemple de cryptage par transposition Exemple: Rail fence technique • 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 • Cryptanalyse possible vue que l’algorithme préserve la fréquence de distribution des lettres du texte original.

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

  18. Algorithme Symétrique

  19. Cryptage symétrique • Avantages • Confidentialité des données. • Rapidité, et facilité de mise en œuvre sur des circuits. • Limitations • Problématique de l'échange de la clé de chiffrement • É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écessité d’établir un canal sécurisé pour la transmission de la clé • Nombre de clés échangées (en n²).

  20. DES (Data Encryption Standard) • DES (Data Encryption Standard) IBM 1977 • 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. • Boites transposition P-Box • Boites de substitution S-Box

  21. Les étapes des cette élaboration sont restés secrets, (la conception des S Boxes). • Les S Boxes sont des tables qui définissent des permutation. • Le message est découpé en blocs de 64 bits. • Initialisation : permutation de tous les bits formant ce bloc. • On le coupe en deux parties : L0 et R0.

  22. Algorithme DES 1 48 bits 3 2 4

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

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

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

  26. Fonction de cryptage A B C

  27. A- Fonction d’expansion • Etendre les blocks d’entré Ri de 32 bits à un block Ri’ de 48 bits. • 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é.

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

  29. C – Fonction de permutation • Bit en position 1 est envoyé en position 16

  30. Chiffrement symétrique • La clé secrète est transformée en 16 parties Ki de 48 bits. • Puis, on permute les deux parties en introduisant une fonction de la clé. • L1 = R0. • R1 = L0 + f (K1, R0). • Cette opération se répète 16 fois. A chaque étape i, on a : • Li = Ri-1. • Ri = Li-1 + f (Ki, Ri-1).

  31. Chiffrement symétrique - DES • Ki représente la sous clé numéro i obtenu à partir de la clé secrète. • Le calcul de f se fait de la manière suivante : • les 32 bits de la partie R sont étendue à 48 bits grâce à une table appelée E (Expansion). • Ce nouveau R, E(R) pour être plus précis, est additionné à Ki. • Le résultat est découpé en huit suites Bi de six bits : Grâce à la table S-Box, les données de ces huit suites donne un résultat de 32bits.

  32. Chiffrement symétrique - DES • Il y a 8 S-Box, une pour chacun Bi. • Chaque S-Box à 16 colonnes et 4 lignes. • Bi = b1b2b3b4b5b6. On calcule • r = b1b6 • c = b2b3b4b5. • On regarde le nombre qui figure à la ligne r et à la colonne c. Il est codé sur 4 bits est correspond à la sortie Si(Bi). • Ensuite on effectue une permutation représentée par une table appelée P et le résultat de cette permutation est retourné par la fonction f. • Pour le déchiffrement, il suffit de faire l’opération inverse.

  33. Limites de DES • 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. • 3-DES (triple DES) a été lancé comme un nouveau standard en 1999. • Utilise 2 ou 3 clés. • Niveau de sécurité satisfaisant. • Permet de continuer l’utilisation des boites S-Box et P-Box matériel et logiciel, en attendant la migration vers AES. K3 Cryptage décryptage Cryptage DES Cryptage Cryptage Cryptage

  34. Attaque par force brute

  35. Cryptographie asymétrique (1) • Appelé aussi: cryptographie à clé publique / à paire de clés / asymétrique • Représente une révolution dans l’histoire de la cryptographie • Utilisation de deux clés: • 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.

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

  37. Message clair Message clair chiffrement déchiffrement Clé 2 Algorithme Asymétrique Message chiffré Clé 1 A B • Deux clés : clé publique / clé privé. • Traitement relativement lent. • Exemple : RSA (Rivest Shamir Adleman). • Usage: authentification, signature, échange de clés.

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

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

  40. Chiffrement mixte

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

  42. Cryptographie asymétrique : exemples • RSA • 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. • Utilise des entiers très larges 1024+ bits • La sécurité repose sur le coût de factorisation des entiers larges. • Diffie-Hellman • Algorithme utilisé pour l’échange et la distribution des clés symétriques.

  43. RSA: Algorithme • Etapes • Sélectionner deux entiers premiers entre eux « p » et « q » • Calculer n = p x q • Calculer φ(n)=(p-1)(q-1) • Sélectionner « e » tel que: pgcd(φ(n),e)=1 ; 1<e<φ(n) • En général « e » est un entier de petite taille. • Calculer d=e-1 mod φ(n) En d’autre terme: d.e = 1 mod (φ(n)) • Clé publique: Kpu={e,n} • Clé privée Kpr = {d,n} • Pour crypter un message M < n, l’émetteur: • Obtient une clé publique du récepteur et calcule « C= Me mod n » • Pour décrypter un message crypté C le récepteur • Utilise sa clé privée et calcule « M = Cd mod n »

  44. RSA: Exemple Cryptage Décryptage Texte crypté Texte clair Texte clair • p = 17, q = 11, n = px q= 187 • (n) = 16 x 10 =160, • Choisir e = 7, • d.e =1 (mod (n))  d = 23

  45. Chiffrement asymétrique - RSA • Pour percer RSA, il “ suffit ” de pouvoir factoriser n. En effet, n est connu et si on le factorise, on obtient p et q puis j et connaissant j et d, on obtient e. Mais, la factorisation de n n’est pas une chose facile. La factorisation de grands nombres suffit ,à elle seule, à dissuader de nombreuses tentatives. • En pratique, il y a deux difficultés pour implémenter RSA. La première est la génération de grands nombres premiers (p et q) et la seconde est l’élévation de nombre à des puissances très grandes. Un standard de RSA est PKCS 1.

  46. RSA: formules de base • Fonction d'Euler φ(n) : représente le nombre d'entiers premiers avec n. • Exemples: • n est premier  φ(n) = n-1 • n = p . q avec p et q premiers  φ(n) = (p-1).(q-1) • Théorème d'Euler: • a et n sont premiers entre eux aφ(n) = 1 (mod n)

  47. Preuve de RSA • D(E(M)) = (Me mod n)d mod n = Me.d mod n • On a: e.d = 1 (mod φ(n) ) = z x φ(n) + 1 • Me.d = M z x φ(n) + 1 = (Mz)φ(n) x M = 1 x M (mod n) • Par hypothèse RSA crypte des blocks de données de taille inférieure à n (décomposition en blocks)  D(E(M)) = M

  48. Cryptage asymétrique: Avantages et inconvénients • Avantages • 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 • 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.) • 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.

  49. Fonction de hashage • 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. • Une empreinte a toujours une taille fixe indépendamment de la taille des données. • Irréversible: • Etant donnée h, il est difficile de trouver x tel que: h = H(x) • Complexité de l’ordre de 2n, n est le nombre de bits du digest. • Calcul facile et rapide (plus rapide que le cryptage symétrique). • Exemples: • MD5, SHA, … • Taille du digest: 128-160-… bits

More Related