Confidentialité

Chiffrement post-quantique de l’e-mail : ce qui est protégé

Le porte-clés de la boîte enveloppé dans une clé d’appareil post-quantique Enveloppe d’appareil ML-KEM-768 ⊕ X25519 Porte-clés de la boîte X25519 Chaque génération et la graine de signature Enveloppe post-quantique Pas encore post-quantique Une cassure ici ouvre tous les messages

Nisdos Mail protège désormais la clé la plus précieuse d’une boîte en garde côté appareil avec un chiffrement conçu pour survivre aux ordinateurs quantiques. Une clé — pas toute la boîte — et l’écart entre ces deux affirmations est le sujet de cette page.

Les détails, pour qui les veut : quand un navigateur active un appareil, la clé qu’il génère est maintenant un hybride ML-KEM-768 ⊕ X25519 et non plus un X25519 seul. Vos messages stockés ne sont pas encore couverts. Voici pourquoi cet ordre était le bon, et ce qui manque encore.

Contre quoi protège le chiffrement post-quantique ?

Contre une copie du chiffré d’aujourd’hui, ouverte dans vingt ans. L’attaque s’appelle « récolter maintenant, déchiffrer plus tard » et n’exige pas qu’un ordinateur quantique existe déjà — seulement que quelqu’un stocke vos données chiffrées maintenant et attende.

L’algorithme de Shor, sur une machine quantique assez grande, retrouve la clé privée à partir d’une clé publique X25519 ou RSA. Personne ne possède cette machine. Quiconque peut copier du chiffré aujourd’hui — un opérateur de cloud, une injonction, une sauvegarde volée, un bucket mal configuré — peut le conserver jusqu’à ce que quelqu’un l’obtienne. Le chiffrement symétrique n’est pas dans la même situation : l’algorithme de Grover ne fait que diviser par deux la longueur de clé effective, et une clé de 256 bits absorbe cela sans difficulté.

L’e-mail est presque le pire cas face à cette menace, parce qu’une boîte est une archive et pas une session. Le trafic web est éphémère ; le courrier est conservé exprès. Un contrat, un diagnostic, un échange avec un avocat, un lien de récupération encore valide : ce qu’il fallait chiffrer en 2026 est souvent exactement ce qui vaudra la lecture en 2045.

Quelle partie d’une boîte Nisdos Mail est post-quantique aujourd’hui ?

La clé d’appareil, c’est-à-dire l’enveloppe autour du porte-clés de la boîte. Rien d’autre.

Une boîte en garde côté appareil compte trois niveaux de clés, et « enveloppé » ci-dessous veut simplement dire enfermé dans une autre clé. Le corps de chaque message est chiffré avec sa propre clé tirée au hasard. Cette clé de message est enveloppée vers la clé de génération courante de la boîte, celle vers laquelle est chiffré tout ce qui arrive aujourd’hui. Et le porte-clés — chaque génération que la boîte a connue, plus la graine Ed25519 qui autorise de nouveaux appareils — est enveloppé séparément vers la clé de chaque appareil activé.

Quoi Algorithme Résistant au quantique
Corps du message ChaCha20-Poly1305 Oui, c’est symétrique
Enveloppe par message, vers la clé de génération X25519 Non
Enveloppe du porte-clés, vers chaque clé d’appareil ML-KEM-768 ⊕ X25519 Oui

Nous avons traité la troisième ligne en premier pour deux raisons. Le porte-clés enveloppé est le chiffré de plus grande valeur du système : il contient toutes les générations de clés que la boîte a eues et la graine qui autorise les appareils, et il repose dans notre base de données à côté de la clé publique vers laquelle il a été enveloppé, aussi longtemps que la boîte existe. Une seule cassure y est totale — tout le courrier, passé et futur, plus la capacité d’activer un nouvel appareil et de se faire remettre la boîte en règle.

C’est aussi la seule enveloppe dont les deux moitiés sont du travail client. Le navigateur enveloppe le porte-clés, le navigateur l’ouvre, et notre serveur relaie des octets qu’il ne peut pas lire. Y changer d’algorithme ne demandait l’accord de rien d’autre.

Pourquoi mon courrier stocké n’est-il pas encore post-quantique ?

Parce que la partie de notre système qui reçoit votre courrier ne sait pas encore parler le nouvel algorithme. Notre chemin de livraison est en Rust, et l’implémentation Rust de age ne sait pas chiffrer vers un destinataire post-quantique.

