Yubico Login for Windows : on a testé la connexion à Windows avec une Yubikey

Yubico Login for Windows : on a testé la connexion à Windows avec une Yubikey

Vive les comptes locaux !

Avatar de l'auteur
David Legrand

Publié dans

Logiciel

28/03/2019 8 minutes
35

Yubico Login for Windows : on a testé la connexion à Windows avec une Yubikey

Et si vous renforciez la sécurité de la connexion à votre machine en utilisant une clé de sécurité ? Les Yubikey sont déjà facilement exploitables sous macOS, mais l'implémentation prévue pour Windows était peu convaincante. Nous avons testé son renouvellement.

Le mot de passe montre de plus en plus ses limites comme dispositif de sécurité. Il faut dire qu'entre les données parfois stockées en clair, l'augmentation de la puissance de calcul pour les attaques par force brute et les internautes ayant un même code d'accès (peu inventif) pour différents services, il devient impossible d'assurer un bon niveau de protection.

Mais puisque le mot de passe est encore nécessaire, il faut trouver un moyen d'y parvenir sans trop complexifier la vie des utilisateurs. Avec l'arrivée des solutions d'authentification à plusieurs facteurs ou sans mot de passe, des technologies ont émergé. On pense bien entendu aux dispositifs biométriques, mais ils sont le plus souvent impossibles à renouveler (on ne change pas facilement de visage ou d'empreintes digitales) et posent question sur le terrain de la collecte de données.

Une autre approche consiste à exploiter un composant matériel avec un élément de sécurité, qui peut prendre plusieurs formes. L'une des plus pratiques pour un PC est la clé USB. Yubico est un constructeur très actif sur ce terrain avec ses Yubikey (dès 25 euros), qu'il rêve de voir utilisées par tous les services nécessitant une connexion.

Mais cela demande un travail de fond important, que ce soit autour de l'établissement de standards comme FIDO2/WebAuthn, les navigateurs et autres services en ligne, mais aussi l'implémentation dans des logiciels à très large audience comme les systèmes d'exploitation (mobiles ou non).

Après une première initiative mitigée sous Windows 10, la société revient avec une nouvelle implémentation, promettant une connexion plus sécurisée et une configuration simple. Qu'apporte-t-elle réellement ?

Yubico Login for Windows (YLW) : une préversion

Commençons par les bonnes nouvelles : les développeurs n'utilisent plus une application universelle limitée à Windows 10. YLW fonctionne aussi sur Windows 7 (SP1) et 8.1.

Autre point positif, il fonctionne sur des comptes locaux. Ce sont d'ailleurs les seuls gérés, une machine pouvant tout à fait continuer d'utiliser des comptes Entreprise ou protégés par Windows Hello. La Yubikey ne pourra pas être utilisé comme dispositif de sécurité complémentaire sur ces derniers.

Il est de toutes façons toujours possible d'utiliser Yubikey for Windows Hello, Yubico proposant également une implémentation spécifique pour les entreprises ayant recours à Azure/Active Directory. Pour rappel, une solution existe aussi pour macOS (reposant sur le support des smartcards).

Pour le moment, l'application proposée n'est qu'une préversion. Vous pouvez l'obtenir en remplissant ce formulaire, les liens et guides d'installation vous seront ensuite envoyés par email. Cela signifie que les choses peuvent encore largement évoluer d'ici la version finale, dont la date de publication n'a pas encore été donnée.

Une Yubikey « complète » est nécessaire, ce qui exclut les modèles « Security Key » ne gérant qu'U2F/FIDO2. Comptez donc 55 euros minimum

L'installation est simple... 

Le fichier récupéré pèse un peu plus de 5 Mo, il s'installe en quelques clics (les droits administrateurs sont nécessaires) et nécessite un redémarrage de la machine.

Dans la pratique, il prend le dessus sur l'écran de connexion natif de Windows (Credential Provider). On y voit une icône en forme de Yubikey, deux champs identifiant/mot de passe vides, puis un lien pour utiliser une clé de récupération en cas de problème (nous y reviendrons). 

