Authentification FIDO avec mots de passe

Présentation

La norme d'authentification FIDO (Fast IDentity Online) définit un mécanisme d'authentification rapide et sécurisé pour les utilisateurs qui souhaitent accéder aux sites Web et aux applications.

FIDO Alliance, avec des représentants d'une variété d'organisations, développe des spécifications techniques ouvertes et évolutives qui permettent aux utilisateurs d'accéder à des sites Web et à des applications via un protocole commun. Cela signifie que n'importe quelle entreprise peut utiliser les normes FIDO pour mettre en œuvre des technologies telles que des mots de passe, afin d'assurer une authentification sécurisée.

Un mot de passe est un identifiant de connexion FIDO associé à une origine (site Web ou application) et à un appareil physique. Les clés permettent aux utilisateurs de s'authentifier sans avoir à saisir de nom d'utilisateur ou de mot de passe, ni à fournir d'autres facteurs d'authentification. Cette technologie vise à remplacer les mots de passe comme système principal d'authentification.

Pourquoi l'authentification sécurisée est-elle importante ?

Les mots de passe sont utilisés pour l'authentification dans l'informatique depuis des décennies. Toutefois, l'authentification par mot de passe n'est pas l'option la plus sécurisée, car les bases de données peuvent faire l'objet de violations et les mots de passe peuvent faire l'objet d'un hameçonnage.

De nombreux utilisateurs se connectent à des sites Web différents avec les mêmes mots de passe. Autrement dit, lorsqu'un site Web a été piraté, tous les autres comptes utilisant le même mot de passe sont compromis. Par conséquent, même si vous avez créé un système de mots de passe sécurisé, les utilisateurs sont toujours exposés aux risques liés à la protection de leurs mots de passe.

Certains sites et applications demandent la validation en deux étapes en demandant un deuxième identifiant fourni par SMS, e-mail, application, etc. Bien que cette méthode soit plus sûre que d'utiliser simplement un mot de passe, cette méthode de validation en deux étapes est toujours vulnérable aux tentatives d'hameçonnage, car l'utilisateur peut être convaincu de saisir ses informations de validation en deux étapes dans un site Web malveillant.

Comment FIDO renforce-t-il la sécurité ?

L'authentification basée sur la fonctionnalité FIDO élimine de nombreux problèmes liés à l'authentification par mot de passe et à l'authentification à l'aide des deuxièmes étapes traditionnelles. Tenez particulièrement compte des points suivants :

  • L'authentification FIDO utilise la cryptographie des clés publiques.
  • FIDO permet de s'assurer que les identifiants ne sont pas partagés avec des parties malveillantes ou d'autres parties qui ne détiennent pas les identifiants.

La cryptographie par clé publique réduit le risque de violations de la base de données. L'utilisateur s'enregistre avec une seule origine (un site ou une application), ce qui génère une paire de clés publique-privée sur l'authentificateur d'utilisateur (appareil physique). La clé publique de l'utilisateur est stockée par le serveur d'origine, mais elle est inutilisable pour les pirates informatiques. Un pirate informatique ne peut pas obtenir la clé privée de l'utilisateur à partir des données stockées sur le serveur, ce qui est nécessaire pour terminer l'authentification.