Chaque message entrant est chiffré sur notre hôte MX au moment de la livraison, vers la clé publique de la boîte. C’est le mécanisme qui permet à une boîte en garde côté appareil de recevoir du courrier que nous ne pourrons pas relire, et il passe par la crate age, qui ne connaît que X25519 comme identité en 0.11 comme en 0.12. La version 0.12 a bien ajouté des destinataires post-quantiques, mais seulement une forme étiquetée ML-KEM-768 ⊕ P-256, en chiffrement seul, et rien ne sait la déchiffrer dans l’un ou l’autre langage. La bibliothèque du navigateur fournit la classe de destinataire correspondante, sans classe d’identité pour l’accompagner.

Nous pourrions définir nous-mêmes la moitié manquante. Nous posséderions alors un encodage de clé hors norme pour les octets les plus précieux du produit, et des fichiers .age que les outils standards age et rage n’ouvriraient pas — l’une des raisons pour lesquelles nous avions choisi age. Attendre un type d’identité mlkem768x25519 non étiqueté des deux côtés est la bonne réponse la moins chère, et le contrôle qui impose X25519 aux générations de la boîte le dit en commentaire, pour qui s’y attellera.

Voici donc la faille, énoncée franchement. Un adversaire qui copie aujourd’hui les objets chiffrés de votre stockage et dispose d’un ordinateur quantique en 2045 pourra lire ces messages : l’en-tête de chaque objet porte une clé X25519 éphémère, et la casser livre la clé de fichier de cet objet. Le porte-clés reste hors d’atteinte, donc pas d’activation d’appareil ni de suivi de la boîte vers l’avenir — mais l’archive copiée s’ouvre. Nous préférons écrire cette phrase que laisser un titre suggérer le contraire.

Pourquoi ne pas utiliser l’ancien et le nouveau chiffrement ensemble ?

Parce que deux enveloppes de la même clé suivent le maillon le plus faible et ne doublent pas la sécurité. Si une clé de fichier est enveloppée vers un destinataire X25519 et vers un destinataire hybride, l’attaquant casse la plus facile et obtient le même clair. Deux signatures DKIM font l’inverse : un vérificateur accepte l’une ou l’autre, la seconde ajoute donc strictement. L’encapsulation de clé vous donne la moins bonne des deux.

Passer les enveloppes de messages au post-quantique est par conséquent une bascule et non un ajout : une nouvelle génération vers laquelle le courrier neuf est chiffré, les générations précédentes restant lisibles via le porte-clés. Il y manque encore une cérémonie. Aujourd’hui une nouvelle génération n’apparaît que lorsque vous révoquez un appareil, parce que révocation et rotation sont la même opération ; une bascule post-quantique est structurellement cette opération sans la pierre tombale.

Que coûte le chiffrement post-quantique ?

De la taille, pas de la vitesse. ML-KEM est rapide ; ses clés sont simplement grandes. La clé d’encapsulation de ML-KEM-768 fait 1184 octets, et le destinataire hybride de age y ajoute un point X25519 de 32 octets — 1216 octets, encodés en une chaîne age1pq1… d’environ 1 950 caractères.

C’est à peu près 60 fois un destinataire age classique, et cela a modifié du vrai code. Une recherche d’appareil indexée sur sa propre clé publique ne peut plus mettre cette clé dans une URL ; ces requêtes la portent maintenant dans un corps. Quand un appareil est révoqué, nous effaçons sa clé publique en même temps que son porte-clés enveloppé, parce que 1,9 Ko par appareil retiré conservés pour toujours, c’est du poids mort plus un identifiant d’appareil dont personne n’a besoin.

Si les enveloppes par message passent à l’hybride plus tard, le coût tombe par objet : environ 1,5 Ko d’en-tête supplémentaire sur chaque message stocké, soit près de 150 Mo pour une boîte de 100 000 messages. Cela vaut la peine. Cela vaut aussi d’être chiffré à l’avance.

Qu’est-ce que tout cela ne couvre pas ?

Le transport et les métadonnées, comme avant. Le courrier circule entre fournisseurs en SMTP avec du TLS de saut en saut, et l’échange de clés y est celui que les deux serveurs veulent bien conclure — les MTA sont nettement en retard sur les navigateurs pour l’échange hybride. Les données d’enveloppe — qui a écrit à qui, quand, par quels relais — sont visibles de chaque saut, quoi qu’il arrive au repos. Le courrier entrant arrive par ailleurs en clair : c’est pourquoi la garde côté appareil est zero-access et non zero-knowledge. Nous traitons un message à son arrivée, puis nous ne pouvons plus le lire.

