Ceci est une ancienne révision du document !
La YubiKey est un dispositif d’authentification électronique fabriqué par Yubico qui supporte les mots de passe à usage unique, le chiffrement et l’authentification par clé publique et le protocole Universal Second Factor (U2F) développé par l’alliance FIDO (FIDO U2F).
YubiKey met en œuvre l’algorithme de mots de passe à usage unique basé sur HMAC (HOTP) et celui basé sur le temps (TOTP). Il se substitue à un clavier qui fournit un mot de passe à usage unique à travers le protocole USB HID. Les versions YubiKey NEO et YubiKey 4 incluent des protocoles tels que celui des cartes OpenPGP (utilisant le RSA 2048-bit) et la cryptographie à courbe elliptique (ECC) p256 et p384, la communication en champ proche (NFC) et le FIDO U2F. La quatrième génération de YubiKey lancée le 16 novembre 2015 supporte OpenPGP avec RSA 4096-bit et le support Public Key Cryptographic Standards (PKCS #11) pour les smart cards d’identification personnelle, fonctionnalité qui permet la signature d’images Docker.
Pour configurer une Yubikey il faut installer le logiciel de personnalisation. Une version est disponible pour les systèmes Linux, Mac OSX et Windows. Pour une première approche de la clef le logiciel de personnalisation suffira.
Installation pour Debian ou Ubuntu
sudo apt update
sudo apt install yubikey-personalization yubikey-personalization-gui
Le package du gestionnaire principal est yubikey-manager
fournit l'interface ykman
.
Installation pour Debian ou Ubuntu
sudo apt update
sudo apt install yubikey-manager
Pour Ubuntu, il existe un dépôt.
sudo add-apt-repository ppa:yubico/stable && sudo apt update
La YubiKey prend en charge jusqu’à 3 modes de connexion / transport USB différents (selon le modèle) :
Mode U2F, ce sous-système ne prend en charge que le protocole U2F. Il est entièrement configuré lorsque vous achetez une YubiKey. Il ne nécessite ni ne prend en charge aucune configuration. Il ne peut être activé / désactivé qu’en réglant le mode.
Mode OTP, ce sous-système est responsable des mots de passe OTP, Challenge-Response et Static. Si le mode de transport OTP est activé, les deux slots YubiKey, appui long et appui court, peuvent être configurés et utilisés. Ces emplacements peuvent avoir l’une des informations d’identification suivantes configurées : un Yubico OTP (qui est pré-configuré dans le raccourci sous une nouvelle clé), un mot de passe statique, un justificatif de réponse à la demande, un identifiant OATH-HOTP.
Mode CCID, il s’agit du sous-système permettant à la clé d’agir comme une carte à puce (utilisant le protocole CCID).
Un mode définit :
Ces modes peuvent être activés / désactivés indépendamment les uns des autres.
Un seul mode de connexion est utilisé à un moment donné pour communiquer avec la YubiKey. Lorsque la YubiKey est branché le mode de connexion est choisi en fonction de l'ordre de préférence.
ykman mode
indiquera quels modes sont actuellement activés ou disponibles. Cela pourrait produire quelque chose comme
Current connection mode is: OTP+FIDO+CCID
Supported USB interfaces are: OTP, FIDO, CCID
Ce qui signifie qu’actuellement le sous-système OTP, U2F et CCID de la clé est activé.
ykman mode <MODE>
permet de définir quels modes doivent être activés ou désactivés :
Pour rendre toutes les fonctionnalités disponibles : ykman mode c+u+o
ou ykman mode 6
.
Aucune configuration à effectuer, c’est le mode qui sera le plus utilisé par les sites importants du réseau comme Google. Il existe une clef plus simple qui gère uniquement ce mode et son évolution le FIDO2.
Firefox – au moment de l’écriture de ce texte – gère mal le U2F. Il faudra vérifier dans about: config
que les paramètres suivants soient à true
:
La clef Yubikey 5 dispose de 2 slots
, ils sont utilisables avec un appui court et appui long sur la clef.
Mot de passe à usage unique Yubico OTP Mode
C’est le mode par défaut à utiliser sur le slot 1
. Il est normalement déjà configuré, dans ce cas la clef partagée est déjà sur les serveurs de Yubico, mais il est possible de reprendre cette configuration.
Une vidéo est disponible sur cette page du support.
Sur l’écran principal du logiciel de personnalisation il faut choisir sur « Yubico OTP Mode » pour commencer, puis dans cette fenêtre sur le logiciel sur le bouton « Quick ».
Tout ce dont nous avons besoin pour configurer OTP est affiché et toutes les valeurs sont générées aléatoirement, et pré-remplies par le logiciel. Il faudra choisir la fente de mémoire que nous voulons utiliser, qui pour cet exemple – je recommande ce choix – sera « Configuration Slot 1 », puis il faudra valider en cliquant sur « Write Configuration » et sur « oui » si une fenêtre indique que le slot est déjà configuré, sauf si la clef est déjà utilisée sur des services en ligne (dans ce cas choisir le slot 2).
Le logiciel écrira ensuite les valeurs générées dans le premier emplacement de mémoire de notre Yubikey.
Une fois la configuration de l’authentification de la Yubikey faite pour One Time Password, nous devrons fournir les informations d’identification uniques aux serveurs Yubico. Afin que le système de mot de passe à usage unique fonctionne les services qui utiliseront OTP pour vous authentifier devront être en mesure de vérifier que la chaîne à une heure valide d’attribuée ; cela se fera en envoyant une demande aux serveurs de Yubico. Nous devons donc fournir nos données à Yubico afin qu’ils puissent vérifier les chaînes OTP. Pour cela nous cliquerons sur le bouton « Upload to Yubico ».
Challenge-Response
Cette technique peut être utilisée pour s’authentifier.
Un défi est envoyé à la clef, une réponse est calculée puis renvoyée. Ce calcul nécessite un secret (par exemple, une clé AES dans le cas du mode Yubico OTP). Le même défi entraîne toujours la même réponse. Sans le secret, ce calcul n’est pas censé être réalisable. Même si dans la possession de nombreuses paires défi-réponse.
C’est un mode à utiliser sur le slot 2
. Ce mode est utilisé via les appels d’API à la clef. Ce mode s’utilise généralement via un outil pour communiquer le défi à la clef et récupérer la réponse.
Il existe deux modes Challenge-Réponse:
Un avantage du mode HMAC-SHA1 est qu’il nécessite pas de connexion réseau à un serveur de validation externe. Pour configurer le slot 2
en mode Challenge-Response
, vous pouvez exécuter :
ykpersonalize -v -2 -ochal-resp -ochal-hmac -ohmac-lt64 -oserial-api-visible -ochal-btn-trig
Les arguments ci-dessus signifient :
La configuration peut aussi se faire par l’interface graphique. Une vidéo est disponible sur cette page du support. L’utilisation de Require user input (button press)
est recommandée.
Pour utiliser un slot Challenge-Response
(quel que soit le mode) :
ykchalresp -2 <DÉFI>
Pour programmer une ou plusieurs Yubikeys afin de répondre aux défis HMAC-SHA1, insérez une clef dans un port USB de votre ordinateur, puis lancez l'outil de personnalisation, Une fois le logiciel ouvert vous cliquerez sur l'onglet Settings
:
Ensuite vous choisirez l'onglet Challenge-Response
, puis HMAC-SHA1
, et :
Ensuite dans le groupe Configuration Protection
, vous effectuerez l'une des opérations suivantes ; soit pour verrouiller la configuration, de sorte que vous devrez taper un code d'accès pour apporter des modifications à la configuration, dans ce vous procéderez comme suit :
localisation de la YubiKey(s) unprotected – Keep it that way
afin de YubiKey(s) unprotected – Enable
Protection.
; le champ New Access Code
situé sous le menu devient actif,
et dans le champ New Access Code
, vous taperez un code d'accès numérique à 12 chiffres ou vous sélectionnerez Use Serial Number
(Enregistrez ce code d'accès dans un endroit sûr, car vous ne pourrez pas mettre à jour la configuration de la clé sans elle).
Si vous ne voulez pas utiliser de code d'accès, gardez la sélection par défaut YubiKey(s) unprotected – Keep it that
way
.
Enfin dans le groupe HMAC-SHA1 Parameter
, vous sélectionnerez les options suivantes :
IMPORTANT : Si vous configurez vos Yubikeys pour l'application YubiKey Windows Login, assurez-vous de ne pas sélectionner
Require user input.
CONSEIL : Lorsque votre configuration YubiKey sera réussie, un message s'affichera.
Pour programmer une autre Yubikey avec la même clé secrète :
Le processus générera un fichier d'activité au format CSV, celui contiendra la clef privé ; il faudra le converser dans un espace protégé.
Un guide officiel se trouve ici : How to Configure Identical Credentials in Challenge-Response.
Logiciels pour Debian ou Ubuntu
sudo apt update
sudo apt install pcscd scdaemon pcsc-tools
La conception matérielle et le microprogramme sont tous deux propriétaires, cette clef n’est ni open source, ni open hardware, mais un un produit commercial d’une société américaine.
Néanmoins, cela reste un formidable outil pour augmenter sa sécurité, j'en possède plusieurs.