Par défaut, ce formulaire reconnait les informations de vos comptes locaux, vous pouvez donc simplement vous y connecter. Dommage, le nom de l'utilisateur n'est pas prérempli. On aurait au moins apprécié qu'une liste soit affichée pour les machines multi-comptes. Un point qui peut évoluer.

Yubico Login fir WindowsYubico Login fir Windows

... la configuration un peu moins

Pour lier un compte à une Yubikey, il suffit de lancer l'application. Tout le défi pour les équipes de Yubico est ici : rendre cette procédure la plus simple et compréhensible possible pour l'utilisateur lambda. Pour le moment, il y a encore du travail sur ce point, le langage étant encore trop technique et verbeux. 

La seconde fenêtre est la plus importante : elle vous permettra de choisir l'emplacement à utiliser (chaque Yubikey en comporte deux) pour la clé privée. Il est recommandé d'utiliser le second, le premier pouvant servir pour un dispositif OTP classique pour d'autres applications (via le bouton).

Ici on trouve une mécanique Défi/Réponse et un code à usage unique (OTP), la clé privée pouvant être générée lors de la configuration, mais aussi réutilisée ou entrée manuellement (HMAC-SHA1, 40 caractères hexadécimaux).

Ces choix laissent différentes possibilités, comme se servir de deux emplacements pour des utilisateurs disctincts, la clé privée pouvant être utilisée par plusieurs comptes (ce qui est déconseillé par Yubico). Ils peuvent aussi reposer sur l'utilisation de clés différentes. 

Un code de récupération (48 caractères) peut être généré pour récupérer l'accès si votre clé venait à être perdue, oubliée ou cassée. Vous pouvez préférer opter pour l'utilisation d'une Yubikey de secours, il vous en faudra alors une seconde sous la main. Nous ne pouvons que vous conseiller d'utiliser l'une ou l'autre de ces méthodes.

Yubico Login for WindowsYubico Login for WindowsYubico Login for Windows

