Вы находитесь на странице: 1из 203

Cryptographie : de la thorie la pratique

Marine Minier INSA Lyon


Novembre 2005 Sminaire 5IF 1

Plan du cours
Introduction gnrale Cryptographie
Cryptographie cl secrte ou symtrique
Description + Premier exemples dapplications

Cryptographie cl publique
Principaux cryptosystmes + protocoles Signature + protocoles

Principes de certification : X.509 Applications pratiques


OpenSSL, SSH et ses drivs PGP https IP-Sec et VPN Cartes puce Les PKI, Bluetooth,

Conclusion
Novembre 2005 Sminaire 5IF 2

Introduction
Tout dabord
Menace gnrale Cryptographie symtrique

Novembre 2005

Sminaire 5IF

Menaces et historique

Novembre 2005

Sminaire 5IF

Menaces : utilit de la cryptographie


Attaques passives message Alice Bob

Charlie Menace contre la confidentialit de linformation : une information sensible parvient une personne autre que son destinataire lgitime.
Novembre 2005 Sminaire 5IF 5

Menaces : utilit de la cryptographie


Attaques actives : interventions sur la ligne message Alice Bob

Charlie Menace contre lintgrit et lauthenticit de linformation


Novembre 2005 Sminaire 5IF 6

Attaques actives : plusieurs attaques possibles


Impersonification : modification de lidentit de lmetteur ou du rcepteur Altration des donnes (modification du contenu) Destruction du message Retardement de la transmission Rpudiation du message = lmetteur nie avoir envoy le message

Cryptographie : permet de lutter contre toutes ces attaques


Garantie la confidentialit, lintgrit, lauthenticit (authentification et identification) et la signature

Novembre 2005

Sminaire 5IF

Assurer la confidentialit :
Chiffrement du message :
Utilisation dalgorithmes de chiffrement paramtrs par des cls

Deux mthodes :
Cryptographie symtrique ou cl secrte Cryptographie asymtrique ou cl publique

Novembre 2005

Sminaire 5IF

Deux mthodes pour chiffrer linformation (1/2)


Cryptographie cl secrte :
m E K C Canal non sr DK EK= Id C D K m

Alice

Charlie change de K sur un canal sr

Bob

Novembre 2005

Sminaire 5IF

Deux mthodes pour chiffrer linformation (2/2)


Cryptographie cl publique :
Annuaire cl publique KpB m EKpB KpB C Canal non sr C Bob DKsB KsB EKpB DKsB= Id
Novembre 2005 Sminaire 5IF 10

Alice

Charlie

Historique rapide (1/2)


Algorithme cl secrte plus rapide que cl publique (facteur 1000 entre les deux) Auparavant : la scurit reposait sur le fait que lalgorithme utilis tait secret
Exemple : Alphabet de Csar : dcalage de trois positions des lettres de lalphabet => CESAR -> FHVDU
Novembre 2005 Sminaire 5IF 11

Historique rapide (2/2)


Aujourdhui : les algorithmes sont connus de tous : la scurit repose uniquement sur le secret dune cl (principe de Kerckhoffs).
Premier Exemple : Dernire guerre : Machine Enigma Annes 70 : dveloppement des ordinateurs et des tlcoms 75-77 : Premier standard de chiffrement amricain, le DES 1976 : nouvelle forme de cryptographie : la cryptographie cl publique, introduite par Diffie et Hellman (Exemple : RSA)

Novembre 2005

Sminaire 5IF

12

A quoi doit rsister un bon algorithme de chiffrement ?


Attaques de Charlie
but : retrouver un message m ou mieux la cl K. Attaque texte chiffr seul Attaque texte clair connu Attaque texte clair choisi

=> Complexit de ces attaques > la recherche exhaustive (essayer toutes les cls)

Novembre 2005

Sminaire 5IF

13

Cryptographie symtrique

Novembre 2005

Sminaire 5IF

14

Cryptographie symtrique
La cl K doit tre partage par Alice et Bob Algorithmes tudis
Algorithme de chiffrement par blocs Algorithme de chiffrement flot Fonction de Hashage

Quelques protocoles + attaques sur le WEP et attaques sur Bluetooth

Novembre 2005

Sminaire 5IF

15

Algorithmes symtriques de chiffrement par blocs


Alice et Bob partagent la mme cl K On chiffre par blocs :
Le texte clair m est divis en blocs de taille fixe On chiffre un bloc la fois

Novembre 2005

Sminaire 5IF

16

Mode ECB :

Novembre 2005

Sminaire 5IF

17

Mode CBC :
IV = Valeur dinitialisation publique

Novembre 2005

Sminaire 5IF

18

Chiffrement par blocs itratifs


Structure Gnrale dun Algorithme de chiffrement par Blocs Itratif :
K
X bloc clair (n bits)

Gnration des sous-cls

K1 K2

f
X1

. . .
f

X2

La cl K est utilise pour gnrer r sous-cls, une pour chaque tage.

r tages

Xr-1 Kr

f
Y bloc chiffr (n bits)

La fonction f est une permutation des blocs de n bits

Novembre 2005

Sminaire 5IF

19

Premier exemple : le DES


DES = Data Encryption Standard labor par le NBS (National Bureau of Standards, aujourdhui NIST) partir dun algorithme dIBM Lucifer. Standardis en 1977
Novembre 2005 Sminaire 5IF 20

Le DES (1/3)
Description : algorithme de chiffrement par blocs
Entre : bloc de 64 bits Sortie : bloc de 64 bits Cl : 64 bits dont 56 sont utiliss (le dernier bit de chaque octet = bit de parit) Algorithme entirement symtrique : chiffrement = dchiffrement Nombre de tours : 16 tours
Novembre 2005 Sminaire 5IF 21

Le DES (2/3)
Fonction dtage f :
Schma de Feistel f:

f
P S

Ki E

E : expansion de 32 vers 48 bits Xor avec une sous cl Ki de 48 bits S : boites S (permutations non linaires) de 48 bits vers 32 bits (8.6 vers 8.4 bits) P : permutation de 32 bits vers 32 bits

Novembre 2005

Sminaire 5IF

22

Le DES (3/3)
Le schma de Feistel est une permutation :
L0 L1

f
R0 R1 2.1er bit + dernier

R0 = L1 et R1 = L0 f(L1) Inverse : L1 = R0 et L0 = R1 f(L1)


Entre sur 6 bits : colonne : 4 bits du milieu

Exemple dune des boites S (il y en a 8)


Novembre 2005

Sminaire 5IF

23

Le DES attaqu ! (1/2)


Loi de Moore : le nombre de transistors des microprocesseurs sur une puce de silicium double tous les dix h mois. - uit

1983 1985 1987 1990 1993 1996 1999 2005 256 Kb/s 1 4 16 64 256 1 2 Mb/s Mb/s Mb/s Mb/s Mb/s Gb/s Gb/s

Taille de la cl du DES : 56 bits soit 256 essais !

Novembre 2005

Sminaire 5IF

24

Le DES attaqu ! (2/2)


99 : Attaque des laboratoires RSA contre le DES (cl retrouve en 22 heures)
laide dune machine ddie : Deep Crack (250 000 dollars) De 100 000 PCs par calul distribu

Changement de taille de cl : 128 bits minimum 97 : Appel doffre du NIST pour choisir un nouvel algorithme de chiffrement par blocs pour le 21me sicle
Nom : AES 15 propositions, 5 finalistes choix de Rijndael en octobre 00.

Novembre 2005

Sminaire 5IF

25

Mots de passe Unix (1/2)


Utilisation dun DES 25 tours Mot de Passe (MP) = cl du DES pour chiffrer une valeur dinitialisation constante IV H = DESMP(IV) On enregistre H dans /etc/passwd Pour vrifier le mot de passe MP donn au login, on vrifie : DESMP(IV) ?= H

Novembre 2005

Sminaire 5IF

26

Mot de passe Unix (2/2)


Ralit : on tire en plus la premire connexion une valeur de 12 bits (sel) pour paramtrer le DES => (ajout dune permutation) => en fait 212 = 4096 DES possibles Augmente de 12 bits la recherche exhaustive On enregistre le sel en plus dans /etc/passwd :
account:coded password data:uid:gid:GCOS-field:homedir:shell gigawalt:fURfuu4.4hY0U:129:129:Walters:/home/gigawalt:/bin/csh
sel
Novembre 2005 Sminaire 5IF 27

LAES (1/3)
Rijndael, cr par V. Rijmen et J. Daemen, choisi comme AES en octobre 2000.
Algorithme de chiffrement par blocs utilisant une structure parallle. Taille des blocs : 128, 192 ou 256 bits. Longueurs des cls : 128, 192, ou 256 bits. Le nombre de tours varie entre 10 et 14 selon la taille des blocs et la longueur des cls.
Novembre 2005

K0

Texte clair (128, 192, 256 bits) Matrice doctets 4x4, 4x6, 4x8 initial Key addition Byte Sub Shift Row Mix Column

tour 1

K1

Key Addition Byte Sub Shift Row Mix Column Key Addition Byte Sub Shift Row Key Addition

K9 K10

