Yubikey – III – Protéger sa session Windows

Dans les chapitres précédents, j’ai présenté d’une façon générale la Yubikey, puis un exemple de mise en œuvre avec un serveur Web, WordPress pour l’exemple. La vérification de l’authentification se fait sur les serveurs de la société commercialisant la Yubikey, Yubico.

Dans ce chapitre, nous allons voir une autre utilisation de la Yubikey. Protéger son ouverture de session Windows. Cela va nécessiter d’utiliser l’outil de personnalisation/programmation de la Yubikey.

Sans Yubikey, pas d’ouverture de session possible. Il est bien évident qu’il n’est pas question que la vérification de la validité de la clef se fasse sur les serveurs de Yubico. Nous allons utiliser un autre mode de la Yubikey, l’authentification par HMAC-SHA1.

Si on souhaite uniquement faire des tests, sur une machine de test ou une machine virtuelle, on peut très bien n’avoir qu’une seule clef. Par contre, si on souhaite utiliser au quotidien une Yubikey pour protéger l’accès à son ordinateur, il faut avoir deux clefs. Une clef principale et un double. On verra plus loin comment faire un double. C’est comme une voiture, il faut avoir un double si on perd la clef que l’on utilise au quotidien.

Dans les exemples ci-dessous j’utiliserai la version 7 de Windows. Je n’ai pas fait les tests avec la 8. Pour Windows 10, voir à la fin de l’article les particularités.

Programmer sa clef

Installer l’outil de Yubico

On commence par télécharger l’outil de personnalisation fournit par Yubico.  Au moment de la rédaction de cet article, la version disponible est la 3.1.23.
On procède à son installation :

Yubikey-pt1A l’étape suivant on clique sur ‘Next’

Yubikey-pt2On laisse le répertoire par défaut, ‘Next’ :

Yubikey-pt3Ensuite on précise la position de l’outil dans le menu démarrer. Je laisse la valeur par défaut. Ensuite cliquer sur ‘Install’.Yubikey-pt4Une fenêtre de confirmation nous informe que l’outil est installé. On clique sur ‘Finish’.

Yubikey-pt5L’outil est maintenant disponible :

Yubikey-pt6Programmer sa clef pour HMAC-SHA1

La Yubikey non connectée à l’ordinateur, on lance l’outil de personnalisation.

Yubikey-pt7On connecte ensuite la Yubikey. Si c’est la première fois, Windows va installer un driver automatiquement, la clef est vue comme un clavier. C’est ce qui est indiqué ci-dessous :

Yubikey-pt8L’outil de personnalisation devrait ensuite détecter la clef et afficher des informations sur ses capacités :

Yubikey-pt9L’objet de cet article n’est pas de détailler ce outil, ce sera l’occasion d’un autre. Pour notre besoin, nous allons configurer le slot2 de la Yubikey pour fonctionner en mode challenge/réponse HMAC/SHA1.

Si vous avez lu le chapitre I, vous savez que la Yubikey dispose de deux slots pouvant être configurés de façon indépendante. J’ai fait le choix de laisser le slot1 dans sa configuration par défaut. Le slot 2 sera utilisé pour l’identification Windows.

En outre, en mode challenge/réponse, le dialogue avec la clef est automatique et ne nécessite pas d’intervention de l’utilisateur. C’est à dire qu’il ne sera pas nécessaire de poser son doigt sur la pastille dorée, l »identification est automatique.

Pour configurer cela, on clique sur le lien ‘Challenge-Response Mode’ de l’outil ou sur la même mention dans le menu du haut.

Yubikey-pt10Le mode qui nous intéresse pour Windows, est HMAC-SHA1, on appuie sur le bouton correspondant.

Yubikey-pt11On spécifie que l’on va utiliser le second slot, puis on génère une chaîne aléatoire secrète en cliquant sur le bouton ‘Generate’.

Yubikey-pt12A noter, dans l’option qui est entourée en bleu, qu’il est possible de modifier le comportement par défaut de la Yubikey en mode challenge-réponse qui est ne de pas demander à l’utilisateur d’intervenir. En cochant cette case, pour que le mode challenge-réponse fonctionne il faudra une action de l’utilisateur. Je déconseille cette utilisation que je trouve contraignante, d’autant qu’il faut se synchroniser avec le moment où le système attend une réponse. Pas pratique pour ce usage d’authentification Windows.