Une fois les choix effectués, une liste des comptes locaux de la machine est affichée (ceux avec une petit étoile sont déjà liés à une clé, vous devez alors choisir celui que vous voulez configurer. Il est possible d'en traiter plusieurs de suite, les mêmes réglages (emplacement, création de la clé privée, récupération) étant alors appliqués à chaque compte. 

Attention à ne pas utiliser le même emplacement d'une Yubikey pour plusieurs comptes en générant à chaque fois une nouvelle clé privée, qui écrasera la précédente. Dans ce cas, seul le dernier utilisateur configuré pourra se connecter. C'est ici que Yubico peut encore faire des efforts pour rendre ces choix et risques plus lisibles.

La programmation de la clé ne demande que quelques secondes, on regrette que les paramètres choisis ne soient pas à nouveau affichés dans la fenêtre précédant la procédure. Si vous avez demandé la création d'une Yubikey de secours, il faudra recommencer en l'insérant dans votre machine.

Le code de récupération pourra être exporté dans un fichier texte. Il n'est pas proposé de le chiffrer ou le protéger par un mot de passe par exemple. Dommage, même si vous pouvez toujours le faire à la main.

Yubico Login for WindowsYubico Login for WindowsYubico Login for Windows

Phase de connexion : comment ça marche ?

Une fois la procédure terminée, vous pouvez vous déconnecter (Windows+L) et entrer votre couple identifiant/mot de passe. Si la Yubikey est présente, cela fonctionne. Sinon, vous obtiendrez un message d'erreur. Une nuance est à noter : si le couple entré est le bon, vous serez invité à insérer votre clé et à recommencer, sinon « Invalid Credentials » sera affiché.

La simple présence de la clé est nécessaire, il n'y a pas d'action manuelle a effectuer. On apprécierait par contre de pouvoir activer un mode où son retrait verrouillerait la session par exemple. Petite astuce intéressante : vous pouvez utiliser la procédure même avec un mot de passe vide, la clé devenant alors le seul complément de votre identifiant.

L'utilisation d'YWL ne change rien à la gestion de votre compte Windows, vos partages réseau ou votre mot de passe. Vous pouvez modifier ce dernier dans Paramètres, sans que la Yubikey ne soit nécessaire. Elle est simplement utilisée lors de la phase de connexion locale, sans autre incidence. Retirer l'application revient à un fonctionnement normal.

Bien que perfectible sur la forme, l'ensemble est donc plutôt pratique sur le fond. On regrette que l'ensemble ne passe pas par un dispositif FIDO2, mais Yubico attend sans doute que Microsoft intègre ce standard en profondeur dans Windows 10, avec une mécanique native pour la phase de connexion. 

On apprécie en tous cas les efforts faits par la société pour proposer de telles solutions à ses clients. Il n'y a plus qu'à espérer que l'application évoluera dans le bon sens, et qu'elle sera rapidement finalisée.

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Yubico Login for Windows (YLW) : une préversion

L'installation est simple... 

... la configuration un peu moins

Phase de connexion : comment ça marche ?

Fermer

Commentaires (35)


Intéressant.

Un des pbs de ces clefs étant qu’on est en plein milieu de la transition vers l’USB-C . Et du coup, entre tel portable, ordi portable ave USB-C, et ordi fixe ou (perso) je suis encore sur de l’USB-A. Bah… ça rend le truc moins pratique…



Mais c’est cool que ça avance.

Et en effet, je +1 pouvoir configurer que ça logout si la clef est retiré. Ce serait une fonctionalité pas mal.


Il y a des modèles Type-C déjà (et de toutes façons des adaptateurs assez compacts peuvent être utilisés)


La solution qui me semble idéale en entreprise, ce serai :





  • Un détecteur de présence via bluetooth (ou autre) qui verrouille automatiquement la session si éloignement supérieur à une distance paramétrable.



  • Un capteur d’emprunte digitale qui ne fonctionne que si le dispositif de présence est présent.



    Comme ca, plus de soucis d’oubli de verrouillage de session, et une connexion rapide sans mot de passe pour éviter de multiplier les tentatives de connexion.




On aurait au moins apprécié qu’une liste soit affichée pour les machines multi-comptes. Un point qui peut évoluer



Afficher la liste des comptes locaux est une information de choix pour le pirate en devenir. <img data-src=" />

Pour une solution de sécurité, ne pas les afficher me semble logique.


Le premier point est déjà présent dans Windows 10, le second semble tout de même redondant non ? Enfin pas le fait d’utiliser l’empreinte digitale, mais de conditionner le fonctionnement du lecteur à la présence du smartphone. Si quelqu’un a su te piquer ton pouce, le smartphone ne devrait pas être trop un souci (par contre le jour où ce dernier a été oublié à la maison…).


C’est le fonctionnement classique de W10 que de les afficher (voir la capture). Et pour rappel, la protection au login empêche assez peu de choses si l’utilisateur a accès à la machine. Pour un attaquant, trouver la liste des comptes locaux (qui sont des répertoire sur le HDD) demande quelque secondes (à moins que le HDD soit chiffré et la machine éteinte). Si c’était une information vitale, on serait tous dans la mouise <img data-src=" />


En entreprise ce qui serait bien c’est que ca soit maqué avec un serveur AD et pas un PC.&nbsp;

La clé est associé à un utilisateur via biométrie

L’utilisateur à sa clé, il la branche, pose son doigt dessus, et ca log la session automatiquement.&nbsp;

Comme ça plus de mdp à saisir.&nbsp;



Idéalement, faudrait qu’il puisse changer de PC et que ca log quand même via du wifi par exemple pour aller taper l’AD.&nbsp;&nbsp;

&nbsp;


Ce qui est bien aussi, c’est de lire les actus avant de commenter <img data-src=" />&nbsp;#RTFN


mmmh j’ai pas tout suivi pour l’intégration via un AD, la doc parle de Azure; mais est-ce qu’on peut intégrer les yubikey à un AD local ?&nbsp;



j’avoue que ça m’intéresserait :)



&nbsp;


ben je l’ai lu mais j’ai rien vu de ce que je dis&nbsp;

ca s’intègre qu’avec AzurAD&nbsp;

Les clés sont dans le PC&nbsp;








typhoon006 a écrit :



