Procédure de récupération de mot de passe pour le registre de commerce : bonnes pratiques et risques à éviter

Les mots de passe restent le moyen le plus répandu pour authentifier un utilisateur. La fonctionnalité de réinitialisation de mots de passe est un mécanisme essentiel dans la gestion des comptes utilisateurs sur des plateformes web. Elle permet à un utilisateur de récupérer l’accès à son compte lorsqu’il a oublié son mot de passe.

Comment fonctionne la réinitialisation de mots de passe ?

Lors d’une demande de réinitialisation de mot de passe, un jeton aléatoire est généré afin de vérifier l’intégrité de l’utilisateur qui l’utilise. Ce lien conduit l’utilisateur à une page où il peut saisir un nouveau mot de passe. Du côté des développeurs, l’implémentation standard consiste à s’assurer que le processus est sécurisé. Pour les liens de réinitialisation de mots de passe eux-mêmes, il est important d’utiliser des tokens de réinitialisation sécurisés et uniques. Ces tokens devraient être conçus pour être valides seulement pour une courte période et associés de manière indiscutable à l’utilisateur concerné.

Mesures de protection côté serveur

  • La première étape consiste à implémenter une validation stricte de l’en-tête Host. Cette mesure implique de configurer l’application pour n’accepter que des en-têtes Host connus et valides, en comparant l’en-tête Host de chaque requête avec une liste blanche d’hôtes approuvés.
  • On remarque un paramètre « baseurl » qui va servir à construire l’url de réinitialisation de mot de passe. À la place, l’application devrait utiliser une URL de base préconfigurée et vérifiée côté serveur (whitelist), garantissant que le lien de réinitialisation mène toujours à un domaine légitime.
  • De plus, des mesures sont souvent prises pour empêcher les attaques brute force ou le spam de demande de réinitialisation, telles que la limitation du nombre de demandes autorisées ou l’implémentation de captchas.

Sécurité des tokens : expiration, unicité et robustesse

Dans le contexte de la sécurité des tokens, notamment ceux utilisés dans les procédures de réinitialisation de mot de passe, l’absence d’un délai d’expiration peut constituer une faille majeure. Un token sans expiration peut potentiellement fuiter et être réutilisé par un attaquant, compromettant ainsi la sécurité des comptes utilisateurs. Face à ces vulnérabilités, l’implémentation d’un délai d’expiration pour les tokens est une mesure de sécurité cruciale.

Pour les jetons de réinitialisation de mot de passe, il est conseillé d’établir un délai d’expiration ne dépassant pas une heure après leur génération. Une période encore plus courte, comme 20 minutes, est souvent recommandée pour minimiser les risques. Certes, la fuite de token via l’en-tête « referer » peut être exploitée presque instantanément, rendant l’expiration moins efficace contre ce type d’attaque spécifique. En outre, il est vital que le jeton soit conçu pour être utilisé une seule fois. Après utilisation, le token doit être invalidé, empêchant ainsi toute tentative de réutilisation par un attaquant.

Choix des formats de tokens et vulnérabilités connues

Un UUIDv1 est une version spécifique d’un identifiant généré en utilisant l’heure actuelle et l’adresse MAC de l’ordinateur qui le produit. L’attaque dite « Sandwich » cible les UUIDv1 en exploitant leur caractère prédictible. L’attaque consiste, entre autres étapes, à réduire l’espace de recherche et permettre un brute force plus efficace contre des tokens prédictibles. Tout d’abord, un attaquant va créer un compte utilisateur sur la plateforme cible. L’objectif est de minimiser le délai entre les trois requêtes pour réduire la charge du bruteforce qui sera effectué par la suite. On aura donc besoin d’un peu plus de 23 000 tentatives pour trouver le token de la victime. A la fin du brute force, on détermine que l’uuid 6b897a32-845d-11ee-8227-00155d4e2cec est valide.

