Le mode Galois/Counter (GCM) est un mode de chiffrement authentifié qui associe un chiffrement par blocs, presque toujours l'AES, à un hachage sur un corps de Galois afin de produire un texte chiffré et une balise d'intégrité en un seul passage. Il remplace l'ancienne approche consistant à chiffrer les données puis à les hacher séparément, et constitue désormais le mode par défaut pour IPsec, TLS et DTLS.
Points clés à retenir
- Le GCM chiffre et authentifie les données en une seule opération cryptographique.
- Il associe un chiffrement par blocs, généralement AES, à l'authentification GHASH.
- Le GCM nécessite un nonce unique pour chaque opération ; la réutilisation d'un nonce compromet la sécurité.
- Le GCM à accélération matérielle est plus rapide que le CBC associé à un hachage distinct.
- VersaLes transformations IPsec, TLS et DTLS de [nom] proposent toutes des algorithmes de chiffrement AES-GCM.
Sur cette page : Pourquoi est-ce important ?Comment ça marcheLes composantes du GCMGCM et VersaFAQ
Pourquoi le GCM est-il important ?
Tout tunnel chiffré doit offrir deux garanties : qu’un espion ne puisse pas lire les données, et qu’un attaquant ne puisse pas les modifier discrètement pendant leur transit. Les anciennes conceptions répondaient à ces deux objectifs en deux étapes distinctes – le chiffrement, puis le calcul d’un hachage sur le résultat –, ce qui doublait la charge cryptographique et augmentait le risque d’erreur d’association pour les développeurs. Le GCM regroupe ces deux étapes en un seul algorithme ; ainsi, la confidentialité et l’intégrité découlent d’une opération unique et bien spécifiée, plutôt que d’une combinaison assemblée manuellement.
C’est à grande échelle que cette efficacité prend tout son sens. Les processeurs modernes intègrent des instructions dédiées à la fois à l’AES et à la multiplication sans report sur laquelle repose l’étape d’authentification du GCM ; ainsi, l’AES-GCM s’exécute plus rapidement que l’AES-CBC associé à un hachage sur la quasi-totalité du matériel actuel. C’est cette combinaison de garanties plus solides et de coût réduit qui explique pourquoi les spécifications de l’IETF pour IPsec, TLS 1.2/1.3 et DTLS désignent toutes l’AES-GCM comme algorithme de chiffrement recommandé ou par défaut, et pourquoi il a supplanté les transformations basées sur le CBC dans les nouveaux déploiements à travers le secteur, y compris ceux d’ Versa.
Qu'est-ce que le GCM ?
Le GCM s'appuie sur le mode compteur (CTR): un chiffrement par blocs chiffrera une séquence de valeurs de compteur pour générer un flux de clés, qui est soumis à une opération XOR avec le texte en clair afin de produire le texte chiffré – c'est cette même construction qui transforme l'AES en un chiffrement par flux rapide. Le GCM ajoute une couche d'authentification, appelée GHASH, qui traite le texte chiffré (ainsi que toute donnée d'en-tête supplémentaire non chiffrée) par multiplication dans un corps de Galois afin de produire une balise d'authentification de taille fixe, généralement de 128 bits.
Comme ces deux opérations s’exécutent sur des blocs indépendants et parallélisables, le GCM traite les données bien plus rapidement que les modes qui doivent achever le chiffrement avant que l’authentification puisse commencer. En contrepartie, les exigences en matière d’entrée sont strictes : chaque opération de chiffrement nécessite un nonce (vecteur d’initialisation) unique pour une clé donnée. La réutilisation d’un nonce avec le GCM ne se contente pas d’affaiblir progressivement la sécurité : elle peut exposer la clé d’authentification et permettre à un attaquant de falsifier un texte chiffré valide. C’est pourquoi les protocoles utilisant le GCM imposent une construction rigoureuse du nonce, combinant souvent un identifiant d’expéditeur fixe avec un compteur à incrémentation stricte.
Composantes du GCM
GCM est une famille de configurations apparentées plutôt qu’un algorithme unique et figé. La longueur de la balise est la principale variable : 128 bits constituent le choix standard et le plus sécurisé, et la spécification sous-jacente définit également des balises plus courtes, tronquées, pour les liaisons à bande passante limitée, au prix d’une garantie de protection contre la falsification moins forte. GMAC est le cousin du GCM dédié exclusivement à l’authentification : il exécute la même étape GHASH sans rien chiffrer, ce qui est utile pour protéger les données qui doivent rester en clair mais qui nécessitent tout de même un contrôle d’intégrité, comme les en-têtes de paquets.
Algorithme de chiffrement sous-jacent L’autre variable est la suivante : le GCM est un mode générique pouvant s’appliquer à n’importe quel chiffrement par blocs de 128 bits, mais dans la pratique, il est presque exclusivement utilisé avec l’AES, car c’est l’accélération matérielle AES-NI qui rend réel l’avantage de performance du GCM. Cette combinaison s’écrit AES-GCM et est précisée par la taille de la clé – AES-128-GCM ou AES-256-GCM – ainsi que, dans les noms de suites de chiffrement, par la fonction de hachage utilisée pour la dérivation de la clé de la phase d’établissement de la connexion, comme dans AES-256-GCM-SHA384.
GCM & Versa
GCM apparaît partout où le service d'accès sécurisé d'Versaconfigure le chiffrement du tunnel. Dans les paramètres IKE/IPsec d’un serveur d’accès sécurisé ou d’un profil client SASE , la liste des transformations IPsec (ESP) propose l’ESP avec chiffrement AES 128 bits et hachage GCM, ainsi que l’ESP avec chiffrement AES 256 bits et hachage GCM, sous forme de transformations nommées uniques. Contrairement aux options CBC, qui associent séparément un algorithme de chiffrement et un algorithme de hachage, l’entrée GCM regroupe déjà les deux.
GCM figure également dans les listes de suites de chiffrement TLS et DTLS proposées pour les portails d'accès sécurisés et les sessions client SASE , telles que TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384 et TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256. Ces options sont identiques pour les déploiements de type « Secure SD-WAN », « general secure access » et ceux protégés par un pare-feu de nouvelle génération (NGFW). Lorsqu'un pair le prend en charge, la transformation AES-GCM est préférable à la combinaison AES-CBC-plus-hachage pour les protocoles IPsec, TLS et DTLS, car elle supprime l'étape distincte de hachage et offre de meilleures performances sur le matériel moderne.
Questions fréquentes
Quelle est la différence entre le GCM et le CBC ?
Le protocole CBC chiffre les données mais nécessite un hachage distinct, tel que SHA, pour vérifier leur intégrité – ce qui implique deux passes sur les données. Le protocole GCM effectue simultanément le chiffrement et la vérification d’intégrité en une seule passe, ce qui est plus rapide sur le matériel moderne et constitue désormais le mode privilégié pour les nouveaux déploiements IPsec, TLS et DTLS.
Pourquoi le protocole GCM exige-t-il un nonce unique pour chaque opération ?
La preuve de sécurité du GCM repose sur le principe que la séquence de compteur qu’il génère n’est jamais réutilisée avec la même clé. La réutilisation d’un nonce permet à un attaquant de récupérer la clé d’authentification et de falsifier un texte chiffré valide ; les implémentations doivent donc construire les nonces avec soin, généralement à partir d’une valeur fixe associée à un compteur strictement croissant.
Qu'est-ce que le GMAC ?
GMAC est une variante du protocole GCM dédiée exclusivement à l'authentification. Il exécute la même étape GHASH que celle qui génère l'étiquette d'intégrité du protocole GCM, mais sans le chiffrement associé ; il permet ainsi d'authentifier des données qui doivent rester lisibles, telles que les en-têtes de paquets non chiffrés accompagnant une charge utile chiffrée.
Le GCM est-il plus rapide que le CBC avec un hachage séparé ?
En général, oui. Le chiffrement en mode « counter » de GCM et l’authentification GHASH traitent tous deux des blocs indépendants en parallèle, et les processeurs modernes accélèrent ces deux opérations au niveau matériel. Le mode CBC-plus-hash nécessite deux passages successifs sur les données ; par conséquent, le GCM offre généralement un débit plus élevé sur un même matériel.
Que signifie « AES-256-GCM » ?
Il spécifie une transformation précise : le chiffrement par blocs AES, une clé de 256 bits et le mode GCM, qui assure à la fois le chiffrement et l'intégrité. Il s'agit de l'une des options les plus sûres et les plus répandues pour IPsec, TLS et DTLS, et elle figure directement dans les listes ESP et de suites de chiffrement de Versa.
En savoir plus sur GCM
Si vous souhaitez en savoir plus, voici des sources auxquelles nous faisons confiance.
| RFC 4106 : Utilisation du GCM dans IPsec ESP | RFC 5288 : Suites de chiffrement AES-GCM pour TLS |
|---|---|
| La spécification de l'IETF définissant AES-GCM en tant que transformation de chiffrement authentifiée pour IPsec ESP, y compris la construction du nonce. | La spécification de l'IETF définissant les suites de chiffrement AES-GCM pour TLS, associant le GCM à SHA-256 ou SHA-384 pour la phase d'établissement de la connexion. |
Termes associés
Si vous vous intéressez au GCM, voici quelques liens qui pourraient vous intéresser.
| Norme de chiffrement avancée | Algorithme de hachage sécurisé | Sécurité de la couche de transport par datagrammes |
|---|---|---|
| Le chiffrement par blocs GCM effectue presque toujours un bouclage, ce qui, combiné à GHASH, donne la transformation AES-GCM. | La famille de fonctions de hachage en mode CBC effectue des transformations par paires pour garantir l'intégrité, tandis que l'étape GCM intègre cette opération dans un seul passage. | Un protocole de tunnel basé sur UDP dont les suites de chiffrement, à l'instar de celles du protocole TLS, négocient généralement un chiffrement AES-GCM. |