ben je l’ai lu mais j’ai rien vu de ce que je dis&nbsp;

ca s’intègre qu’avec AzurAD&nbsp;





Ah je me disais pareil aussi :)



Le logout une fois la Yubikey retirée se fait sans soucis en tout cas…. du moins, sur Linux :P



&nbsp;/MyLife J’ai configuré plutôt le lockscreen (vérouillage) que le logout

(déconnexion) : ça reste plus pratique lorsque je veux aller faire mes besoins, ou partir déjeuner… et à la fois ça reste plus secure car j’ai toujours besoin de la Yubikey pour travailler.

&nbsp;

Autre usage que j’utilise dans le cas du débranchement de la Yubikey,&nbsp; en plus du lockscreen : désactiver la possibilité de changer de tty&nbsp; (Ctrl + Alt + F1 par exemple).

En effet il peut arriver d’avoir une session ouverte sur un autre TTY,&nbsp; qu’on a oublié… et donc on se croit à l’abris, avec la déconnexion ou le vérouillage sur l’interface graphique (KDE / Gnome / Autre), sauf que non !



La Yubikey donne vraiment des usages intéressants en matière de sécurité, qui va au-delà de l’authentification pure et simple d’une session.

&nbsp;

D’ailleurs, si vous avez d’autres cas d’usage de ce type, je suis preneur… <img data-src=" />








eglyn a écrit :



j’avoue que ça m’intéresserait :)





Possible via Smartcard non ? Sinon tu as des services comme AuthLite / OneIdentity qui le proposent.



Bonjour,



Quand est il des soft type “ nt pass. recov. ” et autres ?

&nbsp;

Sinon en bootant en mode sans échecs ou sur un live cd/DVD/USB Tux, y’a pas moyen de virer tous les trucs installer par ce youbico ( dossier d’installe / dlls / BDR (le plus chiant a faire) ?.



A part cela je trouve cela très intéressant pour le monde pro mais pour le particulier quid ? .

&nbsp;


J’ai testé pour le smartphone, le soucis c’est que la distance n’est pas paramétrable, et du coup vraiment trop grande.



Le top ce serai le même système qu’avec les voitures récentes : verrouillage quand la clé s’éloigne, et déverrouillage autorisé quand proche.


J’ai une Fido2 (exclue comme dit par David Legrand)

&nbsp;J’ai également une Yubikey 4, NEO et 5 toutes en USB A



Par contre l’application Hello me demande à chaque fois mon code que je connais par cœur et ça se solde par un échec !…



J’espère que la nouvelle implémentation va régler le problème que je rencontre.



&nbsp;Puis que les systèmes “FIDO2 / WebAuthn, FIDO U2F, PIV (smart card), OpenPGP, Yubico OTP, OATH-TOTP, OATH-HOTP” décollent enfin histoire que le couple id/mdp id/mdp/sms deviennent de l’histoire ancienne


Ou que tu travailles en mobilité et que tu es en rad de batterie… plus d’ouverture session sur le PC.


Tout aussi intéressante soit l’idée de pouvoir me connecter à mon PC en utilisant une clé de sécurité, le prix d’une Yubikey est un frein. 25 euros minimum pour une Yubikey classique, 55 minimum pour une Yubikey complète… La sécurité a un prix… aussi élevé ?








maninthebox a écrit :



D’ailleurs, si vous avez d’autres cas d’usage de ce type, je suis preneur… <img data-src=" />







Authentification VPN via un serveur radius :)



Certains dépensent plus que ça dans une souris. Après, c’est comme les NAS, on trouve ça cher jusqu’au moment où on perd ses données <img data-src=" /> (au passage une Yubikey ne sert pas qu’à ça, après c’est à chacun de voir midi à sa porte, il existe d’autres moyens, biométriques par exemple) :



https://www.inpact-hardware.com/article/861/105307-pqi-my-lockey-lecteur-dempreintes-digitales-windows-hello-a-moins-35-euros


J’avoue que j’ai toujours du mal à voir en quoi l’utilisation d’une clé renforce la sécurité. Après, je pense que j’ai du louper un truc…

