Qu'est-ce que le chiffrement AES ?
En cryptographie, AES signifie Advanced Encryption Standard, un algorithme de chiffrement rapide, efficace et sécurisé certifié par le National Institute of Standards and Technology (NIST) des États-Unis. Il s’agit d’un chiffrement à clé symétrique qui utilise la même clé pour chiffrer et déchiffrer les données. Cela est relativement rapide, ce qui le rend idéal pour chiffrer de grandes quantités de données au repos.
En raison de sa robustesse et de sa fiabilité, l’AES est l’un des types de chiffrement les plus populaires et les plus courants utilisés dans la sécurité des réseaux sans fil, le chiffrement des données et des disques, les systèmes de paiement en ligne, l’espace de stockage cloud, la gestion des mots de passe et même les applications gouvernementales et militaires. Le gouvernement des États-Unis utilise le chiffrement AES pour sécuriser ses informations classifiées, ce qui a contribué à sa popularité.

L’algorithme AES est-il sûr ?
Oui. En 2000, après un processus de sélection très approfondi(nouvelle fenêtre) et ouvert, le NIST a annoncé que l’AES (connu jusque-là sous le nom d’algorithme Rijndael, créé par Vincent Rijmen et Joan Daemen) remplacerait le DES comme algorithme de chiffrement(nouvelle fenêtre) « non classifié, divulgué publiquement et capable de protéger les informations gouvernementales sensibles bien au-delà du siècle prochain ».
Selon le NIST, toutes les longueurs de clé de l’algorithme AES sont jugées "suffisantes" pour protéger les informations classifiées jusqu’au niveau "Secret". Pour les informations "Top Secret", l'AES-192 ou l'AES-256 est requis.

Attaques par force brute
La forme d’attaque la plus élémentaire possible contre tout algorithme de chiffrement est une attaque par force brute, qui consiste à tester toutes les combinaisons de clés possibles jusqu’à trouver la bonne.
Frontier(nouvelle fenêtre) est le superordinateur publiquement connu le plus puissant au monde. S’il consacrait toute sa puissance à forcer l’AES-128 par force brute, il lui faudrait tout de même de l’ordre de 10 à 12 billions d’années pour épuiser toutes les combinaisons possibles pour l’AES-128. C’est bien plus long que l’âge de l’univers. Ainsi, même avec ses plus petites tailles en bits, l’AES est extrêmement résistant aux attaques par force brute provenant des ordinateurs conventionnels.
L’AES-256 est 340 milliards de milliards de milliards de milliards (2¹²⁸) de fois plus difficile à forcer par force brute que l’AES-128.
Bien que l’algorithme de Grover(nouvelle fenêtre) réduise théoriquement de moitié la sécurité des clés symétriques face aux menaces quantiques(nouvelle fenêtre), elles restent relativement résistantes au quantique, en particulier avec une clé de 256 bits.
Attaques contre les clés
Au fil des ans, un certain nombre d’attaques théoriques contre les clés AES ont été publiées par des cryptographes, mais elles sont toutes soit impraticables en pratique, soit seulement efficaces sur des implémentations d’AES qui utilisent un nombre réduit de tours (voir ci-dessous).
La tentative la plus réussie a été l’attaque biclique(nouvelle fenêtre) théorique publiée en 2011, qui peut réduire d’un facteur quatre le temps nécessaire pour forcer l’AES par force brute. Cependant, il faudrait toujours des milliards d’années pour forcer l’AES par force brute sur n’importe quel matériel informatique actuel ou prévisible.
Aucune attaque connue contre les clés n’est pratique contre l’AES-128 ou version supérieure lorsqu’il est correctement implémenté.
Attaques par canal auxiliaire
Une attaque par canal auxiliaire tente de réduire le nombre de combinaisons nécessaires pour réussir une attaque par force brute en recherchant des indices provenant de l’ordinateur qui effectue les calculs de chiffrement. Des indices peuvent être obtenus en examinant :
- Le timing : le temps qu’un ordinateur met à effectuer une opération
- Fuites électromagnétiques
- Indices audio
- Indices visuels (captés à l’aide d’une caméra haute résolution).
Les attaques de type cache-timing, en particulier, se sont révélées assez efficaces pour casser l’AES avec succès. Dans l’exemple le plus marquant, des chercheurs sont parvenus en 2016 à récupérer(nouvelle fenêtre) une clé AES-128 en utilisant « seulement environ 6 à 7 blocs de texte brut ou de texte chiffré (théoriquement, un seul bloc suffirait même) ».
Cependant, un certain nombre de mesures peuvent être prises pour atténuer la menace des attaques par canal auxiliaire :
- Un AES correctement implémenté peut empêcher certaines façons dont les données peuvent faire l’objet d’une fuite.
- Le matériel qui intègre le jeu d’instructions AES réduit encore davantage la surface d’attaque par canal auxiliaire de l’AES.
- Des techniques de randomisation peuvent être utilisées pour perturber la relation entre les données protégées par l’AES et toute donnée faisant l’objet d’une fuite qui pourrait être collectée à l’aide d’une attaque par canal auxiliaire.
Dans de nombreux cas, les attaques par canal auxiliaire exigent que l’attaquant soit à proximité immédiate de l’appareil ou y ait un accès physique au moment où il déchiffre les données, bien que des attaques à distance soient possibles si un logiciel malveillant est installé sur un appareil, en particulier dans le cas des attaques temporelles.
Comment fonctionne l’AES
L’AES est un chiffrement par blocs qui chiffre et déchiffre les données en blocs de 128 bits à l’aide de clés de 128, 192 ou 256 bits. Comme indiqué plus haut, la même clé est utilisée pour chiffrer et déchiffrer les données. L’AES utilisant une clé de 128 bits est souvent appelé AES-128, et de même pour AES-192 et AES-256.