Lire aussi: SARL AU PASSE TEMPS : Notre avis

Une approche préconisée consiste à privilégier l’utilisation de tokens robustes tels que les UUIDv4. Les jetons de réinitialisations de mot de passes ne doivent pas pouvoir être déterminés.

Prévenir les fuites de tokens

  • Éviter d’inclure des tokens dans des URLs longues susceptibles d’être archivées par des services externes. Par exemple, les services d’archivage web, tels que WebArchive, peuvent involontairement ou volontairement enregistrer des versions de pages web contenant des tokens non expirés.
  • Surveiller les vecteurs de fuite moins évidents, comme l’archivage web ou la fuite via l’en-tête Referer. Cela est particulièrement pertinent dans le contexte où même des vecteurs de fuite moins évidents, comme l’archivage web, peuvent poser un risque réel.
  • Après génération, associer indiscutablement le token à l’utilisateur concerné et vérifier l’intégrité du lien lors de son utilisation.

Mécanismes d’authentification renforcée et recommandations utilisateurs

La vérification en deux étapes, ou authentification à deux facteurs (2FA), est un mécanisme de sécurité qui ajoute une couche supplémentaire de protection à vos comptes en ligne. Plutôt que de se contenter d’un simple mot de passe, cette méthode demande une preuve d’identité en plus, un code de vérification généré sur votre téléphone ou par SMS. Ainsi, même si quelqu’un parvient à deviner ou voler votre mot de passe, il ne pourra pas se connecter sans ce second facteur. Cela réduit drastiquement les risques d’accès non autorisé à vos informations personnelles ou professionnelles.

La clé de sécurité FIDO2 est un dispositif physique conçu pour remplacer ou compléter les mots de passe traditionnels grâce à une méthode d’authentification forte. La clé génère une signature cryptographique unique qui prouve votre identité sans jamais transmettre de mot de passe.

Bonnes pratiques pour les utilisateurs

  • Utiliser un gestionnaire de mots de passe : il permet de centraliser l’ensemble des identifiants et mots de passe de l’utilisateur et de générer des mots de passe forts pour chaque compte.
  • Activer la vérification en deux étapes dès que possible (applications d’authentification, SMS, notifications push ou clé physique).
  • Ne pas réutiliser les mots de passe entre services et éviter les variations mineures lors des changements périodiques.
  • Modifier rapidement tout mot de passe compromis dès qu’une alerte de fuite est reçue.

Réinitialisation de mots de passe : exemples pratiques

Comment retrouver ou changer son mot de passe Google ? Cliquer sur « Mot de passe oublié ». Google propose désormais des options supplémentaires de récupération, comme l’authentification via l’application Google, via un code de vérification envoyé à un appareil connecté à votre compte. Si vous disposez d’un smartphone, une notification vous sera envoyée directement sur celui-ci, où vous devrez confirmer « Oui, c’est moi ». Dans les deux cas, vous serez renvoyé à une page vous permettant de définir un nouveau mot de passe.

Pour retrouver un mot de passe Outlook, la procédure est similaire à celle utilisée pour d'autres services de messagerie. Vous pouvez également essayer d'utiliser votre mot de passe Windows à partir de l'écran de connexion. Pour les comptes Microsoft, vous pouvez aussi réinitialiser votre mot de passe en ligne via la page de récupération de compte. Cela est utile si vous avez un compte lié à votre appareil.

Lire aussi: Comment Récupérer Vos Identifiants Impôts

Comment enregistrer vos mots de passe dans le Gestionnaire de mots de passe Google | Save password

Réinitialisation locale (ordinateur, smartphone) et codes confidentiels

Pour les systèmes d’exploitation : qu’il s’agisse d’un PC ou d’un Mac, le mot de passe de votre appareil peut faire l’objet d’une modification depuis les paramètres. Pour Windows : Rendez-vous dans le menu « Démarrer », puis « Paramètres » → « Comptes » → « Options de connexion » → « Mot de passe » → « Modifier ». Pour Mac : Rendez-vous dans les préférences Système → « Utilisateurs et groupes » → sélection du compte → « Modifier » à côté de « Mot de passe ».