tour 9, 11 ou 13 Dernier tour

Texte chiffr (128, 192, 256 bits) Matrice doctets 4x4, 4x6, 4x8
28

Sminaire 5IF

LAES (2/3) : : La Fonction tage 1/2


Byte Substitution
a00 a10 a20 a30 a01 a11 a21 a31 a02 a12 a22 a32 a03 a13 a23 a33

Shift Row
a00 a10 a20 a30 a01 a11 a21 a31 a02 a12 a22 a32 a03 a13 a23 a33 1 2 3

(8x8 S-box S)
S(a00) S(a01) S(a01) S(a00) S(a13) S(a12) S(a11) S(a10) S(a23) S(a22) S(a21) S(a20) S(a33) S(a32) S(a31) S(a30)
Novembre 2005

a00 a11 a22 a32


Sminaire 5IF

a01 a12 a23 a30

a02 a13 a20 a33

a03 a10 a21 a31


29

LAES (3/3) : : La Fonction tage 2/2


Mix Column
a00 a10 a20 a30 a01 a11 a21 a31
01 01 03 02

Key Addition
a02 a12 a22 a32 a03 a13 a23 a33 a00 a10 a20 a30 a01 a11 a21 a31 a02 a12 a22 a32 a03 a13 a23 a33

02 01 01 03

03 02 01 01

01 03 02 01

Ki (128 bits)
b02 b12 b22 b32 b03 b13 b23 b33
Sminaire 5IF

b00 b10 b20 b30


Novembre 2005

b01 b11 b21 b31

b00 b10 b20 b30

b01 b11 b21 b31

b02 b12 b22 b32

b03 b13 b23 b33


30

Quel chiffrement utilis aujourdhui ?


Soit lAES Soit le triple DES :
composition de deux DES avec deux cls (112 bits de cl) :

C = DESK1(DES-1K2(DESK1(M))) =>Pour se prmunir contre la recherche exhaustive


Novembre 2005 Sminaire 5IF 31

Autre algorithme de cryptographie symtrique : le chiffrement flot


Utilisation du one time pad :
ala si chiffr ci

m = m 0 m1 m2 m3 s = s0 s1 s2 s3 = c = c0 c1 c2 c3

message mi

Lala est remplac par un gnrateur pseudo alatoire (ou chiffrement flot)
Initialis par la cl commune K Scurit repose sur les qualits du gnrateur (grande priode, trs bon ala,)

Novembre 2005

Sminaire 5IF

32

Chiffrement flot :
Pourquoi des chiffrements flot ?
Utilisation pour le software : chiffrement trs rapide Utilisation en hardware avec des ressources restreintes Ne propage pas les erreurs (souvent utilis en tlphonie mobile) ( la diffrence du chiffrement par blocs)
Novembre 2005 Sminaire 5IF 33

Conceptions classiques :
En gnral, trois phases :
Un tat initial de longueur L (L 2k o k est la longueur de cl) Une fonction de remise jour de ltat Une fonction de filtrage pouvant dissimuler les proprits de la fonction prcdente

Constructions les plus usites :


tat initial = cl ( et/ou vecteur dinitialisation) Utilisation dun LFSR pour remettre ltat jour Fonction de filtrage :
Fonction boolenne qui filtre les sorties dun seul LFSR Fonction boolenne qui combine les sorties de plusieurs LFSRs

Novembre 2005

Sminaire 5IF

34

Le LFSR : Registre rtroaction linaire


Longueur L
st+L
st+L-1 st+L-2 st+L-3

st+1 st

sortie

c1 c2

c3

cL-1 cL

Pour tout t L, st = i=1..L ci st-i


Polynme de rtroaction :

P(X) = 1 + c1X + c2X + + cLXL Choisi pour tre primitif P*(X)= XL + c1XL-1 + c2XL- + + cL

Novembre 2005

Sminaire 5IF

35

Utilisation de LFSRs :
Le registre filtr :
f
squence pseudoalatoire s = (si)

La combinaison de registres :
Initialis laide de la cl K LFSR 1 LFSR 2 bit X1 X2 fonction f de combinaison squence pseudoalatoire s = (si)

. . .

LFSR n

Xn

Novembre 2005

Sminaire 5IF

36

Un exemple particulier RC4 :


Principe gnral :
Gnration de lala partir dun tableau dtat Si de 256 octets

Initialisation du tableau partir de la cl K


Pour i de 0 255, Si = i Pour i de 0 255, Ki = cl K j = 0, pour i de 0 255
j = (j + Si+ Ki) mod 256 changer Si et Sj

Gnration de lala :
i = (i+1) mod 256, j = (j + Sj) mod 256 changer Si et Sj t = (Si + Sj) mod 256 => sortir St

Novembre 2005

Sminaire 5IF

37

Comparaison de performances :
En hardware (2003)
DES : 1,1 Gbits/ seconde AES : 1,95 Gbits/s. RC4 : 0,685 Gbits/s. (vieil algorithme)

Novembre 2005

Sminaire 5IF

38

Fonctions de hachage
Calcul dun condens h dun message M : h = H(M) Proprit : rsistance aux collisions Il doit tre trs difficile de trouver un couple de messages (M, M) qui ont le mme condens. ( one way hash function ). On part dun message de taille quelconque et on construit un condens de taille N bits
N > 160 bits pour viter la recherche exhaustive et les attaques par collisions

Novembre 2005

Sminaire 5IF

39

Paradoxe des anniversaires


Problme : Combien faut il de personnes dans une salle pour avoir plus dune chance sur deux pour que 2 personnes soient nes le mme jour ? Rponse : 23 !
Nombre de personnes : 1,18.n1/2 Avec n = nb dvnements (ici 365)

Cas du hachage : si le hach fait 128 bits, alors il faut essayer environ 264 messages pour obtenir une collision => N > 160 bits

Novembre 2005

Sminaire 5IF

40

Mthode de constructions :
Construites partir dune fonction de compression f :
M = M1 H0 = IV Hi = f(Mi, Hi-1) f H1 M2 f H2 M3 f Mt f Sortie h = Ht = f(Mt, Ht-1) (t blocs de taille n)

Exemple : f =AES et Hi = AES Mi(Hi-1) Hi-1


Novembre 2005 Sminaire 5IF 41

Exemples :
MD4 [Rivest 92] , MD5 [Rivest 92]
MD5 : entre de 512 bits -> hash de 128 bits

SHA-0, SHA-1, SHA-256 ou 384 ou 512 propos par la NSA (National Security Agency)
SHA-1 : entre de 512 bits -> hash de 160 bits

Novembre 2005

Sminaire 5IF

42

MD5 :
Compos de la rptition de 64 oprations regroupes en 4 fois 16 oprations c

4 mots de 32 bits

Une opration
Novembre 2005 Sminaire 5IF 43

SHA-1 :
Compos de la rptition de 80 oprations regroupes en 4 fois 20 oprations
Kt = constante Wt = valeur dpendant des blocs Mi du message

5 mots de 32 bits

Une opration

Novembre 2005

Sminaire 5IF

44

Utilit des fonctions de hachage


Informatique : construction de table de hachage, liste chane utilisant ces fonctions. Permet de garantir lintgrit
Tlchargement de packages (Openoffice,) Vrification de lintgrit des paquets par calcul de sommes MD5 Utilisation avec une signature numrique (voir plus loin) Calcul de mot de passe

Novembre 2005

Sminaire 5IF

45

Les fonctions de hachage attaques !


Rsultats de 2004 et 2005 temps ncessaires pour trouver deux messages M et M fournissant le mme hach h :
MD4 : 15 minutes MD5 : 8 heures sur un PC 1,6 GHz SHA 0 : 239 oprations, SHA 1: 263 oprations -

Seul SHA-1 peut encore tre utilise On parle dun ventuel appel doffre du NIST
Novembre 2005 Sminaire 5IF 46

Exemples de collision pour MD5

Novembre 2005

Sminaire 5IF

47

MACs :
Message authentication Algorithms = Fonction de hachage avec cl Exemple :
H(k,p,m,k) : application de deux fonctions de hachage avec une cl k p = padding = on complte le message m avec des 0, des 1 ou une valeur alatoire
Novembre 2005 Sminaire 5IF 48

Protocoles ddis :
Cryptographie = algorithmes + protocoles La solidit dune communication dpend la fois de :
La solidit des algorithmes cryptographiques Des protocoles utilises

Novembre 2005

Sminaire 5IF

49

Exemple de protocoles : identification par mot de passe


Premire connexion :
terminal Mot de passe PA Stocke PA terminal Mot de passe P

Alice

Connexions suivantes :

Alice
Problme ? PA passe en clair sur la ligne et est stock en clair
Novembre 2005 Sminaire 5IF

Vrifie si P= PA

50

Protocole 1 : mot de passe stock sous forme chiffre (UNIX)


Premire connexion :
terminal Mot de passe PA Stocke cA = hash(PA) terminal Mot de passe P

Alice

Connexions suivantes :

Alice
Problme ? PA passe toujours en clair sur la ligne
Novembre 2005 Sminaire 5IF

Calcul hash(P) Vrifie si cA=hash(P)

