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 étape d’authentification, une étape si commune qu’on pourrait croire qu’elle est anodine… et pourtant c’est loin d’être le cas. En réalité, l’expérience est douloureuse bien plus souvent qu’on ne le croit. Je vois constamment des utilisateurs passer 5, 10 ou 15 minutes pour réussir à se connecter sur un site… autant dire que l’expérience commence plutôt mal.

Une illusion de sécurité

Si la saisie d’un mot de passe est généralement fastidieuse, c’est parce que l’on décide d’implémenter de nombreuses règles de contrôle supposées sécuriser le système. Généralement on trouve 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 :

1. Face à une double saisie du mot de passe :

Je vois que je dois le taper deux fois alors je vais mettre un truc pas trop long.

2. En créant un compte :

Je peux pas relire ce que je tape alors il faut que je mette quelque chose de simple.

3. Après plusieurs échecs à cause de contrôles :

Bon ça fait déjà deux fois qu’il veut pas mon mot de passe, je vais mettre un truc bidon.

Je peux pas mettre mes mots de passe habituels donc je vais me le noter là sur une feuille.

4. Devant un copié/collé interdit :

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

5. Après avoir tenté trois fois le même mot de passe :

Il m’a bloqué pour 24 heures là donc je vais devoir recréer un compte du coup.

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 pratiques toujours moins sécurisées. 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.

 

Laisser un commentaire

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