Windows Hello Entreprise permet aux utilisateurs de réinitialiser les codes confidentiels oubliés. Réinitialisation destructrice du code confidentiel : le code confidentiel existant et les informations d’identification sous-jacentes de l’utilisateur, y compris les clés ou certificats ajoutés à son conteneur de Windows Hello, sont supprimés du client et une nouvelle clé de connexion et un nouveau code confidentiel sont provisionnés. Réinitialisation non destructrice : le conteneur et les clés Windows Hello Entreprise de l’utilisateur sont conservés, mais le code confidentiel que l’utilisateur utilise pour autoriser l’utilisation de la clé est modifié.

Conformité, cadre légal et recommandations

La CNIL a notamment toujours considéré que d'autres moyens d’authentification, comme par exemple l'authentification à double facteur ou les certificats électroniques, offrent davantage de sécurité que le mot de passe. Lorsque l’authentification a lieu sur un serveur distant, et dans les autres cas si cela est techniquement faisable, le mot de passe doit être transformé au moyen d’une fonction cryptographique non réversible et sûre, intégrant l’utilisation d’un sel ou d’une clé. Si des opérations relatives à la gestion des mots de passe sont confiées à un sous-traitant, il est nécessaire de s’assurer du respect des conditions posées à l’article 28 du RGPD. La CNIL peut contrôler, sur la base d’une plainte reçue ou de sa propre initiative, tout responsable de traitement.

De plus en plus d’agences de cybersécurité nationales changent leurs recommandations en matière de rotation périodique des mots de passe : forcer l’utilisateur à changer son mot de passe à une fréquence régulière n’est pas une mesure réellement efficace pour les comptes standards. La recommandation suit ce changement en recommandant de ne plus demander une telle modification périodique qu’aux comptes d’administration.

Gestion pratique des mots de passe dans les navigateurs et conseils

Pour vos comptes en ligne, les mots de passe peuvent être enregistrés dans votre navigateur Web. Google Password Manager est un outil intégré au compte Google permettant de stocker et de gérer vos mots de passe en toute sécurité. Il est accessible sur tous les appareils connectés à votre compte Google, ce qui permet une gestion centralisée et synchronisée des mots de passe sur vos appareils Android, Chrome, et autres navigateurs compatibles.

Lire aussi: Auto-entrepreneur : Mode d'emploi Urssaf

Action But
Afficher mots de passe enregistrés Chrome → Paramètres → Saisie automatique et mots de passe → Gestionnaire de mots de passe Google Accéder à la liste des sites et voir/ supprimer mots de passe
Activer enregistrement Chrome Proposition automatique d'enregistrer un mot de passe lors de sa saisie
Recevoir alertes de compromission Gestionnaire de mots de passe / Chrome Modifier rapidement les mots de passe compromis

Résumé des recommandations techniques

  1. Générer des tokens non prédictibles (préférer UUIDv4 ou random cryptographique) et uniques à usage unique.
  2. Implémenter un court délai d’expiration (idéalement 20 minutes, maximum 1 heure) et invalidation après usage.
  3. Valider rigoureusement l’en-tête Host et utiliser une base URL préconfigurée côté serveur.
  4. Limiter les demandes de réinitialisation et protéger les endpoints (rate limiting, captcha).
  5. Réduire les risques de fuite via Referer et éviter l’inclusion de tokens dans des pages publiques susceptibles d’être archivées.
  6. Encourager l’usage d’authentification multi-facteur et de gestionnaires de mots de passe côté utilisateur.
  7. Chiffrer et stocker les mots de passe de façon non réversible avec sel/clé conformément aux bonnes pratiques et au RGPD.

balises:

Articles populaires: