Cryptology Academy · Leçon

Pourquoi chiffrer puis authentifier est préférable à authentifier puis chiffrer

Comprenez l’argument cryptographique en faveur de la combinaison du chiffrement et de l’authentification dans le bon ordre.

Leçon 1 sur 413 étapes

Pourquoi chiffrer puis authentifier est préférable à authentifier puis chiffrer est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Trois ordres de composition

Lorsqu'on combine un chiffrement et un MAC, trois ordres sont possibles : chiffrer puis authentifier (EtM), authentifier puis chiffrer (MtE), et chiffrer et authentifier (E&M). Chacun possède des propriétés de sécurité fondamentalement différentes, et un seul est démontré sûr dans tous les contextes.

Définition du chiffrement puis MAC

Dans le chiffrement puis MAC, le texte en clair est d'abord chiffré pour produire le texte chiffré, puis le MAC est calculé sur ce texte chiffré. Le destinataire peut vérifier le MAC avant même de tenter le déchiffrement, ce qui signifie qu'un message altéré est immédiatement rejeté sans divulguer d'informations.

Définition du MAC puis chiffrement

Dans le MAC puis chiffrement, le MAC est calculé sur le texte en clair, puis le texte en clair et le MAC sont chiffrés ensemble. Le destinataire doit déchiffrer le message avant de pouvoir vérifier le MAC, ce qui ouvre la voie aux attaques par oracle de remplissage et par oracle de déchiffrement.

Faille de SSL 3.0 et TLS 1.0

SSL 3.0 et TLS 1.0 utilisaient l'ordre MAC puis chiffrement pour les chiffrements par blocs en mode CBC. Cette faille de conception a été exploitée par l'attaque BEAST en 2011 et l'attaque POODLE en 2014, qui exploitaient toutes deux l'oracle présent lorsque le déchiffrement a lieu avant la vérification du MAC.

Démonstration de Bellare et Namprempre

En 2000, Bellare et Namprempre ont démontré formellement que, parmi les trois ordres de composition, seul le chiffrement puis MAC (EtM) atteint la sécurité IND-CCA2 (sécurité contre les textes chiffrés choisis) pour toutes les combinaisons de primitives de chiffrement et de MAC sûres. MtE et E&M peuvent échouer dans certaines compositions.

Chiffrer et authentifier dans SSH

SSH utilise le mode chiffrer et authentifier (E&M) : le MAC est calculé sur le texte en clair et envoyé à côté du texte chiffré sous forme non chiffrée. Même si SSH n'a pas subi les mêmes exploits que MtE dans SSL/TLS, cette composition est également imparfaite en théorie, car elle peut divulguer des informations sur le texte en clair par l'intermédiaire du MAC non chiffré.

AEAD comme abstraction sûre

Le chiffrement authentifié avec données associées (AEAD) est l'abstraction moderne qui résout le problème de composition dès sa conception. AEAD intègre le chiffrement et l'authentification dans une seule primitive, garantissant qu'ils sont toujours combinés correctement sans obliger les développeurs à choisir un ordre de composition.

AES-GCM : la norme AEAD

AES-GCM (mode de Galois/compteur) est la suite de chiffrement AEAD la plus largement déployée. Elle fournit un chiffrement authentifié grâce à une combinaison du chiffrement en mode CTR et de l'authentification GHASH, et bénéficie d'une accélération matérielle via les instructions AES-NI et CLMUL sur les processeurs modernes.

TLS 1.3 n'autorise que l'AEAD

TLS 1.3 a rompu nettement avec le passé en supprimant toutes les suites de chiffrement non AEAD. Chaque suite de chiffrement TLS 1.3 utilise AEAD, éliminant des catégories entières de vulnérabilités dues à une composition manuelle incorrecte des primitives de chiffrement et de MAC, qui affectaient les versions antérieures de TLS.

Ne composez pas les primitives manuellement

La principale leçon de plusieurs décennies d'attaques cryptographiques est que la composition manuelle de primitives de chiffrement et de MAC est source d'erreurs, même pour les experts. Les bibliothèques cryptographiques modernes exposent des interfaces AEAD précisément pour empêcher les développeurs de commettre des erreurs de composition qui entraînent des vulnérabilités réelles.

Conseils pratiques

Lorsque vous concevez des systèmes aujourd'hui, utilisez toujours en priorité une primitive AEAD telle que AES-GCM ou ChaCha20-Poly1305. Si vous devez assurer l'interopérabilité avec des systèmes historiques qui utilisent séparément un MAC et le chiffrement, assurez-vous d'employer l'ordre chiffrer puis MAC, et jamais MtE ou E&M.

Vérification EtM ou MtE

Quelle affirmation décrit correctement la différence de sécurité entre le chiffrement puis MAC et le MAC puis chiffrement ?

Récapitulatif de la leçon : l'ordre de composition est important

EtM est le seul ordre de composition dont la sécurité est démontrée pour des primitives de chiffrement et de MAC distinctes. TLS 1.3 élimine entièrement le problème en imposant des suites de chiffrement exclusivement AEAD. En cas de doute, utilisez une primitive AEAD telle que AES-GCM ou ChaCha20-Poly1305 et laissez la bibliothèque gérer correctement la composition.

Gratuit pour commencer

Apprends Cryptology Academy avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
67
Leçons
261

Questions Fréquemment Posées

La leçon « Pourquoi chiffrer puis authentifier est préférable à authentifier puis chiffrer » est-elle gratuite ?

Oui — le texte complet de « Pourquoi chiffrer puis authentifier est préférable à authentifier puis chiffrer » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Pourquoi chiffrer puis authentifier est préférable à authentifier puis chiffrer » ?

Comprenez l’argument cryptographique en faveur de la combinaison du chiffrement et de l’authentification dans le bon ordre. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Pourquoi chiffrer puis authentifier est préférable à authentifier puis chiffrer » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi chiffrer puis authentifier est préférable à authentifier puis chiffrer
  2. Mode SIV : AEAD résistant à la mauvaise utilisation des nonces
  3. AEGIS : chiffrement authentifié à haut débit
  4. Choisir un AEAD pour les systèmes de production
← Retour à Cryptology Academy