• Actinuance

Est-ce la fin de l’authentification par mot de passe ?

Oui ! C’est bientôt la fin de l’ère des passwords. La tendance actuelle est de se lancer sur des nouvelles méthodologies d’authentification qui remplaceront les mots de passe. En effet, La majorité des utilisateurs Internet ne prennent pas le temps nécessaire pour la création d’un mot de passe qui respecte les normes de sécurité basiques. De plus, 2018 était l’année des fuites de données par excellence. On estime que plus de 6 milliards d’identifiants (email, username, password) ont été volés. Prenons l’exemple du « data breach » de Facebook en Septembre 2018, où 50 millions de comptes ont été piratés. Ou plus récemment, lorsque Quora, la plateforme d’échange de questions/réponses, a annoncé que plus de 100 millions de comptes utilisateurs ont été corrompus.

Par ailleurs, les « dumps », qui sont des bases de données piratées, peuvent être facilement accessibles sur le darknet, et puisque la plupart des utilisateurs disposent d’un seul mot de passe générique pour tous les sites web et applications mobiles, un hacker peut automatiser le processus de « Credential Stuffing » permettant de tester le password obtenu depuis un dump sur d’autres sites, chose qui aggrave sérieusement l’authentification par un mot de passe simple.

Pour répondre à toutes ces limitations, plusieurs recherches visaient à ajouter une couche supplémentaire de sécurité en instaurant l’authentification à deux facteurs (2FA). C’est-à-dire que l’utilisateur est d’abord amené à taper son mot de passe sur le site qui génère ensuite un token valide pour quelques minutes pour s’authentifier. Ensuite l’utilisateur doit saisir le token reçu par SMS. Toutefois, cette méthode peut être exploitée par une personne malveillante : On a récemment découvert des failles dans le protocole SS7 des réseaux mobiles qui permettent de détourner l’acheminement des SMS.

Ceci nous amène au cœur de notre article : Nous allons citer quelques protocoles qui, petit à petit, gagnent du territoire dans le monde de la sécurité :

WebAuthn

C’est une API qui permet au site web d’échanger avec un périphérique de sécurité (Smartphone, clé USB, carte RFID, etc.). Pour utiliser WebAuthn, un utilisateur doit d’abord générer une paire de clés (privée et publique) qui éviteront toute attaque de type « phishing » ou « Man In The Middle ». Son principe de fonctionnement est détaillé dans la figure suivante :

Schéma : principe de fonctionnement de WebAuthn

Le protocole WebAuthn a été approuvé par W3C et il est désormais considéré comme le standard officiel de l’authentification sans mot de passe. A ce stade, certains navigateurs web ont déjà implémenté le protocole dans leurs récentes versions, c’est maintenant le tour aux utilisateurs d’adopter cette méthode !

OTP

Le mot de passe à usage unique ou le one time password en anglais est un protocole mis en place dans le but d’éliminer les failles que présentent un mot de passe classique.

En résumé, OTP est une chaîne de caractères alphanumériquse générée automatiquement afin d’authentifier un utilisateur pour une seule session. On distingue trois type d’OTP :

  1. Time-based OTP : Génère un nouveau OTP à partir de l’ancien en prenant en compte le « timestep ».

  2. Algorithm-based OTP : Calcule l’OTP en se basant sur des algorithmes mathématiques bien définis.

  3. HMAC-based OTP : Utilise l’algorithme HMAC pour le calcul des mots de passe.

Principe de fonctionnement de OTP

Notons que d’après le schéma ci-dessus le point fort d’OTP est son intégration avec les serveurs d’annuaire (Active Directory, SAMBA, OpenLDAP…)

Pour bénéficier des avantages de l’authentification à mot de passe unique, l’utilisateur a le choix d’employer des solutions web, des applications mobiles ou d’acheter un périphérique de gestion de token OTP dédié.

Auth0

C’est la solution Open Source la plus utilisée aujourd’hui. Auth0 fournit un service AAaaS (Authentication and Authorization as a Service). L’avantage de cette méthode est qu’elle est parfaitement compatible avec les processus de Single Sign On, OAuth 2.0, SAML, 2FA SMS …

Partant du principe « Security By Design » Auth0 offre une API facilement intégrable par le développeur : On présente ci-dessous un schéma explicatif :

Authentification d’un utilisateur par Auth0

Lorsqu’un utilisateur veut s’authentifier auprès d’une application, Auth0 prend la main en lui demandant de fournir un token reçu soit par email, soit par application mobile. Le token peut être valide sur une durée, ou peut expirer à la fin de chaque session de connexion.

Pour finir, je vous propose un site qui vous permet de vérifier si votre adresse email figure sur les bases de données volées. Vous pouvez même créer une alerte pour être notifié dès lors que vos identifiants seront corrompus. Liens vers le site : https://haveibeenpwned.com/

Sources :

  1. https://auth0.com/blog/how-passwordless-authentication-works/

  2. https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API

  3. https://sebsauvage.net/wiki/doku.php?id=totp

Ayoub

© 2020 par Actinuance Consulting.

  • LinkedIn - Grey Circle