← RFC Reference

RFC 8551 : Spécification des messages S/MIME 4.0

Piste normalisée Sécurité du contenu Published March 2026
ELI5: [S/MIME 3.2](5751) a chiffré votre e-mail comme si vous l'aviez placé dans un coffre-fort avec une bonne serrure. S/MIME 4.0 remplace cette serrure par une moderne qui non seulement garde le contenu secret mais détecte aussi si quelqu'un a tenté de forcer le coffre-fort lui-même. Il améliore les algorithmes cryptographiques selon les meilleures pratiques actuelles : AES-GCM au lieu d'AES-CBC, les courbes elliptiques aux côtés de RSA, et SHA-256 comme minimum. Même concept, mathématiques plus robustes.

Pourquoi cela existe

S/MIME 3.2 (RFC 5751, publié en 2010) était solide pour son époque, mais la cryptographie progresse :

Comment cela fonctionne

La structure MIME et l'encapsulation CMS restent identiques à S/MIME 3.2. Les changements se font au niveau des algorithmes et des capacités négociées entre l'expéditeur et le destinataire.

Ce qui a changé de 3.2 à 4.0

Fonctionnalité S/MIME 3.2 (RFC 5751) S/MIME 4.0 (RFC 8551)
Chiffrement du contenu AES-128-CBC (MUST) AES-128-GCM (MUST)
Digest pour la signature SHA-256 (MUST) SHA-256 (MUST)
Algorithme de signature RSA (MUST) ECDSA avec P-256 (MUST), RSA (MUST)
Transport de clé RSA (MUST) ECDH avec P-256 (MUST), RSA-OAEP (SHOULD)
SHA-1 pour la signature Autorisé (compatibilité rétroactive) Déconseillé
Chiffrement 3DES Autorisé (compatibilité rétroactive) Déconseillé
Protection des en-têtes Non abordé Mécanisme défini
EdDSA (Ed25519) Non défini Référencé via les RFC compagnons

Chiffrement authentifié (AES-GCM)

Le changement le plus significatif est le passage de AES-CBC à AES-GCM en tant qu'algorithme de chiffrement de contenu obligatoire :

Cryptographie par courbe elliptique

S/MIME 4.0 rend ECDSA (pour la signature) et ECDH (pour l'accord de clé) obligatoires à implémenter aux côtés de RSA :

Algorithme Courbe Force RSA équivalente Taille de clé
ECDSA / ECDH P-256 (secp256r1) RSA-3072 256 bits
ECDSA / ECDH P-384 (secp384r1) RSA-7680 384 bits
ECDSA / ECDH P-521 (secp521r1) RSA-15360 521 bits

Les clés EC sont dramatiquement plus petites que les clés RSA à des niveaux de sécurité équivalents. Pour le courrier électronique, cela signifie des signatures plus petites et des blocs de transport de clé chiffrés plus petits, ce qui réduit la taille des messages.

Protection des en-têtes

S/MIME 4.0 définit un moyen d'inclure des copies protégées des en-têtes de courrier électronique (Subject, From, To, Date) à l'intérieur du corps MIME signé ou chiffré. Les en-têtes extérieurs restent visibles pour le routage et l'affichage, mais les copies intérieures protégées permettent au destinataire de vérifier que les en-têtes n'ont pas été modifiés en transit :

-- À l'intérieur du corps S/MIME chiffré --
Content-Type: message/rfc822

Subject: Confidential quarterly results
From: cfo@example.com
To: board@example.com
Date: Wed, 12 Mar 2025 09:00:00 -0400

(encrypted body content...)

Le client du destinataire compare les en-têtes intérieurs avec les en-têtes extérieurs et alerte s'ils diffèrent.

Détails techniques clés

RSA-OAEP vs. RSA PKCS#1 v1.5

S/MIME 3.2 utilisait RSA PKCS#1 v1.5 pour le transport de clé. Ce schéma de remplissage est vulnérable aux attaques de type Bleichenbacher. S/MIME 4.0 recommande RSA-OAEP (Optimal Asymmetric Encryption Padding), qui est prouvablement sûr contre les attaques par texte chiffré choisi. Les expéditeurs DEVRAIENT utiliser RSA-OAEP lorsque le destinataire indique le support via ses capacités S/MIME.

Attribut Capacités S/MIME

Lors de la signature d'un message, l'expéditeur inclut un attribut SMIMECapabilities énumérant les algorithmes qu'il supporte. Les destinataires utilisent ceci pour sélectionner les algorithmes mutuellement supportés les plus forts pour les réponses chiffrées. S/MIME 4.0 met à jour l'ordre des capacités recommandées :

  1. AES-256-GCM
  2. AES-128-GCM
  3. AES-256-CBC (pour la compatibilité rétroactive)
  4. AES-128-CBC (pour la compatibilité rétroactive)

Compatibilité rétroactive

Les agents S/MIME 4.0 DOIVENT être capables de recevoir et traiter les messages S/MIME 3.2. Lors de l'envoi, ils devraient utiliser les algorithmes S/MIME 4.0 (AES-GCM, ECDSA) lorsque les capacités du destinataire indiquent le support, et revenir aux algorithmes 3.2 sinon. L'attribut SMIMECapabilities conduit cette négociation.

Erreurs courantes

Impact sur la livrabilité

Related RFCs