Une autre option, la ‘Configuration Protection’ est utilisée dans le cadre professionnel pour éviter que les utilisateurs ne puissent modifier eux-même leur clef. On abordera peut-être cet aspect à l’occasion d’un article.

Après avoir cliqué sur le bouton ‘Generate’, une chaîne hexadécimale de 20 octets est affichée. Pour moi cela a donné :

Yubikey-pt13Cette clef secrète est l‘unique moyen de faire un double de sa Yubikey en cas de perte. Elle est à conserver précieusement, imprimée sur un papier, dans une enveloppe scellée, dans un coffre ignifugé… On verra que l’outil de Yubico permet de la conserver dans un fichier. Vous pouvez par exemple le chiffrer, mais ne le mettez pas sur le même ordinateur qui est verrouillé par la Yubikey que vous avez évidemment perdue et que vous ne pouvez donc du coup pas accéder à ce fameux fichier et que vous n’aviez pas de double de votre clef et que c’est une mauvaise journée.

L’étape finale consiste à écrire cette configuration dans le slot2 de la Yubikey, on clique donc sur ‘Write Configuration’.

Yubikey-pt14L’écriture réalisée, l’outil propose de sauvegarder les informations dans le fichier dont je viens de parler juste ci-dessus.

Yubikey-pt15Dans cet exemple, j’ai décidé de nommer ce fichier, au est au format CSV, ‘sauvegarde-Yubikey-2652235, où 2652235 est le numéro de série gravé sur la Yubikey et rappelé dans la colonne de droite de l’outil de personnalisation.

En résultat, une confirmation du bon déroulé de la configuration :

Yubikey-pt16et un fichier de sauvegarde de la configuration :

Yubikey-pt17Si vous êtes curieux, vous pouvez ouvrir le fichier, vous y trouverez quelques information, dont la clef secrète.
La Yubikey est configurée, en quitte l’outil en cliquant sur ‘Exit’ dans le menu du haut :

Yubikey-pt18Préparation de Windows

Pour installer l’authentification par la Yubikey, il faut se procurer l’utilitaire yubico-windows-auth.exe sur le site de Yubico. Ce fichier a deux dépendances :

  • Le client dot net 4
  • La bibliothèque Yubikey-Client-Api Installer en 32 ou 64 bits selon sa version de Windows.

Si ces deux fichiers ne sont pas installés, l’utilitaire les téléchargera pour vous lors de l’installation. Pour ma part, je les ai sous forme de fichiers séparés, ce qui permet de gagner beaucoup de temps de téléchargement quand on a plusieurs postes à installer.

Ci dessous les liens de téléchargement à toute fin utile :

Je passe l’installation du framework .net

En ce qui concerne l’API cliente, soit on l’installe en tant que fichier indépendant, soit c’est l’outil d’authentification qui la télécharge et lance l’installation. Cette dernière débute ainsi :

Yubikey-pt19Cliquer sur ‘Next’.

Yubikey-pt20Je laisse le répertoire par défaut. S’il y a plusieurs sessions avec des Yubikey, cocher ‘Everyone’, sinon laisser le choix sur ‘Just me’. Cliquer sur ‘Next’.

Yubikey-pt21Cliquer sur ‘Next’ pour lancer l’installation, éventuellement confirmer à la sécurité de Windows :

Yubikey-pt22L’installation terminée, cliquer sur ‘Close’ :

Yubikey-pt23Si on a pas lancé l’installation via l’utilitaire Yubico-windows-auth, le lancer maintenant. Dans mon cas, .net est déjà installé, ainsi que l’API Yubico. Il ne reste qu’à installer la partie authentification, sinon les différentes briques manquantes sont cochées :

Yubikey-pt24Cliquer sur ‘Install’ et confirmer l’installation :

Yubikey-pt25A la fin de l’installation une fenêtre de confirmation s’affiche, cliquer sur OK :

Yubikey-pt26Activation de la protection

Cliquer sur le bouton démarrer et aller dans la liste des programmes chercher « Yubikey Logon Administration »

Yubikey-pt27Une fenêtre nous informe que l’authentification par Yubikey n’est pas active, et si nous souhaitons l’activer. Cliquer sur ‘Oui’ :

Yubikey-pt28Un message nous informe qu’il faudra redémarrer l’ordinateur, cliquer sur ‘Ok’ :

Yubikey-pt29La fenêtre de paramétrage de l’authentification par Yubikey s’affiche :

Yubikey-pt30La zone du haut nous indique que l’authentification par Yubikey est active. Ce ne sera vrai qu’après redémarrage de l’ordinateur.

