La double authentification ou authentification à deux facteurs (2FA) : comment ça marche

Pour protéger vos comptes internet ou ses appareils, on peut configurer la double authentification ou authentification à deux facteurs (2FA).
C'est à dire qu'au lieu de vous connecter avec seulement un mot de passe, vous ajoutez un niveau d'authentification afin d'améliorer la sécurité.
Il existe plusieurs mécanismes comme une clé de sécurité, une application d’authentification sur Smartphone.

Ainsi, si un pirate parvient à pirater ou récupérer votre mot de passe, sans ce mécanisme additionnel, il ne pourra accéder à votre compte en ligne ou appareil.

La double authentification repose sur différentes normes et protocoles comme OTP (One Time Password), FIDO (Fast Identity Online) ou U2F (Universal Second Factor).

Cet article vous explique comment fonctionne la double authentification.

La double authentification ou authentification à deux facteurs (2FA) : comment ça marche

La double authentification : comment ça marche

Comme expliqué précédemment, il s'agit d'ajouter un niveau d'authentification.
Ainsi, lorsque l'on souhaite accéder à un service internet ou un appareil, on doit s'authentifier deux fois :

  1. Une première fois par la saisie du mot de passe
  2. Puis on saisit un code temporaire généré ou reçu, ou on utilise un appareil supplémentaire

Le but est de protéger l'accès lorsque le mot de passe est compris.
En effet, entre le phishing, les piratages de comptes clients, le mot de passe n'est plus considérée comme une authentification sûre.
Par exemple, en mai 2018 le Parlement européen préconise la double authentification pour la gestion des comptes et des paiements en ligne.
Le but est de s’assurer que les manipulations sont réellement effectuées par le détenteur du compte.
Ainsi les banques obligent l'utilisation de ce mécanisme pour se connecter au site de compte en ligne.

La double authentification permet donc de sécuriser vos comptes internet et appareils.

On trouve alors différentes méthodes de double authentification.
En général, les services internet sont compatibles avec l'envoi de code par SMS.
Certains vont plus loin et permettent l'utilisation de clé de sécurité.

Par exemple ci-dessous, le gestionnaire de mot de passe KeePassXC gère une triple authentification pour déverrouiller l'accès au coffre fort.

  • par la saisie d'un mot de passe
  • l'utilisation d'un fichier de clé
  • l'utilisation d'une clé de sécurité
La double authentification dans KeePass

Ou encore ProtonMail qui demande un code d'accès à deux facteurs lors de l'authentification au service de mail.

Connexion à un service internet avec une double authentification

Voici une liste des méthodes de double authentification, les plus répandues.

Le Code PIN et code SMS

Le code PIN ou code par SMS, est un code temporaire ou permanent qui permet une authentification à deux facteurs.
Il peut être généré en amont lorsqu'il est fixe ou générer au moment de la connexion.

Le code PIN

Windows 10 utilise des comptes Microsoft qui sont des comptes internet.
Cela n'est donc pas suffisant pour protéger l'accès à vos appareils.
En effet, le compte internet peut être piraté.

Pour palier à cela, Windows Hello oblige la création d'un code confidentiel ou code PIN.
Ce dernier est fixe et être utilisé pour se connecter à l'appareil ou à des applications internet.

Le code PIN dans Windows 10

Toutefois, Windows Hello gère beaucoup d'options de connexion.
L'article suivant vous en donne un aperçu.

Code de sécurité par SMS ou mail

C'est une double authentification à travers un code temporaire envoyé par SMS.

Pour cela, on enregistre son numéro de téléphone sur le compte en ligne
Puis lors de la connexion, après la saisie du mot de passe, on reçoit un code temporaire par SMS.

La double authentification par code SMS

Puis l'utilisateur reçoit un code de sécurité par SMS.
Il doit le saisir sur le site pour se connecter, sans cela, la connexion est impossible.

La double authentification par code SMS

Il existe alors exactement la même chose avec un code reçu par mail.
Les comptes Microsoft ou Twitch utilisent ce mécanisme de double authentification par défaut.

La double authentification par code mail

Ce mécanisme d'authentification se base sur OTP (one-time password).

Enfin ce type de double authentification fait l'objet d'attaque, on en parle dans l'article :

L'application d'authentification sur Smartphone "Authenticator"

C'est le même mécanisme que le code SMS mais via une application d'authentification sur Smartphone que l'on installe.
Il en existe beaucoup comme Google Authenticator, Microsoft Authenticator, Authy, OTP Auth, et bien d'autres.
Le service internet ou l'application doit être compatible avec l'application.

Le principe est simple pour mettre en place cette double authentification :

  • On installe l'application sur son téléphone mobile
  • Puis on configure le compte internet pour utiliser l'application d'authentification. On peut alors scanner un QRCode.
  • Lors de la connexion au service, les codes sont demandés
  • Depuis le téléphone mobile, on génère le code temporaire que l'on saisit pour se connecter
L'application d'authentification sur Smartphone "Authenticator"

Ci-dessous Google Authenticator qui génère un code temporaire.

Google authenticator : une application dédiée à la double authentification

Steam intègre un générateur de code dans Steam Guard Mobile Authenticator.

Steam Guard : une application dédiée à la double authentification

Enfin cela peut aussi être une application en ligne.
Par exemple les gestionnaires de mots de passe sont compatibles avec la double authentification par application mobile.

Cette méthode n'est pas attaquable par le SIM Swapping.
Enfin certains de ces générateurs se basent sur le protocole CTAP2.

Une clé de sécurité ou autre appareil

Les appareils peuvent être diverses comme une clé de sécurité, une carte à puces NFC, SDCard, etc.
Pour le grand public, les clés de sécurité commencent à se démocratiser.

C'est une clé USB physique que l'on branche sur l'appareil pour se connecter à son compte internet ou appareil.
Au moment de la connexion, on demande à insérer celle-ci et parfois on appuie sur le bouton qui se trouve sur celle-ci.

Les clés de sécurité gèrent beaucoup de normes de double authentification.
On trouve notamment :

  • à un site WEB via la norme protocole OTP + WebAuthn
  • à une application ou appareil avec Universal 2nd Factor (U2F) ou FIDO (Fast Identity Online)

Voici un exemple de sécurité :

La double authentification avec une clé de sécurité

Ainsi il est tout fait possible de configurer une double authentification à l'ouverture de Windows 10 avec une clé de sécurité.

Sécuriser la connexion à Windows 10 avec une clé de sécurité Yubikey

Mais aussi sur ses comptes internet, par exemple ci-dessous pour se connecter à son compte Microsoft.

Windows Hello : Protéger Windows 10 et compte Microsoft avec une clé de sécurité

De manière générale, la configuration d'une clé de sécurité est décrites dans cet article :

Certains banques peuvent aussi fournir un appareil qui génère un code temporaire par exemple lors de l'ajout d'un nouveau destinataire pour les virements.
Généralement, cela se présente sous la forme d'une calculatrice.
On peut parfois avoir besoin d'insérer la carte bancaire.

Voici un exemple avec celui de la banque populaire.

Les applications générateurs de code pour les banques

Mais aussi celui de HSBC.

Les applications générateurs de code pour les banques

Reconnaissance faciale ou biométrie

Enfin on trouve d'autres mécanisme comme la reconnaissance faciale via le webcam.
Les téléphones portables et Smartphone utilisent aussi la reconnaissance digitale notamment pour déverrouiller les appareils.
Sur PC, il faut un lecteur d'empreinte digitale.

Dans les films, on trouve aussi celle-ci pour accéder à des emplacements sécurisés.
Parfois, c'est la reconnaissance rétinienne qui est utilisée.

La double authentification : quand l'utiliser ?

Dès que vous le pouvez puisque cela sécurise vos comptes en ligne ou appareils.
Pour vous y aider, suivez ce guide :

Les protocoles et standard de double authentification : OTP, FIDO, U2F

Voici maintenant quelques informations techniques autour du fonctionnement de la double authentification et authentification à deux facteurs (2FA).
En effet, elle s'appuie sur divers protocoles et normes.

Ces derniers utilise le chiffrement asymétrique ou symétrique avec AES.
Plus de détails dans cet article :

OTP (one-time password)

C'est une authentification à travers un mot de passe à usage unique parfois appelé code PIN.
Les clés USB sont compatibles avec ce standard.

Le but est d'éviter la prédiction du code temporaire.

Les applications Smartphone "Authenticator"

  • Basé sur la synchronisation de l'heure entre le serveur d'authentification et le client fournissant le mot de passe. Dans ce cas là, le code est temporaire.
  • Utilisation d'un algorithme mathématique pour générer un nouveau mot de passe basé sur le mot de passe précédent. Les OTP sont en fait une chaîne et doivent être utilisés dans un ordre prédéfini.
  • Utilisation d'un algorithme mathématique où le nouveau mot de passe est basé sur un défi. Par exemple, un nombre aléatoire choisi par le serveur d'authentification ou les détails de la transaction et / ou un compteur.

Clé de sécurité

Voici par exemple, le fonctionnement OTP pour une clé de sécurité Yubikey :

  • Chaque clé possède une clé AES unique (symétrique).
  • Toutes ces clés sont partagées entre les Yubikeys et le serveur d'authentification.
  • Sur le serveur d'authentification, les clés AES sont mappées aux identifiants publics des Yubikeys.
  • À la réception d'un OTP, le serveur d'authentification sélectionne la clé AES appropriée, déchiffre la charge utile et, s'il constate que l'entier contenu dans la charge utile est plus grand que tout autre présenté précédemment par le Yubikey, l'authentification réussit.

Lorsque ce mécanisme est utilisé sur un site WEB, ils utilisent alors le protocole OTP + WebAuthn.

FIDO Alliance : U2F (Universal 2nd Factor) et WebAuthn et CTAP

FIDO Alliance est un consortium qui a pour but de créer des normes et spécifications pour l'authentification forte.
L'alliance intègre des poids lourds comme Google, Yubico, Amazon, VMWare, Paypal, Lenovo, etc.
FIDO voulant dire Fast Identity Online.

Il est à l'origine des normes U2F, WebAuthn (avec W3C), et CTAP.

Schéma FIDO2 Project
source https://en.wikipedia.org/wiki/Universal_2nd_Factor

U2F

Généralement, le protocole permet une authentification par défi-réponse avec l'appareil en utilisant des méthodes de cryptographie à clé publique et une clé d'appareil unique secrète fabriquée dans l'appareil.
La clé de l'appareil est vulnérable à la duplication malveillante du fabricant et est logiquement sécurisée contre l'ingénierie inverse ou la contrefaçon par la robustesse du cryptage et la possession physique.

Au moment de l'enregistrement en ligne, une paire de clé est crée.

  • Le service en ligne stocke la clé publique.
  • La clé de sécurité elle conserve la clé privée.

L'authentification est effectuée par l'appareil client prouvant la possession de la clé privée du service en signant un défi.
Les clés privées du client ne peuvent être utilisées qu’après avoir été déverrouillées localement sur l’appareil par l’utilisateur.
Le déverrouillage local est accompli par une action conviviale et sécurisée comme :

  • glisser un doigt
  • saisir un code PIN
  • parler dans un microphone
  • insérer un appareil à second facteur comme une clé de sécurité ou appuyer sur un bouton.

U2F a été étendue aux spécifications FIDO2, ce dernier vise à permettre une authentification sans mot de passe.
Le modèle U2F est toujours la base de FIDO2 et la compatibilité pour les déploiements U2F existants est fournie dans les spécifications FIDO2.

WebAuthn et CTAP (Client to Authenticator Protocol)

Le schéma suivant explique les différents protocoles :

  • CTAP gére la communication entre le client et authentification. CTAP1 est compatible U2F et CTAP2 est compatible FIDO2.
  • WebAuthn fournit une API pour créer et gérer les informations d'identification de clé publique et privée. WebAuthn est implémenté dans le navigateur WEB.
WebAuthn et CTAP
source https://www.inovex.de/blog/fido2-webauthn-in-practice/

WebAuthn est compatible avec tous les navigateurs WEB et Microsoft utilise ce dernier dans Outlook, XboX et Windows 10.
Les API U2F (CTAP1) ne fonctionnent que sur Chrome et Opera.

Liens

Accédez aux autres articles de ce dossier :
Comment protéger et sécuriser ses comptes internetProtéger ses comptes internet et appareils avec une clé de sécurité
Vous avez trouvé cet article utile et interressant, n'hésitez pas à le partager...

Trouver la solution sur le forum d'aide

Vous êtes arrivé au terme de l'article La double authentification ou authentification à deux facteurs (2FA) : comment ça marche mais vous n'avez pas trouvé la solution à votre problème...
Suivez ces articles du forum pour trouver une réponse ou demandez à votre tour de l'aide sur le forum