Cryptographie
JWE : JSON Web Encryption. « Chiffrement web JSON », par analogie avec une enveloppe opaque et scellée glissée dans le courrier interne : le facteur la transporte sans pouvoir la lire.
Anatomie : La forme compacte aligne cinq parties séparées par des points : l'en-tête protégé, la clé de contenu chiffrée, l'IV, le texte chiffré et l'étiquette d'authentification. Deux points de plus qu'un JWS, soit exactement le prix de la discrétion.
Deux étages : Le paramètre alg dit comment la CEK est transmise (RSA-OAEP, ECDH-ES, enveloppement par une KEK) ; le paramètre enc dit comment le contenu est chiffré, toujours avec un algorithme AEAD comme AES-GCM.
Signer puis chiffrer : Un JWE garantit la confidentialité et l'intégrité vis-à-vis du porteur de la clé, pas l'identité d'un émetteur quand la clé de chiffrement est publique. Pour cela, on imbrique un JWS signé à l'intérieur d'un JWE.
Pièges connus : Accepter l'algorithme annoncé dans l'en-tête sans liste blanche revient à laisser l'accusé choisir son juge. Les bibliothèques sérieuses fixent les couples alg et enc acceptés.
Ce qui arrive si on s'en passe
Sans chiffrement, un jeton au format JSON reste lisible par quiconque le voit passer : un simple décodage suffit à afficher son contenu. Données personnelles, rôles, identifiants internes ou secrets glissés dans les revendications apparaissent alors dans les journaux de serveurs mandataires, l'historique d'un navigateur, les outils de supervision et les captures réseau. Une signature seule empêche la falsification, pas la lecture. Mettre en place ce chiffrement, avec des algorithmes fixés côté serveur, limite la fuite à ceux qui détiennent la clé. Il reste préférable de ne pas transporter dans un jeton ce qui n'a rien à y faire.
Explication de la marmotte
Prenons une carte postale : tout le monde peut la lire en chemin. Ce système transforme la carte en lettre fermée. Le texte est brouillé avec une clé secrète tirée au hasard, puis cette clé est elle-même rangée dans un petit coffre que seul le destinataire sait ouvrir. Le tout voyage sous forme d'une longue suite de caractères découpée en cinq morceaux. Si quelqu'un modifie un seul caractère en route, le destinataire s'en aperçoit et refuse le message. Seul le bon destinataire retrouve le texte d'origine.
Où ce terme est utilisé
- JWE : chiffrer un jeton JSON sans se tromper (17 occurrences)
- Formats, bibliothèques et API : rendre la crypto utilisable (4 occurrences)
- JWS : signer et sécuriser vos échanges JSON (2 occurrences)
- Transformer un bloc en chiffrement de message (2 occurrences)
- Courbes elliptiques : compacité, validation et pièges (1 occurrence)
