Cryptanalyse du Chiffrement

33
Cryptanalyse du Chiffrement Damier Alexandre -M2 CCS

description

Cryptanalyse du Chiffrement. Damier Alexandre -M2 CCS. Sommaire. 1. Introduction 2. Le chiffrement 3. Vulnérabilité 4. Détection 5. Décryptement 6. Trappes ?. Introduction 1. 2.3.4.5.6 . Chiffrement allant de XOR (le plus faible) à RC4 avec une clé de 128 bits - PowerPoint PPT Presentation

Transcript of Cryptanalyse du Chiffrement

Diapositive 1

Cryptanalyse du Chiffrement

Damier Alexandre -M2 CCS

Sommaire1.Introduction

2.Le chiffrement

3.Vulnrabilit

4.Dtection

5.Dcryptement

6.Trappes ?

Introduction 1.2.3.4.5.6.Chiffrement allant de XOR (le plus faible) RC4 avec une cl de 128 bits

Le XOR est un oprateur logique qui correspond un OU exclusifMme principe que le cryptage de Vigenre, puis on effectue un XOR, bit par bit. L'algorithme est compltement symtrique.

ExempleIntroduction 1.2.3.4.5.6.Chiffrement allant de XOR (le plus faible) RC4 avec une cl de 128 bits

Chiffrement prsent jusqu Office 2003

75% des particuliers et prs de 80% des licences professionnelles

En 2005, Hongjun Wu met en vidence une faiblesse dans lutilisation de RC4 128 de la suite Office

Les cls restent les mmes pour toutes les versions modifies !

Le chiffrement 1.2.3.4.5.6.

Via un mot de passe Outils -> Options -> Onglet Scurit -> Options avances

XOR utilis par dfaut si on ne clique pas sur Paramtres avancs

Ce que font la plupart des utilisateurs !

XOR est un algorithme simple et facile mais pitoyable en terme de scurit (utilisation dun driv du mot de passe)

Le cas XOR Le chiffrement 1.2.3.4.5.6. Plusieurs options proposes (comme la signature numrique)

Diffrentes longueurs de cls

Celui cens offrir la meilleure scurit est RC4 avec cl de 128 bits

Cest celui que nous allons cryptanalyser

Algorithme RC4Le chiffrement 1.2.3.4.5.6. Chiffrement de type flot

Le texte clair M est combin une squence alatoire Sig produite par lexpansion de la cl K pour produire le texte chiffr C

Ct = Mt Sigt

Chiffrement symtrique

Mt = Ct Sigt

Algorithme RC4Le chiffrement 1.2.3.4.5.6. Cl de chiffrement gnr par le logiciel

Obtenue partir du mot de passe de lutilisateur et dun vecteur dinitialisation (IV gnr alatoirement par Word)

