< Return to Video

Chiffrement de flux dans la vrai vie (20 min)

  • 0:00 - 0:04
    Je donnerai ici quelques exemples de chiffrements
    de flux qui sont utilisés en pratique.
  • 0:04 - 0:07
    Je vais débuter avec deux vieux exemples
    qui ne devraient pas
  • 0:07 - 0:11
    être utilisés pour de nouveaux systèmes.
    Néanmoins, ils sont largement
  • 0:11 - 0:14
    utilisés, et je veux donc simplement les nommer
    pour que ces concepts vous soient
  • 0:14 - 0:19
    familiers. Le premier chiffrement de flux
    s'appelle RC4, il a été conçu
  • 0:19 - 0:23
    en 1987. Je n'en donnerai qu'une
    description de haut niveau, et ensuite
  • 0:23 - 0:28
    nous parlerons de quelques faiblesses de RC4.
    Donc RC4 prend
  • 0:28 - 0:33
    une semence de taille variable;
    j'utiliserai un exemple où cette semence
  • 0:33 - 0:37
    est de 128 bits, ce qui serait utilisé
    comme clé pour le chiffrement de flux.
  • 0:37 - 0:42
    D'abord, il augmente la clé secrète de
    128-bits à 2048 bits qui
  • 0:42 - 0:46
    seront utilisés comme l'état interne
    pour le générateur. Ensuite, une fois faite
  • 0:46 - 0:51
    cette expansion, il exécute une boucle
    très simple où chaque itération de
  • 0:51 - 0:56
    boucle produit un octet. Essentiellement,
    on peut donc faire marcher le générateur
  • 0:56 - 1:01
    aussi longtemps que l'on veut et générer
    un octet à la fois. En fait, RC4 est
  • 1:01 - 1:05
    plutôt populaire. Il est utilisé
    couramment dans le protocole HTTPS.
  • 1:05 - 1:12
    Par exemple, Google utilise RC4 pour son
    HTTPS. Il est aussi utilisé dans WEP, comme
  • 1:12 - 1:16
    nous avons dit dans le dernier segment.
    Mais dans WEP, il est utilisé incorrectement
  • 1:16 - 1:19
    sans la moindre sécurité.
    Au fil des ans, on a trouvé
  • 1:19 - 1:24
    quelques vulnérabilités dans RC4 et on
    recommande donc que les nouveaux projets
  • 1:24 - 1:29
    n'utilisent pas RC4 mais un générateur
    pseudo-aléatoire moderne, ce dont nous
  • 1:29 - 1:34
    discuterons vers la fin du segment.
    Mentionnons juste deux vulnérabilités.
  • 1:34 - 1:40
    La première est un peu bizare. Si on
    regarde le second octet
  • 1:40 - 1:45
    de la sortie de RC4. Il s'avère que le second
    octet est légèrement biaisé. Si RC4 était
  • 1:45 - 1:50
    complètement aléatoire, la probabilité
    que le second octet soit égale à zéro
  • 1:50 - 1:55
    serait exactement de 1/256: il y a 256
    bytes possibles, donc la probabilité
  • 1:55 - 2:00
    qu'il soit zéro devrait être de 1/256.
    Or pour RC4, la probabilité est en fait
  • 2:00 - 2:04
    de 2/256. Ce qui veut dire que si tu
    utilises l'output de RC4 pour encrypter un
  • 2:04 - 2:10
    message, le second octet n'est
    probablement pas encrypté: ce sera
  • 2:10 - 2:15
    donc XOR-é avec zéro pour le double de la probabilité qui
    est attendu. ////
  • 2:15 - 2:19
    Donc 2 sur 256, plutôt que 1 sur 156. Et en passant,
    je dois mentionné qu'il
  • 2:19 - 2:23
    n'y rien de spécial dans le second octet à encrypté. Il s'avère que le premier et le troisième octet
  • 2:23 - 2:28
    sont également biaisés. Et en fait, c'est maintenant recommandé que pour toute utilisation de RC4
  • 2:28 - 2:33
    les premiers 256 octets devrait être ignoré et
  • 2:33 - 2:37
    commence à utiliser la sortie du générateur juste à partir du 257e octet. La première série
  • 2:37 - 2:41
    d'octets est en fait biaisée. Donc il faut les ignorés. La deuxième attaque qui
  • 2:41 - 2:48
    a été découverte est qu'en fait lorsqu'on observe une très longue sortie de RC4
  • 2:48 - 2:54
    il est plus probable d'obtenir la séquence 00. Autrement dit, il est plus
  • 2:54 - 2:59
    probable d'obtenir sur seize bits deux octet de zéro zéro (0,0) que la normale.
    Encore une fois si RC4
  • 2:59 - 3:04
    serait totalement aléatoire la probabilité de retrouver zéro, zéro devrait être exactement 1/256
  • 3:04 - 3:09
    au carré. Il s'avère que RC4 est légèrement biaisé et le biais est 1/256 au cube. C'est
  • 3:09 - 3:14
    ce biais qui débute après plusieurs giga-octets de donnés produites par
  • 3:14 - 3:19
    RC4. Néanmoins, c'est quelquechose qui peut être utilisé
    pour prévoir le générateur
  • 3:19 - 3:23
    et définitivement, cela peut être utilisé pour distingué la sortie du générateur
  • 3:23 - 3:28
    d'une séquence réellement aléatoire. Simplement le fait que zéro apparaît plus souvent
  • 3:28 - 3:32
    qu'il ne le devrait. Dans le dernier segment, nous avons abordé
  • 3:32 - 3:36
    les attaques liées à la clé qui étaient uiltisées pour attaquer WEP qui disait que
  • 3:36 - 3:41
    si on utilise des clés qui sont étroitement reliées une à l'autre
    alors c'est possible
  • 3:41 - 3:46
    de retrouver la clé racine. Donc ceci complète les vulnérabilités connues sur RC4,
  • 3:46 - 3:50
    conséquemment il est recommandé que les nouveaux systèmes n'utilise pas RC4 mais plutôt un
  • 3:50 - 3:54
    générateur pseudo-aléatoire moderne. Okay, comme deuxième exemple que je veux vous donner est un
Title:
Chiffrement de flux dans la vrai vie (20 min)
Video Language:
English

French subtitles

Incomplete

Revisions