Les données sont chiffrées à l’aide de plusieurs tours, chacun consistant en une série d’opérations mathématiques.
Le processus commence par l’utilisation de l’algorithme d’ordonnancement des clés de Rijndael pour dériver une série de nouvelles clés de tour à partir de la clé secrète d’origine. C’est ce qu’on appelle l’expansion de clé.
Chaque tour consiste ensuite en une ou plusieurs des opérations suivantes (ou une combinaison de celles-ci) :
1. Add RoundKey : une opération XOR(nouvelle fenêtre) est effectuée pour combiner les données à chiffrer (le texte chiffré) avec chaque clé de tour.

2. Sub Bytes : une table de substitution est utilisée pour mélanger encore davantage les données. Pensez, en principe, aux simples chiffrements par substitution que vous utilisiez enfant, où vous remplaciez chaque lettre d’un message par une autre située un certain nombre de positions plus loin dans l’alphabet.

3. Shift Rows : chaque bloc de données de 128 bits se compose d’un bloc 4x4 de 16 octets. Cette opération décale chaque octet d’une ligne du bloc vers la gauche selon un certain décalage.

4. MixColumns : une transformation linéaire inversible supplémentaire est effectuée sur chaque colonne du bloc.

Cette série de transformations constitue un tour, qui est ensuite répété sur les données pendant un nombre spécifique de tours, selon la taille de la clé :
- AES-128 — 10 tours
- AES-192 — 12 tours
- AES 256 — 14 tours
Pour déchiffrer les données, toutes les étapes utilisées pour les chiffrer sont simplement effectuées en sens inverse. Cela nécessite la clé secrète d’origine pour inverser le processus à l’aide de chaque clé de tour inverse.
Pourquoi l’AES-256 est-il préféré à l’AES-192 ou à l’AES-128 ?
Il faudrait plus longtemps que l’âge de l’univers pour forcer l’AES-128 par force brute avec les technologies actuelles et prévisibles. Le cryptographe légendaire Bruce Schneier a même soutenu(nouvelle fenêtre) que l’AES-128 pourrait être plus solide que l’AES-256 grâce à un ordonnancement des clés plus robuste — l’algorithme qui calcule toutes les clés de tour à partir de la clé secrète d’origine.
Pourtant, l’AES-256 est devenu la référence de fait en matière de chiffrement à clé symétrique. Il est souvent considéré (quoique de manière quelque peu controversée) comme le choix le plus solide, car sa plus grande taille de clé offre une marge de sécurité supplémentaire afin que les données chiffrées restent sûres même si l’on découvre un moyen d’affaiblir considérablement l’algorithme. Cet argument s’est renforcé à mesure que le besoin de résistance post-quantique devient plus pressant.
AES-CBC vs AES-GCM
Jusqu’à une époque assez récente, l’AES était généralement utilisé en mode cipher block chaining (CBC), où chaque bloc de texte brut est XORé avec le bloc de texte chiffré précédent avant d’être chiffré. Lorsqu’il est utilisé en mode CBC, un algorithme de hachage HMAC(nouvelle fenêtre) tel que HMAC-SHA256 est nécessaire pour vérifier les données.
Cependant, il est de plus en plus courant que l’AES soit utilisé en mode Galois/counter (GCM), qui utilise le mode compteur(nouvelle fenêtre) de chiffrement. Son principal avantage est qu’il utilise le champ de Galois(nouvelle fenêtre) pour vérifier les données sans nécessiter d’algorithme externe. Il est donc plus efficace que l’utilisation d’un algorithme d’authentification distinct pouvant entraîner une surcharge de calcul élevée.
Bien que l’AES-CBC avec authentification HMAC soit généralement considéré comme sûr, le CBC est potentiellement vulnérable aux attaques de bourrage(nouvelle fenêtre), telles que POODLE(nouvelle fenêtre). Ce n’est pas le cas du GCM.
AES accéléré par le matériel
La plupart des processeurs modernes incluent Advanced Encryption Standard New Instructions (AES-NI(nouvelle fenêtre)), un ensemble d’instructions matérielles qui exécute directement les opérations AES sur le processeur. Cela rend l’AES beaucoup plus rapide et aide également à prévenir les attaques par canal auxiliaire basées sur le timing, car les opérations se déroulent à l’intérieur des unités d’exécution sécurisées du processeur, ce qui laisse moins de variations temporelles observables à exploiter pour un attaquant.
Proton et AES
Nous utilisons largement l’AES pour sécuriser les produits Proton :
Les événements et les contacts sont sécurisés à l’aide de l’AES-256 combiné à l’ECC pour l’échange de clés afin de garantir le respect de votre vie privée grâce au chiffrement de bout en bout.
Proton VPN se concentre principalement sur le protocole VPN WireGuard® rapide et efficace (qui utilise ChaCha20), mais les connexions OpenVPN utilisent l’AES-256.
Proton Pass stocke les mots de passe, les notes, les identités et d’autres éléments dans votre coffre-fort sécurisé à l’aide de l’AES-256.
Proton Drive chiffre tous les fichiers importés de bout en bout avec l’AES-256 en utilisant l’ECC pour l’échange de clés. Proton Docs et Proton Sheets utilisent également l’AES-256 avec un échange de clés basé sur l’ECC, bien que leur implémentation du chiffrement diffère du schéma général de chiffrement des fichiers de Proton Drive.
Proton Mail stocke les messages et les pièces jointes à l’aide de l’AES-256 via la norme OpenPGP. Même votre clé privée, qui déverrouille vos messages, est chiffrée avec l’AES-256 avant d’être stockée sur le serveur.
Proton Meet utilise Messaging Layer Security (MLS) pour chiffrer l’audio, la vidéo et les messages de chat, garantissant la Perfect Forward Secrecy (PFS) et la sécurité post-compromission (PCS) pour toutes les communications. Toutes les données de réunion sont chiffrées de bout en bout à l’aide d’AES-256-GCM.
Atténuer les attaques contre le chiffrement AES
La sécurité n’est solide qu’à la hauteur de son maillon le plus faible, qui est généralement votre mot de passe. Cela signifie que les manœuvres d’ingénierie sociale, les attaques d’hameçonnage et les keyloggers(nouvelle fenêtre) constituent également une menace pour les données chiffrées avec l’AES. Ainsi, même lorsque l’AES est utilisé, vous devez prendre les précautions suivantes :
- Utilisez un gestionnaire de mots de passe chiffré
- Utilisez des clés de sécurité matérielles (telles que YubiKey) pour une couche de protection supplémentaire
- Si vous faites partie d’une organisation, effectuez régulièrement des formations du personnel à la sécurité pour prévenir les attaques d’hameçonnage
Prenez le contrôle de vos données
Proton a été conçu pour protéger vos données dès le départ. Avec le chiffrement de bout en bout, des applications open source et des audits indépendants, vos informations vous appartiennent.
Questions fréquentes sur le chiffrement AES
- Lequel est meilleur : AES ou DES ?
- Lequel est meilleur : AES ou RSA ?
- Quel est le niveau de sécurité de l’AES ?