Avec FIDO, l'utilisateur n'est pas responsable de la confirmation qu'un site Web ou une application est en réalité bien son identité. De plus, l'utilisateur ne peut pas s'assurer que les identifiants ne sont pas utilisés aux bons endroits. FIDO associe chaque identifiant à une origine particulière, ce qui signifie que l'appareil (et non l'homme) est responsable de l'identification du site Web ou de l'application.

Par exemple, imaginons que l'utilisateur tente de se connecter à example.com. Si l'utilisateur demande l'identifiant détenu par example.com sur phishing-example.com, l'authentificateur refuse la requête et protège ainsi l'utilisateur. Le processus d'authentification rend très difficile l'obtention d'une validation destinée à d'autres origines.

De manière générale, FIDO et des mots de passe vous permettent de déployer une authentification plus forte, qui est toujours utilisable et facile à utiliser pour la plupart des utilisateurs.

Démonstration

Qu'est-ce qu'un mot de passe ?

Un mot de passe est un identifiant numérique qui respecte les normes FIDO et W3C Web Authentication (WebAuthn). Comme pour un mot de passe, les sites Web et les applications peuvent demander à l'utilisateur de créer un mot de passe pour accéder à son compte.

Le mot de passe consiste à déverrouiller un appareil pour valider l'identité de celui-ci. Cela peut être effectué avec un capteur biométrique (par exemple, une empreinte digitale ou un système de reconnaissance faciale), un code ou un schéma. Un utilisateur doit d'abord s'inscrire auprès de l'origine pour générer son mot de passe (une paire de clés publique-privée).

Lorsqu'il retourne sur le site Web ou dans l'application pour se connecter, l'utilisateur peut procéder comme suit:

  1. Accédez à l'application.
  2. Cliquez sur Sign in (Connexion).
  3. Sélectionnez son mot de passe.
  4. Déverrouillez l'appareil pour terminer la connexion.

L'authentificateur génère une signature à l'aide de la clé privée. Cette signature permet de valider les identifiants de connexion entre l'origine et l'authentificateur, à l'aide de la clé publique et sans révéler la clé privée.

Un utilisateur peut se connecter à des services sur n'importe quel appareil à l'aide d'un mot de passe, quel que soit l'endroit où il est stocké. Par exemple, un mot de passe stocké sur un téléphone mobile peut servir à se connecter à un site Web sur un ordinateur portable distinct.

Comment fonctionnent les mots de passe ?

Des mots de passe sont créés et synchronisés via le système d'exploitation. Certains systèmes d'exploitation peuvent autoriser la synchronisation automatique des mots de passe entre les appareils des utilisateurs, tels qu'un téléphone Android et un appareil Chrome OS, connectés au même compte Google.

Alors que les mots de passe sont liés aux systèmes d'exploitation, un utilisateur peut utiliser des mots de passe sur son téléphone pour se connecter à un ordinateur portable. Étant donné que les mots de passe sont créés avec les normes FIDO et W3C, tous les navigateurs peuvent les adopter. Par exemple, un utilisateur visite site.example sur son Chromebook. Cet utilisateur s'est connecté au compte site.example sur son appareil iOS. Il est alors invité à confirmer son identité sur l'appareil iOS. En règle générale, site.example crée un mot de passe pour le Chromebook de l'utilisateur. Ainsi, pour de futures connexions, le téléphone n'est plus nécessaire.

Les mots de passe sont chiffrés de bout en bout. En d'autres termes, même si Google est responsable de leur synchronisation avec différents appareils Android, il ne peut pas les lire ni les connaître.

Processus d'authentification

Représentation de la fenêtre d'authentification.

Pour mettre en œuvre des mots de passe sur un site Web ou une application, il est important de vous familiariser avec les points suivants:

  • Les authentificateurs sont des appareils physiques détenus par l'utilisateur qui stockent le mot de passe de l'utilisateur et permettent de l'identifier.
  • La partie fiable désigne votre site Web ou votre application, composée d'une application et d'un serveur backend.
    • L'application frontend appelle les API pour interagir avec l'authentificateur et lancer le processus d'authentification.
    • Le serveur backend récupère les objets cryptographiques générés par l'authentificateur et les vérifie.

Par exemple, imaginons qu'un utilisateur souhaite acheter une paire de chaussures dans un magasin de shoes.example (la partie prenante). L'utilisateur a déjà créé un compte sur shoes.example à l'aide de son téléphone Android équipé d'un capteur biométrique. L'utilisateur se connecte à shoes.example sur son appareil Android en déverrouillant son appareil. L'élément shoes.example vérifie ensuite l'identifiant de connexion signé cryptographiquement à l'utilisateur pour la clé publique connue de cet utilisateur, afin de confirmer que l'identité de l'utilisateur est correcte.

Authentificateurs

Les authentificateurs sont des appareils compatibles avec FIDO. Ils permettent de confirmer l'identité d'un utilisateur. Cela inclut les appareils à usage spécifique (clés de sécurité FIDO), ainsi que les téléphones mobiles et autres ordinateurs répondant aux exigences des authentificateurs. Les authentificateurs effectuent les opérations cryptographiques décrites dans les normes FIDO et WebAuthn.

L'appareil dispose de deux rôles : l'enregistrement et l'authentification :

  • Lorsque l'utilisateur s'enregistre auprès d'un tiers de confiance, l'appareil génère une paire de clés publique-privée unique. y compris les téléphones et les ordinateurs des utilisateurs.
  • Lorsque l'utilisateur se connecte à l'avenir, l'appareil génère une signature à l'aide de la clé privée.

Les deux opérations sont effectuées lorsque l'utilisateur prouve la possession de l'authentificateur. Cette paire de clés est enregistrée avec une origine spécifique et ne peut être utilisée que par la source exacte. Si un utilisateur accède à un site d'hameçonnage, les identifiants ne seront plus disponibles.

Appareils compatibles avec FIDO

Voici les méthodes d'authentification les plus courantes:

  • Authentificateurs de plate-forme : il s'agit d'outils intégrés aux smartphones et aux ordinateurs. Les authentifiants de plate-forme utilisent un capteur biométrique (par exemple, un lecteur d'empreinte digitale ou un appareil photo avec reconnaissance faciale) Code ou schéma. Comme l'interaction d'authentification est effectuée en déverrouillant l'appareil, cela prouve que l'utilisateur est en possession de l'appareil et peut confirmer son identité à l'aide de ses données biométriques uniques.
  • Clés de sécurité: il s'agit généralement d'appareils USB avec un bouton sur lequel appuyer pour indiquer l'authentification. Lorsqu'elles sont utilisées avec un mot de passe, les clés de sécurité peuvent fournir un facteur de possession pour l'authentification à deux facteurs. L'exemple le plus courant est une clé de sécurité Titan ou une clé YubiKey.

Avant

Les applications utilisent des API côté client, telles que WebAuthn et FIDO2 pour Android, pour créer et vérifier les identifiants utilisateur avec l'authentificateur.

L'application transmet à l'authentificateur un défi de chiffrement généré par le serveur backend. L'application envoie la réponse de l'authentificateur au serveur pour validation, qui prend des mesures en fonction de cette validation.

Optimisation

Le serveur stocke l'identifiant de clé publique et les informations de compte de l'utilisateur.

Lors de l'inscription et de l'authentification, le serveur génère une question d'authentification cryptographique. Ce défi permet de vérifier que la signature a été émise par l'authentificateur, pour confirmer que l'utilisateur est bien celui qu'il prétend.

Questions fréquentes (FAQ)

Qui accepte les mots de passe ?

Comme les mots de passe s'appuient sur les standards de FIDO, ils fonctionnent sur Android et Chrome, ainsi que sur de nombreux autres navigateurs et plates-formes populaires tels que Microsoft Windows, Microsoft Edge, MacOS, iOS et Safari.

Consultez la documentation fournie par ces plates-formes pour vérifier l'état actuel de leur disponibilité.

Sur Android, nous souhaitons permettre aux développeurs d'utiliser le mot de passe fin 2022.

Que se passe-t-il si un utilisateur perd son appareil ?

Les mots de passe créés sur Android sont sauvegardés et synchronisés avec les appareils Android connectés au même compte Google, de la même manière que les mots de passe sont sauvegardés dans le gestionnaire de mots de passe.

Cela signifie que les mots de passe permettent aux utilisateurs de remplacer leur appareil. Pour se connecter à des applications sur un nouveau téléphone, il suffit de déverrouiller son téléphone.

Un utilisateur peut-il utiliser un mot de passe sur son téléphone pour se connecter sur l'appareil d'un ami ?

Oui. Les utilisateurs peuvent configurer un lien à usage unique entre leur téléphone et un autre appareil afin de se connecter.

Étapes suivantes

Participez à un atelier de programmation:

En savoir plus :

Recevoir les dernières informations: