X min read
Table des matières

En juin 2024, Keycloak a dévoilé sa 25e itération. Cette version, détaillée dans la documentation officielle, apporte un algorithme avancé et une itération améliorée pour le hachage des mots de passe. L'algorithme de mot de passe précédent (PBKDF2) entraînait des pertes de performances importantes, comme nous l'avons expliqué dans notre article sur Keycloak v24. Afin d'améliorer les performances perdues avec la version précédente, le mode de hachage a été modifié à l'aide d'Argon2. Argon2 permet d'obtenir une meilleure sécurité, avec un temps CPU presque identique à celui des versions précédentes de Keycloak.
Comme nous l'avons fait dans notre article précédent, pour la version v24, nous avons effectué des tests de performance afin de nous assurer que les problèmes de performance que nous avions signalés pour la v24 sont désormais corrigés grâce à ce nouvel algorithme, comme décrit dans la note de mise à jour Keycloak.
Nos tests sont les suivants :
Nous allons créer 1 000 utilisateurs sans concurrence, ce qui nous aidera à vérifier le comportement de notre instance avec l'algorithme Argon2.


Création de 1 000 utilisateurs
Pour rappel, voici les durées que nous avons indiquées dans l'article précédent pour la création d'utilisateurs :
Avec Argon2, la création d'un utilisateur prend environ 6 minutes, ce qui signifie que nous sommes revenus aux durées de la v23 avec ce nouvel algorithme. De plus, la v25 nous offre un aperçu d'une fonctionnalité qui conserve les sessions utilisateur dans la base de données. Cela nous permettra de conserver les sessions utilisateur après les futures migrations. Essayons de créer 1 000 utilisateurs avec cet aperçu de fonctionnalité.

Avec cette fonctionnalité, la création prend 8 minutes. Ce qui reste bien plus rapide que la version v24.
Ces tests confirment qu'Argon2 répond parfaitement au problème soulevé dans la version précédente de Keycloak. La création de 1 000 utilisateurs, même avec la persistance des données, est bien plus efficace qu'avec la version v24 (même en changeant la méthode de hachage).
Nous avons effectué des tests sur un cluster Keycloak v25 très actif avec le scénario décrit ci-dessus. Sur les deux instances, nous avons observé plusieurs indicateurs, notamment l'utilisation du processeur et le temps de réponse :



Malgré une activité élevée, le cluster conserve d'excellentes performances. À titre de comparaison, reportez-vous à l'article que nous avons publié sur la version 24, où l'utilisation du processeur était nettement plus élevée avec seulement un tiers de l'activité.
Comme indiqué dans les notes de mise à jour de Keycloak, Argon2 résout les problèmes de performances identifiés dans la version 24, comme évoqué dans l'article susmentionné. Même avec l'ajout de la fonctionnalité de persistance de session en préversion, qui est un peu plus gourmande en ressources, nous avons observé les métriques suivantes :
Consultez d'abord notre documentation pour connaître toutes les conditions préalables à cette mise à niveau, puis contactez notre équipe d'assistance pour procéder à la mise à niveau.