Invalidation des jetons Web JSON
Invalidation de session basée sur les jetons
Contrairement aux approches basées sur la session, les jetons Web JSON (JWT ) ne s'appuient pas sur un magasin clé-valeur central pour gérer les sessions. Au lieu de cela, le jeton lui-même encapsule les informations utilisateur et les données de session. Cela soulève la question de savoir comment les sessions basées sur des jetons peuvent être invalidées à partir du serveur.
Mécanismes d'invalidation courants
-
Supprimer le jeton du client : Bien que cela empêche le client d'accéder à l'application, cela ne protège pas contre les attaques côté serveur. attaques.
-
Créer une liste de blocage de jetons : Les jetons invalidés peuvent être stockés dans une liste de blocage jusqu'à leur date d'expiration. Cependant, cela peut nécessiter un accès à la base de données pour chaque demande et annuler les avantages d'une approche basée sur les jetons.
-
Maintenez des délais d'expiration courts et une rotation des jetons : En définissant des délais d'expiration courts et en demandant au client demandez régulièrement de nouveaux jetons, les jetons invalidés sont effectivement supprimés. Cependant, cela peut limiter le confort de l'utilisateur en exigeant des reconnexions fréquentes.
Plans d'urgence
En cas d'urgence ou de compromission symbolique, envisagez les mesures d'urgence suivantes :
-
Modifier l'ID utilisateur sous-jacent : Modifiez l'ID utilisateur associé au fichier compromis jeton, rendant tous les jetons associés invalides.
-
Surveiller la date de la dernière connexion : Incluez la date de la dernière connexion dans le jeton pour forcer la reconnexion après une période d'inactivité prolongée.
Pièges et attaques
Les sessions basées sur des jetons partagent certaines vulnérabilités avec sessions basées sur les cookies, telles que :
-
Attaques par force brute : Les attaquants peuvent tenter de deviner ou de forcer brutalement les secrets JWT pour accéder aux jetons.
-
Cross-Site Request Forgery (CSRF) : les attaquants peuvent inciter les utilisateurs à accéder à des ressources malveillantes qui valident jetons.
-
Attaques par relecture : Les attaquants peuvent rejouer les jetons capturés pour accéder à l'application sans autorisation.
-
Phishing : Les attaquants peuvent inciter les utilisateurs à fournir leurs informations d'identification, qui peuvent être utilisées pour générer de nouveaux jetons.
-
Man-in-the-Middle Attaques : Les attaquants peuvent intercepter et modifier les jetons pour accéder à l'application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!