AES n'est pas (toujours) sécurisé.

Hafnium - Sécurité informatique
15 Sept 202416:05

Summary

TLDRCe script vidéo explique l'algorithme de chiffrement AES, qui est devenu le standard de la sécurité des données et des communications mondiales depuis son apparition en 1997. Il aborde les limitations du DES, qui a précédé AES, et comment la force brute devenue réalisable avec l'avancée des technologies a rendu ce dernier obsolète. Le script explore ensuite les différentes versions d'AES avec des clés de 128, 192 et 256 bits, et compare le chiffrement symétrique AES au chiffrement asymétrique. Il met en lumière les différents modes de chiffrement AES, tels que ECB, CBC, CTR et GCM, et leur impact sur la sécurité, l'intégrité et l'authenticité des données. Le script conclut en soulignant que, bien que le cœur de AES soit sécurisé, l'implémentation et les modes d'opération jouent un rôle crucial dans la protection effective des informations.

Takeaways

  • 🔐 AES (Advanced Encryption Standard) est un algorithme de chiffrement symétrique qui a été adopté en 2001 après avoir été sélectionné par le NIST (National Institute of Standards and Technology).
  • 📅 Depuis sa création en 1997, AES est devenu la norme mondiale pour la sécurité des données et des communications.
  • 🚨 Le chiffrement DES (Data Encryption Standard), utilisé largement avant les années 2000, a été considéré comme vulnérable en raison de la taille limitée de ses clés (56 bits), ce qui permettait des attaques par force brute.
  • 🔑 AES est disponible en trois versions différentes avec des clés de 128 bits, 192 bits et 256 bits, offrant ainsi un niveau de sécurité élevé contre les attaques par force brute.
  • 🔗 AES est un chiffrement par bloc, ce qui signifie qu'il ne peut chiffrer que des données de 128 bits à la fois, nécessitant une gestion spéciale pour chiffrer des données plus longues.
  • 🔄 Le mode ECB (Electronic Codebook) d'AES, qui chiffre chaque bloc indépendamment, est considéré comme non sécurisé car il peut révéler des informations sur le texte non chiffré.
  • 🔒 D'autres modes de chiffrement AES ont été développés pour améliorer la sécurité, tels que CBC (Cipher Block Chaining) et CTR (Counter), qui lient les blocs de manière différente pour prévenir la révélation d'informations.
  • 🛡️ Le mode GCM (Galois/Counter Mode) d'AES assure la confidentialité, l'intégrité et l'authenticité des données, ce qui le rend préférable pour de nombreuses applications modernes.
  • 🌐 AES GCM est largement utilisé dans les communications TLS, les cookies de session et certains protocoles VPN pour garantir la sécurité des échanges de données.
  • ⚠️ Même si AES est un algorithme de chiffrement robuste, la sécurité globale d'un système dépend également des modes de chiffrement utilisés et de l'implémentation du chiffrement.

Q & A

  • Qu'est-ce que l'AES et pourquoi est-il considéré comme sécurisé?

    -L'AES, Advanced Encryption Standard, est un algorithme de chiffrement symétrique adopté en 2001 par l'Institut national des normes et de la technologie des États-Unis. Il est considéré comme sécurisé car il a été soigneusement étudié et testé par des experts en cryptographie pendant des années sans que des failles de sécurité pratiques ne soient découvertes.

  • Quel est le problème avec le chiffrement DES et pourquoi a-t-il été remplacé par l'AES?

    -Le chiffrement DES avait une taille de clé limitée à 56 bits, ce qui signifie qu'il y avait seulement 72 millions de milliards de combinaisons possibles. Avec l'augmentation de la puissance de calcul, il devenait possible de faire une attaque par force brute pour cracker une clé DES, rendant le chiffrement inefficace pour la sécurité des données.

  • Quels sont les trois modes de clés AES disponibles et quelle est la différence entre eux?

    -Les trois modes de clés AES disponibles sont 128 bits, 192 bits et 256 bits. La différence réside dans la complexité et la sécurité de la clé : plus la clé est longue, plus elle est sécurisée, mais aussi plus le chiffrement est lent et consommateur de ressources.

  • Comment fonctionne le chiffrement par bloc dans l'AES?

    -Le chiffrement par bloc dans l'AES signifie que les données sont divisées en blocs de 128 bits, et chaque bloc est chiffré séparément avec la même clé. Cela permet de traiter des données de n'importe quelle taille en les segmentant en blocs plus petits.

  • Pourquoi le mode ECB d'AES n'est-il pas sécurisé?

    -Le mode ECB (Electronic Codebook) d'AES n'est pas sécurisé car il chiffre chaque bloc de données indépendamment, ce qui peut conduire à des motifs répétés dans le texte chiffré s'il y a des blocs de données identiques, révélant ainsi des informations sur le texte non chiffré.

  • Quels sont les autres modes de chiffrement AES qui sont plus sécurisés que le mode ECB?

    -D'autres modes de chiffrement AES plus sécurisés incluent le mode CBC (Cipher Block Chaining), où chaque bloc est chiffré en utilisant le chiffrement du bloc précédent, et le mode CTR (Counter), qui chiffre chaque bloc indépendamment mais ajoute un nonce (un nombre utilisé une fois) qui est incrémenté pour chaque bloc.

  • Quels sont les problèmes associés au mode CBC et comment sont-ils résolus?

    -Le mode CBC n'est pas parallélisable car le chiffrement d'un bloc dépend du bloc précédent, ce qui ralentit le processus. De plus, si le nonce est réutilisé dans le mode CTR, cela peut compromettre la sécurité. Ces problèmes sont résolus en utilisant des modes qui garantissent l'intégrité et l'authenticité des données, comme le mode GCM.

  • Quel est le rôle de l'authenticité et de l'intégrité dans un protocole de chiffrement?

    -L'authenticité et l'intégrité sont essentielles pour s'assurer que le message chiffré n'a pas été modifié en cours de route et qu'il provient d'une source authentique. Cela permet de détecter et de prévenir les attaques de l'homme du milieu et d'autres vulnérabilités.

  • Pourquoi l'AES GCM est-il préféré dans les implémentations modernes?

    -L'AES GCM (Galois/Counter Mode) est préféré car il assure la confidentialité, l'intégrité et l'authenticité des données. Il est également résistant à la plupart des attaques cryptographiques et parallélisable, ce qui permet des performances optimales lors du chiffrement de grands volumes de données.

  • Quelles sont les implications de l'utilisation de l'AES dans les communications TLS et les VPN?

    -L'utilisation de l'AES dans les communications TLS et les VPN assure la sécurité des échanges de données en garantissant la confidentialité, l'intégrité et l'authenticité. Cependant, il est important de noter que la sécurité finale dépend également de l'implémentation et de la configuration du système.

Outlines

00:00

🔐 Historique et importance de l'AES

Le paragraphe 1 introduit le standard de chiffrement avancé (AES), qui a été créé en 1997 après le challenge de DES. Il a succédé à DES, qui était largement utilisé mais devenu vulnérable avec l'évolution de la puissance de calcul. Le AES, initialement nommé Rijndael, est aujourd'hui la base de la sécurité des données et des communications mondiales. Il est reconnu pour sa robustesse, bien que son utilisation ne soit pas aussi simple qu'il n'y paraît. Le paragraphe explique également comment le DES, avec ses clés limitées à 56 bits, a été devancé par une attaque de force brute en 1997, ce qui a conduit à la recherche d'un nouvel algorithme de chiffrement par le NIST. Après une sélection rigoureuse, Rijndael a été choisi comme le futur AES.

05:01

🔑 Fonctionnement et modes d'opération de l'AES

Le paragraphe 2 explique en détail comment fonctionne le chiffrement AES, qui est un chiffrement symétrique utilisant la même clé pour chiffrer et déchiffrer. Il est disponible en trois versions avec des clés de 128, 192 et 256 bits, offrant ainsi une sécurité élevée contre les attaques par force brute. Le paragraphe aborde également la question de la taille des données et comment AES, étant un chiffrement par bloc de 128 bits, gère les données plus grandes en utilisant une approche par bloc. Cependant, il soulève le problème de sécurité avec le mode ECB, où des modifications apportées aux données chiffrées peuvent révéler des informations sur les données originales, ce qui est particulièrement dangereux dans le contexte de la cryptographie.

10:02

🕵️‍♂️ Problèmes de sécurité et améliorations

Le paragraphe 3 traite des problèmes de sécurité associés aux modes de chiffrement, en particulier le mode ECB, et explique comment d'autres modes comme CBC et CTR améliorent la sécurité en changeant la manière dont les blocs sont chiffrés. Il met en évidence les vulnérabilités dues à l'utilisation incorrecte de nonces et la nécessité de garantir l'intégrité et l'authenticité des messages en plus de la confidentialité. Le paragraphe explique également les attaques potentielles, comme l'attaque de l'homme du milieu, et comment elles peuvent compromettre la sécurité des communications, soulignant l'importance de solutions comme le chiffrement authentifié pour assurer l'intégrité et l'authenticité des messages.

15:02

🌐 Applications et considérations finales sur la sécurité

Le paragraphe 4 conclut en soulignant que l'AES 256 est considéré comme sécurisé et inviolable en termes de fonction de chiffrement, mais que la sécurité globale dépend également des modes d'opération et de l'implémentation. Il mentionne que les systèmes modernes utilisent souvent le mode AES-GCM, qui offre des avantages en termes de sécurité, de parallélisation et de résilience aux attaques. Le paragraphe met en garde contre la sécurité trompeuse des solutions qui utilisent simplement AES sans considérer les autres aspects clés de la cryptographie, et encourage à aller plus loin dans la compréhension de la sécurité informatique.

Mindmap

Keywords

💡AES