K= F ( H ( IV || mot de passe )

F fonction de drivation, K la cl de chiffrement , H la fonction de hachage (SHA1) et || loprateur de concatnation.

Algorithme RC4Le chiffrement 1.2.3.4.5.6.

Lutilisation dun mme mot de passe pour plusieurs documents naffaiblit pas la cl

hachage avec IV cens tre gnr alatoirement chaque fois !

Algorithme RC4Vulnrabilit 1.2.3.4.5.6. Microsoft Word viole une rgle fondamentale en cryptologie

Utilisation du mme IV pour diffrentes versions dun document

Obtention de messages parallles

Profondeur de paralllisme : nombre de messages parallles relativement une mme suite chiffrante.

Principe gnralVulnrabilit 1.2.3.4.5.6. Cration de deux fichiers message1.doc et message2.doc Word avec une modification

Mot de passe protection

Nous allons ici utiliser Hackman 9.0 qui est un diteur hexadcimal, un dsassembleur et un dbuggeur tout en un

Analyse techniqueVulnrabilit 1.2.3.4.5.6.

37 premiers octets identiques !Donc mme suite chiffrante, donc mme IV !

Analyse technique

Vulnrabilit 1.2.3.4.5.6.

Comparaison des IVAprs le marqueur 10 00 00 00

Analyse technique

Vulnrabilit 1.2.3.4.5.6. Word positionne toujours le dbut du texte loffset 0xA00

IV visible aprs le marqueur 10 00 00 00

La taille des donnes (nombres de caractres) se dtermine en lisant les valeurs x et y situes respectivement aux offsets 0x21D et 0x21C.

T (en octets) = (x-8) * 28 + y

Donnes toujours accessibles en clairs mme avec loptionchiffrer les proprits du document

Structure dun document WordDtection 1.2.3.4.5.6. C1 = M1 Sig1 C2 = M2 Sig2

( C1 C2 ) = ( M1 M2 ) ( Sig1 Sig2 )

M1 M2 possde un profil statistique aisment identifiableLa valeur Sig1 Sig2 aura un profil statistique alatoire

Des messages parallles Principe gnralDtection 1.2.3.4.5.6. Deux cas de figure pour dterminer si M1 et M2 sont parallles

(H0) : Les textes ne sont pas parallles et donc le texte chiffr exhibe un profil statistique totalement alatoire

(H1) : Les textes sont parallles et donc Sig1 et Sig2 du fait de la mauvaise gestion de la cl.

( C1 C2 ) = ( M1 M2 )

On btit alors un test dhypothses simples pour dcider du paralllisme

Des messages parallles Principe gnralDtection 1.2.3.4.5.6. Estimateur Z = i=0..n ( C1i C2i 1 )

n tant la taille commune entre C1 et C2Cki reprsente le bit i du message k

Lestimateur Z compte le nombre de bits valant 0 dans le texte ( C1 C2 )Z suit une loi Binomiale de paramtre n et p , o p est la probabilit pour que les bits de ( C1 C2 ) valent 0 .

Des messages parallles Algorithme de dtectionDtection 1.2.3.4.5.6. Cette loi binomiale peut tre approxime lorsque Z par :Une loi normale de paramtres np et ( np ( 1-p ))1/2

(Thorme central limite)

Sous H0 (messages non parallles), Z suit la loi N( n/2 , n/2 )

Sous H1 (messages parallles), Z suit la loi N ( np , ( np ( 1-p ))1/2 )avec p > 1/2

Des messages parallles Algorithme de dtectionDtection 1.2.3.4.5.6. Le test est alors simple, on choisit un seuil S dfini par les probabilits derreur que lon se fixe et la dcision stablit comme suit :

Si ZS les textes sont parallles

Les diffrentes expriences montrent des pics trs importants de lestimateur Z pour les textes parallles.

La dtection est ainsi aise par la simple prsence dun pic

Des messages parallles Algorithme de dtectionDtection 1.2.3.4.5.6.

Cela ne permet pas de distinguer plusieurs groupes diffrents de textes parallles

Mais le paralllisme est une relation dquivalence, tout groupe de messages parallles sera une classe d quivalence pour cette relation

On compare alors deux deux nos N textes chiffrs et extrayons les groupes de messages parallles.

Des messages parallles Algorithme de dtectionDtection 1.2.3.4.5.6.

venirDes messages parallles RsultatsDcryptement 1.2.3.4.5.6. Exemple connu

Construction dun corpusLettreFrqLettreFrqLettreFrqa8,40j0,31s8,08b1,08k0,05t7,07c3,03l6,01u5,74d4,18m2,96v1,32e17,26n7,13w0,04f1,12o5,26x0,45g1,27p3,01y0,30h0,92q0,99z0,12i7,34r6,55Dcryptement 1.2.3.4.5.6. Plus gnralement, les n-grammes

Construction dun corpus3-gFrq3-gFrq3-gFrqENT0,90EME0,47ESD0,35LES0,80ELA0,44TDE0,35EDE0,63RES0,43DES0,61MEN0,42QUE0,60ESE0,42AIT0,54DEL0,40LLE0,51ANT0,40SDE0,51TIO0,38ION0,48PAR0,36Dcryptement 1.2.3.4.5.6. Pour rpondre nos besoin un tel corpus doit tre :

Suffisamment reprsentatif de la langue cibleDe taille raisonnable pour permettre un traitement rapide

Nous dfinissons alors une variable alatoire discrte X et nous appelons Pi la probabilit que notre vnement soit gal llment xi de notre corpus

En ralit, il faudra galement prendre en compte certains lments de ponctuations, espacement,

Construction dun corpusDcryptement 1.2.3.4.5.6.C1, C2, , Cp les textes chiffrs que lon se donne

x1, x2, , xN les n-grammes de notre corpus

Pour chaque n-gramme Cg1 du premier texte chiffr C1 Hypothse sur la valeur du n-gramme Mg1 du texte clair

Calcul du n-gramme chiffrant k Mg1 Cg1

A partir de ce n-gramme chiffrant, calcul des Mgi k Cgi

Principe du dcryptementDcryptement 1.2.3.4.5.6.Ritration du procd pour chaque lment du corpus

Constitution pour chaque n-gramme des textes N p-uplets(Mg1, , Mgi, , Mgp)

Ce sont autant de possibilits pour les textes en clair M1, , Mp

Association aux N p-uplets trouvs les N p-uplets de probabilits

(P(Mg1), , P(Mgi), , P(Mgp))Principe du dcryptementDcryptement 1.2.3.4.5.6.Il nous faut alors maximiser le p-uplet de probabilits

Choix dun bon estimateur Z dpendant de la nature des textes

Z est fonction positive strictement croissante du vecteur de probabilitsPrincipe du dcryptementDcryptement 1.2.3.4.5.6.Pour chaque n-gramme Cg1 de C1 faire :Z Pour m1 {x0, x1, , xN} faire lhypothse Mg1 m1Calculer k m1 Cg1Pour i {2, , p} Calculer mi k Cgi Calculer P(mi)Fin pourSi Z[P(m1), , P(mi), , P(mp)] > Z Z Z[P(m1), , P(mi), , P(mp)] Pour i {1, , p} Mgi mi Fin pourFin siFin pourFin pour

Algorithme gnralDcryptement 1.2.3.4.5.6.De nombreux choix possibles de la fonction du cumul des frquences

Utilisation de Z+ i=1..p fia o fi est la frquence des n-grammes trouvs

Le choix de a dpend de la nature du texte Pour des textes riches en noms propres et termes techniques rare, le choix optimal est a 0.3Optimisations et paramtres optimaux Choix de ZDcryptement 1.2.3.4.5.6.Mthode dextraction sans recouvrement

Exemple dextraction de 4-grammes

Mthode dextraction avec recouvrement

Exemple dextraction de 4-grammes

Ainsi les n-grammes clairs trouvs se chevauchent (n-1 caractres communs entres deux n-grammes conscutifs)Optimisations et paramtres optimaux n-grammesDcryptement 1.2.3.4.5.6. venir

Rsultats exprimentauxTrappes ? 1.2.3.4.5.6.Obtention des textes parallles par les fichiers temporaires de Word

Cration de fichiers temporaires chaque modification de document

Utilisation de PC inspector file recoveryTrappes ? 1.2.3.4.5.6.Vulnrabilit partage entre lOS et le lapplication

Deux failles indpendantes non critiques faille critique

Mthode classique pour limplmentation de trappes

Vulnrabilit prsente version aprs version