34
Introduction à la cryptographie Chapitre II

FireWall-1 Product Presentationpeople.coins-lab.org/ocheikhrouhou/enseignement/securite-reseaux/... · 3 Terminologie(1) La cryptologie est une science qui comporte deux branches

  • Upload
    dokhue

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Introduction à la cryptographie

Chapitre II

PLAN

1. Terminologie

2. Chiffrement symétrique

3. Chiffrement asymétrique

4. Fonction de hachage

5. Signature numérique

6. Scellement

7. Echange de clés

8. Principe Diffie Helman

9. Distribution des clés publique et Certificat

10. Conclusion

2

3

Terminologie(1)

La cryptologie est une science qui comporte deux branches la

cryptographie et la cryptanalyse:

La cryptographie traditionnelle est l’études des méthodes permettant de

transmettre des données d’une manière confidentielle

Afin de protéger un message on lui applique une transformation qui le

rend incompréhensible;

Dans la cryptographie moderne les transformations en question

sont des fonction mathématiques, appelées algorithmes

cryptographiques, qui dépendent d’un paramètre appelé clef.

4

Terminologie(2)

Le chiffrement, est l’action qui à partir d’un texte en clair donne un texte

chiffré ou un cryptogramme

Inversement le déchiffrement et l’action qui permet de

reconstruire le texte en clair à partir d’un texte chiffré

En anglais:

Chiffrement Encryption

DéchiffrementDecryption

5

La cryptanalyse est l’études des procédés cryptographique dans

le but de trouver des faiblesses et en particulier de pouvoir

décrypter des textes chiffrés.

Le décryptement est l’action consistant à retrouver le texte en

clair sans connaître la clé de déchiffrement.

Terminologie(3)

6

Terminologie(4)

Historique

Les premiers techniques de cryptographie

8

Objectifs de la cryptographie moderne

offrir d’autre services pour la sécurité des communications tels

que:

la confidentialité

l’ intégrité

L’authentification de l’origine des données

Pour cela , on utilise un certain nombre de mécanismes basés

sur des algorithmes cryptographiques

9

Principe du chiffrement symétrique

Dans la cryptographie conventionnelle, les clés de chiffrement et

de déchiffrement sont identiques:

La clé secrète est connue seulement par les tiers communiquant

Le procédé de chiffrement est dit symétrique

10

Avec les algorithmes asymétriques, les clés de chiffrement et de déchiffrement

sont distinctes et ne peuvent se déduire l’une de l’autre.

Idée: On peut donc rendre l’une des deux publique tandis que l’autre reste

privé. C’est pourquoi on parle de chiffrement à clef publique.

Si la clé publique sert au chiffrement tout le monde peut chiffrer un

message, que seul le propriétaire de la clé privée pourra déchiffrer

on assure la confidentialité.

Certains algorithmes permettent d’utiliser la clé privée pour chiffrer. Dans ce

cas n’importe quels pousseurs de clé publique peut déchiffrer

Cela permet donc la signature de messages.

Principe du chiffrement asymétrique(1)

11

Principe du chiffrement asymétrique(2)

12

Le concept de cryptographie à clé publique a été inventé par

Whifield Diffie et Martin Hellman en 1976, dans le but de

résoudre le problème de distribution des clés posé par la

cryptographie à clés secrètes

de nombreux algorithmes permettant de réaliser un crypto-

système à clé publique ont été proposés depuis

Ils sont le plus souvent basés sur des problèmes mathématiques

difficiles à résoudre, donc leur sécurité est conditionnée par ces

problèmes mathématiques difficiles à résoudre

N.B. Si quelqu’un trouve un jour le moyen de simplifier la résolution

d’un de ces problèmes, l’algorithme correspondant s’écroulera

Historique du chiffrement asymétrique

13

Tous les algorithmes actuels présentent l’inconvénient d’être

plus lents que les algorithmes à clé secrète;

ils sont souvent utilisés non pour chiffrer directement des

données, mais pour chiffrer une clé de session secrète

Certains algorithmes asymétriques ne sont adaptés qu’au

chiffrement, tandis que d’autres ne permettent que la signature,

Les algorithmes sont utilisables à la fois pour le chiffrement et

pour la signature: RSA, ELGamal, Rabin, ECC

Utilisation du chiffrement asymétrique

14

Exemple de combinaison chiffrement symétrique et asymétrique

15

Fonction de hachage ou condensation (1)

Fonction qui convertit une chaîne de longueur quelconque en une chaîne de taille inférieure et généralement fixe

La chaîne résultante est appelée empreinte ou condensé de la chaîne initiale

La fonction de hachage est à sens unique

Facile à calculer (produire l’empreinte)

Difficile à inverser (déduire la ou les chaînes d’une empreinte donnée)

On exige à ce que la fonction soit sans collision c.a.d trouver deux messages ≠ avec la même empreinte

16

Principe du hachage

La plus part des fonction de hachage sont construites par

itération d’une fonction de compression:

Le message M est décompsé en N blocs m1,m2,m3…mn,

puis une fonction de compression f est appliquée à chaque

bloc et au résultat de la compression du bloc précédent

l’empreinte h(M) est le résultat de la dernière compression

Fonction de hachage (2)

17

Algorithme de hachage

MD5 (Message Digest 5)

Enpreinte de 128 bits

SHA(Secure Hash Algorithm)

Empreinte 160

SHA-1 révision publiée en 1994,

considéré plus sûr que MD5

SHA-2 (Octobre 2000) agrandit la taille de l’empreinte

Fonction de hachage (3)

18

La signature numérique(1)

Définition:

La norme ISO 7498-2 définit la signature numérique comme des