La garde côté appareil est elle-même en bêta. Les clés naissent dans votre navigateur, notre copie de la clé de la boîte est effacée à l’activation, et il n’existe pas encore de dispositif de récupération : perdez aujourd’hui tous vos appareils activés et le courrier est perdu. Une récupération par partage de Shamir est le point suivant sur cette liste, et jusqu’à son arrivée, ce compromis est le palier.

Rien de tout cela n’invalide les activations existantes. Le client distingue les types d’identité : un appareil X25519 continue de fonctionner et passe à l’hybride lors de sa prochaine activation.

La question à poser à quiconque annonce de l’e-mail post-quantique : quel chiffré avez-vous rendu hybride ? Si la réponse est le transport, la seule partie mise à niveau est celle que personne n’archivait.

Questions fréquentes

Le chiffrement des e-mails est-il résistant au quantique ?

Pas par défaut, et rarement de bout en bout. Le corps des messages est protégé par un chiffrement symétrique qu’un ordinateur quantique entame à peine, mais la clé qui l’enveloppe est en général en X25519 ou en RSA, et les deux tombent devant l’algorithme de Shor. Chez Nisdos Mail, dans la garde côté appareil, l’enveloppe qui protège le porte-clés de la boîte est post-quantique aujourd’hui (ML-KEM-768 ⊕ X25519) ; l’enveloppe de chaque message reste en X25519, donc le courrier stocké n’est pas encore résistant au quantique.

Qu’est-ce que « récolter maintenant, déchiffrer plus tard » ?

Copier des données chiffrées aujourd’hui pour les déchiffrer une fois l’ordinateur quantique disponible. L’attaquant n’a pas besoin de la machine au moment du vol, seulement d’espace de stockage et de patience : la menace est donc réelle avant le matériel. L’e-mail y est particulièrement exposé parce qu’une boîte est une archive et non une session — un contrat, un diagnostic ou un dossier juridique de 2026 est souvent encore sensible en 2045.

Quel algorithme post-quantique Nisdos Mail utilise-t-il ?

ML-KEM-768 combiné à X25519, sous la forme du destinataire hybride de age (`age1pq1…`, stanza `mlkem768x25519`). ML-KEM est le mécanisme d’encapsulation de clé normalisé par le NIST dans FIPS 203 en août 2024, anciennement appelé Kyber ; le jeu de paramètres 768 est celui que la profession a retenu pour l’usage courant — le même que les navigateurs négocient en TLS sous le nom X25519MLKEM768. Hybride signifie qu’un attaquant doit casser les deux moitiés : la garantie classique n’est jamais abandonnée pour adopter la nouvelle.

Pourquoi les clés de chaque message restent-elles en X25519 ?

Parce que notre chemin de livraison est écrit en Rust et que l’implémentation Rust de age ne sait pas chiffrer vers un destinataire post-quantique. Chaque message entrant est enveloppé à la livraison vers la clé publique de la boîte par la crate `age`, qui ne connaît que X25519 comme identité, en 0.11 comme en 0.12. La version 0.12 a ajouté des destinataires post-quantiques, mais seulement la forme *étiquetée* ML-KEM-768 ⊕ P-256, en chiffrement seul : personne ne peut la déchiffrer, d’aucun côté. Nous attendons un type d’identité `mlkem768x25519` non étiqueté plutôt que d’en inventer un hors norme.

Une clé post-quantique rend-elle la boîte plus lente ou plus lourde ?

Plus lente, non — ML-KEM est rapide. Plus lourde, oui : la clé d’encapsulation de ML-KEM-768 fait 1184 octets, le destinataire hybride de age atteint donc 1216 octets, soit une chaîne d’environ 1 950 caractères, à peu près 60 fois un destinataire age classique. Cela ne touche aujourd’hui que le registre des appareils. Si les enveloppes de messages passent à l’hybride plus tard, chaque message stocké gagnera environ 1,5 Ko d’en-tête : près de 150 Mo pour une boîte de 100 000 messages.

Faut-il réactiver mes appareils pour obtenir des clés post-quantiques ?

Seulement si vous voulez la clé hybride sur un appareil activé auparavant. Les clés d’appareil X25519 existantes continuent de fonctionner — le client distingue les types d’identité — et un appareil passe à l’hybride lors de sa prochaine activation. Les nouvelles activations sont hybrides sans action de votre part.