24

Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Théorie de l'information et codage

Master de cryptographie

Cours 9 : Chi�rement par �ot

13 et 16 mars 2009

Université Rennes 1

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 1 / 24

Page 2: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Qu'est ce que la cryptographie par �ot ?

Rappel : le masque jetable

XOR entre le message et une clé de même longueur qu'on jette ensuite

Seul prouvé sûr

Inutilisable (échanger la clé = même problème qu'échanger lemessage)

Chi�rement par �ot = se rapprocher du masque jetable

Méthode

Générer un �ux de bits aléatoires : la clé.

Faire un XOR avec le message (ou autre).

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 2 / 24

Page 3: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Caractéristiques des chi�rements par �ot

Comparaison avec les chi�rements par blocs

Chi�rement par �ot Chi�rement par blocen mode CFB ou OFB

1 bit à la fois blocs de bitsdébit élevé débit moyen

bien adapté à uneimplémentation �hard� �soft�

implémentation spéci�que ré-utilisation de l'existant

Utilisation

Essentiellement pour des communications sans �l (GSM, Wi�, Bluetooth,...) à cause du besoin de débit élevé.

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 3 / 24

Page 4: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Générateurs aléatoires et pseudo-aléatoires

Un (vrai) générateur aléatoire doit être non-déterministe (il ne doit paspouvoir être reproduit de manière �able).

Un générateur pseudo-aléatoire doit produire une suite

qui a l'air aléatoire, c.a.d. qui satisfait des tests probabilistesdisponibles sur

http ://csrc.nist.gov/groups/ST/toolkit/rng/index.html,

imprévisible (impossible, étant donné l'algo et les premiers bits deconstruire le bit suivant),

déterministe (c.a.d. il peut être reproduit).

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 4 / 24

Page 5: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Réalisation

un ordinateur est déterministe→ générateurs aléatoires di�ciles à réaliser.

un ordinateur n'a qu'un nombre �ni d'états possibles→ générateurs pseudo-aléatoires périodiques (on va utiliser deux

fois la même clé).

De grandes périodes sont nécessaires.

Le monde réel est aléatoire (bruit dans un ordinateur, temps de lectured'un �chier, vitesse de frappe au clavier)→ débits très faibles

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 5 / 24

Page 6: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Principe d'un générateur pseudo-aléatoire dans unchi�rement par �ot

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 6 / 24

Page 7: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Types de Chi�rement par �ot : chi�rement synchrone

La séquence de clé est indépendante du message

ki = f (ki−1)

ci = ki ⊕mi

Avantage : pas de propagation d'erreurInconvénient : tout faux si désynchronisationAvantage de l'inconvénient : une attaque par omission ou insertion

provoque une désynchronisationInconvénient de l'avantage : modi�cation facile et indétectable

Si on utilise le même �ux de clé, ça casse tout

Solutions : - changer la clé de départ (graine),- utiliser un générateur avec une grande période

équivalent au mode OFB

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 7 / 24

Page 8: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Types de Chi�rement par �ot : chi�rement asynchrone

Les bits de clé dépendent des bits de clé précédents et des bits du message.

Un chi�rement auto-synchrone ne dépend que de ça

ki = f (ki−1, ci−t , · · · , ci−1)

ci = ki ⊕mi

Avantage : synchronisation automatiqueInconvénients : propagation d'erreurs

possibilité de rejouer les données (attaque par rejeu)

équivalent au mode CFB

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 8 / 24

Page 9: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Générateurs linéaires congruentiels

zn = (azn−1 + b) modm

où zn est le n-ième bit de �ux de clé, a, b et m sont publics et z0 est lagraine. Si a, b et m sont choisis correctement, le générateur sera de périodemaximale (m).

Avantages : rapides car peu d'opérations, bonne répartitionInconvénient : cryptographiquement mauvais

Utilisation non cryptographique

Combinaison de générateurs linéaires (ou polynomiaux) congruentiels

meilleur comportement statistique

plus grandes périodes

pas plus sûrs

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 9 / 24

Page 10: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Registres à décalage à rétroaction

Composé de deux éléments

un registre à décalage

une fonction de rétroaction f

A chaque étape (top d'horloge), s0 est retourné, tous les autres bits sontdécalés vers la gauche et sn est calculé par la fonction de rétroaction f .

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 10 / 24

Page 11: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Registres à décalage à rétroaction linéaire (LFSR)

sn = f (s0, . . . , sn−1) =n∑

i=1

ci sn−i .

Par exemple

Il y a 2n possibilités d'initialisation (la clé)

→ période maximale T = 2n − 1

Dans le cas de la période maximale, on parle de m-suite.Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 11 / 24

Page 12: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Polynôme de rétroaction

On appelle polynôme de rétroaction le polynôme de F2[X ]

F (X ) = 1 + c1X + c2X2 + · · ·+ cnX

n

Theorem

La suite est une m-suite si son polynôme de rétroaction est le polynôme

minimal d'un générateur du groupe cyclique F∗2n

(c.a.d. le polynôme est

primitif), autrement dit si

F est irréductible

F divise X 2n−1 + 1

F ne divise pas X d + 1 si d |2n − 1

Générer un polynôme primitif est un problème di�cile.

Méthode : prendre un polynôme au hasard et véri�er.

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 12 / 24

Page 13: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Exemple de LFSR

Le polynôme de F2[X ]

X 16 + X 14 + X 13 + X 11 + 1

est primitif et donc le LFSR

a une période de 216 − 1.

On utilise souvent des polynômes clairsemés qui sont plus rapides maismoins sûrs.

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 13 / 24

Page 14: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Un peu de théorie

Dé�nition

La complexité linéaire d'une suite périodique s est la longueur du pluspetit LFSR qui l'engendre. On la note L(s). Si s est une m-suite de période2L − 1, alors sa complexité linéaire est L.

Algorithme de Berlekamp-Massey

Calcul en temps quadratique la complexité linéaire et un polynômeengendrant un �ot identique à celui d'un LFSR donné.

→ il su�t de connaître 2L(s) bits consécutifs de la suite pour laretrouver entièrement.

LFSR pas sûrs du tout

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 14 / 24

Page 15: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Combinaison de LFSR

avec f non linéaire. f et les polynômes de rétroaction sont publics. La cléest l'état initial des LFSR.

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 15 / 24

Page 16: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Combinaison de LFSR (2)

La suite est forcément périodique ⇒ attaquable par Berlekamp-Massey

La complexité linéaire vaut dans ce cas f (L1, L2, ..., Ln)

Exemple : générateur de Ge�e

3 LFSR de longueurs premières entre elles 2 à 2.

f (x1, x2, x3) = x1x2 ⊕ x1x3 ⊕ x2

période (2L1 − 1)(2L2 − 1)(2L3 − 1)

complexité linéaire : L1L2 + L1L3 + L2

Autres moyens d'introduire de la non-linéarité

contrôle d'horloge (un LFSR contrôle l'horloge de l'autre)

utilisation d'une mini mémoire (permettant de retarder la sortie)

rétroaction non-linéaire (mais pas de théorie mathématique derrière)

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 16 / 24

Page 17: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Attaques par corrélation

On exploite une éventuelle corrélation entre la sortie d'un des LFSR et lasortie générale.

Exemple : Générateur de Ge�e

La sortie du générateur est égale à celle de LFSR2 dans 75% des cas.

On essaye de deviner l'état initial du LFSR2 (i.e. on essaye tous lesétats initiaux possibles).

On compare les résultats obtenus avec le Ge�e attaqué d'une part etavec le LFSR2 deviné d'autre part.

Si on a deviné le bon LFSR2, les résultats sont les mêmes dans 75%des cas, sinon seulement dans 50% des cas.

Cette attaque peut être généralisée à tous les générateurs pseudo-aléatoiresqui ont plusieurs composantes

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 17 / 24

Page 18: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Quelques exemples de chi�rement par �ot : A5 (GSM)

3 LFSR de tailles 19,22 et 23, utilisant les polynômes clairsemés

X 19 + X 18 + X 17 + X 14 + 1X 22 + X 21 + 1X 23 + X 22 + X 21 + X 8 + 1

Les registres sont remplis audépart avec une clé de 64 bits(en fait 54 seulement).

Non-linéarité : les registres sont décalés à la majorité des bits du milieu (sion a deux 0 et un 1, on décale les registres où il y a les 0).

Fait pour être cassable.Fondamentalement bon (bonne répartition de la sortie).

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 18 / 24

Page 19: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Quelques exemples de chi�rement par �ot : E0 (Bluetooth)

4 LFSR de 25, 31, 33 et 39 bits

X 25 + X 20 + X 12 + X 8 + 1X 31 + X 24 + X 16 + X 12 + 1X 33 + X 28 + X 24 + X 4 + 1X 39 + X 36 + X 28 + X 4 + 1

Clé de 128 bits.Non-linéarité assurée par 2 états internes de 2 bits chacun (mémoiretampon) mis à jour en fonction de

l'état courant

l'état précédent

les sorties des LFSR

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24

Page 20: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Quelques exemples de chi�rement par �ot : E0 (Bluetooth)

Attaques en 240 mais gourmandes en mémoire.

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 20 / 24

Page 21: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Quelques exemples de chi�rement par �ot : RC4 (Wep, SSL)

Dû à Rivest (1987), commercial.Détails connus depuis 1994 (équivalent libre : Arcfour).

Fonctionnement

Pas basé sur les LFSR mais sur une table S a 255 cases (S0, . . . , S255)formant une permutation des nombres entre 0 et 255. Cette permutationinitiale dépend de la clé (de 40 à 256 bits).2 compteur i et j sont initialisés à 0. Pour générer un octet aléatoire :

i = i + 1 mod 256j = j + Si

Échanger Si et Sj

t = Si + Sj mod 256Renvoyer St

Très facile à implémenter.Rien n'empêche des tables plus grandes.Des attaques existent, considéré comme peu sûr.

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 21 / 24

Page 22: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Mauvais exemple d'intégration : le WEP

RC4-64 (ou 128) avec 24 bits de vecteur initialisation (IV), envoyé en clair.⇒ reste 40 bits de clé (ou 104)

Rôle de IV : éviter d'utiliser 2 fois la même graine.En pratique le IV change pour chaque paquet.

Problèmes

IV très court

Aucune recommandation sur la sélection des IV (incrémentation,tirage aléatoire ?)

⇒ ensemble des IV très vite parcouru (11h à 54Mbps, voire 10 secondes sic'est aléatoire)

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 22 / 24

Page 23: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Attaque du WEP

Étape 1 : se faire un dictionnaire de couples (IV, RC4(IV,k)) grâce àdes couples clair/chi�rés obtenus en

espionnant les authenti�cations (la borne envoie une trame T , il fautrépondre le bon chi�ré pour s'authenti�er),envoyant plein de mails, la borne va les chi�rer.

Étape 2 : s'authenti�er en répondant T ⊕ RC4(IV, k) à la requête T

grâce au dictionnaire.

http ://www.tuto-fr.com/tutoriaux/tutorial-crack-wep-aircrack.php

La faiblesse ne vient pas du RC4.

Alternatives

WPA (IV de 48 bits, clés changées régulièrement) compatible avec leWEP.

WPA2 utilisant AES, pas compatible, plus lent, plus sûr.

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 23 / 24

Page 24: Théorie de l'information et codage Master de cryptographie ... · les sorties des LFSR Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 19 / 24 Quelques

Conclusion

Très bien en hardware.

Pas assez étudiés.

Très peu ne sont pas attaqués.

Chi�rement par bloc en mode �ot conseillé en software.

Un des grands chantier de la cryptographie

Master Crypto (2008-2009) Théorie de l'information et codage 13 et 16 mars 2009 24 / 24