AES signifie Advanced Encryption Standard, c'est-à-dire le Standard américain de chiffrement avancé. Il a été développé pour remplacer DES (Data Encryption Standard) en raison de ses limitations de sécurité. AES est à l'origine du projet de l'Institut national des normes et de la technologie (NIST) et a été finalement sélectionné en 2001. Dans la vidéo, AES est présenté comme un algorithme de chiffrement symétrique ultra-sécurisé, mais son utilisation doit être adaptée en fonction du contexte pour assurer une sécurité optimale.

💡Chiffrement

Le chiffrement est le processus de transformation des données en un format codé pour les protéger contre l'accès non autorisé. Dans la vidéo, le chiffrement est abordé comme un moyen de sécuriser les données et les communications, en particulier avec l'utilisation d'AES. Il est mentionné que le chiffrement AES est considéré comme ultra-sécurisé, mais certaines de ses implémentations peuvent présenter des vulnérabilités.

💡Clée de chiffrement

Une clée de chiffrement est un élément essentiel utilisé par les algorithmes de chiffrement pour convertir des données en un format codé. Dans le script, il est indiqué que AES est disponible en trois versions différentes avec des clés de 128 bits, 192 bits et 256 bits. La taille de la clé détermine le niveau de sécurité du chiffrement; plus elle est grande, plus le chiffrement est sécurisé contre les attaques par force brute.

💡DES

DES, ou Data Encryption Standard, est un algorithme de chiffrement qui a été largement utilisé avant l'apparition d'AES. Cependant, comme mentionné dans la vidéo, DES a une clé de seulement 56 bits, ce qui le rend vulnérable aux attaques par force brute. L'histoire de DES illustre l'évolution constante des besoins en matière de sécurité des données.

💡Force brute

Une attaque par force brute est une méthode utilisée pour trouver une clé de chiffrement en testant de manière systématique toutes les combinaisons possibles. Dans le script, il est expliqué que DES est vulnérable à cette méthode en raison de la taille limitée de sa clé, ce qui est devenu un problème avec l'augmentation de la puissance de calcul des ordinateurs.

💡Chiffrement par bloc

Le chiffrement par bloc est une méthode de chiffrement où les données sont divisées en blocs de taille fixe qui sont chiffrés un par un. Dans la vidéo, il est indiqué que AES est un chiffrement par bloc de 128 bits, ce qui signifie que toutes les données, qu'elles soient des messages courts ou des fichiers volumineux, doivent être divisées en blocs pour être traitées.

💡Mode ECB

ECB est le mode d'opération de chiffrement par bloc le plus simple, où chaque bloc est chiffré indépendamment des autres. Cependant, comme l'explique la vidéo, ce mode peut révéler des informations sur les données non chiffrées en raison de la répétition de motifs dans le texte chiffré, ce qui le rend vulnérable et non recommandé pour la sécurité des données.

💡Mode CBC

CBC, ou Cipher Block Chaining, est un mode de chiffrement par bloc qui lie chaque bloc de données à chiffrer avec le bloc précédemment chiffré pour augmenter la sécurité. Dans le script, il est mentionné que ce mode est plus sécurisé que ECB, mais il présente l'inconvénient de ne pas être parallélisable, ce qui peut ralentir le processus de chiffrement.

💡Mode CTR

CTR, ou Counter, est un mode de chiffrement où chaque bloc est chiffré de manière indépendante en utilisant un nonce (un nombre utilisé une seule fois) qui est incrémenté pour chaque bloc. Comme expliqué dans la vidéo, ce mode évite les motifs répétés et assure une meilleure sécurité, mais l'utilisation incorrecte de nonces peut entraîner des failles de sécurité.

💡Authentification

L'authentification dans le contexte du chiffrement est un processus qui permet de vérifier la source d'un message ou d'une donnée. Dans la vidéo, l'importance de l'authentification est soulignée pour s'assurer que les données chiffrées n'ont pas été modifiées et proviennent d'une source fiable. Le mode AES-GCM, par exemple, combine le chiffrement avec l'authentification pour garantir à la fois la confidentialité et l'intégrité des données.

Highlights

L'algorithme AES a été créé en 1997 et est aujourd'hui la base de la sécurité des données et des communications mondiales.

Le DES, précédemment utilisé largement, a été dépassé en 1997 par la puissance de calcul croissante, rendant possible des attaques par force brute.

Le NIST a lancé un projet en 1997 pour développer un nouvel algorithme de chiffrement capable de protéger les informations sensibles au-delà du siècle prochain.

15 algorithmes de chiffrement ont été sélectionnés en tant que finalistes, dont certains sont utilisés dans des solutions de chiffrement modernes comme VeraCrypt.

Rijndael, créé par Vincent Rijmen et Joan Daemen, a été choisi en 2001 comme le futur AES.

AES est un chiffrement symétrique, utilisant la même clé pour chiffrer et déchiffrer les données.

Les clés AES sont disponibles en trois tailles : 128 bits, 192 bits et 256 bits, offrant un niveau de sécurité considéré comme impénétrable par une attaque de force brute.

