Cryptographie
JWS : JSON Web Signature. « Signature web JSON », par analogie avec un cachet apposé sur un document pour détecter toute modification.
Principe : Un JWS associe un contenu, des informations décrivant la signature et une signature calculée avec une clé secrète. Le destinataire vérifie cette signature avec la clé correspondante.
Ce que cela garantit : La vérification confirme l'intégrité du contenu et l'identité attendue du signataire, à condition de faire confiance à la clé utilisée. Elle ne chiffre pas le contenu, qui reste lisible.
Format : La forme compacte contient trois parties séparées par des points : l'en-tête protégé, le contenu et la signature, tous encodés dans un format adapté aux échanges sur le Web.
Usages : On retrouve les JWS dans les jetons d'authentification, les échanges entre services et les protocoles d'identité. Une modification minuscule suffit à faire échouer la vérification.
Ce qui arrive si on s'en passe
Un jeton signé ne vaut que par la vérification qu'on en fait. Un destinataire qui décode un JWS sans vérifier la signature, ou qui laisse l'en-tête choisir l'algorithme au lieu de l'imposer, accepte un contenu fabriqué de toutes pièces : identité, droits et date d'expiration deviennent ce que l'attaquant a décidé. Croire par ailleurs qu'une signature protège la confidentialité conduit à glisser dans le contenu des données qui restent lisibles par quiconque intercepte le jeton. Le cachet atteste que le document n'a pas été modifié, pas qu'il est secret ; il n'atteste même plus rien quand personne ne prend la peine de le regarder.
Explication de la marmotte
Imagine une lettre à laquelle l'expéditeur ajoute une marque fabriquée à partir du contenu et d'un secret qu'il est seul à connaître. Le destinataire reçoit la lettre, recalcule une marque avec une information publique, puis compare les deux. Si elles correspondent, le message vient bien de la bonne source et n'a pas été modifié en chemin. Cette marque ne cache pas le texte : quiconque reçoit la lettre peut encore la lire. Le système vérifie donc l'origine et l'intégrité d'un message, mais ne le rend pas secret.
Où ce terme est utilisé
- JWS : signer et sécuriser vos échanges JSON (15 occurrences)
- JWE : chiffrer un jeton JSON sans se tromper (5 occurrences)
- Formats, bibliothèques et API : rendre la crypto utilisable (4 occurrences)
- Attributs du cookie de session (1 occurrence)
- Gouverner la cryptographie: inventaire, agilité et conformité (1 occurrence)
- Protéger une information en environnement hostile (1 occurrence)
- Prouver qu’un message vient du bon secret (1 occurrence)
- Transformer mots de passe et secrets applicatifs en clés (1 occurrence)