Et justement, utiliser un objet physique, plutôt qu’un mot de passe, ça ne permet pas à n’importe qui de se connecter ? Il suffit de voler la clé, ou de l’oublier sur le bureau en se cherchant un café…



Sans compter la gêne en cas de perte ou d’oubli (est-ce que c’est considéré comme une faute professionnelle de ne rien pouvoir faire la journée parce qu’on a oublié/perdu sa clé ?).








Sandox a écrit :



J’avoue que j’ai toujours du mal à voir en quoi l’utilisation d’une clé renforce la sécurité. Après, je pense que j’ai du louper un truc…

Et justement, utiliser un objet physique, plutôt qu’un mot de passe, ça ne permet pas à n’importe qui de se connecter ? Il suffit de voler la clé, ou de l’oublier sur le bureau en se cherchant un café…



Sans compter la gêne en cas de perte ou d’oubli (est-ce que c’est considéré comme une faute professionnelle de ne rien pouvoir faire la journée parce qu’on a oublié/perdu sa clé ?).





L’idéal, en termes de sécurité, est de coupler ce que tu sais et ce que tu possèdes.

Et c’est le défaut de la sécurité: ça coute du temps / de l’argent, que ce soit directement ou de manière indirecte comme tu le demandes. En cas de perte/oubli, tu peux te connecter grâce à un service informatique réactif. Sinon effectivement, tu l’as dans l’os.



Est-ce que cette clé empêche le bypass de réinitialisation de mdp local par “ultiman” ou autre outil du genre ?


Oh ça peut être intéressant ça ! Genre branchement de la yubikey démarre la session VPN et te permet donc de t’authentifier via un challenge distant ? # paranoid :)



Pour info j’ai oublié d’autres cas d’usages que j’ai déjà implémenté (toujours sur Nunux) :




  • appel de la Yubikey en cas d’usage de comptes à privilèges (dans mon cas, appel sudo) -&gt; nécessite d’appuyer sur le bouton. De ce fait, aucun process malveillant peut appeler sudo sans mon autorisation.

  • ajout de la Yubikey en 2FA pour déchiffrer le disque (utilisation de LUKS dans mon cas). Sans laYubikey, impossible de déchiffrer le disque et donc de démarrer l’OS.



    Voilà je pense que c’est tout :)

    &nbsp;

    &nbsp;




La complexification de la sécurité informatique ne compensera jamais le manque d’éducation technologique.



Ces systèmes sont tellement contraignant au quotidien et tellement risqué en cas de pépin qu’il faut quand même se demander si le jeu en vaut la chandelle…


Comment tu fais si la clé crame ou que tu la perds .?&nbsp;



  1. Windows peut le faire ennatif



    1. Faisable avec scripts et tâches planifiées avec des commandes wmi



Pour l’AD local il faut créer un nouveau modèle de certificat sur le contrôle et enrôler les utilisateurs, tu utilisera la partie carte à puce de la yubikey, cela fonctionnera alors comme n’importe quelle carte à puce, l’utilisation en Windows hello est limitée AzureAD pour le moment, en 1809, si ton tenant aà une option active.



Source : Formation Yubico chez Infinigate du mois dernier.








Derived a écrit :



La solution qui me semble idéale en entreprise, ce serai :





  • Un détecteur de présence via bluetooth (ou autre) qui verrouille automatiquement la session si éloignement supérieur à une distance paramétrable.



  • Un capteur d’emprunte digitale qui ne fonctionne que si le dispositif de présence est présent.



    Comme ca, plus de soucis d’oubli de verrouillage de session, et une connexion rapide sans mot de passe pour éviter de multiplier les tentatives de connexion.



    Gratuite l’emprunte, ou avec intérêts?



Ah bah, pour ce genre de techno, vaut mieux en commander deux et les configurer par paire. ;)








maninthebox a écrit :



Oh ça peut être intéressant ça ! Genre branchement de la yubikey démarre la session VPN et te permet donc de t’authentifier via un challenge distant ? # paranoid :)



