Passwordless & IDless

Sécuriser la connexion avec magic link

Le magic link supprime le mot de passe sans supprimer la valeur rejouable. Cycle de vie du lien, points de fuite concrets et durcissements réellement utiles.

Un magic link est un lien à usage unique envoyé par e-mail : le clic ouvre la session. C'est bien du passwordless, au sens où aucun secret mémorisé n'est saisi. Mais du point de vue de l'attaquant, le lien est le secret : c'est un jeton porteur, transmissible, qui n'a aucune connaissance du domaine sur lequel il finit par être utilisé. La disparition du mot de passe ne s'accompagne donc d'aucun gain sur le phishing.

Le cycle de vie du lien, et ses points de fuite

Suivre le lien de sa création à son usage fait apparaître les endroits où il échappe à l'utilisateur.

Étape Où le lien se trouve Fuite possible
Génération serveur applicatif journalisation excessive de l'URL
Transport serveurs de messagerie successifs copies intermédiaires, absence de chiffrement bout en bout
Réception boîte mail messagerie compromise, appareil partagé
Prévisualisation outils de sécurité, clients qui préchargent les URL consommation du lien avant l'utilisateur
Clic navigateur, parfois différent du navigateur d'origine session ouverte sur un contexte non prévu
Après usage historique, presse-papiers, transfert du message réutilisation si le lien n'est pas invalidé

La ligne « prévisualisation » est celle qui surprend le plus les équipes : de nombreux dispositifs de protection de la messagerie visitent les URL entrantes pour les analyser. Un lien à usage unique peut donc être consommé par un automate avant que l'utilisateur ne le voie, produisant des tickets de support difficiles à diagnostiquer — et, si le lien n'est pas invalidé, une fenêtre d'exposition.

Le raisonnement est mécanique. Une page contrefaite demande l'adresse e-mail de la victime, la transmet au service légitime, qui envoie un magic link authentique. La victime reçoit un message parfaitement légitime, clique, et l'attaquant — placé en proxy inverse — récupère la session ouverte. Rien n'a été falsifié : c'est le service lui-même qui a produit le facteur d'accès.

Comparé à une signature FIDO2 liée à l'origine, la différence est structurelle : la signature ne produit rien d'utilisable sur un domaine différent, alors que le lien fonctionne quel que soit l'intermédiaire. Le critère qui discrimine n'est pas l'absence de mot de passe, c'est l'absence de valeur rejouable.

Les durcissements qui servent vraiment

Certains sont utiles, d'autres donnent une fausse assurance. Distinguons.

Réellement utiles :

  • Lier le lien à la session d'origine. Le lien n'ouvre la session que dans le navigateur qui a émis la demande, via un identifiant de requête transmis séparément. Cela casse le scénario du lien transféré, y compris depuis une boîte compromise.
  • Exiger une confirmation contextuelle. Afficher, dans le message et sur l'écran d'origine, un code court identique à valider. L'utilisateur constate lui-même la cohérence entre sa demande et le message reçu.
  • Invalider strictement à l'usage, et invalider aussi tout lien antérieur non consommé.
  • Utiliser une méthode POST plutôt qu'un simple GET pour l'activation, ce qui neutralise les visites automatiques de prévisualisation.
  • Notifier sur un second canal l'ouverture d'une session depuis un contexte inhabituel.

Fausse assurance :

  • Réduire la validité à quelques minutes ne gêne pas une attaque synchrone.
  • Allonger le jeton ne change rien : personne ne devine ces liens, on les intercepte.
  • Ajouter un code à saisir après le clic ne protège pas si ce code circule dans le même canal.

Le condamner sans nuance serait excessif. Il rend service dans des contextes précis :

  1. Première connexion et invitations. Pour un utilisateur sans compte, un lien d'activation reste le mécanisme d'amorçage le plus simple — à condition de faire créer immédiatement un facteur plus solide, et de considérer le lien comme jetable et non comme méthode permanente.
  2. Services à faible enjeu. Newsletters, portails de consultation, comptes sans donnée sensible ni capacité d'action.
  3. Repli exceptionnel documenté, assorti d'un gel des opérations sensibles.

Il n'a en revanche pas sa place sur un accès à privilèges, un système exposé à Internet donnant accès à des données personnelles, ni sur un parcours de validation d'opération financière. Sur ces périmètres, une entité soumise à NIS2 ou DORA aura du mal à justifier qu'un jeton porteur transmis par messagerie constitue une mesure de gestion des risques proportionnée.

Ce qu'il faudrait à la place

La question à poser est : que voulions-nous exactement obtenir avec le magic link ? Le plus souvent, la réponse est « supprimer la friction du mot de passe ». Or on peut supprimer la friction sans introduire de jeton transmissible.

C'est le raisonnement de l'approche IDless et cognitive : ouvrir un canal éphémère chiffré par un QR code dynamique à usage unique, puis demander à l'utilisateur de résoudre un challenge appris hors ligne. Le parcours reste court, mais rien de réutilisable ne circule dans une messagerie — et il n'y a plus d'adresse e-mail à collecter pour préparer l'attaque.

FAQ

Sur certains points oui : pas de réutilisation entre services, pas de base de secrets à protéger, pas de credential stuffing. Sur le phishing et le relais en temps réel, il n'apporte aucun gain, et il crée une dépendance nouvelle à la messagerie.

Combien de temps un lien doit-il rester valide ?

Assez pour couvrir les délais d'acheminement, assez peu pour limiter la réutilisation depuis un historique : quelques minutes constituent un compromis courant. Retenez surtout que cette durée ne protège pas contre une attaque synchrone.

Comment traiter les liens consommés par les outils de sécurité de la messagerie ?

En exigeant une activation par POST, déclenchée par une action explicite sur une page intermédiaire. Les visites automatiques ne consomment alors plus le lien, et les tickets de support liés à ce comportement disparaissent.

Oui, et c'est préférable dès qu'il y a un enjeu. Mais si le second facteur est un code à recopier, la combinaison reste entièrement relayable. Le gain n'apparaît que si le second facteur est lié à l'origine ou non transmissible.


Aller plus loin : pilier : authentification cognitive · panorama des méthodes sans mot de passe · OTP e-mail en récupération de compte · magic link face au spear phishing

Demander une démonstration

Prouver l'intention, pas un secret

Découvrez le 4ᵉ facteur cognitif appliqué à vos parcours sensibles.

Demander une démonstration