Eléments de cryptographie Cryptographie. Présentation En 2012, la cryptologie joue un rôle...

Preview:

Citation preview

Eléments de cryptographie

Cryptographie

Présentation

En 2012, la cryptologie joue un rôle fondamental dans l'ensemble des activités humaines liées à l'utilisation des NTIC. Elle permet d'assurer : Confidentialité, Intégrité Authentification

qui sont nécessaires à l'activité économique et au commerce.

Plan Vocabulaire Historique Stéganopraphie Généralités Cryptographie symétrique

Chiffrement par blocs Chiffrement par flots

Cryptographie asymétrique Fonctions de hachage Cryptographie hybride Conclusion

Vocabulaire - I

Nécessité de préciser le sens de certains termes en raison d'une certaine confusion et des multiples anglicismes utilisés :

chiffrement : transformation à l'aide d'une clé de chiffrement d'un message en clair en un message incompréhensible si on ne dispose pas d'une clé de déchiffrement (en anglais encryption) ;

Vocabulaire - II

chiffre : anciennement code secret, par extension l'algorithme utilisé pour le chiffrement ;

cryptogramme : message chiffré décrypter : retrouver le message clair

correspondant à un message chiffré sans posséder la clé de déchiffrement (terme que ne possèdent pas les anglophones, qui eux « cassent » des codes secrets) [1];

Vocabulaire - III cryptographie : étymologiquement « écriture

secrète », devenue par extension l'étude de cet art (donc aujourd'hui la science visant à créer des cryptogrammes, c'est-à-dire à chiffrer) ;

cryptanalyse : science analysant les cryptogrammes en vue de les décrypter ;

cryptologie : science regroupant la cryptographie et la cryptanalyse.

Vocabulaire - IV

le terme « crypter » n'a pas de raison d'être : le couple chiffrer/déchiffrer et le sens du mot « décrypter » vont dans le sens de l'Académie française qui précise que le mot est à bannir et celui-ci ne figure pas dans son dictionnaire, en tout cas pas dans le sens où on le trouve en général utilisé.

Cryptograpie – Historique 1

Plus vieux document chiffré : XVIeme siècle av. JC. en Irak – recette secrete en supprimant consonnes et lettres

Grèce : Xe et XXIe siècle – utilisation de la cytale – transposition avec bande de cuir enroulée sur un baton

Hébreux : transpositions de lettre

Cryptographie – Historique - 2

Code de César : substitution alphabétique => décalage de x caractères (3 pour César) - ROT13

Faible sécurité : analyse statistique sur les fréquences de lettres

Modification => substitution polyalphabétique => la position de chaque lettre correspond à un alphabet de déchiffrement

Cryptographie – Historique - 3

Carré de Polybe : chaque lettre est remplacée par sa position dans un carré

Chiffre de Vigenere – 1586 : utilisation d'une clé permettant de se repérer dans un tableau de lettres 26 x 26 : la lettre de la clé donne la colonne, celui du texte donne la ligne Chiffrement et déchiffrement simples Peu sensible à l'analyse de fréquence des lettres Cassé au XIXe par Ch. Babbage (1850)

Cryptograpie – Historique - 4

La machine Enigma 1920 Utilisée par l'armée allemande Subsitution polyalphabétique -(rotors) Transposition élémentaires (connectors) 1016 possibilités (très élevé pour l'époque) Cassée par l'équipe d'Alan Turing en 1945 à

Bechley Park à l'aide de Colossus (1er ordinateur) de même que le code Lorenz utilisée par la hiérarchie allemande.

Cryptograpie – Historique - 4

Les Navajos - 1944 : WindTalkers Années 60 : utilisation des ordinateurs 1975 : algorithme DES 1976 : Diffie Hellman : idée de la cryptographie

à clé publique 1977 : mise en oeuvre cryptographie à clé

publique RSA - Rivers Shamir et Adleman

La stéganographie cryptographie : art du secret stéganographie : art de la dissimulation. On

s'efforce de rendre le message inaperçu Hérodote : tablette de bois gravée puis recouverte

de cire, tatouage sur le crâne micro point des services secrets allemands en

1939-1945 correspondance G. Sand Alfred de Musset

La stéganographie transport d'un message dans une image :

bits de poids faible (format BMP) modification de la compression (JPEG) modification de la palette (GIF et PNG)

transport d'un message dans un son : bits peu significatifs (MP3) changement de pistes (MIDI)

