Ces contrôles de mots de passe qui ne sont qu’une illusion de sécurité

La plupart des tests utilisateurs que j’ai l’occasion de mener passent à un moment ou un autre par une authentification, une étape si commune qu’on pourrait croire qu’elle est anodine… et pourtant c’est loin d’être le cas ! L’expérience est souvent douloureuse, et si ça peut leur simplifier la vie, les utilisateurs n’hésitent pas bien longtemps avant de contourner les contraintes de sécurité…

Sécurité ou illusion de sécurité ?

La saisie des mots de passe est souvent assez fastidieuse pour l’utilisateur lorsque l’on décide d’implémenter de nombreuses règles de contrôle :

  • des caractères imposés
  • des champs masqués
  • une longueur minimum et maximum
  • une double saisie
  • et bien d’autres…

Mais que se passe-t-il vraiment lorsque l’utilisateur se trouve face à ces contrôles ? Voici quelques extraits relevés en tests utilisateurs :

« Ah, je vois que je dois le taper deux fois alors je vais mettre un truc pas trop long et pas trop compliqué. »

« En fait je peux pas relire ce que je tape alors il faut que je mette quelque chose de simple. »

« Bon ça fait déjà deux fois qu’il veut pas mon mot de passe parce que c’est trop court, donc je vais devoir mettre un truc bidon. »

« Je peux pas mettre mes mots de passe habituels donc je vais me le noter sur une feuille sinon je vais l’oublier. »

« Là je peux pas coller le mot de passe que j’ai généré, donc bon, c’est pas grave je vais mettre un autre que je mets tout le temps. »

« Bon ben il m’a bloqué pour 24 heures là donc je vais devoir recréer un compte du coup. »

Pour l’utilisateur, l’authentification n’est qu’un obstacle à passer le plus rapidement possible

Ce qu’on constate assez bien, c’est que l’authentification n’est qu’une contrainte pour l’utilisateur ! C’est le système qui a besoin de vérifier qui est là. L’utilisateur lui, sait très bien qui il est, et il aimerait bien que le système le comprenne rapidement. La plupart des contrôles trop contraignants conduisent donc l’utilisateur à opter pour des contournements moins sécurisés.

Ceci est d’autant plus dommageable que le critère le plus important en termes de sécurité est simplement la longueur du mot de passe (the password strength).

Quelques règles pratiques ?

En résumé, voilà quelques règles pratiques qui me semblent poser un cadre moins douloureux pour authentifier un utilisateur, et finalement donc, plus sécurisé.

A la création du mot de passe :

  • Autoriser les copier-coller
  • Permettre à l’utilisateur de vérifier sa saisie
  • Imposer peu de règles (privilégier la longueur minimum)
  • Annoncer les règles immédiatement (longueur, caractères, …)
  • Donner une limite de nombre de caractères très haute
  • Afficher un indicateur de niveau de sécurité
  • Ne pas demander une double saisie

A l’authentification :

  • Ne pas empêcher les copier-coller
  • Permettre à l’utilisateur de vérifier sa saisie
  • Opter pour un anti-brute force très progressif (1min., 3.min, 5min)

Ressources complémentaires :

Le projet seethroughtrees.github.io/react-ux-password-field/ propose un composant react assez intéressant qui implémente la plupart de ces règles, intéressant à tester 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *