Est-ce que l'A2F par email est une bonne idée ?

April 07, 2020
Rédigé par

Est-ce que l'A2F par email est une bonne idée ?

Comme pour tout dans le domaine de la sécurité, qu’il soit sûr ou non d’utiliser le mail comme un canal de distribution pour l'Authentification à Deux Facteurs (A2F) dépendra de qui sont vos utilisateurs et de ce que vous cherchez à protéger.

Cela dit, l'A2 basée sur les emails va généralement protéger vos utilisateurs plus que les desservir, surtout si c’est offert comme option à côté de canaux plus sécurisés comme les TOTP. Comme l’A2F par SMS - qui peuvent protéger 96% du phishing (hameçonnage) de masse et 76% des attaques ciblées - n’importe quelle A2F sera toujours mieux qu’aucune A2F.

Note rapide : vérification par mail vs. A2F

Ce post aborde les compromis des vérifications de connexion en cours via l’utilisation de l’authentification à deux facteurs par mail. Vérifier une adresse mail d’un utilisateur lors de la première fois où il le fournit est la meilleure pratique pour réduire la fraude, assurer la délivrabilité et pour maintenir une bonne réputation d’envoi.

Les services comme Chase bank offrent l’A2F par mail comme option à côté de l’A2F par SMS.

Les services comme Chase bank offrent l’A2F par mail comme option à côté de l’A2F par SMS.

Ce que l’A2F par mail protégera

Il y a trois types de facteurs d’authentification :

  1. Quelque chose que vous savez (comme un mot de passe)
  2. Quelque chose que vous possédez (comme un téléphone ou une clé)
  3. Quelque chose que vous êtes (comme le FaceID)

Utiliser deux facteurs différents signifie que vous supportez l’A2F. L’avantage étant que si l’un des facteurs est compromis, votre compte est, tout de même, toujours protégé. Ça rend l’accès à votre compte bien plus compliqué pour un hacker.

La connexion avec le nom d’utilisateur et le mot de passe est hautement précaire puisque beaucoup de personnes réutilisent les mêmes mots de passe et ceux-ci fuitent constamment dans les data breaches. Des sites comme haveibeenpwned.com nous montrent comment les mots de passe simples communs, comme 123456, sont :

capte d'écran du site haveibeenpwned

L’A2F par mail protégera les comptes là où le premier facteur a été compromis à cause :

  • Des mots de passe pris par force brute ou devinés (comme 123456 ou Été2020)
  • De credential stuffing 

L’A2F par mail aidera à protéger les utilisateurs contre ces types d’attaque, et à minimiser leur risque de se voir pirater leur compte.

Les autres bénéfices d’un canal A2F par mail

Il y a quelques avantages supplémentaires à offrir une option d’A2F par mail :

  1. Des exigences de données familières - les utilisateurs sont habitués à fournir leur mail à un service pour les mises à jour de comptes importantes ainsi que pour pouvoir réinitialiser leurs mots de passe par mail.
  2. Un processus d’accueil facile - comme l’A2F par SMS, l’A2F par mail ne nécessite pas une autre application ni de paramètres supplémentaires à configurer.
  3. Des informations personnellement identifiables existantes (PII - Personally Identifiable Information) - utiliser un mail signifie que vos utilisateurs n’auront pas à vous donner des PII additionnelles comme un numéro de téléphone.

Ce que l’A2F par mail ne protègera pas

Le problème avec le mail comme canal de distribution de l’A2F est que le facteur premier le plus commun - le mot de passe - peut être réinitialisé via mail. Cela signifie qu’un hacker n’a qu’un seul facteur à compromettre - votre boîte mail - pour prendre la main sur votre compte. Cela peut arriver s’il connaît le mot de passe de votre compte ou s’il a accès à une session en direct (par exemple, si vous laissez votre email connecté dans un ordinateur partagé).

Ce genre de menace laisse en danger certaines personnes déjà en situation vulnérable, comme celles qui ont des colocataires malveillants ou des partenaires ayant accès à leur appareil.

Heureusement, les fournisseurs de mails comme Gmail, encouragent des vérifications de sécurité afin de protéger leurs utilisateurs.

 contrôle de sécurité google
lien magique slack

Si les noms d’utilisateurs et les mots de passe sont si peu sécurisés, certains peuvent argumenter : “pourquoi s’embêter avec ?”. Certains services comme Slack ont rendu populaires les liens magiques, ou les liens de connexion à usage unique qui contournent les exigences de connexion et de nom d’utilisateurs standards. Ce genre de connexion sans mot de passe s’expose au même risque que l’A2F par mail si le hacker a accès à votre compte mail. Les liens magiques retirent par contre l’exigence attendue que les personnes utilisent des mots de passe compliqués uniques pour rester en sécurité sur chaque site et ça, c’est une victoire d’expérience utilisateur pour beaucoup !

Ajouter l’A2F par email, la vérification, ou les liens magiques à votre application

Implémenter un canal de mail est facile avec l’API Twilio Verify. Regardez la documentation pour paramétrer votre compte afin d’envoyer des mails de vérification. L’API s’occupera de générer et vérifier les tokens, ainsi que de délivrer les mails rapidement.

Une fois que vous avez configuré votre compte SendGrid et que vous vous êtes connecté à votre service Verify, voici un aperçu du code dont vous aurez besoin pour lancer une vérification :

# Install the twilio-cli from https://twil.io/cli

twilio api:verify:v2:services:verifications:create \
   --service-sid VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
   --to recipient@foo.com \
   --channel email

Ce qui est chouette avec l’API Verify, c’est qu’avec seulement quelques modifications de paramètres, vous êtes aussi prêt à envoyer des vérifications SMS :

twilio api:verify:v2:services:verifications:create \
   --service-sid VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
   --to +15017122661 \
   --channel sms

Allez voir ces tutoriels complets pour envoyer des messages de vérification dans votre langage :

Faites-moi savoir si vous avez des questions, et j’ai hâte de voir ce que vous allez construire !