Tarjeta inteligente + GnuPG: ¿qué se almacena en mi llavero / cómo adoptar la tarjeta inteligente?

11

Hace poco compré un Yubikey Neo que puede actuar como una tarjeta inteligente OpenPGP. Me gustaría usar esto para almacenar mi clave privada de GnuPG. He completado la configuración inicial y puedo usar la tarjeta inteligente para firmar y cifrar archivos. Después de la configuración, la clave de la tarjeta inteligente aparece en la salida gpg --list-secret-keys .

Si perdí el llavero de GPG (por ejemplo, si mi disco duro murió) o quiero usarlo en varias máquinas, ¿cómo puedo hacer que GPG use la tarjeta inteligente?

    
pregunta Askford 07.11.2013 - 16:12
fuente

5 respuestas

12

Debes ejecutar:

gpg --card-status

y gpg lo harán por ti:

/tmp$ mkdir gpgtmp
/tmp$ chmod go-rwx gpgtmp

/tmp$ GNUPGHOME=/tmp/gpgtmp gpg --keyserver pgp.mit.edu --recv F8713BDF 
gpg: sleutelring ‘/tmp/gpgtmp/secring.gpg’ is aangemaakt
gpg: sleutelring ‘/tmp/gpgtmp/pubring.gpg’ is aangemaakt
gpg: opvragen sleutel F8713BDF van hkp sleutelserver pgp.mit.edu
WARNING: gnome-keyring:: couldn't connect to: /run/user/robin/keyring-55e9Rg/pkcs11: No such file or directory
gpg: /tmp/gpgtmp/trustdb.gpg: trustdb created
gpg: sleutel F8713BDF: publieke sleutel “Robin Sheat <[email protected]>” geimporteerd
gpg: no ultimately trusted keys found
gpg: Totaal aantal verwerkt: 1
gpg:               Geimporteerd: 1  (RSA: 1)

/tmp$ GNUPGHOME=/tmp/gpgtmp gpg --list-secret
*nothing here*

/tmp$ GNUPGHOME=/tmp/gpgtmp gpg --card-status
*snip boring card info*
General key info..: pub  2048R/F8713BDF 2013-09-24 Robin Sheat <[email protected]>
sec>  2048R/F8713BDF  aangemaakt: 2013-09-24  vervaldatum: nooit     
*etc*

/tmp$ GNUPGHOME=/tmp/gpgtmp gpg --list-secret
/tmp/gpgtmp/secring.gpg
-----------------------
sec>  2048R/F8713BDF 2013-09-24
      Serienummer van de kaart = ....
uid                  Robin Sheat <[email protected]>
*etc*
    
respondido por el Robin Sheat 07.11.2013 - 23:45
fuente
5

Cuando comienzas con una instalación nueva, tienes dos opciones:

  1. Conecte la tarjeta inteligente (Yubikey) y ejecute

    gpg --card-edit
    fetch
    quit
    

    Luego, ejecuta gpg con la opción --card-status para crear los apéndices para las claves secretas:

    gpg --card-status
    
  2. Importe su clave pública desde un servidor de claves (el comando fetch anterior hace lo mismo automáticamente), luego

    gpg --card-status
    

Los métodos solo difieren en la forma en que se importa la clave pública, es decir, de forma automática o manual.

    
respondido por el Minas 03.06.2014 - 06:48
fuente
2

Cuando configura un par de claves en una tarjeta inteligente, todos los datos necesarios para las operaciones de cifrado, descifrado y firma se almacenan en la tarjeta. Por lo tanto, incluso después de la pérdida de su llavero, podrá realizar estas operaciones simplemente teniendo a mano su tarjeta inteligente.

Sin embargo, te recomiendo que no solo tomes mi palabra y practiques tu mismo. Reconfigure GPG para ver un directorio de conjunto de claves vacío e intente descifrar sus archivos importantes con la tarjeta inteligente. Es posible que primero deba importar los certificados de la tarjeta a su conjunto de claves, esos pasos dependen de qué administrador de claves esté utilizando.

    
respondido por el deed02392 07.11.2013 - 17:33
fuente
1

@Askford: ¿Supongo que después de 3 años logró resolver esto?

Para cualquier otra persona que tenga problemas similares, lo que funcionó para mí es:

gpg2 --import public_key.key

Esto me devolvió todas mis claves de una instalación nueva y solo el yubikey

Este comando me dio:

gpg2 --import key.asc 
gpg: key 0AAD23DD518496D1: public key "Lee Fenlan <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Entonces gpg2 -k me dio:

---------------------------------
pub   rsa4096 2016-08-09 [SC]
      7F5F963D411B8E2FC7BB33150AAD23DD518496D1
uid           [ unknown] Lee Fenlan <[email protected]>
sub   rsa4096 2016-08-09 [S]
sub   rsa4096 2016-08-09 [E]
sub   rsa4096 2016-08-09 [A]

Ahora, si intento cifrar / descifrar / firmar o ssh a cualquier cosa que requiera mis claves privadas, todo funciona como se espera.

    
respondido por el Lee Fenlan 07.10.2016 - 15:33
fuente
0

Según el sitio yubico , no puede obtener claves públicas ni privadas fuera del dispositivo, por lo que además de tener su Neo, deberá asegurarse de que su anillo de claves tenga las claves privadas correspondientes generadas durante la inicialización del dispositivo.

En otras palabras, solo tener el dispositivo no es suficiente.

    
respondido por el mricon 07.11.2013 - 20:51
fuente

Lea otras preguntas en las etiquetas