5 votes

Cryptage de la signature HMAC 256 vs HMAC 512 JWT

Y a-t-il une différence pratique entre les algorithmes de cryptage HS256 et HS512, ou la sécurité supplémentaire apportée par une clé plus longue est-elle redondante par rapport à une clé déjà incassable ? Lequel dois-je utiliser pour chiffrer le jeton JWT ?

Est-il possible d'utiliser le cryptage HS512 avec les auth0 ? java JWT ?

4voto

pedrofb Points 19206

L'algorithme est utilisé pour effectuer une signature numérique (pas de cryptage) sur l'en-tête et la charge utile du jeton. Si vous souhaitez crypter les données utiles du jeton, vous devez appliquer la norme JWE (cf. RFC )

Y a-t-il une différence pratique entre les algorithmes de cryptage HS256 et HS512, ou la sécurité supplémentaire apportée par une clé plus longue est-elle redondante par rapport à une clé déjà incassable ? Lequel dois-je utiliser pour chiffrer le jeton JWT ?

HS256 signifie HMAC-SHA256. La différence avec HS512 est la force des méthodes de hachage elles-mêmes. Vous pouvez jeter un coup d'œil à la longueur-clé.com et ce réponse . Vous verrez que même SHA-256 a une marge de sécurité assez importante. De plus, l'algorithme HMAC est pratiquement insensible aux attaques sur l'algorithme de hachage sous-jacent. Vous pouvez donc utiliser HMAC-SHA1 en toute sécurité.

Est-il possible d'utiliser le cryptage HS512 avec le JWT java de auth0 ?

J'ai jeté un coup d'œil au code, et c'est possible (mais pas documenté). Utilisez quelque chose de similaire à

JWTSigner.Options options = new JWTSigner.Options();
options.setAlgorithm(Algorithm.HS512);
jwtSigner.sign(claims, options);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X