JSON Web Token (JWT)
Un JWT est le justificatif que remet une application après votre connexion. Ce que sa signature vérifie, les pièges et les gestes à adopter.
En 30 secondes
- Où ça arrive
- Avec la plateforme d'identité Microsoft, qui authentifie les utilisateurs et fournit des jetons d'accès, de rafraîchissement et d'identité1.
- Ce que veut l'attaquant
- Voler un jeton valide pour agir avec les droits de son propriétaire, sans connaître le mot de passe2.
- Le réflexe
- Ne jamais envoyer ni publier un jeton ou une adresse qui en contient un, se déconnecter après usage, et signaler tout comportement anormal.
- Si c'est déjà fait
- Se déconnecter, puis prévenir le service informatique. OWASP rappelle que supprimer un cookie ne suffit pas : « deleting a cookie alone does not invalidate a stolen copy of the session ID », et l'invalidation côté serveur est nécessaire6.
De quoi parle-t-on
Après votre connexion à une application d'entreprise, celle-ci vous remet un justificatif numérique que votre navigateur ou votre application présente ensuite à chaque demande. Chez Microsoft, ce justificatif prend la forme d'un JSON Web Token, ou JWT, qui contient des « claims », c'est-à-dire des déclarations sur l'utilisateur ou l'application1.
Un JWT peut se décoder, par exemple avec le site jwt.ms, et sa signature sert à vérifier l'authenticité du jeton3. Cette fiche présente les gestes du salarié et ceux du responsable.
Questions directes
Qu'est-ce qu'un JWT ?
Un JWT comporte trois segments séparés par un point : l'en-tête, le corps et la signature3. Le corps contient les claims. La signature sert à évaluer l'authenticité du jeton3.
La signature empêche-t-elle de lire le jeton ?
La signature sert à vérifier l'authenticité du jeton. Microsoft indique que les développeurs peuvent décoder un JWT avec un site comme jwt.ms, à des fins de validation et de débogage3. Le jeton est sensible et présente un risque de sécurité s'il est mal manipulé3.
Un jeton volé permet-il vraiment d'agir à ma place ?
Oui. MITRE décrit des adversaires qui utilisent des jetons d'accès volés pour contourner le processus d'authentification habituel et accéder à des comptes, des informations ou des services. Ces jetons sont utilisés à la place des identifiants de connexion2.
Un jeton volé reste-t-il valable longtemps ?
Cela dépend de sa durée de vie. Pour les jetons d'accès Microsoft, la durée par défaut est une valeur aléatoire comprise entre 60 et 90 minutes, 75 minutes en moyenne3. Les locataires sans accès conditionnel ont une durée par défaut de deux heures pour des clients comme Microsoft Teams et Microsoft 3653. MITRE note toutefois que l'adversaire peut parfois voler aussi un jeton de rafraîchissement, qui lui permet d'obtenir de nouveaux jetons d'accès sans solliciter l'utilisateur4.
1Comment ça marche1 min
Le serveur d'autorisation signe le jeton avec une clé privée et publie la clé publique correspondante. Pour valider un jeton, l'application vérifie la signature avec cette clé publique1. L'en-tête du JWT indique l'algorithme de signature (claim alg) et la clé publique à utiliser (claim kid)3. Microsoft Entra ID émet des jetons signés avec des algorithmes asymétriques standard, comme RS2563.
Le jeton d'accès est transmis à une API comme jeton « bearer » dans l'en-tête Authorization1. Comme les jetons sont valides pour une durée limitée, le serveur fournit souvent une paire : un jeton d'accès et un jeton de rafraîchissement, qui sert à renouveler le premier quand il approche de son expiration1. Le jeton de rafraîchissement ne donne un nouveau jeton d'accès que si l'utilisateur est toujours autorisé1.
Dans le cas d'OpenID Connect, l'ID Token est un JWT signé qui permet à une application de vérifier l'identité de l'utilisateur5.
2Ce que vous faites2 min
En tant que salarié :
- N'envoyez jamais un jeton, ni une adresse web qui en contient un, dans un message, un ticket ou un forum. Les identifiants de session placés dans une adresse peuvent se retrouver dans les liens, les journaux, l'historique du navigateur, les favoris, l'en-tête Referer ou les moteurs de recherche6.
- Déconnectez-vous quand vous avez fini. Une application doit offrir un bouton de déconnexion visible et accessible, pour que l'utilisateur puisse fermer sa session à tout moment6.
- Ne comptez pas sur la fermeture du navigateur : elle ne permet pas d'imposer une déconnexion de façon fiable, notamment sur mobile6.
- Signalez un comportement anormal (déconnexions inattendues, actions que vous n'avez pas faites, demande d'autoriser une application inconnue). MITRE décrit des attaquants qui font accorder l'accès à une application malveillante en envoyant un lien d'hameçonnage ciblé4.
En tant que responsable, à exiger des équipes et des fournisseurs :
- La validation de la signature et de l'émetteur par l'application qui reçoit le jeton, avec les valeurs publiées dans le document de découverte OpenID3.
- Le contrôle de l'audience : une API ne doit accepter que les jetons dont le claim
audlui correspond. Accepter un jeton destiné à une autre ressource est un exemple du problème du « confused deputy »3. - Des bibliothèques éprouvées plutôt qu'un code maison. Microsoft recommande ses bibliothèques MSAL, qui gèrent l'obtention, le rafraîchissement et la validation des jetons1.
- Des durées de session limitées. OWASP cite comme plages courantes de délai d'inactivité 2 à 5 minutes pour les applications de forte valeur et 15 à 30 minutes pour celles à faible risque, et demande aussi un délai absolu quelle que soit l'activité6.
- Un stockage prudent côté navigateur (voir la section suivante).
3Les pièges2 min
MITRE indique que les jetons volés sont « used in lieu of login credentials », c'est-à-dire à la place des identifiants de connexion2. MITRE note que des cookies de session peuvent contourner certains protocoles d'authentification multifacteur7.
Plusieurs erreurs d'implémentation reviennent dans les sources.
- Le stockage dans le navigateur. OWASP déconseille de stocker jetons d'authentification, identifiants de session, JWT ou jetons de rafraîchissement dans localStorage ou sessionStorage : ces espaces sont accessibles à tout JavaScript exécuté dans l'origine, si bien qu'une seule faille XSS divulgue tous les jetons6. OWASP préfère des cookies HttpOnly, Secure et SameSite=Strict, ou un modèle de type Backend-for-Frontend6.
- Le jeton dans l'adresse. Un identifiant transmis par l'URL peut fuiter et faciliter d'autres attaques, comme la fixation de session6.
- Une validation faite au mauvais endroit. Selon Microsoft, un client ne doit pas chercher à valider un jeton d'accès : c'est à l'API de le faire, et le client le traite comme une chaîne opaque3.
- La confiance dans le contenu sans vérifier la signature. Une application qui doit valider un jeton commence par vérifier la signature et l'émetteur3.
- Des jetons dérobés dans l'infrastructure. Dans des environnements Kubernetes ou des chaînes d'intégration et de déploiement continus, des jetons d'API peuvent être volés si le conteneur ou la chaîne est compromis4.
- Le vol de session par un script malveillant ou un proxy d'hameçonnage. MITRE cite des logiciels malveillants qui visent les cookies du navigateur, et des outils libres comme Evilginx2 et Muraena qui récupèrent des cookies via un proxy malveillant7.
Les sources citées ici ne détaillent pas d'autres erreurs de conception fréquemment citées, comme l'algorithme « none », la confusion entre clés ou les secrets faibles. Ce point est à faire vérifier par les équipes de développement avec leurs propres référentiels.
Fiche
- Identifiant
- CP-195
- Aile
- 3. Protocoles et défense
- Compétence Brain
- Contrôler les accès (control_access)
- Réflexe Brain
- cr-027
- Schéma
- G3 · Coupe Anatomique
- Langues
- de, en, fr
- Sources
- 7 sources vérifiées le 3 novembre 2026
Sources7 sources
- Microsoft, « Tokens and claims overview - Microsoft identity platform », 21 mars 2025. https://learn.microsoft.com/en-us/entra/identity-platform/security-tokens (consulté le 3 novembre 2026)
- MITRE ATT&CK, « Use Alternate Authentication Material: Application Access Token, Sub-technique T1550.001 - Enterprise | MITRE ATT&CK® ». https://attack.mitre.org/techniques/T1550/001/ (consulté le 3 novembre 2026)
- Microsoft, « Access tokens in the Microsoft identity platform - Microsoft identity platform », 14 mai 2025. https://learn.microsoft.com/en-us/entra/identity-platform/access-tokens (consulté le 3 novembre 2026)
- MITRE ATT&CK, « Steal Application Access Token, Technique T1528 - Enterprise | MITRE ATT&CK® ». https://attack.mitre.org/techniques/T1528/ (consulté le 3 novembre 2026)
- OWASP, « Authentication - OWASP Cheat Sheet Series ». https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html (consulté le 3 novembre 2026)
- OWASP, « Session Management - OWASP Cheat Sheet Series ». https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html (consulté le 3 novembre 2026)
- MITRE ATT&CK, « Steal Web Session Cookie, Technique T1539 - Enterprise | MITRE ATT&CK® ». https://attack.mitre.org/techniques/T1539/ (consulté le 3 novembre 2026)
Citer cet article
Brain, « JSON Web Token (JWT) », Cyberpedia, 2026. https:/
BibTeX
@misc{brain_cp195_fr_2026,
author = {Brain},
title = {JSON Web Token (JWT)},
year = {2026},
howpublished = {Cyberpedia},
url = {https://startbrain.io/cyberpedia/fr/articles/jwt-json-web-token-signature-pieges/},
note = {CC BY 4.0}
}