utilisable pour le tatouage des documents (Watermarking)

Principe de Kerchoff

Auguste Kerchoff (1883) La cryptographie militaire « l'algorithme de chiffrement doit pouvoir tomber

sans inconvénients aux mains de l'ennemi » la force du chiffrement réside sur la clé, en effet :

la confidentialité de l'algorithme est difficile à garantir. le caractère public de l'algorithme améliore ses qualités

intrinsèques

Types d'attaque

Attaque en aveugle (exhaustive ou « brute force »).

Attaque à clairs connus. Attaque à clairs choisis. Attaque à clairs choisis adaptatifs. Attaque à chiffrés choisis. Attaque à clé choisie.

L’attaque en force brute Dite encore « attaque en aveugle » ou attaque

exhaustive Consiste à essayer toutes les combinaisons de

clés Prend habituellement un temps considérable à

moins qu’une faiblesse soit découverte

Les rainbow tables Appelées tables arc en ciel ensemble de pairs mot de passe /empreinte

précalculées (120 Go pour Windows) permettant de trouver rapidement un mot de passe du fait de l'absence de « salage »

Un même mot de passe produit toujours la même empreinte

RainbowCrack, ophtcrack exemples : empreintes LM/NTML pour Windows ophtcrack

Attaque par dictionnaire

consiste à tester un grand nombre de mots choisis dans un dictionnaire adapté au contexte

John the Ripper

Cryptographie symétrique

on utilise le même algorithme pour chiffrer et déchiffrer

également appelée cryptographie à clé secrète impose l'existence d'un secret partagé

Crytographie – Les clés plus la clé est longue, plus l'algorithme est

résistant à une attaque exhaustive : clé de n bits => en moyenne 2 n-1 essais pour

trouver la bonne clé AES : 128 bits => 2128 clés possibles ~ 3,4 1038

La sécurité provient de la complexité et du temps nécessaire pour explorer l'espace de clés.

Algorithmes basés sur des propriétés mathématiques qui peuvent être évaluées précisément (nombre premiers, factorisation, .)

Crytographie – Chiffre de Vernam Masque jetable – chiffre de Vernam clé totalement aléatoire de longueur égale à

celle du message (Gilbert Vernam – 1917) utilisée une seule fois => système parfaitement sûr

Le chifrement/déchiffrement se fait par Ou Exclusif (XOR)

Problème : la clé fait la même longueur que le messages => clé de 20 Mo

Crytographie – Chiffre de Vernam - suite

One Time Password : clé à usage unique : téléphone rouge Maison Blanche – le Kremlin Problème : gestion du dictionnaire de clés lourde et

complexe

Crytographie – Les tours

le chiffrement est fait en utilisant deux transformation (permutation et substitution). Un tour (round) consiste à effectuer les deux.

nombre de tours élevé => plus grande sécurité au prix d'une plus grande charge de calcul => lenteur (cf. AES/DES)

la valeur de l'algorithme est toutefois plus importante que le nombre de tours

Cryptographie symétrique – II

Transposition : Permutation (P-BOX). Opérations mathématiques : x3 mod pq, ...

Substitution (S-BOX): Tableaux indexés (n x m). Opérations binaires : XOR, ...

Chiffrement par blocs

les données sont traitées par bloc de taille (habituellement fixe) d'une puissance de 2 comprise entre 32 et 512

quleques exemples d'algorithmes de chiffrement par blocs : DES, AES, Blowfish, TwoFish

un chiffrement par bloc peut être utilisé comme fonction de hachage

Cryptographie symétrique : DES - I Data Encryption Standard - 1977 1er algorithme de chiffrement pour l’industrie. Standard américain FIPS 46-2. Principes de base :

Produit de substitutions/transpositions. blocs de 64 bits clé de 56 bits 16 tours

Cryptographie symétrique : DES - II 255 opérations nécessaires Bilan

lenteur d'exécution espace de clé trop petit => attaque en un temps

raisonnable on utilise maintenant le Triple DES, IDEA ou AES

Cryptographie symétrique : Triple DES

ou 3DES 3 applications successives de l'algorithme DES

avec 2 ou 3 clés différentes. force de la clé : 112 et non 168 48 tours !!! assez lent et remplacé par AES

Cryptographie symétrique : AES

Advanced Encryption Standard choisi en 2000 par le NIST utilise l'algorithme Rijndael conçu par Joan

Daemen et Vincent Rijmen, Fonctionnement

