Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Chiffrement AES expliqué : fonctionnement, performance et sécurité

La norme de chiffrement avancée (AES) est actuellement l'algorithme de chiffrement symétrique le plus populaire et le plus largement adopté.

Il a été développé par deux cryptographes belges, Vincent Rijmen et Joan Daemen.

S'il est correctement implémenté, l'algorithme est incassable pour le moment.

Qu'est-ce que le chiffrement ?

Le chiffrement est le moyen le plus courant de protéger les données sensibles. Il fonctionne en convertissant les données sous une forme où le sens original est masqué et seuls les utilisateurs autorisés peuvent le déchiffrer.

Cela se fait en brouillant les données avec des fonctions mathématiques basées sur un nombre appelé clé. Pour débrouiller (déchiffrer) les données, le processus est inversé en utilisant la même clé ou une clé différente.

Le processus est appelé symétrique si la même clé est utilisée pour le chiffrement et le déchiffrement. Le processus est asymétrique si des clés différentes sont utilisées.

La norme de chiffrement avancée (AES) est actuellement l'algorithme de chiffrement symétrique le plus populaire et le plus largement adopté. Elle a été établie par l'Institut national des normes et de la technologie (NIST) des États-Unis en 2001.

En 2002, l'AES est devenu efficace en tant que norme du gouvernement fédéral. À ce jour, c'est le seul chiffrement accessible au public approuvé par la NSA (National Security Agency) pour les projets top-secrets.

Qui a développé l'AES et pourquoi ?

Au milieu des années 1990, le gouvernement américain a planifié un projet pour analyser différents types de techniques de chiffrement. En fait, ils cherchaient une norme qui serait sûre et efficace à implémenter.

Le NIST a analysé des centaines d'algorithmes soumis par diverses équipes de recherche et organisations. Finalement, ils ont fait leur sélection fin 2001. Ils ont choisi « Rijndael » comme nouvel algorithme de la norme de chiffrement avancée.

Il a été soumis par deux cryptographes belges, Vincent Rijmen et Joan Daemen.

Rijndael a été rigoureusement testé en ANSI, Java et C pour l'efficacité et la fiabilité dans le processus de chiffrement/déchiffrement. Ils ont assuré que le nouvel algorithme est résistant aux attaques majeures tant dans les systèmes centrés logiciel que matériel.

Pourquoi cherchaient-ils une nouvelle méthode de chiffrement ?

En 1976, le Bureau national des normes (NBS) américain a adopté la norme de chiffrement des données (DES) pour chiffrer les données gouvernementales sensibles. C'était un algorithme à clé symétrique construit par IBM.

L'algorithme a bien servi son but pendant 20 ans, mais avec l'arrivée de processeurs plus puissants, quelques préoccupations de sécurité ont commencé à apparaître.

En fait, certains chercheurs ont pu développer des techniques capables de craquer le DES en 48 heures, en utilisant la méthode de force brute. Bien que de telles attaques soient très coûteuses et extrêmement difficiles à monter, elles suffisaient à prouver que le DES deviendrait bientôt peu fiable.

En conséquence, le NIST a annoncé le besoin d'un algorithme successeur pour le DES et a commencé le développement de l'AES en 1997, destiné à être disponible sans redevance dans le monde entier.

Comment fonctionne le chiffrement AES ?

Contrairement au DES (qui utilise une taille de clé relativement courte de 56 bits), l'AES utilise des tailles de clé de 128, 192 ou 256 bits pour chiffrer/déchiffrer les données.

L'AES est un chiffrement itératif basé sur un réseau de substitution-permutation. Il implique une série d'opérations liées, telles que le remplacement de l'entrée par certaines sorties (substitution) ou le mélange des bits (permutation).

La première chose que fait l'algorithme est de diviser le texte en clair (données d'entrée) en blocs de 128 bits. Comme tous les calculs sont effectués sur des octets (128 bits = 16 octets), il convertit chaque taille de bloc en une matrice 4×4 pour un traitement ultérieur.

Il y a cinq étapes principales dans l'algorithme AES :

