73
Présentation de Ghazel Hanen 1

Le chiffrement

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Le chiffrement

Présentation de

Ghazel Hanen

1

Page 2: Le chiffrement

2

Page 3: Le chiffrement

3

Page 4: Le chiffrement

4

Page 5: Le chiffrement

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.

5

Confidentialité

Non Répudiation

Intégrité

Authentification

Page 6: Le chiffrement

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

Page 7: Le chiffrement

Cryptographie à clé unique

7

Page 8: Le chiffrement

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

Page 9: Le chiffrement

9

Voici le numérode ma carte de crédit 111111,

Texte clair

Clé01010000111

Clé01010000111

ÉmetteurRécepteur

Voici le numérode ma carte de crédit 111111,

Texte clairCryptage Décryptage

♠♣◊€£¥₪Ω٭

Texte crypté

Internet

Transmission par canal sécurisé

Cryptanalyste

Page 10: Le chiffrement

Milieu non

sécuriséBobAlice

Utilisation de la même clé de chiffrement par les deux

interlocuteurs10

Page 11: Le chiffrement

Cryptage par flux (Stream Cipher) Principe: 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: 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

Page 12: Le chiffrement

Algorithme symétrique : 2 modes

12

Chiffrement symétrique en stream

Chiffrement symétrique en bloc :

ECB : Electric Code Block

CBC : Cipher Block Chaining

EMi-1 Ci-1

EMi Ci

ECB Mode

EMi-1 Ci-1

EMi Ci

CBC Mode

Page 13: Le chiffrement

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

Page 14: Le chiffrement

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

Page 15: Le chiffrement

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

Page 16: Le chiffrement

n o p k l m

tt ee aa uu

gg rr nn hh

a b c x y z

Message en clair

Clé de chiffrement

Message en chiffré

bb aa

oonn

z a bm n o

…bb

tt ee aa uuaa

16

Phase de chiffrement

Phase de déchiffrement

Page 17: Le chiffrement

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

Page 18: Le chiffrement

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 colonnesKey: 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.

18

Page 19: Le chiffrement

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

Page 20: Le chiffrement

20

Algorithme Nom et commentaires Type de chiffrement Longueur de

la clé

Normalisé

DES Data Encryption Standard en bloc de 64 bits 56 bits FIPS Pub 81,1981 ANSIX3.92, X3.105, X3.106ISO 8372 ISO/IEC10116

IDEA International Data EncryptionAlgorithm,

en bloc de 64 bits 128 bits

RC2 dévelopé par Ronald Rivest en bloc de 64 bits variable,40b.export.

Non et propriétaire

RC4 dévelopé par R. Rivest enfilé variable40/ 128bits

Non, mais divulgé surl’Internet en 1994

RC5 dévelopé par R. Rivest en bloc de 32, 64 ou128 bits

variablejusqu’à2048 bits

Non et propriétaire

SKIPJACK Confidentiel développé aux ÉtatsUnis par la NSA (National SecurityAgency - Agence de sécuriténationale des États Unis) pour desapplications sur la carte PCMCIAFortezza.

en bloc de 64 bits 80 bits Secret défence aux États-Unis

Triple DES en bloc de 64 bits 112 bits ANSI X9.52

Page 21: Le chiffrement

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²).

Page 22: Le chiffrement

L’algorithme « Advanced Encryption Standard »

22

Page 23: Le chiffrement

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

Page 24: Le chiffrement

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

Page 25: Le chiffrement

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.

Joan Daeman et Vincent Rijmen

25

Page 26: Le chiffrement

26

Taille clé

(bits)

Taille de bloc (bits)

128 192 256

128 10 12 14

192 12 12 14

256 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é

AES

Page 27: Le chiffrement

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

Source :* - 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.

Page 28: Le chiffrement

AddRoundKeyAddRoundKey

SubBytesSubBytes

ShiftRowsShiftRows

AddRoundKeyAddRoundKey

SubBytesSubBytes

ShiftRowsShiftRows

MixColumnsMixColumns

AddRoundKeyAddRoundKey

12345678910

ronde

ronde initiale

9 rondes

ronde finale

0

Clé de chiffrage

Clé de ronde n

Clé de ronde 10

Le chiffrement se fait sur 10 rondescomposées de 4 étapes.

28

bloc départ

bloc arrivé

Page 29: Le chiffrement

19 a0

3d f4

e3 e2

be 2b

9a e9

c6 f8

8d 48

2a 08

d4 e0

27 bf

11 98

ae f1

b8 1e

b4 41

5d 52

e5 30

19d4

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

Animation basée sur une réalisation d’Enrique Zabala.

Page 30: Le chiffrement

d4 e0 b8 1e

Décalage d’un octet

Décalage de 2 octets

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

Animation basée sur une réalisation d’Enrique Zabala.

bf 4127 b4

11 98 5d 52

ae f1 e5 30

Page 31: Le chiffrement

e0

b4

52

ae

b8

41

11

f1

1e

27

98

e5

=

04

66

81

e5

.d4

bf

5d

30

e0

cb

19

9a

48

f8

d3

7a

28

06

26

4c

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

Animation basée sur une réalisation d’Enrique Zabala.

Page 32: Le chiffrement

04

66

81

e5

e0

cb

19

9a

48

f8

d3

7a

28

06

26

4c

a0

fa

fe

17

88

54

2c

b1

23

a3

39

39

2a

6c

76

05

Clé de ronde

(XOR)

a4

9c

7f

f2

68

9f

35

2b

6b

5b

ea

43

02

6a

50

49

Application d’un XOR terme-à-terme avec la clé de ronde.

32

Animation basée sur une réalisation d’Enrique Zabala.

Page 33: Le chiffrement

Clé de chiffrage

Clé de ronde 2

Clé de ronde 10

Clé de ronde 1

…cf

09

ae f7

28

ab

7e

2b

4fd2

15

15

3c

a6

88

16

01000000

02000000

04000000

08000000

10000000

20000000

40000000

1b000000

80000000

36000000

fa

a0

fe

17

54

88

2cb1

a3

23

3939

6c

2a

7605

c2

f2

95

f2

96

7a

b943

a3

23

3939

59

73

f6

7f

14

d0

f9

a8

ee

c9

25

89

3f

e1

0cc8

63

b6

0c

a6

09

cf

4f

3c

84eb01

7e

2b

1516

ae

28

d2a6

fa

a0

fe

17

54

88

2cb1

8a

cf

09

4f

3c

==

Tableau de constantes de rondes

33

Animation basée sur une réalisation d’Enrique Zabala.

Page 34: Le chiffrement

Chiffrement de documents confidentiels L’algorithme AES est utilisé pour protéger des

documents confidentiels.

Voix sur IP: Skype “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

The Committee on National Security

Systems

34

Page 35: Le chiffrement

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

Page 36: Le chiffrement

Key Size 1995 2005 2015 2030

40 bit key .2 seconds 2 milliseconds .02 milliseconds .02 microseconds

56 bit key 3.6 hours 2 minutes

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

36

Attaque exhaustive (brute force)

Page 37: Le chiffrement

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

Page 38: Le chiffrement

Publiée par Nicolas Courtois et Josef Pieprzyk en 2002 sous-entend 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

Page 39: Le chiffrement

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

Page 40: Le chiffrement

40

Page 41: Le chiffrement

Cryptographie à double clés.

41

Page 42: Le chiffrement

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

Page 43: Le chiffrement

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

Page 44: Le chiffrement

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

Page 45: Le chiffrement

45

Cryptage Internet

Internet

DécryptageVoici le numérode ma

carte de crédit

111111,

♠♣◊€£¥₪Ω٭

Texte clair

Clé publiquedu récepteur

Clé privéedu récepteur

Émetteur Récepteur

Voici le numérode ma

carte de crédit

111111,