On déroule la liste sous ‘Select user to configure’ afin d’indiquer quel compte nous allons configurer.

Yubikey-pt31Mon utilisateur se nomme Fabrice.
S’assurer maintenant que la Yubikey est bien connectée, et cliquer sur le bouton ‘Configure’.
Vous devriez alors avoir la fenêtre suivante, indiquant que la Yubikey a bien été détectée, que le dialogue HMAC-SHA1 a correctement fonctionné. On confirme une nouvelle fois que l’on souhaite bien authentifier l’utilisateur choisit par Yubikey, en cliquant sur ‘Oui’

Yubikey-pt32Un dernier test peut être fait pour s’assurer que la Yubikey et l’ordinateur dialoguent bien, en cliquant sur le bouton ‘Test’. On obtient deux informations :

Yubikey-pt33

  • Que le test s’est bien déroulé (Fenêtre Test OK)
  • Que le dialogue entre la Yubikey et Windows a pris 0,365 secondes.

On clique sur OK, et on ferme la fenêtre de Yubikey Logon Adminsitration en cliquant sur la croix rouge dans le coin supérieur droit.

On redémarre l’ordinateur.

Sur l’écran d’ouverture de session, on prend connaissance de la mention ‘Yubikey Logon enabled for User’ :

Yubikey-pt34Si on déconnecte sa Yubikey, que l’on entre uniquement son mot de passe d’ouverture de session, on a l’erreur suivante :Yubikey-pt35 Si on reconnecte sa Yubikey, la session s’ouvre !

Désormais il est impossible de se connecter à sa session sans sa Yubikey.

Pour que la protection soit efficace, il faut aussi un peu de bon sens de l’utilisateur. Je recommande donc :

  • De mettre sa Yubikey sur son porte-clefs, pour ne pas la laisser en permanence branchée à l’ordinateur. Sinon, elle ne sert à rien. On s’authentifie, puis on retire sa Yubikey tout de suite et on range ses clefs.
  • Quand on s’absente, de fermer sa session windows. Le plus rapide est de faire : ‘touche Windows’ + ‘L’. C’est instantané.

Désinstallation de la protection

Cliquer sur le bouton démarrer et aller dans la liste des programmes chercher « Yubikey Logon Administration »

Yubikey-pt27Cliquer sur le bouton ‘Disable’

Yubikey-pt36Une fenêtre confirme la désactivation, et qu’elle ne sera effective qu’après redémarrage. Cliquer sur ‘OK’.

Yubikey-pt37On redémarre l’ordinateur, les sessions Windows ne sont plus protégées par Yubikey.

Comment savoir si un compte est protégé par une Yubikey

Cliquer sur le bouton démarrer et aller dans la liste des programmes chercher « Yubikey Logon Administration ».

On déroule la liste sous ‘Select user to configure’ pour choisir le compte pour lequel on souhaite l’information. Commençons par le compte ‘Fabrice’ :

Yubikey-pt38A côté du nom du compte, la case à cocher ‘enabled’ est cochée. Ce compte est protégé par une Yubikey.

Yubikey-pt39Prenons maintenant un autre compte, Eric :

Yubikey-pt40La case n’est pas cochée, le compte n’est pas protégé par Yubikey.

Protéger plusieurs appareils avec la même clef

Il est possible de protéger un nombre non limité d’appareils avec la même Yubikey. Il suffit à chaque fois d’enregistrer la même clef dans le Yubikey Logon Administration, pour l’utilisateur souhaité.

Windows 10

Globalement, pour Windows 10, le fonctionnement est à peu près le même.

Activation du framework .net 3.5

Il y a un pré-requis notable, c’est qu’il faut activer .net 3.5. C’est la bibliothèque cliente de Yubico qui en a besoin. (Yubikey-Client-API-Installer_xXX)

Si on dispose du DVD ou de l’image ISO, le mettre dans le lecteur.

Faire la combinaison de touche ‘Windows’ + ‘X’ (Nouveauté Windows 10) pour ouvrir le menu administrateur, et demander à ouvrir une console administrateur :

Yubikey-pt41Exécuter ensuite la commande suivante :

Dism /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess

En remplaçant la lettre D dans /sources:D: par la lettre désignant le lecteur de DVD.
Le framework .Net 3.5 s’installe.

Yubikey-pt42Le framework .net 4.0 n’est pas a installer car il est déjà intégré à Windows 10.

Installation des produits

