[Test] Sécuriser ses authentifications avec la Yubikey 5 NFC

[Test] Sécuriser ses authentifications avec la Yubikey 5 NFC

Vous avez certainement déjà entendu parler de double authentification (ou 2FA, pour 2 Factor Authentication), et nous allons vous expliquer ici en quoi ça consiste et ce que ça peut vous apporter. Pour illustrer ce concept, nous allons vous proposer un test de la clé USB de sécurité Yubico YubiKey 5 NFC.

Tout d'abord, qu'est-ce que la double authentification ? Il s'agit d'une vérification en 2 étapes de l'identité de la personne qui essaye de se connecter à un système informatique. En complément du mot de passe habituel, un code est généralement demandé à l'utilisateur, et celui-ci peut-être soit reçu par mail ou SMS, ou bien généré aléatoirement par une application gérant le protocole TOTP (Time-base One-Time Password). Si ce code n'est pas correct, l'authentification échoue même si le mot de passe renseigné à la première étape est correct.
Il existe également le MFA, Multi-Factor Authentication, qui combine plusieurs méthodes d'authentification pour certifier que l'utilisateur est légitime.

Prenez l'habitude d'activer la double authentification sur tous les sites où vous le pouvez, cela ne pourra que vous aider à protéger vos comptes et données personnelles.

Déballage et présentation de la YubiKey 5 NFC

La Yubikey 5 NFC a été livrée en quelques jours seulement, dans une enveloppe cartonnée au logo de la marque. La clé USB est emballée dans une petite pochette scellée. J'ai également commandé la version YubiKey 5C NFC, avec un port USB type C, pour en faire une clé de secours et pour les quelques périphériques qui en disposent.

Comme écrit sur le carton, vous êtes invités à vous rendre sur la page de démarrage de Yubico.

Get started with YubiKey 5 Series
Learn how you can set up your YubiKey 5 Series security key. Get started using your YubiKey 5 to protect your favorite services today!

Vous trouverez sur cette page une vidéo de présentation et les liens vers les procédures d'activation et configuration pour un grand nombre de sites Internet, de Facebook à Github en passant par Google ou Coinbase.

La Yubikey 5 NFC est petite, ne mesurant que 45mm, et est très légère avec seulement 3 grammes. De couleur noire, elle dispose d'un orifice pour la glisser sur un porte-clés. La partie qui se remarque est le rond doré au centre, avec le “Y” de YubiKey, un bouton sensitif qui vous permettra de vous authentifier en le touchant. Comme indiqué plus haut, il s'agit de la version NFC, ce qui vous permettra de l'utiliser avec un smartphone disposant de cette technologie. La clé est vendue par Yubico comme étant résistante à l'eau et aux chocs et pourra donc vous accompagner dans tous vos déplacements sans crainte de l'abîmer.


Configurer la double authentification pour Bitwarden