Le chiffrement par bloc d'AES signifie que les données sont divisées en blocs de 128 bits qui sont chiffrés individuellement.

Le mode ECB d'AES, bien que simple, est considéré comme non sécurisé car il ne préserve pas la confidentialité face à des attaques basées sur les motifs répétés.

D'autres modes de chiffrement AES ont été développés pour améliorer la sécurité, tels que CBC et CTR, qui lient les blocs de manière différente pour éviter les failles du mode ECB.

Le mode CBC de AES lie les blocs de manière chaînée, mais cela rend le chiffrement non parallélisable et donc plus lent.

Le mode CTR de AES chiffre chaque bloc de manière indépendante en ajoutant un nonce incrémenté pour chaque bloc, éliminant ainsi les motifs répétés.

L'utilisation incorrecte de nonces dans le mode CTR d'AES peut compromettre la sécurité des messages chiffrés.

Pour assurer l'intégrité et l'authenticité des messages chiffrés, les modes de chiffrement authentifiés sont préférés, qui combinent le chiffrement AES avec un hachage pour détecter toute modification.

Le mode AES GCM est couramment utilisé pour ses propriétés de sécurité, de parallélisation et sa capacité à assurer l'intégrité et l'authenticité des messages.

L'implémentation correcte de AES est cruciale pour la sécurité, car même avec une bonne fonction de chiffrement, des erreurs dans le code peuvent introduire des failles.

La sécurité d'un système de chiffrement ne dépend pas uniquement de l'algorithme utilisé, mais aussi des modes de chiffrement et de l'implémentation qui peuvent contenir des erreurs.

Transcripts

play00:00

AES signifie en français standard de

play00:03

chiffrement avancé l'algorithme de

play00:05

chiffrement AES a vu le jour en 97 son

play00:09

nom original était r Dael mais

play00:12

aujourd'hui en 2024 toute la sécurité

play00:14

des données et des communications

play00:16

mondiale repose sur AES et d'ailleurs on

play00:19

dit souvent que AES est un chiffrement

play00:21

ultra sécurisé et que personne ne peut

play00:24

le casser cependant c'est un peu plus

play00:26

compliqué que cela utiliser AES n'est

play00:28

pas un joker ult te ainsi dans cette

play00:31

vidéo on verra ce qui est réellement AES

play00:34

dans quel cas AES est entre guillemets

play00:36

sécurisé et dans quel cas AES n'est pas

play00:40

sécurisé pour commencer revenons un peu

play00:43

en arrière avant les années 2000 c'était

play00:46

plutôt deses qui était utilisé presque

play00:48

partout c'était un chiffrement considéré

play00:50

comme sécurisé deses était notamment

play00:52

utilisé par l'armée américaine la NSA et

play00:54

les autres instances gouvernementales

play00:56

depuis sa création dans les années 70

play01:00

sauf que tout changera en 97 un projet

play01:03

sous le nom de deses challenge arrive en

play01:05

combinant la puissance de calcul de plus

play01:07

de 60000 ordinateurs a craqué un message

play01:10

chiffré avec deses le contenu de ce

play01:13

message était relativement simple un

play01:15

chiffrement robuste contribue à rendre

play01:17

le monde plus sûr cette phrase est

play01:19

entièrement vraie cependant notre des ne

play01:21

s'est pas montré très robuste en fait

play01:24

deses avait un problème majeur c'était

play01:27

la taille des clés qui était limitée à

play01:28

56 bits 56 bits cela paraît beaucoup

play01:31

mais cela ne fait que 72 millions de

play01:34

milliards de clés possibles pour

play01:35

chiffrer un message ainsi en réunissant

play01:38

plusieurs milliers d'ordinateurs même

play01:40

des vieux ordinateurs de l'époque il

play01:42

était possible de faire une attaque par

play01:43

force brute et de tester toutes les clés

play01:45

ce qui rendrait deses

play01:47

inefficace en tout cas je pense que vous

play01:50

l'avez compris protéger les secrets de

play01:52

l'armée américaine avec deses c'était

play01:54

faisable dans les années 70 et 80 mais à

play01:56

partir des années 90 c'était terminé

play01:59

trop dangereux aujourd'hui en 2024 avec

play02:01

le nombre de transistor qui a été

play02:03

multiplié par plus de 10000 sur les

play02:05

processeurs récents par rapport à il y a

play02:07

25 ans n'importe qui peut casser une clé

play02:09

des avec une bonne carte graphique ainsi

play02:11

que quelques semaines devant soi à cette

play02:14

époque créer un nouvel algorithme de

play02:16

chiffrement était quasiment urgent début

play02:19

97 le NIST c'est-à-dire l'Institut

play02:21

national des normes et de la technologie

play02:23

aux États-Unis commence à se pencher sur

play02:25

la question l'idée était de créer je

play02:27

cite un algorithme de chiffrement non

play02:30

classifié divulgué publiquement capable

play02:32

