View
43
Download
4
Category
Preview:
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
Citation preview
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
Recommended