Deux petites définitions, pour commencer :
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, 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 :
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.
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.
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.
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 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 :