Pour info j’ai oublié d’autres cas d’usages que j’ai déjà implémenté (toujours sur Nunux) :




  • appel de la Yubikey en cas d’usage de comptes à privilèges (dans mon cas, appel sudo) -&gt; nécessite d’appuyer sur le bouton. De ce fait, aucun process malveillant peut appeler sudo sans mon autorisation.

  • ajout de la Yubikey en 2FA pour déchiffrer le disque (utilisation de LUKS dans mon cas). Sans laYubikey, impossible de déchiffrer le disque et donc de démarrer l’OS.



    Voilà je pense que c’est tout :)







    Sur le site de Yubico, y a tout ce qu’il faut pour le bind avec radius. Tu peux faire du 2FA ldap + yubikey par exemple. Perso je suis fan des Yubikey, les petits trucs sympa à savoir aussi, c’est qu’il y a 2 slots, appui court et appui long. Tu peux activer le mode smartcard aussi (compatible pkcs11, donc avec tout). Les stockage de clé GPG… Bref, c’est petit mais puissant.



Ca marche, merci pour lex explications !

&nbsp;Yep j’ai vu qu’il y avait 2 slots, j’ai du écrire sur le second il me semble pour pouvoir faire ce que je voulais sur Nunux. Mais je savais pas que ça se traduisait par une différence d’appuie sur le bouton ? Je ne fais que des appuis courts perso. Après,&nbsp; je suis encore mal renseigné, je manque de temps pour tout voir.


Sous Linux il faut se débrouiller ; ce n’est ni bien compliqué, ni intuitif…



En U2F, on obtient un login fonctionnel avec la FIDO U2F Security Key à 25 €, en moins d’une poignée de commandes.








maninthebox a écrit :





  • appel de la Yubikey en cas d’usage de comptes à privilèges (dans mon cas, appel sudo) -&gt; nécessite d’appuyer sur le bouton. De ce fait, aucun process malveillant peut appeler sudo sans mon autorisation.





    Tu aurais un petit howto ? je suis très intéressé – si le sudo est sans mdp, et que le push sur la clé ne fait que dire “je suis bien connectée, et l’ordre est légitime” ;-)



Oui, si tu veux juste pour le sudo, sans utiliser la Yubikey pour le login, tu as ce lien qui devrait faire l’affaire :https://support.yubico.com/support/solutions/articles/15000011356-ubuntu-linux-l…

&nbsp;

Pour ton cas, faut look les paragraphes \(1, \)2, \(3, et \)4.1 et ça devrait le faire. Ca revient à toucher à la conf PAM du sudo uniquement, après avoir générer les clés U2F.



Clés U2F :

&nbsp;apt-get install pamu2fcfg libpam-u2f

mkdir -p ~/.config/Yubico

pamu2fcfg &gt; ~/.config/Yubico/u2f_keys

appuyer sur le bouton de la Yubikey

optionnel, ajout d’une autre Yubikey : pamu2fcfg -n &gt;&gt; ~/.config/Yubico/u2f_keys



conf sudo :

vim /etc/pam.d/sudo



Rajouter en dessous de “@include common-auth:” la ligne :

auth required pam_u2f.so

Tu peux remplacer “required” par “sufficient” pour n’avoir besoin que de la Yubikey.



Pour avoir un login via yubikey intégral + pour sudo, il ne faut pas apporté de modif dans la conf PAM

“sudo” (ça risque de dysfonctionner), mais seulement dans la conf PAM

“common-auth”. De ce fait il y aura l’authent via Yubikey et ça s’étendra aussi pour le sudo.

&nbsp;Exemple de conf :




  • auth sufficient pam_u2f.so cue



    Pour info “cue” sert à afficher un message lorsque une action sur la Yubikey est nécessaire/demandée.



    Dernier détail…&nbsp; l’authent intégrale via la Yubikey nécessite de ne pas avoir un HOME chiffré, puisque le mécanisme nécessite de lire le fichier “~/.config/Yubico/u2f_keys”. De ce fait, en cas de HOME chiffré, ça ne fonctionnera qu’une fois la session déjà dévérouillé une fois, c’est à dire que ça ne fonctionnera pas à l’ authentification lors du prochain démarrage du PC.



    Amuse-toi bien ! <img data-src=" />







    &nbsp;