bloc de 128 bits clé : 128, 192 ou 256 bits.

Pour une clé de 128, 192 ou 256, AES nécessite respectivement 10, 12 ou 14 tours.

Cryptographie symétrique : AES – II

il n'a pas été cassé la seule méthode est la « force brute ».

L'algorithme Rijndael a été conçu de telle manière à rendre des méthodes classiques comme la cryptanalyse linéaire ou différentielle très difficiles.

les recommandations de la NSA documents secret : 128, 192 ou 256 bits documents très secrets : 192 ou 256 bits

Cryptographie symétrique : Blowfish

conçu par Bruce Schneier en 1993 Taille du bloc : 64 bits Longueur clé : 32 à 448 bits (par tranche de 8

bits) 16 tours 5 fois plus rapide que 3DES utilisé dans de nombreux logiciels propriétaires

et libres (GnuPG et OpenSSH)

Cryptographie symétrique : Blowfish – II

pas de vulnérabilité importantes décelées à ce jour

seule attaque possible : exhaustive

Cryptographie symétrique : Twofish conçu par Bruce Schneier, Niels Ferguson,

John Kelsey, Doug Whiting, David Wagner et Chris Hal en 2000

Taille du bloc : 128 bits Longueur clé : 128, 192, 256 bits 16 tours parmi les 5 finalistes du concours AES

Cryptographie symétrique : Twofish

assez rapide conçu pour être utilisé dans les cartes à puces

et les systèmes embarqués attaque : exhaustive

Cryptographie symétrique : IDEA International Data Encryption Algorithm 1991 Blocs de 64 bits Clé de 128 bits 8,5 tours Très sûr – breveté par Médiacrypt

Chiffrement par flot