51

Protocole 2bis :
Premire connexion :
terminal envoie PA Stocke cA = hash(PA) terminal Envoie h(P)

Alice

Connexions suivantes :
Alice
Calcule h(P) Vrifie si cA=h(P)

Novembre 2005

Sminaire 5IF

52

Protocole ala/retour :
Premire connexion : comme prcedemment Puis
terminal Ala (ou dfi) r

Alice
Calcule : c = EPA(r) c

A stock PA

Vrifie si c = EPA(r)

Novembre 2005

Sminaire 5IF

53

SKEY : RFC 2289


terminal (1000, cA = h1000(PA)) Stocke (1000, cA = h1000(PA)) terminal 1000-1

Alice

Alice
c Vrifie si h(c) = cA Stocke (999, c)
Novembre 2005 Sminaire 5IF 54

Calcule c = h999 (P)

Premire tude de cas : le WEP


Scurit dans les rseaux sans fil WEP : Wired Equivalent Protocol Ce protocole scurise les donnes de la couche liaison pour les transmissions sans fil de la norme 802.11

Novembre 2005

Sminaire 5IF

55

WEP (1/3)
Il prsuppose lexistence dune cl secrte entre les parties communicantes (la cl WEP) pour protger le corps des frames transmises Lutilisation du WEP est optionnel Il ny a pas de protocoles de gestion de cl => Une seule cl partage par plusieurs utilisateurs

Novembre 2005

Sminaire 5IF

56

WEP (2/3)
Pour chiffrer un message M
Checksum : calcule de c(M), P=(M, c(M)) code linaire CRC-32 (intgrit) Chiffrement : P est chiffr avec RC4 (confidentialit) Un vecteur dinitialisation (IV) v est choisi et est concatn k : C =P+RC4(v,k) Transmission de v et C

CRC-32
57

Novembre 2005

Sminaire 5IF

WEP : authentification (3/3)


Pour sauthentifier : protocole ala-retour
Ala r de 128 bits Lala est chiffr avec la mthode prcdente avant vrification :
C = r+RC4(v,k) Le serveur vrifie si C = C (la valeur calcule par le serveur)

Novembre 2005

Sminaire 5IF

58

WEP : pourquoi un IV ?
Pourquoi un IV ?
Si pas dIV : C1=P1+RC4(k) et C2=P2+RC4(k) => C1 + C2 = P1 + P2 Si on connat P1 => dduit P2 En chiffrant avec un IV, on change dIV chaque message => cette attaque est vite

Novembre 2005

Sminaire 5IF

59

WEP : quelques problmes


Une cl statique : aucun chiffrement nest sr si on rutilise toujours la mme cl Taille de lIV : 24 bits => seulement 16,777,216 dIV possibles 802.11 ne rend pas obligatoire lincrmentation de liV ! Longueur de cl :
40 bits (5 caractres ASCII) ou 104 bits (13 caractres ASCII) => attaque par recherche exhaustive possible !

=> Taille totale : entre 64 et 128 bits


CRC 32 : le code est linaire: c(x+y) = c(x) +c(y) ! Pas de protection de lintgrit des donnes Attaque par changement de seulement 1 bit du message Pas de spcification sur la distribution des cls

Novembre 2005

Sminaire 5IF

60

Quelques problmes (suite)...


Attaque sur la confidentialit Deux attaques statistiques contre RC4 avec des IVs
FSM 2001 : des IV sont faibles et rvlent de linformation sur la cl laide du premier octet de sortie Amlioration de cette attaque par Hulton => utilisation des premiers octets de sortie => permet de rduire la quantit de donnes capturer Attaque de KoreK (2004) : gnralisation des deux attaques prcdentes + injection de paquets. On dtermine le reste de la cl par recherche exhaustive

Novembre 2005

Sminaire 5IF

61

Implmentation des attaques


Attaque de KoreK
Cl de 40 bits : ncessite la capture de 150.000 paquets avec des IVs diffrents Cl de 104 bits : capture de 500.000 de paquets avec IV diff.

Amlioration par injection de trafic (ARP)


Rcuprer un paquet WEP, enlever le dernier octet. => le CRC/ICV est casse. Test sur la valeur de l octet davant :
si il valait 0 => XOR des 4 derniers octets et dune autre valeur => CRC encore valide ? Retransmission du paquet, passe-til ? Oui, bonne valeur, non => essayer la valeur 1 =>, Recherche exhaustive sur la valeur de un octet et on remonte,

Novembre 2005

Sminaire 5IF

62

Exemple dattaque sur le WEP


Exemple :
Aircrack de C. Devine Trs rapide

Avec injection de paquets, => qques min. pour trouver la cl

Novembre 2005

Sminaire 5IF

63

Le WEP est mort : rsum


Les principales faiblesses :
Faiblesse de RC4 < construction cl (K, IV) Taille trop faible des IV + rutilisation des IV autorise Pas de contrle dintgrit avec CRC32 Pas de mcanisme de mise jour des cls

3 outils ncessaires lattaque


Aerodump : dcouverte des rseaux autour Aireplay : injection artificielle de trafic Aircrack : casseur de cl WEP utilisant les Ivs uniques collects auparavant

Novembre 2005

Sminaire 5IF

64

Changements
Utiliser 802.1x pour lauthentification EAP (Extensive Authentication Protocol RFC 2284) centralise Utiliser WPA pour la confidentialit
Changement de cl de chiffrement de faon priodique Cl de 128 bits IV de 48 bits Impossibilit de rutiliser un mme IV avec la mme cl Utilisation dun contrle dintgrit du message (MIC) avec SHA-1 Malheureusement : pas encore lAES => WPA 2 ! WPA 2 intgre des protocoles standards dans toutes les couches
Intgration de IP-Sec, https,TCP protg par TLS,

Novembre 2005

Sminaire 5IF

65

Nouvelle norme : 802.11i (2004)


Nom commercial : WPA2
Sparation authentification util. et chiffrement Architecture de scurit appel RSN (robust security network) en 4 phases :
Mise en accord dune politique de scurit Authentification 802.1X (EAP) Drivation et distribution des cls Chiffrement et intgrit (AES, SHA 1 - )

Novembre 2005

Sminaire 5IF

66

Conclusion partielle
Les algorithmes de chiffrement cl secrte ne permettent pas de garantir la non rpudiation Problme de transmission de la cl partage Quand bcp dutilisateurs => problme de gestion de cl Problme de renouvellement des cls => Solution : cryptographie cl publique !

Novembre 2005

Sminaire 5IF

67

Cryptographie cl publique

Novembre 2005

Sminaire 5IF

68

Cryptographie cl publique
Pour chiffrer un message, Alice utilise la cl publique de Bob et seul lui peut dchiffrer le message laide de sa cl secrte Je ne donnerai pas ici les preuves permettant de garantir ces algorithmes
Novembre 2005 Sminaire 5IF 69

Plan
Principaux systmes de chiffrement
RSA
Les piges viter Records de factorisation de nombre RSA

ElGamal

Shmas de signature
RSA, RSA-PSS, ElGamal, DSS, DSA, ECDSA

Novembre 2005

Sminaire 5IF

70

Systmes de chiffrement

Novembre 2005

Sminaire 5IF

71

Problmes mathmatiques
Vue en 3IF Deux grands problmes
La factorisation de grands nombres Le problme du logarithme discret

Novembre 2005

Sminaire 5IF

72

Rappel
Le modulo :
a = b mod n a+k.n = b+k.n Lensemble des lments 0,n-1 dfini par la relation modulo se note Z/nZ Z/nZ est un anneau et un corps si n premier.

(n) : Fonction indicatrice dEuler = nombre de nombre premier avec n.


Si n premier : (n) = n-1 (pq) = (p)(q) si p et q premier

Le problme difficile sur lequel repose RSA : la factorisation


Il est trs difficile de trouver p et q / n=p.q en ne connaissant que n

Novembre 2005

Sminaire 5IF

73

RSA naf (RFC 2437)


Alice fabrique sa cl
n=pq avec p et q deux grands nombres premiers e premier avec (n) = (p-1)(q-1) et d tel que ed = 1 mod (p-1)(q-1) Rend publique (n,e)

Bob veut envoyer un message m Alice :


Bob calcule c = me mod n Bob transmet c Alice

Alice dchiffre c en calculant :


cd = med = m1 mod n

Novembre 2005

Sminaire 5IF

74

Principes de construction du RSA


Connaissant n retrouver p et q => problme difficile (pas dalgorithme en temps polynomiale) Factoriser n retrouver d Inverser xe mod n

Il existe une infinit de nombres premiers


On sait en construire (Fermat, Carmichael) On sait tester si ils sont premiers (Miller R - abin)
Novembre 2005 Sminaire 5IF 75

Taille des cls RSA :


Aujourdhui, factorisation de cls RSA (=n) de plus de 512 bits (154 chiffres dcimaux) Taille minimum prconis :
Au moins 768 bits 1024 bits conseill

Novembre 2005

Sminaire 5IF

76

Principes de prcaution pour RSA


