Aller au contenu
Skycloak
Cas d'usage

Une migration des mots de passe sans réinitialisation forcée

La migration des mots de passe consiste à déplacer les mots de passe des utilisateurs d'un système d'identité vers un autre, pour qu'ils continuent de se connecter avec celui qu'ils utilisent déjà. Soit vous importez les empreintes (hashes) stockées, quand le nouveau système prend en charge leur algorithme, soit vous vérifiez chaque mot de passe auprès de l'ancien système à la connexion suivante avant de l'enregistrer à nouveau, ce qu'on appelle la migration progressive (lazy migration). Skycloak Platform est conçu pour importer les utilisateurs Keycloak avec leurs mots de passe, pour que personne n'ait à réinitialiser le sien le jour du changement.

Pourquoi les réinitialisations forcées font perdre des utilisateurs

La façon la plus simple de déplacer les utilisateurs est d'ignorer les mots de passe et de demander à chacun d'en choisir un nouveau. Cela paraît anodin, mais chaque réinitialisation envoie un message à l'utilisateur, lui demande d'interrompre ce qu'il faisait pour revenir, et certains ne vont jamais au bout. Les utilisateurs inscrits depuis longtemps n'utilisent parfois plus la boîte de réception avec laquelle ils se sont inscrits, et ils restent bloqués jusqu'à ce que le support les aide. Pour un produit, chaque utilisateur qui ne revient pas après une réinitialisation est un client perdu pour une raison qui n'a rien à voir avec le produit.

Une réinitialisation massive paraît aussi suspecte, car un message soudain demandant à tous les utilisateurs de changer de mot de passe ressemble exactement à une campagne d'hameçonnage. Le support reçoit une vague de tickets dans les jours qui suivent, et des attaquants peuvent profiter de la confusion pour envoyer leurs propres faux messages de réinitialisation. Déplacer les mots de passe eux-mêmes évite tout cela, car les utilisateurs ne remarquent rien le jour du changement. Il existe deux façons de le faire, et la plupart des migrations utilisent l'une ou les deux.

Importer les empreintes ou re-hacher à la connexion suivante

Les systèmes d'identité ne conservent pas les mots de passe mais une empreinte de chacun : le résultat d'une fonction à sens unique qui transforme le mot de passe en une valeur impossible à inverser, en général mélangée à une valeur aléatoire appelée sel. Quand le nouveau système prend en charge le même algorithme de hachage, comme bcrypt ou PBKDF2, vous pouvez importer les empreintes avec leurs sels et leurs paramètres, et les utilisateurs se connectent tout de suite au nouveau système. C'est la voie la plus propre, puisque tous les utilisateurs passent d'un coup et que l'ancien système peut être arrêté, mais elle ne fonctionne que si l'ancien système permet d'exporter les empreintes et que le nouveau sait vérifier cet algorithme.

Quand les empreintes ne peuvent pas être importées, la migration progressive déplace les utilisateurs un par un, au fil de leurs connexions. Le nouveau système reçoit le mot de passe à la connexion, le vérifie auprès de l'ancien système et, s'il est correct, enregistre sa propre empreinte, si bien que la connexion suivante n'a plus besoin de l'ancien système. En contrepartie, l'ancien système doit rester en service jusqu'à ce que la plupart des utilisateurs se soient connectés, et ceux qui ne reviennent jamais devront tout de même réinitialiser leur mot de passe à la fin. Beaucoup d'équipes combinent les deux approches, en important ce qui peut l'être et en re-hachant le reste.

Comment Skycloak Platform reprend les mots de passe, la MFA et les passkeys

La plateforme est conçue pour importer les utilisateurs d'un realm Keycloak avec leurs mots de passe : les empreintes sont reprises et les utilisateurs se connectent avec le mot de passe qu'ils connaissent déjà. Le même import reprend leurs réglages d'authentification multifacteur et leurs passkeys, si bien qu'ils n'ont pas à réenregistrer un second facteur. Une passkey est un identifiant de connexion stocké sur l'appareil de l'utilisateur qui remplace le mot de passe par une clé cryptographique, et elle est liée au domaine pour lequel elle a été créée, d'où l'intérêt de choisir le domaine de connexion avant la migration. Des kits de migration pour d'autres fournisseurs d'identité sont prévus plus tard.

Une fois les utilisateurs sur la plateforme, les fonctionnalités de connexion prévues à son plan s'appliquent à eux, dont la vérification des mots de passe dans les données de fuites de Have I Been Pwned, avec une copie locale si ce service est indisponible. Les applications continuent de fonctionner grâce à des adresses et des formats de jetons compatibles avec Keycloak, et un tenant peut être exporté vers un fichier de realm Keycloak si vous devez revenir en arrière. Tout cela est prévu plutôt que disponible aujourd'hui, et une démo montre les éléments que vous pouvez déjà utiliser. Si vous venez d'un autre fournisseur, cet échange est aussi l'occasion de voir comment vos mots de passe sont stockés aujourd'hui et quelle approche vous convient.

Questions fréquentes

Peut-on migrer les mots de passe sans que les utilisateurs le remarquent ?

Oui, en important les empreintes ou en re-hachant à la connexion suivante. Dans les deux cas, les utilisateurs continuent de se connecter avec le mot de passe qu'ils utilisent déjà, et seuls ceux qui ne se connectent jamais pendant une migration progressive doivent le réinitialiser à la fin.

Depuis quels fournisseurs Skycloak Platform peut-il importer les mots de passe ?

La plateforme est conçue pour importer les realms Keycloak avec les mots de passe, la MFA et les passkeys des utilisateurs. Des kits de migration pour d'autres fournisseurs d'identité sont prévus plus tard.

Découvrez Skycloak Platform par vous-même

Réservez une démo : nous vous présentons la plateforme en partant de vos propres parcours de connexion.