utilise un générateur de nombre pseudo-aléatoires sur lequel on opère un XOR (⊕ bit à bit avec le flux de données

Chiffrement du message M avec la clé K : M ⊕ K = C

Déchiffrement du message C avec la clé K : C ⊕ K = (M ⊕ K) ⊕ K = M ⊕(K ⊕ K) = M

Exemples : RC4, A5 (GSM), E0 (BlueTooth)

Générateur de nombres pseudo aléatoires Algorithme génerant des nombres présentant les

caractéristiques du hasard. En cryptographie, il doit être proche de l'aléas

parfait et résister à des analyses statistiques permettant de prédire la suite

Quelques noms Yarrow (utilisé par /dev/urandom dans Mac OsX) Fortuna Blum Blum Shub ISAAC

Générateur de nombres pseudo aléatoires - II

Un générateur peut utiliser le désordre d'un système (mouvements souris, clavier, ...) comme source d'aléa et à envoyer le résultat à une fonctionne de hachage comme MD5 ou SHA-1

Cryptographie symétrique : RC4

Ronald's Code 4 concu par Ronald Rivest de RSA Security en

1987 – marque déposée mais algo non breveté utilisé dans SSL ou WEP générateur de bits pseudo-aléatoires dont le

résultat est combiné avec le texte en clair via une opération XOR, le déchiffrement se fait de la même manière .

Utilise une permutation de tous les octets et des pointeurs d'index

Cryptographie symétrique : RC4 - II

La permutation est initialisée grâce à la clé de taille variable, typiquement entre 40 et 256 bits, grâce au key schedule (génération de sous-clé) de RC4.

peu sûr au point de vue cryptographique => attaque WEP

Cryptographie symétrique : RC5

chiffrement par bloc, évolution de RC4 blocs de 32, 64 ou 128 bits taille de clé : de 0 à 2048 (multiple de 8) 1994 de 1 à 255 tours (12 à l'origine)

Cryptographie symétrique : Shacal

Chiffrement symétrique par blocs basé sur des fonctions de type SHA-1

Gemplus (cartes à puce) Taille bloc :64 bits Clé : 128 à 512 bits 80 tours

Crytographie asymétrique : Diffie Hellman

Whifield Diffie et Martin Hellman : inventeurs de la cryptographie à clé publique – 1976

Idée décrite mais pas de dipositif développé

Crytographie asymétrique

également appelée cryptographie à clé publique

Algorithmes lents utilisés seulement pour les échanges de clés et non pour le flot de données

Crytographie asymétrique : RSA

algorithme de cryptographie asymétrique à clé publique développé par Rivest Shamir Adelman (1977) – breveté et tombé dans le domaine public en 2000

utilisation d'une paire de clés publique pour chiffrer privée pour déchiffrer

Permet d'assurer l'authentification

Crytographie asymétrique : RSA - II

Utilise les propriétés des factorielles (très difficile à casser), le petit théorème de Fermat et des tests de primalité

Pb : factoriser rapidement un grand nombre Cryptanalisé depuis 25 ans : pas de failles Plus grand nombre factorisé : 663 bits en 2005 Clés RSA : entre 1024 et 2048 bits Utilise par de nombreuses application SSL,

SSH

Crytographie asymétrique : El Gamal

conçu par Taher El Gamal basé sur les logarithmes discrets utilisé pour le chiffrement et la signature

électronique utilisation libre utilisé dans GnuPG et PGP

Crytographie asymétrique : DSA

Digital Signature Algorithm – 1993 algorithme de signature électronique Utilisée par les Etats Unis (NIST) à l'époque

où RSA était breveté peut être utilisé gratuitement

Les fonctions de hachage - I un fonction de hachage est une fonction qui fait

subir une succession de traitements à une donnée en entrée pour en produire une « empreinte » servant à identifier la donnée initiale.

Les fonctions de hachage sont très utiles en cryptographie où elles sont utilisées pour chiffrer une donnée initiale sans que l'opération inverse de décryptage soit possible, à moins d'essayer une attaque exhaustive

Les fonctions de hachage – II

fonction non injective petite modification sur l'entrée => gros effet sur

l'empreinte (effet avalanche) éviter les collisions problème : même entrée => même empreinte :

utilisation d'un sel aléatoire ajouté à l'entrée pour changer l'empreinte

Les fonctions de hachage – III

le sel permet de lutter contre les attaques par dictionnaire et par rainbow table (passwd Linux).

Exemples de fonctions de hachage : MD5, SHA-1, SHA-256, SHA-512, Whirlpool, Tiger

Les fonctions de hachage : MD5 Message Digest 5 inventé par Donald Rivest pour améliorer MD4

(utilisé pour les mdp Windows) permet d'obtenir une empreinte numérique de

128 bits (32 caractères) faille grave découverte en 1996, il n'est plus

considéré comme sûr au niveau cryptographique

cassé en 2004 par des chercheurs chinois : création de collisions complètes

Les fonctions de hachage : MD5 - Suite remplacé par SHA-1 et ses variantes décrit dans la RFC 1231 encore utilisé pour la vérification d'intégrité de

transferts de fichier (FTP, ...) Ex md5 de la chaine « Salut » :

1560c8afac2fa4c0b61d6b7774406c8bpour la chaine « salut «  , on obtient :6aba532a54c9eb9aa30496fa7f22734d

sous Linux, la commande md5sum permet de calculer l'empreinte

Les fonctions de hachage : SHA-1

Secure Hash Algorithme 1 conçue par la NSA produit un hash ou condensat de 160 bits possibilité de trouver une collision complète

avec 263 opérations (à la limite du faisable) plus lent que MD5 de plus en plus remplacée par SHA-256 et

SHA-512 plus robustes

Code d'authentification de message appelé CAM ou HMAC (keyed-hash message

authentication code) semblable à une empreinte de hachage mais

utilise en plus une clé secrète Le CAM assure que le message est inchangé

(intégrité) et vient de l’expéditeur (authentification, par l’utilisation de la clé secrète).

Exemple : HMAC-MD5, HMAC-SHA1

Cryptographie hybride ou mixte utilise les deux familles d'algorithmes :

symétrique et asymétrique crypto. symétrique : rapide mais nécessite un

secret partagé. Comment transmettre la clé ? on utilise la cryptographie asymétrique qui permet

l'authentification pour le transfert de la clé Une clé aléatoire est générée pour un algorithme

symetrique (AES, 3DES, ...), elle sera utilisé ensuite pour chiffrer le message.

Cette clé est crypté grâce à la clé publique du destinataire (RSA, Diffie Hellman)

Cryptographie hybride ou mixte - suite

On envoie donc le message chiffré avec l'algorithme symetrique accompagné de la clé chiffrée correspondante.

Le destinataire déchiffre le message avec sa clé privée puis dechifre le message grace à la clé symétrique.

Le transfert se fait en chiffrement symétrique plus rapide

En conclusion

Algorithme secret ≠ sécurité élevée. Au contraire ...

Rien n’est acquis en cryptographie. Taille de clé variable adaptée à l'état de la

technique. « Seuls les paranoïaques survivent »...

... peut-être !

Recommended