p et q doivent tre grand ( 100 chiffres dcimaux) p-q doit tre grand (mthode de factorisation de Fermat) p 1 et q 1 doivent avoir un grand facteur premier chacun ( 100 bits) Dautres conditions,
Novembre 2005 Sminaire 5IF 77

Car
On a des algorithmes pour faciliter la factorisation des grands nombres
Mthode de Fermat Crible quadratique, sur corps premiers, Mthode rho de Pollard,

Novembre 2005

Sminaire 5IF

78

Factorisation des nombres RSA


Record de Factorisation depuis 1970 annes Nombre de dcimaux

70 39

83 50

86 80

89 90 93 96 99 03 100 116 120 130 155 160

Nouveau record en 2005 : RSA-200 digits (663 bits)


RSA-200 = 2799783391122132787082946763872260162107044678695542853756000992932612 8400107609345671052955360856061822351910951365788637105954482006576775 098580557613579098734950144178863178946295187237869221823983 = 3532461934402770121272604978198464368671197400197625023649303468776121253 679423200058547956528088349 X 7925869954478333033347085841480059687737975857364219960734330341455767872 818152135381409304740185467
Novembre 2005 Sminaire 5IF 79

Chausse-trappe
Mme message avec lexposant public 3 vers trois destinataires :
c1=m3 mod n1 c2=m3 mod n2 c3=m3 mod n3

=>Calcul de m3 par calcul de la racine cubique modulo n1n2n3


Novembre 2005 Sminaire 5IF 80

Principe de El Gamal
Repose sur le problme du log discret :
Soit p un grand nombre premier et g une racine primitive modulo p, il sagit de retrouver a connaissant A et g / ga = A mod p avec 0 a p-2

Aussi difficile que la factorisation


Novembre 2005 Sminaire 5IF 81

Le cryptosystme El Gamal
On choisit p premier (public) et g (public) La cl publique dAlice est y=gx / cl secrte x Bob veut envoyer un message m Alice :
Il tire un ala r Calcule yr Transmet (A=myr, B=gr)

Alice dchiffre
Bx = gxr = (gx)r = yr Calcule A(yr)-1 = m
Novembre 2005 Sminaire 5IF 82

Recommandations
Ne pas utiliser deux fois le mme nombre alatoire r p-1 doit avoir un grand facteur premier p doit tre grand (pareil que pour RSA)
> 512 bits On recommande 768 ou 1024 bits
Novembre 2005 Sminaire 5IF 83

Record de calcul de log discret


Thursday, September 22nd, 2005. We are pleased to announce a new record for the discrete logarithm problem over GF(2^n). Using the function field sieve of Adleman [Ad94], we were able to compute discrete logarithms for 607 bits and 613 bits prime. The first computation gives an interesting comparison between the function field sieve and Coppersmith's algorithm since the same field finite was already addressed by Thome using the later algorithm.

The two computations were done using different computers. For the first one, we used a single 1.15GHz 16-processors HP AlphaServer GS1280 computer during one month. For the second one, we used four 16-processors nodes of the itanium 2 based Bull computer Teranova during 17 days (1.3GHz CPUs).

Novembre 2005

Sminaire 5IF

84

Autres cryptosystmes cl publique


Cryptosystmes bass sur les codes correcteurs (Mac Eliece) Cryptosystmes utilisant les courbes elliptiques
Courbes dfinies par : P=(x,y) / y2=x3- 27 c4x 5 6 - 4c (courbe de Weierstrass)

Novembre 2005

Sminaire 5IF

85

Protocoles hybrides
Cryptographie asymtrique pour transmettre des cls symtriques Ksym Cryptographie symtrique pour chiffrer
Alice
Choisit Ksym

RSAKPB(Ksym) =

Bob

KpB

Communication chiffre avec AESKsym Tunnel chiffr


Novembre 2005 Sminaire 5IF 86

Se gnralise plusieurs destinataires

Alice
Choisit Ksym Calcule : K1=EKpB(Ksym) K2=EKpC(Ksym) K3=EKpD(Ksym) Cl commune : Ksym
Novembre 2005 Sminaire 5IF

Bob
Transmet K1 ||K2 ||K3 Charlie

Daphn
87

Ce quil reste voir !


Signature / authentification Identification Quelques protocoles La certification : comment garantir lauthentification

Novembre 2005

Sminaire 5IF

88

Signatures
Sur chacun des cryptosystmes prcdents, on peut construire des schmas de signatures En faisant videmment attention !

Novembre 2005

Sminaire 5IF

89

Signatures : principe gnral


m Alice Signature : SignAlice=SignKsA(m) (m, SignKsA(m)) Annuaire cl publique
KpA

Bob
Bob vrifie si m?=Sign-1KpA(Sign))

A cause de Charlie qui pourrait changer m en m, on signe HASH(m) pour garantir lintgrit du message
Novembre 2005 Sminaire 5IF 90

Proprits dune signature S


S ne peut tre contrefait S nai pas rutilisable Un message sign est inaltrable La signature S ne peut tre reni
Sur

support lectronique, S doit dpendre du message M sinon copie et remploi Signer nest pas chiffrer !

Novembre 2005

Sminaire 5IF

91

Signature RSA
Publique : n et e, Secret : exposant Alice d Alice signe le message m en calculant : S=md mod n Bob vrifie en calculant : m=Se mod n Performance : quelques centaines de signature par seconde
Novembre 2005 Sminaire 5IF 92

Problme ?
Fraude existentielle : s alatoire alors m=se mod n => (m,s) couple (message,signature) valide ! Dautres fraudes Solution ajouter de la redondance (un condens de m la fin) => norme ISO-9796 Mais pas encore sr de sa solidit

Novembre 2005

Sminaire 5IF

93

Signer M avec El Gamal


Publique : p premier et g gnrateur Secret de Alice x et publie : y=gx mod p Alice tire au hasard r Calcul de a=gr mod p Calcul b / M=ax+rb mod p Transmission de (M,a,b) Bob vrifie que yaab=gM mod p Sr mais Problme : trs lent !

Novembre 2005

Sminaire 5IF

94

Signature sre Digital Signature Scheme (anciennement DSA) (1/2)


Public :
q premier (160 bits) p=1 mod q (premier de 512 +64.t bits) g / gq = 1 mod p

Alice :
secret : a public : A=ga mod p
Novembre 2005 Sminaire 5IF 95

Digital Signature Scheme (2/2)


Alice choisit au hasard k Calcule K=(gk mod p) mod q Calcule s=(HASH(m)+aK)k-1 mod q Transmet (m, K, s) Bob vrifie :
1 K,s q ? -1 -1 (AK.s gHASH(m).s mod p) mod q ?= K

HASH = SHA1

Novembre 2005

Sminaire 5IF

96

Problme encore !
Ce processus reste trs lent pour un message long. Cest pour cela que dans la version prsente, on signe un hach du message m et pas le message dans son entier ! Cest ce qui se passe dans la vraie vie Il existe une version plus rapide de cette signature appele EC DSA qui utilise les courbes elliptiques. -

Novembre 2005

Sminaire 5IF

97

Identification
Vue dans le cas de la cl symtrique appel protocole une passe En cryptographie asymtrique, protocoles deux passes ou plus

Novembre 2005

Sminaire 5IF

98

Protocoles par challenge (1/2)


Par signature :
Alice Bob
Choisit une ala r Alice calcule avec sa cl secrte S=SignKSA(r) S signature valide de r ? Vrification avec cl publique dAlice

Novembre 2005

Sminaire 5IF

99

Protocoles par challenge (2/2)


Par dchiffrement :
Alice Bob
Choisit un ala r Le chiffre avec la cl publique dAlice Alice dchiffre r r = Dec(C) r r ?= r

C= EncKPA(r)

Novembre 2005

Sminaire 5IF

100

Protocoles sans divulgation de connaissances


Un exemple : protocole de Shnorr (ElGamal)
Publique : p et q premiers / q | p-1, et g Alice : secret a / Publique : A = g-a mod p
Alice
Choisit k et calcule K=gk mod p K Choisit un ala r gyAr ?= K (mod p)
101

Bob

r Alice calcule y=k+ar mod q


Novembre 2005 Sminaire 5IF

Dautres protocoles de ce type


Fond sur RSA => Guillou-Quisquater Fiat-Shamir Okamoto

=> permet de crer des protocoles didentification

Novembre 2005

Sminaire 5IF

102

Protocoles dchange de cls


Le plus connu : Diffie Hellman qui permet de gnrer un secret commun (cl) Repose sur le problme suivant :
Si p et g sont publiques Etant donn A=gx mod p et B=gy mod p, x et y inconnus, calculer gxy mod p.

Novembre 2005

Sminaire 5IF

103

Protocole Diffie Hellman


Publique : p premier, g racine primitive mod p

Alice
Choisit a au hasard Calcule A=ga mod p B Calcule C=Ba mod p A

Bob
Choisit b au hasard Calcule B=gb mod p

Calcule C=Ab mod p

Secret commun C
Novembre 2005 Sminaire 5IF 104

Protocole Diffie-Hellman (2/2)


