Scdaemon ne détectera pas Yubikey sous Windows 10

2

Cela a récemment commencé après la mise à jour de Windows 10 1803 (x64). J'ai mis à jour Gpg4Win à la dernière version (3.1.2), mais cela n'a rien corrigé.

J'ai essayé ce qui suit:

Rien de tout cela ne résout le problème et je suis à peu près à court d'idées pour le moment. C'est le seul lecteur de carte à puce sur ma machine (à part un TPM), et le Yubikey a été testé pour fonctionner avec gpg sur Linux.

Le Yubikey montre que Identity Device (NIST SP 800-73 [PIV])

Quelques logs:

Gpg retourne:

$ gpg --card-status
gpg: selecting openpgp failed: No such device
gpg: OpenPGP card not available: No such device

Certutil renvoie:

$ certutil -scinfo


=======================================================
Analyzing card in reader: Yubico Yubikey 4 OTP+U2F+CCID 0

--------------===========================--------------
================ Certificate 0 ================
--- Reader: Yubico Yubikey 4 OTP+U2F+CCID 0
---   Card: Identity Device (NIST SP 800-73 [PIV])
Provider = Microsoft Base Smart Card Crypto Provider
Key Container = (null) [Default Container]

Cannot open the AT_SIGNATURE key for reader: Yubico Yubikey 4 OTP+U2F+CCID 0
Cannot open the AT_KEYEXCHANGE key for reader: Yubico Yubikey 4 OTP+U2F+CCID 0

--------------===========================--------------
================ Certificate 0 ================
--- Reader: Yubico Yubikey 4 OTP+U2F+CCID 0
---   Card: Identity Device (NIST SP 800-73 [PIV])
Provider = Microsoft Smart Card Key Storage Provider
Key Container = (null) [Default Container]

Cannot open the  key for reader: Yubico Yubikey 4 OTP+U2F+CCID 0

--------------===========================--------------

Done.
CertUtil: -SCInfo command completed successfully.

Le journal de Scdaemon montre que quelque chose (je pense) pourrait être intéressant, car il semble détecter le lecteur:

2018-07-26 18:13:36 scdaemon[13612] detected reader 'Windows Hello for Business 9'
2018-07-26 18:13:36 scdaemon[13612] detected reader 'Yubico Yubikey 4 OTP+U2F+CCID 0'
2018-07-26 18:13:36 scdaemon[13612] reader slot 0: not connected
2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_open_reader => slot=0 [pc/sc]
2018-07-26 18:13:36 scdaemon[13612] DBG: enter: apdu_connect: slot=0
2018-07-26 18:13:36 scdaemon[13612] pcsc_control failed: insufficient buffer (0x80100008)
2018-07-26 18:13:36 scdaemon[13612] pcsc_vendor_specific_init: GET_FEATURE_REQUEST failed: 65538
2018-07-26 18:13:36 scdaemon[13612] reader slot 0: active protocol: T1
2018-07-26 18:13:36 scdaemon[13612] slot 0: ATR=3B 8D 01 80 FB A0 00 00 03 97 42 54 46 59 04 01 CF
2018-07-26 18:13:36 scdaemon[13612] DBG: pcsc_get_status_change:  changed present excl inuse
2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_connect => sw=0x0
2018-07-26 18:13:36 scdaemon[13612] DBG: send apdu: c=00 i=A4 p1=00 p2=0C lc=2 le=-1 em=0
2018-07-26 18:13:36 scdaemon[13612] DBG:   PCSC_data: 00 A4 00 0C 02 3F 00
2018-07-26 18:13:36 scdaemon[13612] DBG:  response: sw=6A82  datalen=0
2018-07-26 18:13:36 scdaemon[13612] DBG: send apdu: c=00 i=A4 p1=04 p2=00 lc=6 le=-1 em=0
2018-07-26 18:13:36 scdaemon[13612] DBG:   PCSC_data: 00 A4 04 00 06 D2 76 00 01 24 01
2018-07-26 18:13:36 scdaemon[13612] DBG:  response: sw=6A82  datalen=0
2018-07-26 18:13:36 scdaemon[13612] can't select application 'openpgp': Not supported
2018-07-26 18:13:36 scdaemon[13612] DBG: enter: apdu_close_reader: slot=0
2018-07-26 18:13:36 scdaemon[13612] DBG: enter: apdu_disconnect: slot=0
2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_disconnect => sw=0x0
2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_close_reader => 0x0 (close_reader)
2018-07-26 18:13:36 scdaemon[13612] DBG: chan_0x00000188 -> ERR 100696144 No such device <SCD>
vagaerg
la source

Réponses:

2

Le problème semble être qu'Office 365 ajoute un lecteur de carte à puce virtuel pour Windows Hello for Business, un mécanisme d'authentification basé sur Microsoft Passport.

Je pense (sur la base des journaux) cela cause scdaemon de tomber en panne, car il peut trouver deux lecteurs: celui-ci et le Yubikey; mais il ne parvient pas à essayer d’initialiser ce dernier, échouant juste après avoir essayé la Windows Hello for Business lecteur virtuel. Les journaux de certutil indiquent également que les certificats n'ont pas pu être récupérés pour le lecteur virtuel Windows Hello sur ma machine. C'est peut-être pour cette raison scdaemon s'écraser.

Le problème a été résolu en définissant Yubico Yubikey 4 OTP+U2F+CCID 0 (le nom que j’ai tiré des journaux) dans les paramètres Kleopatra, sous l’onglet Carte à puce.

YMMV, mais ce que je recommanderais est la suivante:

  • Définissez le niveau de débogage sur 4 et définissez le chemin du fichier journal sur le smartcards onglet à Kleopatra
  • Recherchez le nom de votre carte à puce Yubikey dans le fichier journal: il devrait y avoir une ligne commençant par detected reader, dans mon cas, déclarant detected reader 'Yubico Yubikey 4 OTP+U2F+CCID 0'
  • Copiez ce nom dans le Connect to reader at port N champ sur Kleopatra
  • Vous pouvez maintenant désactiver la journalisation à nouveau pour réduire les déchets générés.

S'il vous plaît voir l'image pour référence:

Screenshot

vagaerg
la source