de protéger les informations

play02:34

gouvernementales sensibles bien au-delà

play02:36

du siècle prochain pendant le processus

play02:38

de sélection 15 algorithmes de

play02:39

chiffrement ont été retenus en tant que

play02:41

finaliste vous en reconnaîtrez peut-être

play02:43

certains qui par exemple peuvent être

play02:45

utilisés dans veracrypt pour chiffrer

play02:47

votre disque durant la sélection finale

play02:49

les experts en cryptographie de l'époque

play02:50

se mettent donc au travail en scrutant

play02:52

et en testant chaque algorithme de

play02:54

chiffrement à la loupe notamment pour

play02:56

voir s'il y avait des failles si c'était

play02:57

facile à implémenter si c'était rapide

play03:00

pratique et cetera car la sécurité ce

play03:02

n'était pas le seul critère c'était un

play03:04

travail immense qui a duré 4 ans et qui

play03:05

a mobilisé des centaines d'experts

play03:08

finalement vers 2001 c'est bien Ringe

play03:10

Dael qui a été sélectionné pour devenir

play03:12

le vrai AES mais il y avait d'autres

play03:14

finalistes qui étaient tout aussi bien

play03:16

tout au long de la vidéo on va appeler

play03:18

cet algorithme AES car on ne va pas se

play03:20

le cacher ce nom-là est complètement

play03:23

imprononçable du coup AES est dit être

play03:26

un chiffrement symétrique cela signifie

play03:28

qu'il permet de chiffrer et de

play03:30

déchiffrer n'importe quelle donnée avec

play03:32

exactement la même clé contrairement au

play03:34

chiffrement asymétrique où il y a une

play03:36

histoire de clé privée et de clé

play03:37

publicque AES est d'ailleurs disponible

play03:39

en trois versions différentes avec des

play03:41

clés de 128 bits 192 et 256 bits ce qui

play03:44

est largement assez d'un point de vue

play03:46

sécurité en effet une simple attaque par

play03:48

brute force sur des clés de 128 bits

play03:50

avec tous les super calculateurs du

play03:52

monde réunis serait complètement

play03:53

infisable en pratique et prendrait plus

play03:55

de temps que l'âge de l'univers même si

play03:57

les ordinateurs quantiques se joignent à

play04:00

attaque maintenant que vous avez les

play04:02

bases des bases on va quand même aller

play04:04

un peu plus loin dans le fonctionnement

play04:05

d'AES déjà on va se poser la question

play04:08

qu'est-ce que AES et concrètement

play04:10

qu'est-ce qu'il y a derrière donc AES

play04:14

basiquement ce n'est juste qu'une simple

play04:16

fonction c'est tout et cette fonction

play04:18

elle prend deux paramètres le premier

play04:21

paramètre c'est la clé de chiffrement de

play04:23

128 à 192 ou 256 bits le deuxème

play04:27

paramètre lui c'est une donnée à

play04:28

chiffrer ou ou un bloc de 128 bits

play04:31

attention c'est bien une donnée de

play04:32

taille fixe de 128 bit ce n'est pas une

play04:35

donnée de 16 bits ou de 10 Go c'est que

play04:38

du 128 bit et en sorti on a notre donnée

play04:40

chiffrée qui ne fait que 128 bit et rien

play04:44

d'autre et à partir de là on a également

play04:46

la fonction inverse d'AES qui va

play04:48

déchiffrer la donnée c'est-à-dire

play04:49

qu'elle prend le texte chiffré en

play04:51

paramètrre ainsi que la clé de

play04:52

chiffrement et renvoie le texte secret

play04:55

l'intérêt ici c'est que si vous n'avez

play04:57

pas la clé de chiffrement vous n'êtes

play04:59

pas censé pouvoir retrouver le texte

play05:01

secret ici c'est principalement dû à la

play05:04

complexité de la fonction AES qui fait

play05:06

une sorte de Bouille d'octé avec la clé

play05:08

de chiffrement et le texte non chiffré

play05:10

cependant vous n'avez pas besoin de

play05:12

maîtriser tout ce processus si vous avez

play05:14

déjà compris ces deux schéma alors vous

play05:16

avez tout compris dernière précision ce

play05:19

schéma ne fonctionne pas uniquement avec

play05:21

AES mais aussi avec deses et tous les

play05:23

chiffrement symétrique la différence

play05:25

c'est la taille des données dans deses

play05:27

les clés font 56 bits et la taille des

play05:30

blocs est de 64 bits l'autre différence

play05:33

c'est bien la fonction deses qui crée

play05:34

une bouli d'octé assez différente de

play05:36

celle

play05:37

d'AES maintenant question très

play05:40

importante AES ne peut chiffrer que des

play05:42

données de 128 bits alors comment est-il

play05:44

possible de chiffrer votre disque dur ou

play05:46

toutes les communications TLS avec aos

play05:48

on est d'accord ces données font

play05:50

beaucoup plus que 128 bit et bien en

play05:52