Se gnralise plusieurs utilisateurs : cration de cl de groupe
r3 gr3 <g> m1 r1 gr1r2 gr1r3 m3 <g> (gr1r2,gr1r3) gr2 K = gr1 gr1r3 gr1r2

m2 <g> r2

Utilisation moderne : rseau ad hoc, peer to peer,

Novembre 2005

Sminaire 5IF

105

Applications de la cryptographie
Vient de voir
Principaux algorithmes en cl symtrique Principaux algorithmes en cl asymtrique Principaux protocoles

Sintresser leurs utilisations


Novembre 2005 Sminaire 5IF 106

La certification(1/2)
Pourquoi a-t-on besoin dune certification ?
Charlie
KPA KPC

Alice Charlie
EncKPA(m) EncKPC(m)

Bob

Alice
Novembre 2005 Sminaire 5IF

Bob
107

La certification (2/2)
Garantir que la cl publique dAlice est bien la cl publique dAlice => Garantir lauthentification Annuaire de cls publiques garanti par une autorit qui signe lidentit dAlice et la cl publique de Alice
Novembre 2005 Sminaire 5IF 108

Certificats X.509 (1/2)


Les certificats sont mis par des autorits de certification (CA) Le certificat dAlice contient les champs suivants : CA<A> = (SN,AI,ICA,IA,Ap,tA,SCA(SN,AI,ICA,IA,Ap,tA));
SN : numro de srie AI : identification de lalgorithme de signature ICA,IA : distinguished names de CA et de Alice Ap : cl publique de Alice tA : priode de validit du certificat
Novembre 2005 Sminaire 5IF

Signature de lId dAlice par le CA

109

Certificats X.509 (2/2)


La production du certificat dAlice ncessite une communication scurise entre Alice et le CA Alice peut se prsenter physiquement au CA

Novembre 2005

Sminaire 5IF

110

Exemple : Certificat X.509 de la Fnac (1/4)


Prsentation du certificat

Construction dune connexion chiffre aprs vrification du certificat

Novembre 2005

Sminaire 5IF

111

Exemple : Certificat X.509 de la Fnac (2/4)


Certificat luimme

Valeur des hachs du certificat (vrification intgrit)

Novembre 2005

Sminaire 5IF

112

Exemple : Certificat X.509 de la Fnac (3/4)


Information sur lmetteur : Ici VeriSign

Tous les dtails sont donns ici : Cl publique,valeur de la signature,

Novembre 2005

Sminaire 5IF

113

Exemple : Certificat X.509 de la Fnac (4/4)


Liste des autorits de cerfications

Novembre 2005

Sminaire 5IF

114

Chemin de certification (1/2)


Pour tre sr de la cl publique dAlice, Bob veut vrifier le certificat dAlice quil a obtenu depuis LDAP (par exemple) On suppose que ce certificat a t produit par CA1 inconnu de Bob Bob obtient pour CA1 un certificat vrifi par CA2, Jusqu un CA reconnu par Bob Ceci = chemin de certification X509 v3 : autorise un chemin de certification de taille 10
115

Novembre 2005

Sminaire 5IF

Chemin de certification (2/2)


USA = CA de lEurope Bob reconnat la certification des USA donc la cl dAlice est garantie pour Bob

CE = CA de lINRIA

INRIA CA de Alice

Alice
Novembre 2005

Cl publique dAlice

Bob
116

Sminaire 5IF

Conclusion partielle
Cl publique lent mais permet de garantir
Chiffrement sans change de cl pralable La Signature Lidentification Lauthentification par certification Permet dchanger une cl symtrique partage

Cl symtrique
Rapide pour le chiffrement Garantit lintgrit (fonction de hachage)

Novembre 2005

Sminaire 5IF

117

En pratique
La cryptographie est une boite outils Il suffit de lutiliser correctement Quelques applications :
OpenSSL SSH et ses drivs PGP et le Web of Trust PKI et exemples dutilisation

Novembre 2005

Sminaire 5IF

118

Schma habituel dutilisation


