Les mots de passe ne sont pas les seuls mécanismes permettant de protéger l’accès d’un compte. D’autres mécanismes peuvent être utilisés en remplacement ou en complément des mots de passe afin d’améliorer la sécurité d’une authentification.

Lorsqu’un mécanisme alternatif est utilisé, l’internaute doit apporter non pas une, mais deux preuves pour justifier qu’il est bien la personne qu’il prétend être. On parle alors d’« authentification multifacteurs » (MFA) ou d’une « authentification à deux facteurs » (2FA). Ces facteurs complémentaires peuvent être de plusieurs natures. Ils peuvent utiliser un élément biométrique, comme les empreintes digitales et la détection faciale (qui est désormais populaire depuis que nos téléphones portables en sont équipés), ou utiliser soit un appareil physique, soit une application spécifique.

Cet article détaille les applications d’authentification, qui sont relativement peu populaires, mais qui sont pourtant prises en charge par les principaux acteurs d’Internet.

Une application d’authentification comme deuxième facteur d’authentification

Une application d’authentification est une petite application que l’internaute peut installer sur son téléphone portable et qui lui permet de générer des codes à usage unique à saisir, en complément du mot de passe, au moment de s’identifier à l’un de ses comptes personnels.

L’utilisation d’une application d’authentification a l’avantage d’être gratuite, aussi bien pour les éditeurs, car il n’y a pas de frais de transaction à s’acquitter comme c’est le cas pour les SMS[1], que pour les internautes, dans la mesure où il possède déjà un téléphone mobile sur lequel installer l’application. L’application d’authentification a aussi l’avantage d’être « générique », c’est-à-dire qu’une seule et unique application peut être utilisée avec tous les comptes de l’internaute.

Le fonctionnement d’une application d’authentification est relativement simple. L’utilisateur installe l’application, la synchronise avec le compte qu’il souhaite protéger puis génère un code avec un simple clic au moment de s’authentifier.

Il existe beaucoup d’applications d’authentification, des gratuites comme des payantes. Je conseille personnellement l’application gratuite « FreeOTP Authenticator »[2], car elle est compatible avec les appareils Apple et Android et car elle a l’avantage d’être open-source, c’est-à-dire que le code source de l’application est consultable sur Internet[3]. On peut donc avoir la certitude qu’elle n’inclut pas d’éléments fâcheux à l’intérieur.

Logo de l’application FreeOTP
Application FreeOTP sur Android

Une fois installée, l’application peut être synchronisée. Les principaux produits et services en ligne propose déjà cette méthode d’authentification notamment Gmail[4], Facebook[5], Twitter[6], Amazon[7], Firefox[8], Apple[9], etc.

Pour synchroniser l’application avec un compte, il faut se rendre dans les paramètres du compte et scanner le code barre qui est affiché.

QR Code composé de carrés noirs et blancs
Exemple d’un code barre à scanner dans l’application d’authentification.

Une fois scanné, le compte est alors ajouté à l’application.

Le compte de l’auteur est ajouté à l’application FreeOTP
Exemple d’un compte paramétré dans l’application d’authentification.

Ensuite, au moment de se connecter, le code généré par l’application peut être saisi en complément du son mot de passe.

Le code d’authentification « 392827 » est généré par l’application FreeOTP
Exemple d’un code généré par l’application d’authentification.

Simple et efficace. Attention tout de même, si l’appareil qui contient l’application d’authentification est cassé ou perdu, il n’est plus possible de se connecter. Les services proposent généralement des solutions de secours dans le cas où cela arrive. Le plus souvent, il s’agit d’une série de codes à usage unique à conserver et à utiliser pour débloquer le compte lorsque l’application est inutilisable.

Fonctionnement des applications d’authentification

Les applications d’authentification fonctionnent grâce à un algorithme appelé TOTP[10]. Derrière ces initiales se cache des fonctions cryptographiques avancées qui permettent de générer un code à partir de la date et l’heure de la demande, et d’un mot secret.

Le mot secret est généré aléatoirement par le fournisseur et doit être transmis à l’utilisateur de façon sécurisée. Dans les explications précédentes, ce secret est inclus dans le code barre que l’internaute scanne, non pas pour le cacher, mais pour lui permettre de l’enregistrer facilement sans la saisir. L’heure actuelle, elle, n’est par définition pas secrète et peut être connue facilement par les deux parties sans qu’il n’y ait besoin de s’échanger d’informations.

Une fois le mot secret connu par les parties, le fournisseur et l’utilisateur peuvent, au moment de l’authentification, générer le code chacun de son côté, l’utilisateur pour prouver son identité et le fournisseur pour vérifier la validité du code envoyé par l’utilisateur.

Sécurité renforcée

L’utilisation d’une application d’authentification n’est généralement pas obligatoire mais fortement recommandée pour améliorer la sécurité d’un compte et ne plus se baser uniquement sur la connaissance d’un mot de passe.

En utilisant un tel mécanisme, l’authentification repose sur deux éléments : un élément que l’internaute connaît (le mot de passe) avec un élément que l’internaute possède (l’appareil avec l’application). Dans le cas où un attaquant souhaiterait accéder au compte, il faudrait donc non seulement subtiliser le mot de passe, mais également posséder physiquement l’appareil.

Notes et références

  1. L’envoi d’un SMS pour les professionnels coûte entre 1 à 5 centimes d’euro selon les fournisseurs et les volumes choisis.
  2. L’application d’authentification FreeOTP est développée par la société Red Hat, propriétée de Oracle, et est téléchargeable gratuitement sur l’AppStore (Apple iOS) et sur le PlayStore (Google Android).
  3. Le code source de l’application Android FreeOTP est consultable sur la plateforme GitHub.
  4. Gmail permet à ses utilisateurs d’activer l’authentification à deux facteurs (source : Google).
  5. Facebook permet à ses utilisateurs d’activer l’authentification à deux facteurs (source : Facebook).
  6. Twitter permet à ses utilisateurs d’activer l’authentification à deux facteurs (source : Twitter).
  7. Amazon permet à ses utilisateurs d’activer l’authentification à deux facteurs (source : Amazon).
  8. Firefox permet à ses utilisateurs d’activer l’authentification à deux facteurs (source : Mozilla).
  9. Apple permet à ses utilisateurs d’iCloud d’activer l’authentification à deux facteurs (source : Apple).
  10. TOTP : Time-based One-time Password algorithm.