Scdaemon não detectará o Yubikey no Windows 10

2

Isso começou recentemente depois que eu atualizei para o Windows 10 1803 (x64). Eu atualizei o Gpg4Win para a versão mais recente (3.1.2), mas isso não corrigiu nada.

Eu tentei o seguinte:

  • Remova o Minidriver ( link )
  • Alterar o chuid ( link )
  • Desinstale todos os drivers relacionados ao Yubikey para que eles sejam reinstalados usando o Usbdeview da Nirsoft
  • Remova as entradas para o Yubyyy de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards
  • Desabilite e reative a interface CCID usando as ferramentas do Yubico
  • Reinicie o serviço de cartão inteligente
  • Mate e reinicie o scdaemon e o gpg-connect-agent
  • (obviamente) reiniciar

Nada disso resolveu isso, e estou praticamente sem idéias neste momento. Este é o único leitor de cartão inteligente na minha máquina (além de um TPM), e o Yubikey foi testado para trabalhar com o gpg no Linux.

O Yubikey está sendo exibido como Identity Device (NIST SP 800-73 [PIV])

Alguns registros:

O Gpg retorna:

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

O Certutil retorna:

$ 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.

O log do Scdaemon mostra que algo (eu acho) pode ser interessante, já que parece detectar o leitor:

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>
    
por vagaerg 26.07.2018 / 18:10

1 resposta

2

O problema parece ser a instalação O Office365 adiciona um leitor de cartão inteligente virtual para Windows Hello for Business , um mecanismo de autenticação baseado no Microsoft Passport.

Eu acho que (baseado nos logs) isso faz com que scdaemon falhe, pois ele pode encontrar dois leitores: este e o Yubikey; mas ele não tenta inicializar o último, falhando logo após tentar o Windows Hello for Business virtual reader. Os logs para certutil também mostram que os certificados não puderam ser recuperados para o leitor virtual do Windows Hello em minha máquina, portanto, isso pode fazer com que scdaemon falhe.

O problema foi resolvido definindo Yubico Yubikey 4 OTP+U2F+CCID 0 (o nome que obtive dos registros) nas configurações do Kleopatra, na guia Smartcard.

YMMV, mas o que eu recomendaria é o seguinte:

  • Defina o nível de Depuração como 4 e defina o caminho para o arquivo de log na guia smartcards no Kleopatra
  • Procure o nome do seu cartão inteligente Yubikey no arquivo de log: deve haver uma linha começando por detected reader , no meu caso, declarando detected reader 'Yubico Yubikey 4 OTP+U2F+CCID 0'
  • Copie esse nome para o campo Connect to reader at port N no Kleopatra
  • Agora você pode desativar o registro novamente para reduzir o lixo gerado.

Por favor, veja a imagem para referência:

    
por 26.07.2018 / 18:47