« données ajoutées à une unité de données, ou transformation

cryptographique d’une unité de données, permettant à un destinataire de

prouver la source et l’intégrité de l’unité de donnée et protégeant contre

la contrefaçon (par le destinataire par exemple)».

seul l’expéditeur doit être capable de générer la signature

Une signature numérique fournit à la fois les services

d’authentification de l’origine des données, l’intégrité des données

et la non-répudiation

la plus part des algorithmes de signature utilisent la

cryptographie à clé publique

19

Signature numérique(2)

Théoriquement

consiste à chiffrer le message en question avec une clé

privé

À la réception du message et de son cryptogramme, le

destinataire disposant de la clé publique peut vérifier la

signature

Dans la pratique cette méthode est peu utilisée du fait

de son lenteur

20

Signature numérique(3)

Méthodes pratique

pour signer un message, la source consiste à calculer

une empreinte de ce message à signer et à ne chiffrer

avec la clé privée que cette empreinte.

Le calcul d’une empreinte par application d’une fonction

de hachage étant rapide et surtout la quantité de

données à chiffrer étant fortement réduite

cette solution est bien plus rapide que la précédente.

21

Vérification de la Signature numérique

Signature numérique(4)

22

Algorithmes permettant la signature numérique

• DSS: satndard NIST

SHA-1 + El-Gamal

• RSA: norme de fait

MD5 + RSA

SHA1 + RSA

• ECC: Elliptic Curve Cryptography

plus léger que RSA

Signature numérique(5)

23

Scellement

Le scellement fournit les

services d’authentification

de l’origine des données et

l’intégrité des données, mais

il ne fournit pas la non-

répudiation.

Ceci permet l’utilisation de la

cryptographie à clé secrète

pour la génération du sceau

ou du Message

Authentication Code (MAC)

24

Echange de clés(1)

Deux méthodes d’échange de clés :

1.Transport de clé:

Utilisation d’un algorithme à clé publique pour chiffrer

une clé de session générée aléatoirement

25

Transport de clés de session avec clé publique

26

Echange de clés(2)

2. Génération de clé:

Exemple du protocole Diffie-Hellman permettant de

générer un secret partagé à partir de données

publiques

27

Génération de clés : Diffie-Hellman

Protocole cryptographique inventé en 1976 par Diffie et Hellman

Permet à deux tiers de générer un secret partagé sans information

préalable l’un sur l’autre.

Il fait intervenir des valeurs publiques et des valeurs privée(il est à

l’origine de la cryptographie à clé publique)

La sécurité dépend de la difficulté de calculer des logarithmes

discrets sur un corps fini

Le secret généré à l’aide de cet algorithme peut ensuite être utilisé

pour dériver une ou plusieurs clés sécrètes

28

Principe Diffie-Hellman(1)

Déroulement de l’algorithme :

1.Alice et Bob se mettent d’accord sur un grand entier n tel que (n-1)/2 soit

premier et sur un entier g primitif par rapport à n n et g sont publics.

2.Alice choisit d’une manière aléatoire un grand nombre entier a. qu’elle garde

secret, et calcule sa valeur publique , A=gamod n. Bob fait de même et génère b et

B=gb mod n

3.Alice envoie A à Bob ; Bob envoie B à Alice.

4.Alice calcule KAB=Ba mod n ;Bob calcule KBA=Ab mod n. KAB=KBA=gab mod n : est

le secret partagé par Alice et Bob.

5.Une personne qui écoute la communication connaît g, n , A=ga mod n et B=gb

mod n, ce qui ne lui permet pas de calculer gab mod n : il lui faudrait pour cela

calculer le logarithme de A ou B pour retrouver a ou b.

29

Principe Diffie-Hellman(2)

30

Distribution des clés publiques

Idée de départ : consiste à utiliser un simple annuaire

des clés publiques.

Problèmes : Distribuer les clés d’une façon authentifié

et limiter le nombre de clés à stocker.

Solution : Utilisé les certificats et la hiérarchie de

certification

Autorités de certification

Ce sont des infrastructures à clés publique(PKI)

Rôle : gestion des clés publiques à grande

échelle (moyennant des certificats)

Enregistrement et émission

Stockage et distribution

Révocation et vérification de statut

Sauvegarde et récupération

Exemple : A.N.C.E

31

32

Les Certificats

Un certificat est l’élément de transport d’une clé publique

Un certificat est émise par une A.C

L’authenticité du certificat est vérifiable d’une façon

autonome

toute modification du certificat sera détectée

Le certificat permet l’authentification du possesseur

lie la clé publique au possesseur

33

Structure du certificat X.509v3

1. Indique à quelle version X.509 correspond ce certificat

2. Numéro de série (propre à chaque autorité de certification)

3. Identifiant du type de signature utilisée 4. Nom distingué de l’autorité de certification qui

a émis ce certificat 5. Période de validité 6. Nom distinguée du détenteur de la clé publique 7. Informations sur la clé publique de ce certificat 8. Extensions optionnelles introduites avec la

version 2 de X.509 9. Extensions : extensions génériques optionnelles,

introduites avec la version 3 de X.509 10.Signatures numériques de l’autorité de

certification su l’ensemble des champs précédents

Conclusion

Les services de la sécurité moderne (authentification,

intégrité, chiffrement, non répudiation) reposent sur les

apports de la cryptographie

Les algorithmes de chiffrement reposent sur des problèmes

mathématiques difficiles à résoudre

Le chiffrement asymétrique est lourd, il est utilisé

généralement pour l’échange de clé

Certaines applications doivent leur existence à la

cryptographie (Payement électronique, VPN…) 34