Le point sur l'authentification à deux facteurs

Toujours dans la lignée de mes articles sur les mots de passe, je vous propose quelques explications sur l’authentification à deux facteurs que je vous conseille de mettre en place sur vos applications sensibles.

2FA

Qu’appelle-t-on facteur d’authentification

L’authentification forte cherche à croiser plusieurs facteurs d’authentification parmi les suivants :

  • Ce que je sais (typiquement : mot de passe, question de récupération)
  • Ce que je suis (typiquement : biométrie)
  • Ce que j’ai (typiquement : carte de crédit, clé RSA, Yubikey, Smartphone, …)

Le mot de passe ne suffit pas

Un mot de passe seul est un système d’authentification plutôt faible pour toutes ces raisons :

  • souvent trop simple
  • souvent mnémotechnique avec des attributs liés à la personne (nom de son animal, date de naissance, …)
  • souvent réutilisé pour divers services (une fois que j’ai trouvé un mot de passe facile à retenir, je le garde partout)
  • parti dans la nature avec la dernière fuite de données à la mode (voir Have I been pawned et Firefox Monitor)

Mail et SMS sont de mauvais seconds facteurs (mais mieux que rien)

Le SMS passe en clair sur les réseaux de l’opérateur, autant dire que la sécurité est quasi nulle. Ca a été démontré récemment chez Android par exemple.

Quand au mail, il est protégé par … un mot de passe (sans second facteur, n’est-ce pas ?). Si votre mot de passe de mail est perdu, vous pouvez potentiellement perdre l’accès à tous vos comptes.

OTP : La bonne solution quand elle est disponible

OTP est un code à utilisation unique (one time password) qui peut se baser soit sur le temps (TOTP) pour peu que le serveur et le client soient synchrones via NTP, soit sur un compteur (HOTP).

Le TOTP est simple à fournir aux clients puisqu’il suffit d’installer une application comme FreeOTP.

Côté serveur et langages, il y a tout ce qu’il faut comme librairies …

… et beaucoup de services qui l’implémentent :

  • Dokuwiki via ce plugin
  • Gitea nativement
  • Gitlab nativement
  • Mastodon nativement
  • Matomo via ce plugin
  • Nextcloud via plugins
  • Roundcube via plugins
  • Wordpress via plugins (et c’est pas du luxe vu le nombre de failles WP !)

Mais dommage, il n’y a rien pour :

  • FreshRSS
  • Shaarli

Et l’U2F alors ?

L’Universal second factor est une norme libre qui permet d’utiliser un périphérique USB ou NFC comme second facteur.

De nombreux grands acteurs implémentent cette norme ce qui facilite l’utilisation de ces outils.

Le périphérique le plus connu est certainement la Yubikey mais on trouve maintenant des applications comme Krypton qui permettent une authentification via le téléphone sur la plupart des services en ligne.

Alors le mot de passe n’est peut-être pas encore mort mais il commence à avoir un pied dans la tombe.

Si vous voulez commenter, ce sera avec plaisir sur Mastodon