User Tools

Site Tools


privacy:2fa

Authentification multi-facteurs

En théorie

Deux petites définitions, pour commencer :

  • L'identification d'une personne (ou d'une ressource) est le fait de la reconnaître pour qui elle est,
  • L'authentification consiste, pour cette même personne, à prouver qu'elle est bien celle qu'elle prétend être, en transmettant une information que seule elle pourrait connaître.

Le processus d'authentification se base donc tout d'abord sur une première phase d'identification : l'utilisateur va se présenter, grâce à une information unique (souvent, un nom d'utilisateur ou une adresse email). Elle va ensuite encoder une information que seule elle connait, et qui prouvera qu'il s'agit bien d'elle. La personne recevra alors l'autorisation d'accéder à certaines ressources.

En théorie, tout est donc rose avec des arc-en-ciels et des licornes sur des nuages : si une personne A dispose d'un mot de passe (= d'une clé) pour accéder à un système, et qu'il ne la communique à personne d'autre, il sera le seul à pouvoir s'authentifier sur un système et accéder aux ressources qui lui sont mises à disposition.

En pratique

En pratique, ce n'est pas aussi simple : il suffit à une tierce personne de connaître le mot de passe d'un utilisateur pour arriver à s'authentifier sur un système. Ce dernier ne fera jamais la différence avec l'utilisateur légitime, puisque pour lui, l'information qui lui est communiquée est suffisante pour authentifier ce nouvel utilisateur.

Il est donc important d'avoir une authentification multi-facteurs (MFA - Multi-factors Authentication) : il s'agit d'un mécanisme par lequel une personne prouve son identité grâce à une combinaison de plusieurs informations. Ces informations peuvent être de plusieurs types :

  • Accès à une boite mail pour recevoir un jeton de connexion,
  • Disposition d'un téléphone pour recevoir un appel ou un SMS,
  • Configuration d'une application spécifique (type ItsMe) afin d'associer votre numéro de téléphone et une information jetable,

Statistiquement, la probabilité que vous connaissiez l'identité d'une personne, son mot de passe, que vous ayez son téléphone sous la main et que vous en connaissiez le code PIN est beaucoup plus faible que de simplement deviner la date de naissance et le prénom du fils de votre voisin.

One-time password

Un one-time password est une combinaison alphanumérique, qui vous est attribuée durant un laps de temps relativement restreint. Sur iOS, cherchez OTP Auth ou FreeOTP sur Android. Google se permet une certaine latitude en réutilisant le fait que vous soyez authentifié sur une application type YouTube, pour

Une autre manière de recevoir ce type de jeton de connexion consiste à recevoir un courriel ou un SMS contenant cette chaîne. Il s'agit dans ce cas-là d'une délégation prise par une plateforme : elle se repose sur le fait que vous avez renseigné une information (par exemple, une adresse email ou un numéro de téléphone), qu'elle va ensuite réutiliser pour prouver que l'information que vous lui avez fournie correspond bien à ce que vous lui avez dit.

Une YubiKey ou le digipass de votre institution bancaire fonctionne exactement selon le même principe : il génère un code temporel que seul le possesseur du périphérique est capable de générer.

Applications password

Les application passwords consistent à s'authentifier une première fois sur une plateforme, puis à configurer une délégation vers une seconde plateforme. Ainsi, cette deuxième entité va profiter des autorisations qui lui sont octroyées au travers de la première connexion.

L'idée derrière ceci est de pouvoir contrôler facilement des autorisations, et de pouvoir révoquer tout aussi facilement un accès que nous ne souhaiterions plus.

Apple ainsi que Google disposent d'informations personnelles - voire, confidentielles - auxquelles vous pourriez vouloir donner un accès à une application tierce. Une des manières d'arriver à cette fin, consiste à générer un mot de passe spécifique pour cette application-là et de la proposent ce mécanisme, afin de contrôler les accès que vous pourriez vouloir octroyer.

La finalité d'OAuth est similaire aux application passwords, à la différence qu'il n'est pas nécessaire de s'authentifier sur la plateforme A pour autoriser la B : on peut se connecter directement B sur A.

Problèmes

Le MFA est un des mécanismes les plus robustes pour s'authentifier sur un système. Il n'est cependant pas exempt de défauts, notamment si vous perdez votre téléphone ou le périphérique générant le code temporel,

Pour palier à ceci, il est nécessaire de pouvoir récupérer une sauvegarde ou de pouvoir à nouveau se “connecter” à son système de génération, c'est-à-dire d'avoir une solution de secours, accessible, si le mécanisme principal venait à défaillir. Cette solution de secours est généralement limitée : vous recevez généralement un lien vers un PDF contenant une dizaine de codes à usage unique. Une fois que tous ces codes auront été utilisés, et si vous n'avez pas rétabli un mécanisme plus dynamique, vous serez bons pour démarrer une procédure de récupération qui peut être complexe, coûteuse, voire : ne pas aboutir.

En conclusions

En plus de gérer efficacement vos mots de passe, il est impératif d'activer l'authentification multi-facteurs dès que vous en aurez l'occasion. Elle sécurise énormément vos accès à certaines ressources, au prix d'une complexité relativement peu élevée, mais nécessite de prendre quelques précautions :

  1. N'installez que des applications en qui vous avez confiance,
  2. Faites en sorte d'avoir une solution de secours,
  3. Faites en sorte de pouvoir réamorcer une solution dynamique facilement.
privacy/2fa.txt · Last modified: 2023/10/21 18:55 by fred