Texte clair

Texte crypté

Scénario: confidentialité

Page 46: Le chiffrement

46

Cryptage Internet

Internet

DécryptageVoici le numérode ma

carte de crédit

111111,

♠♣◊€£¥₪Ω٭

Texte clair

Clé privéede l’émetteur

Clé publiquede l’émetteur

ÉmetteurRécepteur

Voici le numérode ma

carte de crédit

111111,

Texte clair

Texte crypté

Scénario: authenticité de l’émetteur et non répudiation d’envoi

Page 47: Le chiffrement

Milieu non

sécuriséAA AA BBBBAA BB

BobAlice

47

Page 48: Le chiffrement

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

Page 49: Le chiffrement

Exemple Multiplication vs. Division : 165*285 = 47025 47025 = x * y ?

Exemple Exponentiation vs. Logarithme : 17^13 = 9904578032905937 logx 9904578032905937 = y ?

49

Page 50: Le chiffrement

3 utilisations : Chiffrage / déchiffrage Signature numérique (Digital Signature) Echange de clé (Key Exchange)

Garantie : Authentification Confidentialité Intégrité Non-répudiation

50

Page 51: Le chiffrement

Clé publique de BobClé publique de Bob Clé privée de BobClé privée de Bob

Alice peut verrouiller un message avec le cadenas de Bob

Seul Bob peut ouvrir le cadenas51

Page 52: Le chiffrement

Source :

52

Page 53: Le chiffrement

From:AliceBonjour

BobSignature

From:AliceBonjour

Bob

BobAlice

Signature

OK !OK !

53

Page 54: Le chiffrement

From:AliceBob, tu es renvoyé

Signature Eve

From:AliceBob, tu es renvoyé

Bob

Alice

Signature Eve

BAD!BAD!

Eve54

Page 55: Le chiffrement

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

Page 56: Le chiffrement

« Elliptic Curve Cryptography »

56

Page 57: Le chiffrement

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

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

N. Koblitz

57

Page 58: Le chiffrement

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

Page 59: Le chiffrement

Source :

Exemples de courbes :

59

Page 60: Le chiffrement

Source :

Exemples de courbes :

60

Page 61: Le chiffrement

Utilisé sur des groupes finis en cryptographie

Groupe mathématique doté de la loi +

Source :

P + Q = R(Addition)

2P= R(Doublement)

61

Page 62: Le chiffrement

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

Page 63: Le chiffrement

P

BobAliceE(a,b,K)

kBPkA

PkA = 2

E(a,b,K)PkB = 3

kAPkB

PkA PkB

2P = PkA

3P = PkB

4P

5P

-6P

6P = kBPkA = kAPkB

PkA PkB

PirateE(a,b,K)PPkA

PkB

Clé ???

63

y

x

A et B s’accordent sur la courbe et le domaine utilisé pour l’échange.A et B s’accordent sur le point d’origine de l’échange.A et B choisissent au hasard une clé privée de x bits selon niveau de sécurité.

A et B calculent puis s’échangent leur clé publique Pk.

A et B calculent le produit de leur clé privée et de la clé publique de l’autre. Le résultat est identique pour A et B et sera utilisé comme clé pour

l’échange.

Les valeurs utilisées ici sont très réduites afin de simplifier la compréhension et la lisibilité.

Page 64: Le chiffrement

Source :

64

Page 65: Le chiffrement

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

Page 66: Le chiffrement

Source :

66

Page 67: Le chiffrement

Pollard-Rho (le plus efficace)

Baby-step giant-step

Pohlig Hellman’s reduction

Xedni

Attaque exhaustive (Brute force)

67

Page 68: Le chiffrement

ECC-224 plus rapide que RSA-1024

Sources :

68

Page 69: Le chiffrement

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

Page 70: Le chiffrement

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

NSA70

Page 71: Le chiffrement

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.

Page 72: Le chiffrement

72

Page 73: Le chiffrement

Fin de présentation.

73