pratique ce n'est pas trivial du tout

play06:00

deses AES ainsi que la plupart des

play06:02

chiffrements symétriques sont ce que

play06:04

l'on appelle des chiffrements par bloc

play06:06

alors pourquoi on appelle cela des

play06:07

chiffrement par bloc vous allez

play06:09

rapidement

play06:10

comprendre par exemple imaginons que

play06:12

vous voulez chiffrer cette photo de

play06:14

pingouin cette photo là vous le savez ce

play06:17

n'est qu'un ama de 0 et de 1 par exemple

play06:19

là l'image fait 10000 kiloct il y a donc

play06:22

80000 bit de 0 ou 1 ce que va faire AES

play06:26

c'est que AES va diviser la photo en

play06:29

bloc de 28 bits puis AES va chiffrer

play06:32

séparément un par un les

play06:33

blocs à la fin on obtient ce schéma où

play06:36

l'image est divisé en bloc puis chaque

play06:38

bloc de 128 bit est chiffré séparément

play06:41

puis après on combine les blocs chiffrés

play06:43

pour reconstituer l'image chiffrée ici

play06:45

c'est le cyher text en

play06:47

anglais jusqu'ici j'espère que ce n'est

play06:50

pas trop difficile et que vous me suivez

play06:52

toujours une fois que c'est bon on va

play06:54

maintenant utiliser AES pour chiffrer

play06:56

notre pingouin

play07:02

donc voici le résultat et à partir de là

play07:04

pouvez-vous me dire quel est le problème

play07:06

avec la méthode de chiffrement qu'on a

play07:08

utilisé je précise qu'on a bien utilisé

play07:10

AES avec une clé sécurisée de 256 bits

play07:14

en fait en cryptographie un chiffrement

play07:16

est considéré comme parfaitement

play07:18

sécurisé si dans notre cas le pingouin

play07:20

chiffré n'apporte absolument aucune

play07:22

information sur le pingouin non chiffré

play07:25

le problème c'est que le pingouin

play07:26

chiffré nous a révélé beaucoup

play07:28

d'information sur le pingouin non

play07:30

chiffré notamment à cause de certains

play07:32

motifs qui se répètent et quand on y

play07:34

pense c'est complètement normal en fait

play07:36

comme chaque bloc est chiffré séparément

play07:38

si deux blocs ont exactement les mêmes

play07:40

bits donc les mêmes pixels en blanc ce

play07:42

qui est clairement le cas sur l'image

play07:44

originale où on a plein de pixel en

play07:45

blanc ou même en noir et bien le

play07:47

résultat chiffré sera exactement le même

play07:49

pour ces deux blocs ainsi on aura plein

play07:51

de motifs qui vont apparaître ici cela

play07:53

fonctionne pour des images mais il est

play07:55

possible de faire ce genre d'attaque sur

play07:56

n'importe quel fichier comme du texte ou

play07:58

une vidéo

play08:00

dans notre cas ce chiffrement pas très

play08:02

sécurisé qu'on a utilisé possède un nom

play08:05

il s'appelle le chiffrement AES en mode

play08:08

ECB ici le mode nous indique comment

play08:11

chiffrer et combiner tous les blocs avec

play08:14

AES en mode ECB on a juste chiffré et

play08:17

combiné les blocs séparément cependant

play08:20

comme je vous l'ai montré ce n'est pas

play08:21

du tout sécurisé en fait c'est même

play08:23

ultra dangereux ainsi d'autres modes de

play08:25

chiffrement ont été créés où l'on va

play08:27

combiner les blocs de façon légèrement

play08:28

différent

play08:35

comme on l'a vu juste avant le mode ECB

play08:37

n'est pas du tout sécurisé cependant il

play08:40

existe bien d'autres modes d'opération

play08:43

l'idée c'est que les blocs seront

play08:45

combinés de manière très légèrement

play08:46

différente et de façon beaucoup plus

play08:48

sécurisée par exemple on a le mode CBC

play08:52

les différents blocs ne sont plus

play08:53

chiffré de manière indépendante ils sont

play08:55

plutôt enchaînés entre eux on a aussi le

play08:58

mode CTR où chaque bloc est chiffré de

play09:00

façon complètement indépendante mais on

play09:02

y ajoute un nonce qui sera incrémenté

play09:05

pour chaque bloc ce qui fait que deux

play09:07

mêmes blocs n'auront jamais le même

play09:09

chiffrement donc il n'y aura pas de

play09:11

motif sur notre image de pingouin bien

play09:13

évidemment pour des raisons évidentes je

play09:15

ne vais pas tout expliquer en fait ce

play09:17

que vous devez retenir c'est qu'avec ce

play09:19

genre d'astuce on peut créer plein de

play09:21

modes différents qui sont beaucoup plus

play09:22

sécurisés et en particulier deux mêmes

play09:25

blocs auront un chiffrement différent

play09:27

donc on n'ura pas le problème avec les

play09:29

motif qui se répète avec le mode ECB