Authentification par certification Envoie de (KPA, signCA(hash(KPA))

Client
Alice vrifie auprs du CA lidentit de Bob

Authentification par certification Envoie de (KPB, signCA(hash(KPB))

Serveur
Bob vrifie auprs du CA lIdentit dAlice Choisit un algo symtrique et une cl K

Envoie le choix de lalgo et la cl K chiffre avec KPA et sign avec KSB (chiffKPA(K), signKSB(hash chiffKPA(K))) Tunnel scuris
Novembre 2005 Sminaire 5IF

119

OpenSSL : gnralits
SSL : Secure Socket Layer
Dveloppe par Netscape pour que les applications client/serveur communiquent de faon scuris TLS : volution de SSL ralis par lIETF SSL v3 support par Netscape et IE Protocole de scurisation TCP/IP qui opre au niveau session du modle OSI Opre au dessus du protocole de transport (niveau 4) de donnes fiable (TCP RFC 793) Deux temps :
Une poigne de main (handshake) identification client/serveur (par certificats X.509) avec dfinition du systme de chiffrement et dune cl pour la suite. Phase de communication : les donnes changes sont compresses, chiffres et signes.

Novembre 2005

Sminaire 5IF

120

OpenSSL : scurit
OpenSSL : date de 98, 60.000 lignes de C
Boite outils cryptographiques implmentant SSLv2 et v3 et TLSv1 (RFC 2246) Nombreuses applications : openssh, Apache, idx-pki, stunnel

Garantit :
Authentification (peut tre mutuelle) certificat X.509 Authenticit et confidentialit des donnes (sans non-rpudiation) Standards cryptographiques supports dans ssl et tls
Algorithmes symtriques : DES, 3DES, dans plusieurs modes Asymtriques : RSA, DSA, Echange de cls : Diffie Hellman Certificats X.509 Standards PKCS (Public Key Cryptographic Standard) : PKCS#1,, PKCS#12 Fonctions de Hachage : MD4, MD5, SHA-1,
Novembre 2005 Sminaire 5IF 121

OpenSSL : mise en oeuvre


Permet aussi
Ralisation de tests clients/serveurs SSL/TLS Signature et chiffrement de courrier (S/MIME)

Deux bibliothques
Bibliothque SSL/TLS (libssl.a) Bibliothque cryptographique (libcrypto.a)

Suite dapplications en ligne de commande Intgration de multiples langages


PHP, Perl, Ruby,
Novembre 2005 Sminaire 5IF 122

OpenSSL en lignes de commande


Chiffrement symtrique : Exemple de chiffrements possibles :

Novembre 2005

Sminaire 5IF

123

OpenSSL : le format PEM


Format spcifique qui chiffre les cls secrtes en les protgeant par mot de passe
Mot de passe

Chiffrement utilis Cl prive RSA chiffre

Novembre 2005

Sminaire 5IF

124

OpenSSL en lignes de commande


RSA :
Gnration dune paire de cl Module n Exposant public e Exposant priv d p et q / n=pq

Autres commandes
chiffret/dchiffret Exportation cl public
Novembre 2005 Sminaire 5IF 125

OpenSSL : signature
On signe lempreinte dun document :
Cration de lempreinte par sha1

Signature de lempreinte

Novembre 2005

Sminaire 5IF

126

OpenSSL : cration de certificat


Gnration du certificat

En .pem =>
Novembre 2005 Sminaire 5IF 127

OpenSSL : le certificat lisible

Novembre 2005

Sminaire 5IF

128

OpenSSL : applications spcifiques


Protocole de vrification de certificats en ligne Applications spcifiques :
Client/serveur SSL/TLS : s_client, s_server Manipulation de fichiers au format s/MIME Manipulation de fichiers au format PKCS#12
Enveloppe autour des certificats X.509 pour lier certificats et cls

Novembre 2005

Sminaire 5IF

129

OpenSSL : licence et conclusion


Licence spcifique OpenSSL proche de la GPL Projet similaire sous licence GPL
GnuTLS : protocole SSLv3 et TLS Mozilla NSS : protocole SSLv3 et TLS

Plus dinfos : http://www.openssl.org/ Permet de scuriser le protocole http mais aussi des connexions ftp, pop, imap,

Novembre 2005

Sminaire 5IF

130

SSH : Secure Shell (1/4)


Authentification
Cot client : par mot de passe ou par cl publique RSA ou DSA (ssh v2) Cot serveur : Authentification par clef publique (RSA/DSA)
Transmise au client la premire session

Sauvegarde par le client


131

Novembre 2005

Sminaire 5IF

SSH et ses drives (2/4)


client Connexion TCP sur port 22 Ouverture de session ssh

Authentification du serveur au niveau applicatif par sa cl publique Ajout de la cl publique du client dans les cls autorises par le serveur K Dcide quel algorithme de chiffrement symtrique va tre utilis puis le serveur envoie la cl secrte partage chiffre au client (chiffKPA(K), signKSB(hash chiffKPA(K))) Tunnel scuris
Novembre 2005 Sminaire 5IF

serveur

132

Les drives (3/4)


Une fois le tunnel scuris tabli :
Commandes normales en shell :copy,

Permet galement la communication entre des serveurs Peut remplacer telnet, rlogin, Extensions : sftp,
Novembre 2005 Sminaire 5IF 133

SSH et ses drivs (4/4)


Problmes dattaques :
DNS spoofing Attaque de type man in the middle qui se fait passer pour celui quil nest pas

Vient toujours du mme problme :


La cl publique nest pas garantie par un tiers de confiance ! Ou utilisation de mcanismes hors bande , rencontre physique par exemple

Novembre 2005

Sminaire 5IF

134

PGP et le Web of trust


PGP = Pretty good privacy sous licence GPL (jusqu la version 2.x) Cryptosystme hybride permettant lchange de donnes chiffres/authentifies
Cryptographie symtrique pour chiffrer Asymtrique pour signature et transport de cl de session

Novembre 2005

Sminaire 5IF

135

PGP et le Web of trust


Authentification repose sur lanneau de confiance : web of trust
Lauthenticit dune cl publique est prouve de proche en proche Adapte au communauts pas grande chelle ! Fonde sur la notion de COI Community of interest

Exemple : le Debian Keyring Web of Trust

Principe : je signe avec ma cl secrte la cl publique des personnes dont je suis sre

Novembre 2005

Sminaire 5IF

136

Versions et algorithmes utiliss


Feature Format cl Asymmetric algorithms PGP 2.x (RFC 1991) V3 keys RSA (encryption & signature) OpenPGP (RFC 2440) V4 keys RSA (encryption & signature) *DSA (signature) *Elgamal (encryption) IDEA *Triple-DES CAST5 Blowfish (cipher) SAFER-SK128 MD2, MD5 RIPEMD-160, SHA-1 ZIP, zlib
Sminaire 5IF

PGP 9.0 V9 keys RSA (encryption & signature) Diffie-Hellman/DSS (encryption & sign) AES (cipher) IDEA Triple-DES CAST5 Blowfish (cipher) MD5, RIPEMD-160 SHA-1, SHA-256 SHA-384, SHA-512 ZIP, BZip2, zlib
137

Symmetric algorithms

IDEA

Hash algorithms

MD5

Compression alg.
Novembre 2005

ZIP

Distribution de paire de cls


Gnr par vous-mme Ou serveur de cls et serveur rfrencent les cls
http://wwwkeys.pgp.net Recherche sur une chaine de caractres, un nom,

Je donne ma cl publique mes amis qui la signe si il me font confiance


Par exemple lors dune GnuPG Keysigning party

Novembre 2005

Sminaire 5IF

138

PGP : cration et envoi de cls


Cration dune paire de cl

Envoi de la cl publique ou publication sur le net De mme, on peut importer la cl publique de quelquun avec son empreinte

Novembre 2005

Sminaire 5IF

139

PGP
On peut chiffrer ses messages, les certifier (RSA), construire des certificats, chiffrer (cl secrte), signer les cls publiques des autres, Je signe avec ma cl priv le hach de mon message (intgrit) -----BEGIN PGP SIGNED MESSAGE----Hash: SHA1 message -----BEGIN PGP SIGNATURE----Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFDOFB+dwFvtd4oNA0RAoTGAKCKT 4iQaIbCAqNXkW8WeaLXyaTw1gCePxlFOBGf 90NCJqooWZJj7LTVr24==jh7d -----END PGP SIGNATURE----Novembre 2005 Sminaire 5IF 140

https
Rappel : http : HyperText Transfert Protocol
protocole client-serveur dvelopp pour le Web. utilis pour transfrer les documents (HTML, etc.) entre le serveur HTTP et le navigateur Web lorsqu'un visiteur consulte un site Web. Port 80

https : variante scurise de http avec les protocoles SSL ou TLS


Authentification du client et du serveur Permet de chiffrer la communication (commerce lectronique) port 443
sous IE sous Mozilla

Novembre 2005

Sminaire 5IF

141

https : authentification
Authentification du serveur : certificat X.509 Authentification du client par certificat X.509 (TLS)
PKCS#12 pour importer le certificat (TLS seulement) Suivi de session authentifie + gestions par le serveur des autorisations (selon pays, horaires,) Puis choix par le serveur dun algorithme de chiffrement cl secrte et par le client dune cl K transmise laide de la cl publique du serveur

Configuration:
Exemple :serveur Apache + Mod_SSL openSSL pour la gnration des certificats

Novembre 2005

Sminaire 5IF

142

https
Quelques limitations :
Notamment entre ssl/tls et http/1.1
Hbergement de plusieurs sites sur une mme instance de serveur web Problme de validation de certificat (entre le nom de domaine FQDN et le nom donn dans le certificat)

Peuvent tre rpares :


Avec lutilisation dhtes virtuels par adresse IP Ou dhtes virtuels par nom

Novembre 2005

Sminaire 5IF

143

IP-Sec : introduction
Internet Security protocol, intgr IPv6 Objectifs : scuriser les trames IP :
Confidentialit des donnes et protection partielle contre l'analyse du trafic Authentification des donnes et contrle d'accs continu Protection contre le rejeu

Principe :
ajout de champs dauthentification dans len-tte IP chiffrement des donnes

Avantage : scurisation niveau rseau Inconvnients : cot, interfaces avec les autres protocoles standardiser
Novembre 2005 Sminaire 5IF 144

IP-Sec : les algos utiliss


IP-Sec sappuie sur diffrents protocoles et algorithmes en fonction du niveau de scurit souhait :
Authentification par signature lectronique cl publique (RSA). Contrle de lintgrit par fonction de hachage (MD5). Confidentialit par lintermdiaire dalgorithmes symtriques, tels que DES, 3DES ou IDEA.

Novembre 2005

Sminaire 5IF

145

IP-Sec
Fonctionne avec deux protocoles possibles : AH (juste authentificat ESP (chiffrement) )

Deux modes possibles dutilisation avec les deux :


Transport Tunnel

Novembre 2005

Sminaire 5IF

146

IP-Sec : mode tunnel avec AH


Avec juste AH (authentification)

Novembre 2005

Sminaire 5IF

147

VPNs : autres avantages


IP-Sec est ce jour le protocole le plus utilis dans les VPNs avec PPTP (Point to point Tunneling Protocol) Les paquets sont chiffrs quand ils quittent un LAN et dchiffrer quand ils entrent dans un autre LAN
Garantie de scurit et disolation Chiffrement, intgrit, authentification

Avantages
transparence securit cot Accessible depuis internet

Novembre 2005

Sminaire 5IF

152

IPsec et VPN
IPSec mode transport: En mode transport, la session IPSec est tablie entre deux hosts
Avantage: la session est scurise de bout en bout Inconvnient: ncessit dune implmentation de IPSec sur tous les hosts; autant de sessions IPSec que de couples de hosts

IPSec mode tunnel: En mode tunnel, la session IPSec est tablie entre deux passerelles IPSec, ou un host et une passerelle
Avantage: lensemble des communications traversant les passerelles VPN peuvent tre scurises; pas de modification des hosts Inconvnient: ncessite des passerelles VPN
P rint S erver
Power/T X Link/Rx L PT 1 LP T2 COM P ower/TX Link/Rx LPT1 LPT 2 COM

Print Server

Novembre 2005

Sminaire 5IF

153

IPsec et VPNs : conclusion


Aujourdhui, lutilisation dun VPN est la manire la plus fiable de scuriser un rseau wireless => Cest aussi la mthode la plus utilise Mais il faut savoir que les performances vont diminuer (significativement) : Bande passante diminue de 30% en moyenne. Tous les LANs doivent tre scuriss pour obtenir une scurit globale

Novembre 2005

Sminaire 5IF

154

Les cartes puce


Fonctionnement
Terminal de lecture de carte

Commande APDU

Alice possde une carte puce lie elle par une ID (ex.: un code PIN)
Novembre 2005 Sminaire 5IF

Central de gestion software


155

Les cartes puce


Architecture :
CPU : 8, 16 & 32 bits Mmoire :
RAM : => 5 Ko EEPROM/Flash : => 64 Ko ROM : => 208 Ko
Max 25 mm

Cellule cryptographique (DES, AES, RSA) et gnrateur de nb al. Dtecteur de scurit, registres, timer, IO interface,
Novembre 2005 Sminaire 5IF 156

Une carte Gemplus

Novembre 2005

Sminaire 5IF

157

Diffrentes cartes
Algorithmes de chiffrement implments diffrents selon les cartes
Carte de tlphone : compteur et algorithmes propritaires inconnus Carte SIM de tlphone portable : un MAC pour authentification

Rgle gnrale cependant :


Possde tous :
Une fonction de hashage : SHA-1 (intgrit) Un algorithme de chiffrement : 3DES, AES, (confidentialit) RSA (chiffrement asymtrique) DSA ou ECDSA (signature lectronique)

Novembre 2005

Sminaire 5IF

158

Utilisation de la cryptographie dans une carte de paiement :


Principe de lchange lectronique :
Le code PIN entr par lutilisateur permet de
Lauthentifier Librer les droits de lecture contenus dans la carte

Le lecteur (de cartes) vrifie que la carte nest pas blacklister Le lecteur authentifie la carte (3-DES) La carte authentifie le lecteur Le lecteur enlve le montant de faon sre (MAC) au compte Et il augmente de faon sre (MAC) le compte du commercant
Novembre 2005 Sminaire 5IF 159

Les attaques physiques sur les cls contenues dans les cartes
Principe :
Dpackager la carte Puis accder aux diffrents niveaux du composants Accder aux informations
Contenu dans la mmoire ou les bus

Reconstituer larchitecture du composant


Mmoire, bus, adresses,

Puis, attaque,
Novembre 2005 Sminaire 5IF 160

Attaques par canaux cachs


Fuite dinformation

Novembre 2005

Sminaire 5IF

161

Attaques par canaux cachs


Plusieurs types :
Timing attack : le temps utilis dpend du secret Power Analysis Attack : attaque par mesure de courant
SPA (Simple), DPA (diffrentiel)

Fault Attack : attaque par injection de fautes Attaque par champs lectromagntiques

Novembre 2005

Sminaire 5IF

162

Timing Attack :
Principe : introduit en 96 par P. Kocher et mise en pratique en 98 Ralisation pratique :
Des secrets sont contenus dans la carte Quand ils sont utiliss, le temps dxcution dpend
De la valeur du secret Fait fuir de linformation sur le secret Peut tre mesur

Conditions dattaques relles :


Pouvoir monitorer un temps dxcution utilisant le secret Avoir des outils de calculs et des outils statistiques de base Connatre au moins en partie limplmentation sur la carte

Exemple : attaque sur la vrification dun code PIN par une carte (possde un algorithme Verif_PIN pour cela)
Novembre 2005 Sminaire 5IF 163

Power Analysis :
Plusieurs types : SPA, DPA, Principe :
Mme chose que timing attack sauf que ici, on regarde la consommation de courant On dduit statistiquement de linformation sur le secret : consommation puissance =f(algo,donnes,secret) Part de reverse ingenieering pour trouver
Lalgorithme utilis La structure de lalgorithme

Novembre 2005

Sminaire 5IF

164

Matriel utilis :
Analyse des rsultats Lecture des rsultats

5V Mesure de courant
Novembre 2005 Sminaire 5IF 165

Exemple : consommation du DES


Daprs NEC & Princeton :

Daprs Cryptography research :


Novembre 2005 Sminaire 5IF 166

DPA : Differential Power Analysis


Mme principe mais plus complexe que SPA Mise en uvre de tests statistiques Principe :
On chiffre n messages choisis (entre 500 et 10000) pour une cl fixe Pour chaque messages, on collecte un certain nombre dinformations sur le chiffrement et sur le chiffr On introduit une hypothse sur la cl que lon teste => Accs physique la carte pendant lattaque

Novembre 2005

Sminaire 5IF

167

DPA : exemple (1/2)


Sur le DES (par exemple) :
On choisit un bout de la cl On fait une hypothse sur la valeur de ce bout de cl => On teste si cette hypothse est bonne en faisant un test statistique sur les donnes collectes
Si lhypothse sur la cl est bonne : pic Sinon pas de pic

On choisit un autre bout de la cl et on recommence avec un test statistique Jusqu obtenir toute la cl

Novembre 2005

Sminaire 5IF

168

DPA : exemple pratique (2/2)


Sur le DES :
rfrence

Hypothse vraie Hypothse fausse

Hypothse fausse

Novembre 2005

Sminaire 5IF

169

FA : Fault Attack
Injection de faute sur la carte
Intrt particulier des industriels : car une faute peut se produire rellement et involontairement => Cration de protection contre cela ou pour dtecter la faute (redondance,)

Variante : la DFA => injection de faute particulire qui permettent dobtenir de linformation sur les secrets.

Novembre 2005

Sminaire 5IF

170

Contre-mesures possibles
produit recherche recherche

Contre les Timing Attacks :


Grer tous les octets tous les temps

Chiffrement dynamique du code PIN

Contre les Power Analysis


Amlioration du code des algo.
Structure du code Cacher les donnes

contre-mesures

attaques recherche

Amlioration de limplmentation

Faire disparaitre la conduite lectrique par dsynchronisation, utilisation dun cryptoprocesseur (bus chiffr),...

Contre les Fault attacks :


Mcanismes de scurit ddis (senseurs,...) Contre Mesures sur le software
Sur les algorithmes ou sur le stockage du secret
Novembre 2005 Sminaire 5IF 171

PKI : Public Key Infrastructure


But : distribution de cl publique avec scurit et gestion de certificats Principe gnral et fonction :
Enregistrement de demandes et de vrifications des critres pour lattribution dun certificat
Id du demandeur vrifier Possession de la cl secrte associe

Cration des certificats Diffusion des certificats avec publication des cls publiques

Novembre 2005

Sminaire 5IF

172

PKI : Public Key Infrastructure


Archivage des certificats pour suivi de scurit et de prennit Renouvellement des certificats Suspension de certificats (pas de standard, peu ais mettre en uvre,surtout administrative) Rvocation de certificat sur date, perte, vol ou compromission des cls Cration et gestion des listes de rvocation des certificats Dlgation de pouvoir dautres entits reconnues de confiance

Novembre 2005

Sminaire 5IF

173

Principaux problmes
Suspension de certificats : pas de standard Cration et publication des listes de rvocation des certificats
Pas de standard pour rvocation automatique Moyens administratifs : implments de faon scurise
Le propritaire de la cl doit prouver que sa cl est inutilisable

Novembre 2005

Sminaire 5IF

174

Problme de gestion !
Listes de rvocations doivent
tre protges pour ne pas tre corrompues tre accessibles en permanence et jour => synchronisation des horloges de toutes les pers. concernes

Listes de rvocations peuvent tre trs grande


Exemple : paiement des impts par Internet Maintenues en permanence Enorme base de donnes, accessible tout instant !

Novembre 2005

Sminaire 5IF

175

Titre de comparaison
Comme une carte didentit national
Preuve de lidentit quand cration de la carte Unique, lie une identit et non falsifiable Dclaration en prfecture quand vol ou perte afin den obtenir une autre et pour ne pas quil y est une mauvaise utilisation de la disparue

Novembre 2005

Sminaire 5IF

176

Conclusion PKI
Important :
tude de faisabilit pralable pour estimer
Besoins (matriels) selon le nombre de personnes concernes La validation par des organismes de confiance Le dploiement

Un exemple : les impts http://www.ir.dgi.minefi.gouv.fr/ Plus dinformations : http://www.ssi.gouv.fr/


Novembre 2005 Sminaire 5IF 177

Bluetooth et les tlphones portables

Novembre 2005

Sminaire 5IF

178

Bluetooth : introduction
Protocole de communications sans-fil courtes distances dploy depuis plusieurs annes dans tlphones mobiles, ordinateurs portables, GPS, routeurs, imprimantes, appareils photos, etc. Il fonctionne dans la gamme des 2.4GHz tout comme 802.11. 79 canaux Bluetooth

http://www.secuobs.com/news/05022006 -bluetooth1.shtml
Novembre 2005 Sminaire 5IF 179

Bluetooth : rseau
Un priphrique Bluetooth matre peut communiquer avec 7 autres priphriques esclaves au maximum. =>"rseau" = Piconet Scatternet
= interconnexion de Piconets, grce des "routeurs". Nb max de Piconets = 10
Novembre 2005 Sminaire 5IF 180

Bluetooth : scurit (1/4)


PB actuel : augmentation de la distance de communication.
Exemple : Se rendre dans un lieu relativement frquent avec un scanner Bluetooth => risques encourus d'avoir un quipement Bluetooth activ dans sa poche. Pb possibles par compromission Bluetooth : dni de service, rcupration du carnet d'adresses, consultation des derniers appels, lecture des SMS, Etablissement d'un appel ou d'une connexion Internet.

Novembre 2005

Sminaire 5IF

181

Bluetooth : scurit (2/4)


3 modes de scurit Bluetooth :
Mode 1 : Pas de mcanisme de scurit Mode 2 : Scurit assure au niveau applicatif Mode 3 : Scurit assure au niveau liaison de donnes

Un quipement Bluetooth est caractris principalement par :


Son adresse BT (BD_ADDR), = une adresse MAC Code PIN = optionnel Sa classe, propre au type de priphrique : oreillette Bluetooth, tlphone mobile Presque toute la scurit = implmentation matrielle. Interface avec l'OS = via le protocole HCI

Novembre 2005

Sminaire 5IF

182

Bluetooth : scurit (3/4)


Scurit dans la couche gestionnaire de liaisons (GL) Systme de gestion de cls propritaires Assure :
l'authentification, le pairage, la cration et la modification des cls, Le chiffrement

Novembre 2005

Sminaire 5IF

183

Bluetooth : scurit (4/4)


Algorithmes de cryptographie utiliss :
E0 : chiffrement flot => sert au chiffrement Gnration des cls laide de trois algorithmes : E22, E21 et E3 Authentification : algorithme E3 Intgrit : algorithme SAFER+ (chiffrement par blocs) Les problmes cryptographiques :
attaque contre le chiffrement E0 et le mode particulier utilis dans Bluetooth en 240 avec 235 frames Si pas de code PIN, pas dauthentification de lutilisateur Le code PIN doit tre partag ! Problme de longueur de cls fonction de la lgislation des pays
Novembre 2005 Sminaire 5IF 184

Bluetooth : Les couches (1/2)


HCI : assure labstraction matrielle
= Interface entre lOS et le firmware Bluetoothe Gre notamment la dcouverte des quipements distants

L2CAP = quivalent d'un protocole d'accs au mdia


propre Bluetooth multiplexe des protocoles de couches suprieures (RFCOMM par exemple) via des canaux appels PSM (Protocol/Service Multiplexer) Exemple : RFCOMM (de type liaison srie Bluetooth) utilise PSM 3, SDP (Service Discovery Protocol) PSM 1 Equivalent de TCP/UDP difficile de s'assurer pas de porte drobe L'outil psm_scan permet de lister les PSM accessibles

Novembre 2005

Sminaire 5IF

185

Bluetooth : Les couches (2/2)


SDP : liste les services disponibles sur un priphrique et les informations relatives : PSM/Ports RFCOMM => possible d'utiliser un service sans repertori par le serveur SDP distant. RFCOMM : effectue des communications de type RS232 (srie) sur L2CAP en Bluetooth De nombreux quipements communiquent via RFCOMM : selon l'implmentation de la pile Bluetooth, et le port RFCOMM, une authentification de type pairing peut tre requise. OBEX = protocole d'change d'objets entres de calendriers, de carnets d'adresses simples fichiers. => possible d'envoyer (commande PUSH), ou de recevoir (commande PULL) des donnes OBEX fonctionne au dessus de RFCOMM
Novembre 2005 Sminaire 5IF 186

Bluetooth : diffrents outils


Hcitool : dtection de priphrique bluetooth l2ping : permet d'envoyer un priphrique des paquets de niveau L2CAP de type ECHO REQUEST, la manire d'un ping

sdptool : permet d'effectuer diffrentes oprations au niveau L2CAP


requtes directes vers les priphriques distants configuration du serveur sdpd (ajout/suppression de services par exemple) sur la machine locale afin de rpondre aux requtes SDP entrantes.

rfcomm : permet d'tablir une communication de type RFCOMM entre 2 priphriques. => demande de cration pour pairing

Novembre 2005

Sminaire 5IF

187

Bluetooth : quelques attaques (1/4)


Dtection de priphriques en mode non dtectable (pas de rponse des broadcasts)
"attaque" de bruteforce sur l'adresse Bluetooth
Plage dadresse sur 6 octets (de 00:00:00:00:00:00 FF:FF:FF:FF:FF:FF) => Tout = 11 heures Mais attaques sur des plages plus petites (plages de constructeurs,) => scan limit alors 3 octets => une heure Exemple doutils : redfang, btscanner (+ fonctionnalits)

Attaque sur le pairing = Processus qui autorise la connection dun priphrique un service local
Demande explicite sur le terminal distant par avertissement Ou aucune demande => cas des codes PIN Bluetooth prdfinis par le constructeurs (PIN par dfaut 0000, 1234,) => attaque simple !

Novembre 2005

Sminaire 5IF

188

Bluetooth : quelques attaques (2/4)


Le pb du multi piring - a
= autoriser plusieurs terminaux se connecter sur le mme service Outil : carwhisperer ecoute du flux radio sur oreillettes + injection via le bon port RFCOMM

BlueBug = la faille la plus lourde


Connection sur un port RFCOMM sans pairing Accs un ensemble de commandes particuliers Outil : rfcomm_scan + commande AT btxml (carnet adresse) Contrle quasi-intgrale du tlphone !
=> compromission de donnes, appels,

Novembre 2005

Sminaire 5IF

189

Bluetooth : quelques attaques (3/4)


Helomoto : outil pour attaquer les tlphones Motorola
BlueJacking : envoi dun objet OBEX puis interruption Attaquant devient 1 priphrique de confiance Puis connection RFCOMM sur RFCOMM Headset sans authentification Puis BlueBug

BlueSmack : blocage des priph. (crash pile ou SE) via requte l2ping trop longue ou bcp de requtes
Exple : PDA iPaq

Dautres : BlueSnarf,=> Audit : Bloover II, BTBrowser,


Novembre 2005 Sminaire 5IF 190

Bluetooth : quelques attaques (4/4)


Exemple de www.secuobs.com : crash de la pile Bluetooth dun NOKIA N70 :

Novembre 2005

Sminaire 5IF

191

Depuis deux ans


Pourquoi Bluetooth
Danger pour les tlphones portables !

On a vu apparatre le premier virus sur tlphone portable : Cabir


Ver, nom officiel EPOC/Cabir Dcouvert par lditeur de lantivirus Kaspersky en 2004 OS dessous : EPOC Symbian Propagation : technologie Bluetooth

Novembre 2005

Sminaire 5IF

192

Propagation :
Propagation :
Apparat dans le menu dinstallation avec le texte suivant :
Installation secutity warning. Unable to verify supplier. Continue anyway ?

Programme non sign => si Yes, Install Caribe => Installation du ver et dans la boite de rception, il y aura : CaribeVZ/29a.

Novembre 2005

Sminaire 5IF

193

Que se passe-til aprs ?


Une fois excut le fichier reu, le ver s'installe dans le systme. Il scannera alors les contacts Bluetooth et enverra une copie de luimme au premier venu. (+ vidage batterie). Deux ans aprs : plus de 200 types de virus cods sur les mobiles (source F-Secure) Exemples :
Locknut C sous Symbian Sries 6.0 Fichier SMS de mise jour de carte SIM. Une fois installs, ils dtruisent un fichier essentiel de symbian et paralysent les applications du tlphone pour le rendre inoprant. Cardtrap, Cardtrap.F, Skull.S Commwarrior...

Novembre 2005

Sminaire 5IF

194

Le virus Commwarrior.C
Dcouvert en Mars 2006, Utilise Bluetooth ou MMS Envoi un MMS chaque adresse enregistr dans le tlphone.
Pb : cot Mise en panne de tlphones, Changement du logo du tlphone,

Novembre 2005

Sminaire 5IF

195

Le SMiShing
= phishing par SMS. Le SMS se prsente comme un message tel que nous vous confirmons que vous vous tes inscrits pour ce service dont le cot est de 2 dollars par jour, sauf si vous annulez votre inscription Un lien est plac dans ce SMS pour annuler cette commande.
Lusager qui le suivra sera dirig vers un site pig possibilit de tlcharger des malwares en quelques instants.

srieux risques pour la scurit des donnes + dinfecter rseau personnel et celui de lentreprise

Novembre 2005

Sminaire 5IF

196

Et aprs
Un virus peut entraner des surfacturations, la divulgation dinformations, ou encore la suppression, la corruption ou la modification dinformations. => Utilisation danti-virus sur les portables.
Cot : 12 milliards de dollars dans le monde en 2007 Le pire est venir

Novembre 2005

Sminaire 5IF

197

PKCS

Novembre 2005

Sminaire 5IF

198

Les normes PKCS (1/2)


PKCS : Public Key Cryptography Standards)
PKCS#1 : spcifications de RSA (RFC 2437) PKCS#2 inclus dans PKCS#1 (comme PKCS#4) PKCS#3 : Diffie- H ellman Key agreement standard PKCS#5 : Password Based Cryptography standard PKCS#6 : Extended- C ertificate Syntax Standard PKCS#7 : Cryptographic Message Syntax Standard (RFC 2315) PKCS#8 : Private K y Information Syntax Standard - e PKCS#9 : Selected Attribute type

Novembre 2005

Sminaire 5IF

199

Les normes PKCS (2/2)


PKCS#10 : Certification Request Syntax ou CRS (Certificate Signing Request), RFC 2314 PKCS#11 : Cryptographic Token Interface Standard PKCS#12 : Personnal Information Exchange Syntax Standard PKCS#13 : Elliptic Curve Cryptography Standard PKCS#14 : Pseudorandom Number Generation Standard PKCS#15 : Cryptographic Token Information Format Standard

Novembre 2005

Sminaire 5IF

200

Plus dinformation sur la loi en matire de cryptographie


Rglementation franaise http://www.ssi.gouv.fr/ fr/reglementation/inde x.html#crypto

Novembre 2005

Sminaire 5IF

201

Conclusion (1/2)
Schma gnral !
Cryptographie symtrique : chiffrement/intgrit Cryptographie asymtrique : signature/change de cl symtrique Mlanger tout cela correctement pour construire des architectures

Novembre 2005

Sminaire 5IF

202

Conclusion : Schma gnral (2/2)


Authentification par certification Envoie de (KPA, signCA(hash(KPA))

Alice
Alice vrifie auprs du CA lidentit de Bob

Authentification par certification Envoie de (KPB, signCA(hash(KPB))

Bob
Bob vrifie auprs du CA lIdentit dAlice Choisit un algo symtrique et une cl K

Envoie le choix de lalgo et la cl K chiffre avec KPA et sign avec KSB (chiffKPA(K), signKSB(hash chiffKPA(K))) Tunnel scuris
Novembre 2005 Sminaire 5IF

203

Вам также может понравиться