Le chiffrement

4 511 vues

Publié le

Publié dans : Technologie
1 commentaire
6 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
4 511
Sur SlideShare
0
Issues des intégrations
0
Intégrations
760
Actions
Partages
0
Téléchargements
664
Commentaires
1
J’aime
6
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Le chiffrement

  1. 1. Présentation de Ghazel Hanen 1
  2. 2. 2
  3. 3. 3
  4. 4. 4
  5. 5. 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é 5
  6. 6. La sécurité d’un système cryptographique ne doit pas reposer sur la non divulgation des fonctions de chiffrement et de déchiffrement utilisées mais sur la non divulgation des clés utilisées pour les paramétrer. 6
  7. 7. Cryptographie à clé unique 7
  8. 8.     Aussi dit « à clé secrète » Permet à partir d’une seul clé secrète de chiffrer et de déchiffrer des données Problème de distribution des clés (canaux sécurisés) Exigences:  Un algorithme de cryptage solide.  Une clé secrète partagée et connue entre l’émetteur et le récepteur.   Suppose que l’algorithme de cryptage est connu à l’avance Exemples :  Algorithmes : ROT13, DES, IDEA, AES  Taille des clés : 56-128-192-256-… bits 8
  9. 9. Transmission par canal sécurisé Clé Clé 01010000111 01010000111 Cryptanalyste 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é Émetteur Récepteur 9
  10. 10. Alice Milieu non sécurisé Bob Utilisation de la même clé de chiffrement par les deux interlocuteurs 10
  11. 11.  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. 11
  12. 12. Algorithme symétrique : 2 modes Mi-1 E Ci-1 Mi E Ci ECB Mode Mi-1 E Mi E CBC Mode  Chiffrement symétrique en stream  Chiffrement symétrique en bloc :  ECB : Electric Code Block  CBC : Cipher Block Chaining Ci-1 Ci 12
  13. 13.  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. 13
  14. 14.   Cette méthode correspond à substituer un caractère ou un groupe de caractères par un autre dans le texte à chiffrer. Plusieurs types de crypto-systèmes par substitution :  monoalphabétique (code César) consiste à remplacer chaque lettre du message par une autre lettre de l'alphabet  homophonique permet de faire correspondre à chaque lettre du message en clair un ensemble possible d'autres caractères c'est un peu similaire aux méthodes employées par les mordus de SMS ;  polyalphabétique (code Vigenère) consiste à utiliser une suite de chiffrement, monoalphabétique réutilisée périodiquement ;  polygrammes consiste à substituer un groupe de caractères (polygramme) dans le message par un autre groupe de caractères. 14
  15. 15.  Exemple: ROT13 (code de César sur Internet )  Site : http://www.apprendre-en-ligne.net/crypto/cesar/  Décalage de chaque lettre de l’alphabet latin de 13 lettres 15
  16. 16. Phase de déchiffrement Phase de chiffrement b aa tt ee aa u u b Message en clair a Clé de chiffrement Message en chiffré b c n o p n o n o … b b o m n z a b … x y z k l m g rr n h g n h 16
  17. 17.  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. 17
  18. 18.   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 Plaintext: a t t o s t d u n w o a Ciphertext: TTNA  2 5 6 7 a c k p p o n e t i l t m x y z APTM TSUO AODW COIX KNLY PETZ Cryptanalyse possible vue que l’algorithme préserve la fréquence de distribution des lettres du texte original. 18
  19. 19.  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). 19
  20. 20. Algorithme Nom et commentaires Type de chiffrement Longueur de Normalisé la clé DES Data Encryption Standard en bloc de 64 bits 56 bits IDEA International Algorithm, RC2 dévelopé par Ronald Rivest en bloc de 64 bits variable, 40 b.export. RC4 dévelopé par R. Rivest enfilé variable Non, mais divulgé sur 40/ 128 l’Internet en 1994 bits RC5 dévelopé par R. Rivest en bloc de 32, 64 ou variable 128 bits jusqu’à 2048 bits SKIPJACK Confidentiel développé aux États en bloc de 64 bits Unis par la NSA (National Security - Agence de sécurité Agency nationale des États Unis) pour des applications sur la carte PCMCIA Fortezza. Triple DES en bloc de 64 bits Data Encryption en bloc de 64 bits FIPS Pub 81,1981 ANSI X3.92, X3.105, X3.106 ISO 8372 ISO/IEC 10116 128 bits Non et propriétaire Non et propriétaire 80 bits Secret défence aux ÉtatsUnis 112 bits ANSI X9.52 20
  21. 21.  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²). 21
  22. 22. L’algorithme « Advanced Encryption Standard » 22
  23. 23.  DES pour « Data Encryption Standard ».    Introduit en 1977. Chiffrage symétrique par blocs Dérivé de l’algorithme Lucifer d’IBM  Fonctionne sur des blocs de 64 bits et des clés de 56 bits  Adapté aux besoins techniques de l’époque. Aujourd’hui les capacités et efficacités matérielles sont meilleures.  Matériel spécialisé peut déterminer une clé DES 56 bits en seulement quelques heures.  Besoin évident d’un nouveau standard de chiffrement. 23
  24. 24.  1997: NIST(National Institute of Standards and Technology) lance la sélection de l’Advanced Encryption Standard qui remplacera le DES  Sélection des algorithmes s’est faite par :      Sécurité prouvé contre des classes d’attaques Rapport coût-efficacité (matériel et logiciel) Architecture algorithmique Propriété intellectuelle Présenté sous forme de concours:     Deux tours de sélection 21 candidats (grandes entreprises, universitaires, et individus) 5 finalistes (MARS, RC6, Rijndael, Serpent, Twofish) Ouverture à la communauté par le biais de groupes de discussion et de conférences 24
  25. 25. Joan Daeman et Vincent Rijmen  Concepteurs belges:  Vincent Rijmen  Joan Daeman    Publié en 1998 Chiffrage symétrique par blocs Dérivé de l’algorithme Square (des mêmes concepteurs)  Le Rijndael: blocs de 128, 160, 192, 224 ou 256 bits, clé de 128, 160, 192, 224 ou 256 bits, et un nombre de rondes allant de 10 à 14.  L’AES est un sous-ensemble: blocs de 128bits, clés de 128, 192, 256 bits, et 10, 12 ou 14 rondes. 25
  26. 26. Taille clé (bits) Taille de bloc (bits) 128 192 256 A E S 256 10 128 192 12 14 12 12 14 14 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é 26
  27. 27. DES AES Taille de clé 56 bits 128, 192 ou 256 bits Type de chiffre Chiffre à bloc symétrique Chiffre à bloc symétrique Taille de bloc 64 bits 128, 192 ou 256 bits Résistance à 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 : 27
  28. 28. bloc départ Clé de chiffrage ronde initiale AddRoundKey AddRoundKey SubBytes SubBytes ShiftRows ShiftRows MixColumns MixColumns Le chiffrement se fait sur 10 rondes composées de 4 étapes. 9 rondes Clé de ronde n AddRoundKey AddRoundKey SubBytes SubBytes ShiftRows ShiftRows Clé de ronde 10 ronde finale AddRoundKey AddRoundKey bloc arrivé 0 ronde 10 9 7 4 3 2 8 6 5 28
  29. 29. Animation basée sur une réalisation d’Enrique Zabala. d4 19 e0 a0 b8 9a e9 1e d4 3d 27 bf f4 b4 c6 41 f8 e3 11 98 e2 8d 5d 48 52 be ae 2b f1 2a e5 08 30 S-BOX Substituer chaque élément du bloc de données par l’élément correspondant dans la table de substitution (notée S-Box) telles que définie par Rijndael. 29
  30. 30. Animation basée sur une réalisation d’Enrique Zabala. d4 e0 b8 1e 27 bf b4 41  Décalage d’un octet 11 98 5d 52  Décalage de 2 octets ae f1 e5 30  Décalage de 3 octets Effectuer un décalage cyclique sur chaque ligne en partant de la gauche, de 0 éléments pour la première ligne, puis 1 élément pour la deuxième, en incrémentant le nombre d’élément à chaque ligne. 30
  31. 31. Animation basée sur une réalisation d’Enrique Zabala. d4 e0 b8 48 28 1e bf b4 cb 41 f8 06 27 5d 52 19 d3 11 26 98 30 9a ae 7a f1 e5 4c 04 . = 66 81 e5 Multiplier chaque colonne du bloc par un polynôme de degré 3 modulo un polynôme de degré 4 (tous deux constants et inversibles, tels que définis par Rijndael), ce qui revient à faire une multiplication matricielle pour chacune des colonnes. 31
  32. 32. Animation basée sur une réalisation d’Enrique Zabala. 04 a4 68 e0 6b 48 02 28 a0 88 23 2a 66 9c cb 9f 5b f8 06 6a fa 54 a3 6c 81 7f 19 35 ea d3 26 50 fe 2c 39 76 e5 f2 2b 9a 43 7a 49 4c 17 b1 39 05 (XOR) Clé de ronde Application d’un XOR terme-à-terme avec la clé de ronde. 32
  33. 33. 2b 28 ab 09 a0 88 23 2a f2 7a 23 73 7e ae f7 cf fa 54 a3 6c c2 96 a3 59 15 d2 15 4f fe 2c 39 76 95 b9 39 f6 16 a6 88 3c 17 b1 39 05 f2 43 39 … 7f Clé de chiffrage Clé de ronde 1 09 88 54 e1 b6 14 ee 3f 63 f9 25 0c 0c 89 c8 a6 Clé de ronde 10 a0 84 cf c9 a8 Clé de ronde 2 d0 fa eb 4f = = 2c fe 01 3c b1 17 8a 01 Tableau de constantes de rondes 02 04 08 10 20 40 1b 80 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Animation basée sur une réalisation d’Enrique Zabala. 00 00 00 00 00 00 00 00 00 33
  34. 34.  Chiffrement de documents confidentiels  L’algorithme AES est utilisé pour protéger des documents confidentiels.  Voix sur IP: Skype The Committee on National Security Systems  “Skype uses AES (Advanced Encryption Standard), […] which is used by U.S. Government organizations to protect sensitive, information.”  WiFi: pour le WPA2 (norme IEEE 802.11i)  Utilise l’algorithme AES plutôt que RC4 (utilisé par WEP et WPA)  Compression de fichiers: WinRAR et WinZip 34
  35. 35.  NESSIE (New European Schemes for Signatures, Integrity and Encryption)  Standard définit par l’Union Européenne  CRYPTREC (Cryptography Research and Evaluation Committee)  Standard japonais  Recommandent tous deux l’utilisation de l’AES 35
  36. 36.  Attaque exhaustive (brute force) Key Size 1995 2005 2015 2030 40 bit key .2 seconds 2 milliseconds .02 milliseconds .02 microseconds 56 bit key 3.6 hours 1 second 1 millisecond 64 bit key 38 days 9 hours 5.5 minutes .3 seconds 80 bit key 7000 years 70 years 251 days 6 hours 112 bit key 10(13) years 10(11) years 10(9) years 10(6) years 128 bit key 10(18) years 10(16) years 10(14) years 10(11) years 2 minutes 36
  37. 37.  Attaques sur des versions simplifiées  Certaines attaques effectuées avec succès en réduisant le nombre de rondes à 7, 8, et 9 (en ajoutant une contrainte supplémentaire sur la clé) publiées en 2000  Attaques sur la version complète  Méthode XSL a suscité un débat au sein de la communauté de la cryptologie 37
  38. 38.  Publiée par Nicolas Courtois et Josef Pieprzyk en 2002 sousentend pouvoir casser AES.  Attaque porte sur l’architecture de chiffrage du Rijndael.  Si possible, est une « certificational weakness »: requiert un nombre trop important de ressources, donc ne pose (actuellement) pas de problème à la sécurité réelle d’un système.  Démontré en 2004 par Claus Diem comme ne pouvant pas casser l’AES. 38
  39. 39.  En 2004, lors de la conférence AES 4 à Bonn  Vincent Rijmen, co-concepteur du Rijndael: "The XSL attack is not an attack. It is a dream.“  Nicolas Courtois, auteur de la méthode XSL, répond: "It will become your nightmare". Sources : 39
  40. 40. 40
  41. 41. Cryptographie à double clés. 41
  42. 42.  Initié dans les années 70  Whyfield Diffie  Martin Hellman  Ralph Merkle  But : Permettre les échanges chiffrés sans entente préalable sur une clé commune 42
  43. 43.  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. 43
  44. 44.  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.  Exemples :  RSA (Rivest, Shamir & Adleman)  El-Gamal  Diffie-Hellman  ECC (Elliptic curve cryptography)… 44
  45. 45. 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 Internet Décryptage Texte clair Voici le numéro de ma carte de crédit 111111, ☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω‫٭‬ Texte crypté Émetteur Récepteur 45
  46. 46. 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 Internet Décryptage Voici le numéro de ma carte de crédit 111111, ☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω‫٭‬ Émetteur Texte clair Texte crypté Récepteur 46
  47. 47. AA AA Alice B B Milieu non sécurisé A B A B B B Bob 47
  48. 48.  Basé sur une paire de clés (publique et privée)  Fonction mathématique « à sens unique » liant l’une à l’autre  Multiplication vs. Factorisation  Exponentiation vs. Logarithme  Plus dur est l’opération inverse (« reverse ») par rapport à l’opération de base (« forward »), plus l’algorithme peut être qualifié de sûr 48
  49. 49.  Exemple Multiplication vs. Division :  165*285 = 47025  47025 = x * y ?  Exemple Exponentiation vs. Logarithme :  17^13 = 9904578032905937  logx 9904578032905937 = y ? 49
  50. 50.  3 utilisations :  Chiffrage / déchiffrage  Signature numérique (Digital Signature)  Echange de clé (Key Exchange)  Garantie :  Authentification  Confidentialité  Intégrité  Non-répudiation 50
  51. 51. Clé publique de Bob Clé publique de Bob Clé privée de Bob Clé privée de Bob  Alice peut verrouiller un message avec le cadenas de Bob  Seul Bob peut ouvrir le cadenas 51
  52. 52. Source : 52
  53. 53. Bob Alice From:Alice Bonjour Bob OK !! OK Signature 53
  54. 54. Alice Bob From:Alice Bob, tu es renvoyé Eve Signature Eve BAD! BAD! 54
  55. 55.  Permet la discussion sans accord préalable sur une clé commune  Peut être utilisé pour communiquer une clé de chiffrage symétrique de façon confidentielle (algorithmes symétriques plus efficaces) 55
  56. 56. « Elliptic Curve Cryptography » 56
  57. 57.  Idée d’utiliser les courbes elliptiques pour la cryptographie née en 1985  Victor Miller (IBM)  Neal Koblitz (University of Washington)   Libre, grand potentiel, mais trop lent Certicom N. Koblitz  Société Canadienne crée en 1985  Nouvelles implémentations des algorithmes ECC  Premier produit commercial basé sur ECC en 1997  Place prépondérante dans l’exploitation de l’ECC  En relation avec N. Koblitz 57
  58. 58.  Les courbes elliptiques sont définies sur tous les ensembles possibles (réels, complexes, entiers, …)  Equation d’une courbe Elliptique:  y² = x³ + ax + b 58
  59. 59. Exemples de courbes : Source : 59
  60. 60. Exemples de courbes : Source : 60
  61. 61.  Utilisé sur des groupes finis en cryptographie  Groupe mathématique doté de la loi + P+Q=R (Addition) 2P= R (Doublement) Source : 61
  62. 62.  Chiffrement / déchiffrement  ECIES : Elliptic Curve Integrated Encryption Scheme (El-Gamal )  Signature numérique (Digital Signature)  ECDSA : Elliptic Curve Digital Signature Algorithme  ECPVS : Elliptic Curve Pintsov Vanstone Signature  ECNR: Elliptic Curve Nyberg Rueppel  Echange de clé (Key Exchange)  ECDH : Elliptic Curve Diffie-Hellman  ECMQV : Elliptic Curve Menezes-Qu-Vanstone 62
  63. 63. Alice E(a,b,K) P kA = 2 PkA kAPkB Les valeurs utilisées ici sont très réduites afin de simplifier la compréhension et la lisibilité. -6P y 4P P kBPkA Pirate E(a,b,K) P 3P = PkB PkA PkB Bob E(a,b,K) P kB = 3 PkB x 2P = PkA Clé ??? 5P A et B calculent le produit de leur clé privée et de la clé publique de l’autre. Le résultat est identiqueB au hasard etsurclé et le domaine utilisé niveau A et A et B s’accordentA etla courbe utiliséd’origineclé pour l’échange. B choisissent calculentB unes’échangent leur cléselonpour Pk.de sécurité. A et Bpour sur puissera point comme de l’échange. A et s’accordent le privée de x bits publique l’échange. 6P = kBPkA = kAPkB 63
  64. 64. Source : 64
  65. 65.  La difficulté de casser l’algorithme est basée sur le problème des logarithmes discrets (DLP)  Pour l’ECC, rallonger la clé permet d’augmenter le temps de cassage de tn  En comparaison RSA (Factorisation), DSA (Petit Théorème de Fermat), Diffie-Hellman (DLP) le temps augmente de t√n 65
  66. 66. Source : 66
  67. 67.  Pollard-Rho (le plus efficace)  Baby-step giant-step  Pohlig Hellman’s reduction  Xedni  Attaque exhaustive (Brute force) 67
  68. 68.  ECC-224 plus rapide que RSA-1024 Sources : 68
  69. 69.  Parfait pour périphériques mobiles  Facile à gérer en hardware  Clés réduites, réduit bande passante  Faible consommation (chaleur, batterie)  Intérêts serveurs  Faible consommation de ressource système (plus de requêtes satisfaites)  Consommation électrique réduite  Cryptographie conçue pour durer 69
  70. 70.  Motorola  Alcatel-Lucent :Certicom's technology enables operators to offer virtual private network (VPN) solutions to the growing base of DSL users  RIM : large-scale deployment of Certicom's high-performance, highly efficient ECC within its secure wireless devices  NSA 70
  71. 71.  Le « ECC/TLS Interoperability Forum » a été créé en 2006 pour promouvoir l’usage de l’ECC dans le cadre du protocole HTTPS. Les membres actuels sont des représentants de Apache/OpenSSL, Certicom, IBM, Microsoft, Mozila/Firefox, NSA, Red Hat, RSA, Sun et Verisign. 71
  72. 72. 72
  73. 73. Fin de présentation. 73

×