Introduction à la Cryptographie 1. Généralités et concepts de base

71
Introduction ` a la Cryptographie 1. G´ en´ eralit´ es et concepts de base E. Thom´ e (cours et TD) ´ Equipe Caramba, INRIA Nancy Telecom Nancy, 2A TRS – 2016 http://www.loria.fr/ ~ thome/teaching/2016-esial-crypto/

Transcript of Introduction à la Cryptographie 1. Généralités et concepts de base

Introduction a la Cryptographie

1. Generalites et concepts de base

E. Thome (cours et TD)

Equipe Caramba, INRIA Nancy

Telecom Nancy, 2A TRS – 2016

http://www.loria.fr/~thome/teaching/2016-esial-crypto/

Objectifs du cours

Comprendre

le role de la cryptographie dans la protection de l’informationles fonctionnalites cryptographiques fondamentalesles limites de la protection assuree par la cryptographie

Connaıtre

les primitives cryptographiques et leurs principes

2 / 67

Plan du cours (12 heures)

1. Generalites et concepts de base

2/3. Chiffrement symetrique

chiffrement de Vernamchiffrement par flotchiffrement par bloc (AES)

4. Fonctions de hachage cryptographiques

construction Merkle-Damgardattaques (tables arc-en-ciel)

5/6. Cryptographie a cle publique

chiffrement (RSA)echange de cles (Diffie-Hellman)signature (DSA)

6 TD, 1 examen, 1 projet

3 / 67

Bibliographie : aspects historiques

Simon Singh, Histoire des Codes Secrets.Livre de Poche, 2001.

Jacques Stern, La Science du Secret.Odile Jacob, 1998.

David Kahn, The Codebreakers, revised edition.Schribner, 1996.

4 / 67

Bibliographie : ouvrages de reference

Alfred J. Menezes, Paul C. van Oorschot et Scott A.Vanstone,Handbook of Applied Cryptography.Chapman & Hall / CRC, 1996.http://www.cacr.math.uwaterloo.ca/hac/

Serge Vaudenay, A Classical Introduction to Crypto-graphy.Springer, 2005.

Douglas R. Stinson, Cryptography: Theory and Prac-tice, 3rd edition.Chapman & Hall / CRC, 2005.

5 / 67

Bibliographie : ouvrages de reference

Bruce Schneier, Applied Cryptography, 2nd edition.Wiley, 1996.

Jeffrey Hoffstein, Jill Pipher et Joseph H. Silverman,An Introduction to Mathematical Cryptography.Undergraduate Texts in Mathematics, Springer, 2008.

6 / 67

Bibliographie : ouvrages de reference

Antoine Joux, Algorithmic Cryptanalysis.CRC press, 2009.

Steven D. Galbraith,Mathematics of Public Key Cryptography.Undergraduate Texts in Mathematics, Springer, 2012.

7 / 67

Plan

Contexte

Reperes historiques

Generalites

Cryptographie symetrique / asymetrique

Notions de securite

8 / 67

Plan

Contexte

Reperes historiques

Generalites

Cryptographie symetrique / asymetrique

Notions de securite

9 / 67

Position du probleme

Caracteristiques des systemes d’information

Information numerique

Communications sur un canal public

Machines reliees par reseau

Multi-utilisateurs

10 / 67

Les besoins de securite

Confidentialite

Maintien au secret des informations vis-a-vis de tiers

Integrite

Etat des informations qui n’ont pas ete modifiees

Authenticite

Garantie de l’identite d’une entite ou de l’origine d’unecommunication

Disponibilite

11 / 67

Situations d’usage (1/2) : le chiffrement

Les proprietes offertes par la cryptographie sont souvent utiles.

Courrier electronique :

Si je ne veux surtout pas que ma petite sœur lise le contenu.Si je ne veux surtout pas que la NSA lise le contenu.

Disque dur. Je chiffre mon disque dur pour proteger lecontenu (informations confidentielles, vie privee) contre :

Le vol.L’intrusion (laissez-nous votre PC monsieur, on l’inspecte...)

Travail a distance (vpn, ssh) : quand il y a 2000km entre leclavier et l’ordinateur.

Ceci releve de la confidentialite.Les donnees chiffrees ne doivent pas etre dechiffrables par

l’adversaire.

12 / 67

Situations d’usage (2/2) : la signature

D’autres situations :

Distributions de paquets logiciels : assurer que c’est un vrai,pas une version verolee.

Commerce en ligne : assurer qu’on parle bien a amazon, pas aun pirate.

Signature : creer un courrier electronique capable de faire foi.

Authentification : fonctionnellement comme un mot de passe.Prouver qui on est.

Tout ceci releve davantage de l’authenticite.On signe une donner pour lui donner une garantie d’authenticite.

13 / 67

Bien definir le probleme

Souvent, il n’y a pas de reponse unique a un besoin decryptographie.

Tout depend des hypotheses faites sur l’espion.

Tout depend des garanties qu’on souhaite obtenir.

Il faut etre realiste. Mon mail passe par gmail, donc la NSAl’ecoute.

En general, on suppose que l’attaquant est tres fort, et on voitce qu’on peut garantir.

Si necessaire, on raffine (mais si on peut obtenir des garantiesmaximales pour pas cher, on ne se prive pas).

14 / 67

Moyens de protection

Il existe plusieurs techniques :

CryptographieSecurite informatiqueTempest

Chaque technique propose des solutions contre certainesmenaces

Pour se proteger efficacement, il faut combiner les techniques

15 / 67

La science du secret

De nombreuses applications dans la vie courante :

ssl, ssh, gpg, etc.

carte bleue, telephone cellulaire, WiFi, Bluetooth

etc.

En quoi consiste cette science ?

16 / 67

Cryptologie

Definition (Cryptologie)

Etude de la protection de l’information sous forme numeriquecontre des acces ou manipulations non-autorises.

cryptologie = cryptographie + cryptanalyse

cryptographie : conception des algorithmes cryptographiques

cryptanalyse : evaluation de la securite des algorithmescryptographiques

17 / 67

Plan

Contexte

Reperes historiques

Generalites

Cryptographie symetrique / asymetrique

Notions de securite

18 / 67

Cryptographie artisanale

Antiquite – 19e s. Cesar (1er s. av. J.C.), Vigenere (1586),etc.Transpositions et substitutions al-phabetiques

19 / 67

Cryptographie mecanique

1883 La Cryptographie Militaire [Kerckhoffs]Formalisation des systemes de chiffrement

1926 Cipher Printing Telegraph Systems for Secret Wire andRadio Telegraphic Communications [Vernam]Chiffrement de Vernam (masque jetable)

1939-44 Enigma et les bombes de Bletchley Park

1950-60 Machines Hagelin

20 / 67

Cryptographie industrielle

1949 Communication Theory of Secrecy Systems [Shannon]Notion de securite inconditionnelle

1973-77 Standardisation de DES (Data Encryption Standard)

1976 New Directions in Cryptography [Diffie-Hellman]Invention de la cryptographie a cle publique

1978 A Method for Obtaining Digital Signatures and Public-Key Cryptosystems [Rivest-Shamir-Adleman]Invention de RSA

1997-00 Standardisation d’AES (Advanced Encryption Standard)

21 / 67

Plan

Contexte

Reperes historiques

Generalites

Cryptographie symetrique / asymetrique

Notions de securite

22 / 67

Modele de communication

Modele d’un systeme de communication general [Shannon, 1948].

source codeurde source

codeurde canal

canalbruite

decodeurde canal

decodeurde source

puits

emetteur canal de communication public recepteur

23 / 67

Modele de communication

Modele d’un systeme de communication sans bruit.

source codeurde source

codeurde canal

canalbruite

decodeurde canal

decodeurde source

puits

emetteur canal de communication public recepteur

23 / 67

Modele de communication

Modele standard d’un systeme de communication sans bruit.

source codeurde source

codeurde canal

canalbruite

decodeurde canal

decodeurde source

puits

emetteur canal de communication public recepteur

23 / 67

Modele de communication

Modele elargi d’un systeme de communication sans bruit.

source codeurde source

codeurde canal

canalbruite

decodeurde canal

decodeurde source

puits

emetteur canal de communication public recepteur

23 / 67

Modele de communication

Modele d’un systeme de communication cryptographique

source codeurde source

Tra

item

ent

cryp

tog

rap

hiq

ue

codeurde canal

canalbruite

decodeurde canal

de-

tra

item

ent

cryp

tog

rap

hiq

ue

decodeurde source

puits

emetteur canal de communication public recepteur

Attaques actives Attaques passives

24 / 67

Modele de communication

Modele folklorique d’un systeme de communicationcryptographique

AliceT

rait

emen

tcr

ypto

gra

ph

iqu

eCanal public

de-

tra

item

ent

cryp

tog

rap

hiq

ue

Bob

Charlie Eve

25 / 67

Differentes menaces

Une attaque peut etre

passive : espionnage

active :

usurpation d’identite (de l’emetteur ou du recepteur)alteration des donnees = modification du contenu du messagerepudiation du message = l’emetteur nie avoir envoye lemessagerepetition du messageretardement de la transmissiondestruction du message

26 / 67

Reponses de la cryptographie

Trio fondamental :

la confidentialite (Qui recevra le message ?) : l’information nedoit pas parvenir a des personnes qui n’ont pas a la connaıtre

l’integrite : l’information ne doit pas subir d’alterationsfrauduleuses

l’authenticite (Qui a emis le message ?) : l’information doitprovenir de son veritable auteur

Des fonctionnalites plus elaborees :

la non repudiation,

la divulgation nulle de connaissance,

le vote electronique,

etc.

27 / 67

Les couches cryptographiques

Systeme cryptographique = edifice en strates

lois

primitives

modes operatoires

protocoles

etres humains

impl

anta

tion

mat

erie

l

28 / 67

Les primitives cryptographiques

Algorithmes fournissant une fonctionnalite cryptographiqueelementaire

controle d’integrite −→ fonction de hachage

generation de cles −→ generateur d’alea

authentification −→ code d’authentification de message,algorithme de signature

confidentialite −→ chiffrement

29 / 67

Les primitives cryptographiques

30 / 67

Plan

Contexte

Reperes historiques

Generalites

Cryptographie symetrique / asymetrique

Notions de securite

31 / 67

Cryptographie symetrique / asymetrique

Confidentialite

canal de communication publicM M

Alice Bob

Eve

E DC C

Authentification, controle d’integrite

canal de communication publicM V(M,c) M(M,c)

Alice BobA

Charlie

D (resp. A) se deduit facilement de E (resp. V ) ⇒symetrique

D (resp. A) ne se deduit pas facilement de E (resp. V ) ⇒asymetrique

32 / 67

Les algorithmes cryptographiques

Un algorithme :

est long a concevoirdoit etre implante sur du materieldoit etre transmis aux utilisateursdoit etre maintenu

Confidentialite ⇒ dechiffrement possible seulement par lerecepteur

Authentification ⇒ authentifiant calculable seulement parl’emetteur

Les algorithmes doivent-ils etre secrets ?

33 / 67

Les desiderata de Kerckhoffs (1883)

1. Le systeme doit etre materiellement, sinonmathematiquement, indechiffrable ;

2. Il faut qu’il n’exige pas le secret [...]

3. La clef doit pouvoir en etre [...] retenue sans le secours denotes ecrites, et etre changee [...]

4. Il faut qu’il soit applicable a la correspondance telegraphique ;

5. Il faut qu’il soit portatif [...]

6. Enfin, il est necessaire [...] que le systeme soit d’un usagefacile, [...]

34 / 67

Cryptographie avec cle(s)

Confidentialite

canal de communication publicM M

Alice Bob

Eve

E DC C

EK

DK

Authentification, controle d’integrite

canal de communication publicM V(M,c) M(M,c)

Alice BobA

KA VK

Charlie

Algorithme D (resp. A) symetrique ⇒ cle secrete

Algorithme D (resp. A) asymetrique ⇒ cle publique

35 / 67

Retour sur le modele de communication

Differents types de canaux de communications :

public (ni authentifie ni confidentiel) — ex. Internet [universel]

authentifie — ex. (partiellement) le reseau telephonique [voix]

confidentiel — ex. le reseau postal [loi]

authentifie et confidentiel — ex. le telephone rouge [dedie]

Securite, disponibilite, debit, cout variables

36 / 67

Intervention de la cryptographie

Construire des canaux authentifies et/ou confidentiels a partir

d’un canal public et

d’un canal authentifie et/ou confidentiel

Utilisation differente et/ou asynchrone des canaux ⇒ souplessed’utilisation, nouvelles fonctionnalites, etc.

37 / 67

Exemple : ameliorer un canal authentifie

Controle d’integrite avec fonction de hachage

Un canal public pour transmettre des messages de grandetaille

Un canal authentifie pour transmettre un controle d’integritede petite taille

Definition (partielle)

Une fonction de hachage est un algorithme (efficace) qui calculeune valeur de taille fixe, appelee empreinte ou hache, a partir demessages de taille quelconque.

38 / 67

Ameliorer un canal authentifie

canal publicAliceM

H H

non

= ?h

canal authentifié ouiBob

M’

h h’

Charlie

M’

On utilise le canal authentifie apres la creation du message

39 / 67

Modele d’attaques

Pour que H soit qualifie de cryptographique, il faut que Hresiste aux attaques par calcul de

premier antecedent :etant donne y il est difficile de trouver x tel que y = H(x)deuxieme antecedent :etant donne (x ,H(x)) il est difficile de trouver x ′ tel queH(x ′) = H(x)collision :il est difficile de trouver x et x ′ tels que H(x ′) = H(x)

La pertinence des modeles d’attaques depend des applications.

40 / 67

Creer un canal authentifie (I)

Utiliser un code d’authentification de messages (MAC)

Un canal public pour transmettre des messages et leur coded’authentification

Un canal authentifie et confidentiel pour transmettre la clesecrete

Definition (partielle)

Un code d’authentification de message (MAC) est un algorithmequi calcule une valeur de taille fixe, appelee (aussi) MAC, a partirde messages de taille quelconque et d’une cle secrete partageeentre emetteur et recepteur.

41 / 67

Creer un canal authentifie (I)

canal public

générateurde clés

= ? BobM c

(M,c) c’

M’

c’’

M’

oui

K

(M’,c’)M’

non

K

canal authentifié et confidentiel

MAC MAC

Alice

Charlie

On utilise le canal authentifie et confidentiel prealablement aumessage

42 / 67

Modele d’attaques

Connaissant certains couples (M, c), un attaquant ne doit paspouvoir

retrouver la cle secrete Kcreer un nouveau couple (M ′, c ′) valide sans connaıtre la clesecrete Kdistinguer l’algorithme de MAC d’une fonction aleatoire

Le controle d’integrite est assure sur le canal public parl’authentification de l’origine des messages.

43 / 67

Creer un canal authentifie (II)

Utiliser un algorithme de signature

Un canal public pour transmettre des messages et leursignature

Un canal authentifie pour transmettre la cle publique

Definition (partielle)

Un algorithme de signature calcule une valeur appelee signature,usuellement de taille fixe, a partir de messages de taille quelconqueet de la cle privee de l’emetteur. La verification par le recepteur sefait grace a la cle publique de l’emetteur.

44 / 67

Creer un canal authentifie (II)

canal public

générateurde clés

BobM c

M’

oui

non

Alice

canal authentifié

(M,c)

KS

V

K S

P

Charlie

(M’,c’)

M’

On utilise le canal authentifie prealablement au message

45 / 67

Modele d’attaques

Connaissant certains couples (M, c) et la cle publique KP , unattaquant ne doit pas pouvoir

retrouver la cle privee KS

creer un nouveau couple (M ′, c ′) valide sans connaıtre la cleprivee KS

distinguer l’algorithme de signature d’une fonction aleatoire

Le controle d’integrite est assure sur le canal public parl’authentification de l’origine des messages.

46 / 67

Authentification/Signature

L’authentification permet de repondre a la question :

Qui a emis le message ?

Mais qui pose la question ?

MAC : l’autre possesseur de la cle secrete ⇒ 1 personne2 personnes peuvent calculer l’authentifiant

Signature : un possesseur de la cle publique ⇒ tout le mondeUne seule personne peut calculer l’authentifiant ⇒non-repudiation

47 / 67

Creer un canal confidentiel (I)

Utiliser un chiffrement a cle secrete (symetrique)

Un canal public pour transmettre des messages chiffres

Un canal authentifie et confidentiel pour transmettre la clesecrete

Definition (partielle)

Un chiffrement a cle secrete, E , est un algorithme parametre parune chaıne binaire secrete, K , partagee entre deux entites quitransforme un message clair M en un message chiffre C . Ledechiffrement associe, D, utilise le meme parametre K .

48 / 67

Creer un canal confidentiel (I)

générateurde clés

canal public

KK

canal authentifié et confidentiel

E DAlice BobCM C M

Eve

On a besoin du canal authentifie et confidentiel au prealablede l’envoi d’un nombre eleve de messages

49 / 67

Modele d’attaques

Connaissant certains couples (M,C ) et un chiffre C0, unattaquant ne doit pas pouvoir

retrouver la cle secrete Kretrouver le clair M0 correspondant a C0 sans connaıtre la clesecrete Kdistinguer C0 d’une suite aleatoire (⇒ randomisation)

Attention : chiffrer 6= authentifier (ce n’est pas le mememodele de securite)

50 / 67

Creer un canal confidentiel (II)

Utiliser un chiffrement a cle publique (asymetrique)

Un canal public pour transmettre des messages chiffres

Un canal authentifie pour transmettre la cle publique

Definition (partielle)

Un chiffrement a cle publique, E , est un algorithme parametre parune chaıne binaire publique, KP , connue de tous qui transforme unmessage clair M en un message chiffre C . Le dechiffrement associeD utilise un parametre prive KS .

51 / 67

Creer un canal confidentiel (II)

canal public

générateurde clés

K SK P

canal authentifié

Alice BobDEM C C M

Eve

On a besoin du canal authentifie une fois au prealable

52 / 67

Modele d’attaques

Connaissant certains couples (M,C ), un chiffre C0, et la clepublique KP , un attaquant ne doit pas pouvoir

retrouver la cle privee KS

retrouver le clair M0 correspondant a C0 sans connaıtre la cleprivee KS

distinguer C0 d’une suite aleatoire (⇒ randomisation)

Attention : chiffrer 6= authentifier (ce n’est pas le mememodele de securite)

53 / 67

Chiffrement a cle secrete : le coffre-fort

Alice et Bob ont la cle du coffre

Alice envoie un message a Bob

1. Alice utilise la cle pour deposer un courrier dans le coffre ;2. Bob utilise la cle pour lire le courrier depose par Alice.

Proprietes du coffre-fort

seuls Alice et Bob peuvent deposer du courrier dans le coffre ;seuls Alice et Bob peuvent retirer le courrier depose dans lecoffre.

54 / 67

Chiffrement a cle publique : la boıte aux

lettres

Seul Bob a la cle de sa boıte

Alice obtient l’adresse de Bob dans un annuaire

Alice envoie un message a Bob

1. Alice depose un courrier dans la boıte de Bob ;2. Bob utilise sa cle pour retirer le courrier depose dans sa boıte.

Proprietes de la boıte aux lettres

tout le monde peut envoyer du courrier a Bob ;seul Bob peut lire le courrier depose dans sa boıte aux lettres.

55 / 67

Algorithmes a cle secrete / a cle publique

cle secrete cle publiquela cle est secrete aux deuxextremites

seule la cle privee est secrete

gestionnombre de cles : O(n2) nombre de cles : O(n)canal auxiliaire authentifie etconfidentiel

canal auxiliaire authentifie

securitepas de preuve formelle desecurite

repose sur la difficultesupposee de problemesmathematiques

taille cle ex. AES : 128 bits ex. RSA : 3072 bits

perf.tres rapides tres lents10-100 Mbits/s (software) 10-100 Kbits/s

56 / 67

Creer un canal confidentiel (III)

Utiliser un systeme hybride

canal public

K SK P

canal public

canal authentifié

DE

Alice DE Bob

générateur

générateurde clés

symétriques

de clésasymétriques

K

K

MC C M

A A

SS

Eve

Eve

57 / 67

Plan

Contexte

Reperes historiques

Generalites

Cryptographie symetrique / asymetrique

Notions de securite

58 / 67

Quelques lecons de l’histoire

Le principe du n2 : dans un reseau a n points, il y a n2 coupleset n est (tres) grand

Les desiderata de Kerckhoffs : la securite ne doit pas reposersur le secret des specifications

La loi de Moore : la puissance des processeurs double tous les18 mois, gare a la recherche exhaustive

La loi de Murphy : un trou de securite finira toujours par etredecouvert... au pire moment

Le principe de realite : un procede inadapte (cher,contraignant, lent, etc.) ne sera pas utilise

59 / 67

Contextes d’attaques

Selon le materiau disponible :

attaque a chiffre seulattaque a clair connuattaque a clair choisi (adaptative ou non)(toujours possible pour les chiffrements a cle publique)attaque a chiffre choisi (adaptative ou non)attaque a cles liees

Selon les specifications disponibles :

cryptanalyse de boıte noirecryptanalyse structurelle

Selon l’acces au materiel chiffrant disponible :

cryptanalyse par canaux auxiliairescryptanalyse par injection de fautes

60 / 67

Un chiffrement inconditionnellement sur

Le chiffrement de Vernam (1926)(aussi appele : masque jetable ou One Time Pad)

++++++++++M

K

C++

⊕ est le OU-exclusif bit a bit

61 / 67

Qu’est-ce qu’un systeme sur ?

Definition (Securite inconditionnelle)

Confidentialite parfaite [Shannon, 1949]La connaissance du message chiffre n’apporte aucuneinformation sur le message clair : la seule attaque possible estla recherche exhaustive.Pour qu’un chiffrement soit inconditionnellement sur, il fautque la cle soit aleatoire et aussi longue que le texte clair.

Authentification parfaite [Simmons, 1984]Theorie de l’authentification a cle secrete a usage unique.

62 / 67

Recherche exhaustive de la cle secrete

|K| = nombre de cles possibles

Retrouver la cle ⇒ |K|/2 essais en moyenne

DES (1977), cle secrete : 56 bits → 255 ' 1017 possibilites

1997 : 39 jours sur 10 000 Pentium

1998 : machine dediee, EFF DES cracker

250 000 $ : l’attaque prend 2,5 jours1 million de $, l’attaque prendrait 15 heures10 millions de $, l’attaque prendrait 1,5 heure

2007 : Copacobana (reprogrammable), prix 10 000 $, attaqueen 6,4 jours

63 / 67

Securite calculatoire

Les systemes utilises dans la pratique sont theoriquement cassables

Definition (Securite pratique, ou calculatoire)

La connaissance du message chiffre (et de certains couplesclairs-chiffres) ne permet de retrouver ni la cle ni le message clairen un temps humainement raisonnable.

Securite inconditionnelle ⇒ cryptographie a cle secrete

La cryptographie a cle publique est rendue possible par lasecurite pratique. Elle utilise deux notions cles :

fonction a sens uniquefonction a sens unique avec trappe

64 / 67

Complexite d’une attaque : ordres de grandeur

Complexite = O(Temps + Memoire + Donnees)

On estime que 2128 operations represente aujourd’hui un niveauraisonnable de securite

n 2n Exemples

32 232 nombre d’etres humains sur Terre

46 246distance Terre - Soleil en millimetresnombre d’operations effectuees par jour par un ordinateur a1 GHz

55 255 nombre d’operations effectuees par an par un ordinateur a1 GHz

82 282 masse de la Terre en kilogrammes

90 290 nombre d’operations effectuees en 15 milliards d’annees(age de l’univers) par un ordinateur a 1 GHz

155 2155 nombre de molecules d’eau sur Terre256 2256 nombre d’electrons dans l’univers

65 / 67

Niveau de securite : taille des cles

Chiffrement repute sur si aucune attaque n’a une complexitesignificativement inferieure a la recherche exhaustive

Cle symetrique : la taille des cles est souvent de 128 bits(AES)

Cle asymetrique : la taille des cles est calculee de maniere aoffrir une securite superieure a 2128

ex. 3072 bits pour un module RSA

Probleme pratique : plus la taille des cles augmente, plus lesalgorithmes sont lents surtout en cryptographie asymetrique

66 / 67

Resistance aux attaques

Dimensionnement suffisant (cle, bloc, etc.)

Resistance aux attaques structurelles

Resistance aux attaques par canaux auxiliaires

Sans compter les menaces annexes

mise en œuvre logicielleintegration dans un systemeutilisation en pratique

Prise en compte du facteur temps et des usages

remplacement lent des algorithmes faibles deja deployes (coutde la securite)algorithmes maison sans expertise scientifiquecertains sujets de recherche plus ou moins longtemps delaisses(ex. chiffrements a flot, fonctions de hachage)

67 / 67

67 / 67