play09:32

cependant il y a quand même des

play09:33

désavantages par exemple le mode CBC

play09:36

n'est pas parallélisable on ne peut pas

play09:37

calculer le chiffrement de plusieurs

play09:39

blocs en même temps en utilisant

play09:40

plusieurs cœurs ou plusieurs processeurs

play09:42

la raison est qu'il faut connaître le

play09:44

bloc chiffré précédent pour commencer à

play09:45

chiffrer le bloc suivant ce qui rend le

play09:47

tout plus lent et pire encore le nonce

play09:50

dans le mode AES CTR s'il est réutilisé

play09:54

cela peut faire compromettre tous les

play09:55

messages chiffrés et d'ailleurs mal

play09:57

utiliser des nonces c'est quelque chose

play09:59

chose de commun on a beaucoup de codes

play10:01

vulnérables à ce genre de problème et

play10:03

dans ce cas-là même du AES 256 ne vous

play10:06

sauvera pas mais en plus les problèmes

play10:09

que je viens de vous présenter ce n'est

play10:10

même pas les problèmes les plus

play10:12

graves maintenant imaginons qu'un

play10:15

attaquant comme par exemple votre

play10:16

fournisseur d'accès à internet

play10:18

intercepte votre connexion grâce à une

play10:20

attaque de l'homme du milieu et commence

play10:22

à modifier les paquets chiffré quand

play10:24

vous allez donc recevoir les paquets

play10:25

modifiés vous allez les déchiffrer

play10:28

cependant la fonction de déchiffrement

play10:29

reste une fonction une fonction assez

play10:31

complexe mais une fonction quand même si

play10:33

le texte chiffré est modifié par

play10:35

l'attaquant la fonction ne va pas

play10:37

renvoyer une erreur elle va tout

play10:39

simplement renvoyer n'importe quoi comme

play10:41

le texte déchiffré mais nous on a

play10:43

quasiment aucun moyen de savoir que les

play10:44

paquets ont été modifié et pire encore

play10:47

en fait il existe certaines attaques sur

play10:48

certains modes de chiffrement où il est

play10:50

possible tout simplement de modifier de

play10:52

façon prévisible certains blocs du

play10:54

message déchiffré sans connaître la clé

play10:56

de déchiffrement oui j'ai bien dit sans

play10:58

connaître la clé de déchiffrement et ce

play11:00

ne sont pas des attaques théoriques qui

play11:02

n'arrivent jamais en fait il y a plein

play11:04

de CVE associés à ce genre de

play11:05

vulnérabilité donc en fait on veut

play11:08

absolument avoir un moyen de savoir si

play11:10

le message chiffré a été modifié en

play11:11

cours de route ou pas c'est très

play11:13

important et avec les différents modes

play11:15

d'opération classique que je vous ai

play11:17

présenté comme le ECB CBC CTR et cetera

play11:20

ce n'est pas possible ainsi pour résumer

play11:24

un bon protocole cryptographique ne doit

play11:26

pas uniquement respecter la

play11:27

confidentialité il doit aussi respter

play11:29

l'intégrité et l'authenticité on veut

play11:31

être sûr que le message chiffré n'a pas

play11:33

été modifié et qu'il a été envoyé par la

play11:35

bonne personne pas par un attaquant qui

play11:37

se fait passer pour la bonne personne

play11:38

mais heureusement si je vous en parle

play11:40

c'est qu'il y a des

play11:45

solutions en fait aujourd'hui dans les

play11:48

implémentations modernes d'AES que ce

play11:50

soit sur Open SSL ou d'autres librairies

play11:53

cryptographique qu'utilisent les os les

play11:55

navigateurs les protocoles réseau et

play11:57

cetera on utilise pas souvent ces modes

play12:00

d'opération car ils ne garantissent ni

play12:02

l'intégrité ni

play12:04

l'authenticité à la place on utilise

play12:06

plutôt du chiffrement authentifié on la

play12:09

brège à eu en anglais l'intérêt de ce

play12:11

chiffrement c'est qu'il assure la

play12:13

confidentialité mais en plus il assure

play12:16

aussi l'intégrité et l'authenticité

play12:18

n'oubliez pas l'intégrité et

play12:20

l'authenticité c'est aussi important que

play12:22

la confidentialité et en effet on veut

play12:24

être sûr à presque 100 % que le message

play12:27

chiffré n'a pas été modifié

play12:29

en cours de route ici faire une attaque

play12:31

de l'homme du milieu par quelqu'un sur

play12:32

le même sous-réseau que vous ou même par

play12:34

votre fournisseur d'accès à internet qui

play12:36

d'ailleurs a accès à tout votre trafic

play12:37

c'est trivial dans notre cas ce

play12:40

chiffrement fonctionne de façon très

play12:42

légèrement différente on va prendre

play12:44

notre petite image de pingouin puis on

play12:46

va hacher cette image avec une sha2 ou

play12:48

une SH3 dernière étape on combine les

play12:51