1. Ajout de la clé de tour : La clé initiale (dérivée d'un processus structuré quand le chiffrement est réellement appliqué) est ajoutée au bloc de texte en clair. Cela se fait en appliquant un algorithme de chiffrement additif appelé Ou Exclusif (XOR).

2. Substitution d'octets : Les octets d'entrée sont substitués en consultant une table prédéterminée.

3. Décalage de lignes : La 2e ligne de la matrice est décalée d'une position (octet) vers la gauche, la 3e ligne de deux positions vers la gauche, et la 4e ligne de trois positions vers la gauche. La matrice résultante contient les mêmes 16 octets mais décalés par rapport aux autres.

4. Mélange de colonnes : L'algorithme utilise une fonction mathématique spéciale pour transformer chaque colonne de la matrice. La fonction remplace les colonnes originales par des octets complètement nouveaux.

5. Ajout de la clé de tour : La matrice est maintenant considérée comme 128 bits et XORée à la clé de tour de 128 bits.

Si vous pensiez que c'était fini, vous ne pourriez pas avoir plus tort. Les données reviennent à l'étape 2, 3, 4 et 5. En d'autres termes, l'étape 2 à l'étape 5 est exécutée en boucle.

Mais combien de fois la boucle s'exécute-t-elle ? Cela dépend de la taille de la clé de chiffrement AES : quand une clé de 128 bits est utilisée, la boucle s'exécute 9 fois ; quand une clé de 192 bits est utilisée, 11 fois ; et quand une clé de 256 bits est utilisée, 13 fois.

Chaque tour ajouté rend l'algorithme plus fort. Après la fin de la boucle, un tour supplémentaire est effectué, qui implique la substitution d'octets, le décalage de lignes et les tours d'ajout de clé.

L'étape de mélange de colonnes est exclue car, à ce stade, elle ne changerait pas les données et consommerait inutilement des ressources de calcul, rendant le chiffrement moins efficace.

Étapes impliquées dans le chiffrement et déchiffrement AES

Déchiffrement des données

Le processus de déchiffrement est relativement simple. Toutes les opérations sont effectuées dans l'ordre inverse. Le processus commence par l'ajout inverse de clé de tour, le décalage inverse de lignes et la substitution inverse d'octets.

Et puis pour chaque tour, quatre processus sont effectués dans l'ordre inverse, c'est-à-dire :

Finalement, l'ajout inverse de clé de tour (étape 1 du chiffrement) est effectué. Après la fin de ce processus, vous récupérez votre message original.

Performance

Puisque l'AES est significativement plus rapide et exponentiellement plus fort que son prédécesseur DES, il est idéal pour diverses applications, matériel et firmware nécessitant un débit élevé ou une faible latence.

L'algorithme peut performer exceptionnellement bien sur une large gamme de matériel, des ordinateurs haute performance aux cartes à puce 8 bits.

La plupart des fabricants de CPU, y compris AMD et Intel, intègrent l'ensemble d'instructions AES dans leurs processeurs. Cela améliore les performances de l'AES sur de nombreux appareils et améliore leur résistance aux attaques par canaux auxiliaires.

Sur les CPU AMD Ryzen et Intel Core i7/i5/i3, le chiffrement AES peut produire un débit de plus de 10 Go/s. Sur d'anciens processeurs comme le Pentium M, le débit est d'environ 60 Mbit/s.

Quelle est la sécurité de l'algorithme AES ?

Les cryptographes analysent l'AES pour en trouver les faiblesses depuis la finalisation de la norme en 2000. Jusqu'à présent, ils ont publié des attaques théoriques et par canaux auxiliaires contre l'AES-128.

En 2009, un groupe de chercheurs a ciblé une version à 8 tours de clé de l'AES-128. C'était une attaque à clé connue pour comprendre la structure interne du chiffrement. Mais comme c'était seulement contre une version à 8 tours de l'AES-128, au lieu de la version standard à 10 tours, c'est considéré comme une menace relativement mineure.

Il y a aussi eu une série d'attaques par clés liées la même année, où les chercheurs ont essayé de craquer un chiffrement en analysant comment il fonctionne sous différentes clés. Cependant, ces attaques se sont avérées être une menace seulement pour les protocoles qui n'étaient pas correctement implémentés.

Risque majeur : attaques par canaux auxiliaires

Les attaques par canaux auxiliaires sont basées sur des données obtenues de l'implémentation d'un système, plutôt que sur la faiblesse de l'algorithme implémenté lui-même. Par exemple, la consommation d'énergie, les informations de temporisation, ou même les fuites électromagnétiques peuvent fournir une source de données supplémentaire, qui peut être exploitée.

Dans un cas, les chercheurs ont réussi à déduire des clés AES-128 en surveillant attentivement l'état du cache mémoire du processeur. Cependant, de tels cas peuvent être réduits en prévenant les façons possibles dont les données peuvent fuir ou en s'assurant que l'information fuie n'est pas associée aux processus algorithmiques.

Malgré les attaques potentielles par canaux auxiliaires et les attaques théoriques actuelles, toutes les versions de l'AES restent hautement sécurisées. L'algorithme AES correctement implémenté est incassable pour le moment.

En fait, l'ordinateur le plus puissant du monde prendrait plus de 800 quadrillions d'années pour forcer brutalement une clé AES de 128 bits. Le nombre de calculs requis pour forcer brutalement un chiffrement de 256 bits est de 3,31 × 10⁵⁶, ce qui est approximativement égal au nombre d'atomes dans l'univers.

Applications

L'AES est inclus dans des programmes que nous utilisons tout le temps. Par exemple, WinZip, RAR et UltraISO utilisent l'algorithme Rijndael pour chiffrer vos données.

BitLocker, CipherShed, DiskCryptor, VeraCrypt et FileVault créent des images de disque chiffrées AES. IEEE 802.11i, une norme IEEE spécifiant les mécanismes de sécurité pour les réseaux sans fil, utilise AES-128 en mode CCM.

Certaines des applications de messagerie les plus populaires comme Facebook Messenger, Signal, WhatsApp et Google Allo utilisent l'AES pour chiffrer les messages entre expéditeurs et destinataires.

Technologie industrielle

  1. Découvrez votre clé de sécurité réseau : étapes simples pour trouver et protéger votre Wi‑Fi
  2. Comprendre l'impression 3D : principes, types et applications clés
  3. Soudage à l'arc plasma (PAW) : aperçu du procédé, composants et fonctionnement
  4. Usinage laser (Laser Beam Machining) : types, procédé et applications
  5. Prototypage rapide expliqué : types, processus et avantages
  6. Fabrication additive expliquée : types, processus et applications
  7. Le brochage expliqué : procédé, mécanisme et principaux types
  8. Les raboteuses à métal (shaper) expliquées : définition, composants et fonctionnement
  9. L'usinage par arc plasma expliqué : composants, fonctionnement et applications