Après avoir activé le framework .net 3.5, l’installation est identique à ce qui est expliqué ci-dessus pour Windows 7.

L’activation de l’authentification se fait aussi de la même façon.

Écran de connexion de Windows 10

Quand l’authentification par Yubikey est activée, on voit apparaître dans Windows une icône supplémentaire en bas à gauche, qui représente une clef.

Yubikey-pt43PNGSi on s’authentifie tel quel, sans que la Yubikey soit connecté, il n’y a pas réellement de message d’erreur clair affiché, mais l’écran suivant :

Yubikey-pt44Par contre il n’est pas possible d’ouvrir la session, il faut que la Yubikey soit connectée.

Si on clique sur l’icône avec la clef dans le coin inférieur gauche, l’écran d’ouverture de session change et devient celui-ci :

Yubikey-pt45On se retrouve alors avec le même contexte que Windows 7.

Posts relatifs
  1. Bonjour.
    Est ce qu’avec la yubikey si je protège mon PC je peux aussi l’utiliser pour protéger une app comme celle de Dashlane(le gestionnaire de mot de passe) et qui peut même protéger son app sur le tel ? ou que la clé sera seulement utilisable pas windows ?

    • Bonjour,
      Si tu protèges l’accès à ta session Windows, tu vas utiliser le mode challenge/réponse de la Yubikey. Toutes les applications qui utilisent le même mode de fonctionnement pourront aussi être utilisées avec la même Yubikey. En ce qui concerne Dashlane, il utilise le mode U2F comme facteur d’authentification double. Il faudrait donc que tu programme par exemple le slot1 de ta Yubikey en mode U2F, et le slot 2 en mode chalenge/réponse. Dans cette hypothèse ça fonctionne. Attention par contre, toutes les Yubikey ne fonctionnent pas en mode U2F. Il faudra prendre à minima une Yubikey 4.

      • Merci pour la réponse. Je pense que je vais prendre la clé à 60€ sur Amazon la Néo je crois, car l’app Dashlane Android peut utiliser le nfc de la clé pour l’utiliser et donc protéger l’app pc et android en même temps.

        En gros je veux prendre la clé qui peut tout faire et ne pas être limité

  2. Rebonjour.

    J’ai tout fait comme dans le tuto et j’ai pas eu d’erreur, ça reconnais bien la clé, ça fait le test de connexion… Par contre ça fonctionne pas^^.

    Je peux me connecter sans la clé!

    J’ai pas réussi à installé le .net 3.5. Quand je clique sur le fichier dotNetFx35setup.exe d’install rien ne se passe et sur l’écran d’accueil je n’ai pas les icônes comme toi(je suis sous Windows 10).

    Help^^

  3. Bon je ne pas ce que j’ai fait mais après encore un autre redémarrage, ça fonctionne.

    Par contre le logiciel avait pas l’air d’avoir envie que j’utilise le slot 1 a moins que j’ai mal fait un truck^^

  4. Dernière chose:
    si je veux tout réinstallé: genre remettre la conf de la clé par défaut c’est pas genre le pc reste avec l’ancienne conf et m’empêche de me connecter ?

    • Bonjour,
      Pour le slot, on peut les utiliser indifféremment, que ce soit le 1 ou le 2. Je ne sais pas où tu as eu un soucis. Ensuite, avant de modifier la conf de la clef, il faut supprimer la protection de Windows avec la Yubikey. Cela se fait avec l’outil Yubico Logon Administration. Soit tu désactives complètement (Yubikey Logon disabled), soit tu désactives pour le compte protégé. Comme c’est un utilitaire qui se lance au démarrage de Windows, il faut redémarrer pour qu’il tienne compte de ta modification si tu supprimes totalement l’authentification Yubikey. Une fois que tu t’es assuré de ne plus avoir besoin de ta clé pour ouvrir ta session, tu peux la reprogrammer l’esprit tranquille.

  5. Ok, car comme au début j’ai eu des problèmes, j’ai un doute sur la clé sauvegardé même si normalement ya pas de raison que ça soit pas la bonne, c’était pour me rassurer que je voulais tout refaire^^.

    Pour l’histoire des slots, j’ai peut être mal comprit, mais il me semble que ça me demandais de peut être utiliser le slot deux ou un truck du genre et quand je l’ai fait plus d’erreurs.

    Il me reste plus qu’a conf Dashlane, comment on peut savoir le slot déja utilisé ?

Laisser un commentaire


NOTE - Vous pouvez utiliser les éléments et attributs HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">