deux et on chiffre le tout à la fin on

play12:54

obtient donc le texte chiffré et pour

play12:56

déchiffrer on fait exactement l'inverse

play12:58

on déchiffre le AES on obtient donc le H

play13:01

de l'image avec l'image elle-même et

play13:04

après on vérifie simplement si le H de

play13:06

l'image est correct ou pas et c'est

play13:08

presque tout en fait si vous avez

play13:10

compris cela alors c'est déjà très bien

play13:13

en pratique il y a même plusieurs façons

play13:14

de le faire est-ce qu'on hache d'abord

play13:16

puis on chiffre après ou inversement ou

play13:19

même est-ce que l'on utilise une

play13:20

deuxième clé spéciale juste pour le H ou

play13:23

pas en tout cas je pense que vous voyez

play13:25

l'idée donc pour résumer on utilise le

play13:27

chiffrement pour assurer la

play13:29

confidentialité et le Haage pour assurer

play13:31

l'intégrité et

play13:34

l'authenticité en théorie on pourrait

play13:36

bidouiller ce genre de protocole de

play13:38

chiffrement en combinant un aos CBC par

play13:41

exemple avec un SH2 en pratique on va

play13:43

plutôt utiliser un aos avec un mode de

play13:46

chiffrement spécial qui cette fois-ci va

play13:47

prendre en charge l'authenticité et

play13:49

l'intégrité donc là il n'y a même pas

play13:52

besoin de SH à

play13:53

2 le plus souvent c'est bien le mode AES

play13:57

GCM qui est utilisé l'avantage c'est

play14:00

qu'il supporte ses propriétés autre

play14:02

avantage le mode GCM est résistant à la

play14:04

plupart des attaques cryptographiques ce

play14:07

qui fait qu'il est plutôt sécurisé et

play14:09

Ciz sur le gâteau AES GCM est également

play14:12

parallélisable on peut donc calculer le

play14:14

chiffrement de plusieurs blocs en même

play14:16

temps en utilisant plusieurs cœurs ou

play14:17

plusieurs processeurs ainsi grâce à ces

play14:20

avantages AES GCM est utilisé quasiment

play14:23

partout par exemple si vous regardez

play14:25

cette vidéo avec un client Web récent

play14:27

c'est bien AES GCM qui est en général

play14:30

utilisé pour chiffrer les communications

play14:32

TLS entre vous et YouTube on est

play14:34

également sur certains sites votre token

play14:36

de session dans les cookies qui est

play14:38

protégé avec l'algorithme AES GCM autre

play14:41

exemple certains protocoles de VPN

play14:44

utilisent également AES GCM en tout cas

play14:47

j'espère que vous avez bien compris tout

play14:49

cela si je dois conclure cette vidéo

play14:52

vous devez absolument comprendre que ce

play14:53

n'est pas parce qu'un VPN un os un

play14:55

logiciel un chat utilise du AES 256

play14:59

c'est-à-dire sur certaines pages je cite

play15:02

du chiffrement militaire Militaire oui

play15:04

mais utilisé par un peu tout le monde

play15:06

que tout est absolument sécurisé et que

play15:08

vous n'allez jamais vous faire hacker la

play15:10

seule chose qui peut vraiment être

play15:12

considérée comme sécurisée et incassable

play15:15

c'est la fonction de chiffrement et de

play15:16

déchiffrement d'AES qui a été analysé

play15:18

pendant plus de 20 ans par les meilleurs

play15:20

experts en cryptographie sans trouver de

play15:23

failles de sécurité pratique mais ce

play15:25

n'est qu'un diè du travail tout ce qu'il

play15:27

y a autour comme les modes opération

play15:29

pour combiner les blocs et surtout

play15:31

l'implémentation de tout ce bordel

play15:33

c'est-à-dire le code qui peut contenir

play15:34

des erreurs ou des failles pour faire

play15:36

très très simple cependant on en a pas

play15:38

vraiment parlé mais c'est un très bon

play15:40

sujet de suite à cette vidéo en tout cas

play15:42

j'espère que vous avez aimé cette vidéo

play15:44

si vous avez des commentaires sur la

play15:45

vidéo ou des choses à préciser n'hésitez

play15:48

pas je lis absolument tous les

play15:49

commentaires sinon on se retrouve

play15:51

ensemble pour la prochaine vidéo en

play15:53

attendant si la sécurité informatique

play15:55

vous intéresse vous pouvez télécharger

play15:57

mon petit guide gratuit ou vous avez

play15:59

tout ce qu'il faut pour démarrer dans la

play16:01

cybersécurité le lien est bien

play16:02

évidemment dans la description

Rate This

5.0 / 5 (0 votes)

الوسوم ذات الصلة
Chiffrement AESSécurité des donnéesCryptographieChiffrement avancéIntégrité des donnéesAuthenticité des messagesChiffrement par blocMode ECBMode CBCMode CTRMode GCM
هل تحتاج إلى تلخيص باللغة الإنجليزية؟