Parmi les services que nous allons sécuriser se trouve Bitwarden, notre gestionnaire de mots de passe auto-hébergé (avec l'image Vaultwarden). Aujourd'hui, vous utilisez votre adresse e-mail et votre mot de passe maître pour vous identifier, et nous allons voir ensemble comment configurer la double authentification de 2 manières, en activant un code TOTP, ainsi que notre clé YubiKey 5 NFC.

Pour le code TOTP, rien de très compliqué, si ce n'est qu'il vous faut avoir une application gérant ces codes, comme Bitwarden lui-même, Yubico Authenticator, Microsoft Authenticator, Google Authenticator, ... .

Connectez-vous sur l'interface web de Bitwarden, rendez-vous dans les "Paramètres" puis dans "Identification en deux étapes". Cliquez sur le bouton "Gérer" sur la ligne "Application d'authentification" et confirmez que vous souhaitez configurer cette option en saisissant votre mot de passe maître. Un QR code ainsi qu'un identifiant vous sont donnés, utilisez l'un ou l'autre pour ajouter une nouvelle entrée Bitwarden dans votre application de gestion des codes TOTP, et recopiez le code de confirmation pour valider la configuration.

Une fois cela fait, vous pouvez vous déconnecter de Bitwarden et vous identifier à nouveau. Une fois votre adresse e-mail et votre mot de passe maître saisis, il vous sera demandé le code de vérification à 6 chiffres généré par votre application d'authentification.

Passons maintenant à la configuration de la clé USB de sécurité YubiKey 5 NFC. 2 étapes sont nécessaires en prérequis, enregistrer sa YubiKey pour obtenir des identifiants API sur les serveurs de Yubico, ainsi qu'ajouter 2 variables d'environnement à Vaultwarden.

Rendez-vous sur le site d'enregistrement de Yubico, renseignez votre adresse e-mail et pour le champ "YubiKey OTP", insérez votre clé dans un port USB de votre ordinateur, cliquez dans le champ en question et appuyez sur le bouton "Y" sur la YubiKey, ce qui générera une clé aléatoire permettant de l'identifier. Vous obtiendrez 2 informations : un "Client ID" et une "Secret key".

Ce sont ces 2 éléments que nous allons ajouter à notre fichier docker-compose.yml, qui ressemblera donc maintenant à ça :

version: "3.8"

services:
  vaultwarden:
    image: vaultwarden/server
    container_name: vaultwarden
    volumes:
      - /docker/vaultwarden/data:/data # Repertoire contenant les donnees de Bitwarden_RS / Vaultwarden
    labels:
      - com.centurylinklabs.watchtower.enable=true # Permet a Watchtower de mettre à jour le conteneur automatiquement
    ports:
      - 20080:80 # Port pour acces a l'interface web
      - 23012:3012 # Port pour le trafic WebSocket
    environment:
      - YUBICO_CLIENT_ID=12345
      - YUBICO_SECRET_KEY=ABCDEABCDEABCDEABCDE=
    restart: unless-stopped # Indique que le conteneur doit toujours etre redemarre automatiquement sauf s'il est stoppe volontairement

Toujours dans l'interface web de Bitwarden, dans les "Paramètres" puis dans "Identification en deux étapes", cliquez cette fois sur le bouton "Gérer" sur la ligne "Clé de sécurité YubiKey OTP" et confirmez que vous souhaitez configurer cette option en saisissant votre mot de passe maître. Vous aurez 5 champs de saisie, pour intégrer jusqu'à 5 clés de sécurité. Il vous faudra cliquer sur le premier champ vide, insérer la YubiKey et appuyer sur le bouton de cette dernière, ce qui générera une clé aléatoire. Si vos identifiants ajoutés dans le fichier docker-compose sont corrects, vous devriez apercevoir un message de confirmation que la clé a bien été configurée.

Vous pouvez vous déconnecter et vous identifier, en saisissant d'abord vos adresse e-mail et mot de passe maître, puis quand cela vous sera demandé, insérez votre YubiKey et appuyez sur son bouton.


Synology

Parmi les services importants à sécuriser, il y a bien entendu l'accès à vos données personnelles, et donc à votre NAS Synology. Synology supporte nativement les mécanismes de double authentification et notamment les clés de sécurité physiques de norme FIDO2 et U2F, comme les YubiKey.

Pour activer la double authentification avec la YubiKey 5 NFC, voici les étapes à suivre :

  • S'identifier sur votre Synology depuis son adresse externe avec votre compte.
  • Cliquez sur le bonhomme en haut à droite pour afficher les réglages de votre compte, et cliquez sur "Perso.".
  • Descendez en bas de la page de l'onglet "Compte" et cliquez sur "Authentification à 2 facteurs". Saisissez votre mot de passe pour confirmer que c'est bien ce que vous souhaitez faire.
  • Descendez également en bas de la page, choisissez l'onglet "Clé de sécurité matérielle" et cliquez sur "Ajouter".
  • Sélectionnez "Clé USB" et insérez la YubiKey 5 NFC dans un port USB de votre ordinateur.
  • La clé étant reconnue utilisant le protocole FIDO2, son code PIN vous est demandé. Saisissez-le et cliquez sur Suivant.
  • Touchez la zone tactile de votre clé de sécurité pour l'identifier et autorisez le Synology à voir la marque et modèle de la clé.
  • Donnez-lui un nom et cliquez sur "Suivant", puis confirmez que vous complétez cette opération.

Cette opération peut être répétée pour enregistrer une clé de secours si vous le souhaitez.
La liste des clés de sécurité matérielle configurées sera affichée.


Quelques questions que vous pouvez vous poser

  • Peut-on retrouver la liste des service sur lesquels on a activé l'authentification forte avec une YubiKey ?

Non, la clé YubiKey n'enregistre aucune information, et il n'y a pas de communication avec les serveurs YubiKey lors de l'enregistrement de votre YubiKey sur un site / service. Vous pouvez maintenir une liste de votre côté pour les retrouver plus facilement.

  • Que se passe-t-il en cas de perte / vol de la clé ?

Si vous perdez ou vous faites voler votre YubiKey, il faudra vous connecter sur chaque service ou application pour dissocier la YubiKey perdue de votre compte. Soit vous aviez configuré une seconde YubiKey si le service ou l'application le permet, soit vous utilisez la méthode de récupération, avec un mécanisme d'authentification alternatif (comme le TOTP si vous l'aviez configuré) afin de récupérer l'accès à votre compte.

  • La YubiKey peut-elle être hackée ?

Oui, rien n'est infaillible ! Yubico a d'ailleurs déjà fait face 2 fois à des failles sur ses clés physiques. La dernière en date concernait les clés Yubikey FIPS dotées du firmware en versions 4.4.2 ou 4.4.4, et même si l'exploitation de la faille était assez complexe, Yubico a tout simplement procédé à l'échange gratuit des modèles concernés auprès de ses utilisateurs.


Conclusion

Afin d'améliorer la sécurité de vos comptes sur les différents sites ou services que vous utilisez, je vous recommande vivement d'activer la double authentification dès que c'est possible. Nous avons vu dans cet article que la clé de sécurité physique Yubico YubiKey 5 NFC permet de répondre à ce besoin.

Vous trouverez ci-dessous les liens vers les pages expliquant comment configurer l'authentification avec une clé de sécurité sur les services suivants si vous y avez un compte :

Pour aller plus loin, je vous recommande de lire la nouvelle version du guide de l'ANSSI des Recommandations relatives à l’authentification multifacteur et aux mots de passe.

Publication : Recommandations relatives à l’authentification multifacteur et aux mots de passe
L’authentification des différents utilisateurs d’un système d’information (allant des simples utilisateurs aux administrateurs) joue un rôle important dans la gestion de la sécurité d’un système d’information. L’objectif de ce guide est de proposer des recommandations de sécurité relatives à l’authe…

Je vous invite à laisser des commentaires ou venir échanger avec nous sur notre groupe Telegram, pour parler de la YubiKey, d'autres produits que nous pourrions être amenées à tester, ou tout simplement pour discuter !