Scénario d’attaque JWT: la substitution d’algorithme de signature
HS256 est un algorithme symétrique tandis que RS256 est un algorithme asymétrique. En remplaçant l’algorithme RS256 par HS256 dans l’entête du jeton, l’application utilise la clé publique comme secret et se sert de l’algorithme HS256 pour vérifier la signature des messages.
Protéger une API SpringBoot 3.x avec Keycloak
Je vous montre comment créer pas à pas une API REST SpringBoot 3.x protégé par Keycloak
Voici comment vérifier la signature d’un jeton Keycloak
Il y’a deux façons de vérifier la signature d’un jeton JWT Keycloak. D’une part une méthode locale au niveau de l’application, d’autre part une méthode qui fait appel au endpoint userinfo de Keycloak.
Comment se protéger contre une attaque au faux jeton JWT
Un jeton JWT n’étant pas chiffré, son contenu est librement accessible. Il est donc possible de consulter un jeton existant et de forger un jeton JWT en tout point identique au couple header.payload de ce jeton. Chaque application doit impérativement se protéger contre cette possibilité.
Attaque de redirection OAuth2
C’est une attaque très simple à mettre en œuvre. Mais si elle réussit, ses conséquences sont dévastatrices.
