clave PGP en la tarjeta inteligente: ¿por qué necesito una "clave secreta" en el disco?

6

Tengo un YubiKey NEO en el que tengo el applet OpenPGP y tengo una llave PGP instalada. Trabajo en 3 computadoras diferentes e inicialicé la tarjeta en la computadora bob . Ahora estoy en la computadora rob . Alguien me envió un archivo encriptado, así que puse mi YubiKey NEO y corrí gpg --decrypt .

Obtuve el siguiente resultado:

gpg: encrypted with RSA key, ID DEADBEEF
gpg: decryption failed: secret key not available

Bien, entonces tal vez necesito instalar mi clave pública PGP aquí. Hice eso, y luego obtuve:

gpg: decryption failed: secret key not available

Luego, hice SSH en bob desde rob y ejecuté gpg --list-secret-keys y he aquí:

sec>  2048R/DEADDEAD 2015-02-31
      Card serial no. = 0000 12345678
uid                  Naftuli Tzvi Kay <[email protected]>
ssb>  2048R/BEEFBEEF 2015-02-31
ssb>  2048R/DEADBEEF 2015-02-31

¿Qué diablos? Copié esta "clave" de bob a rob y ahora las cosas funcionan, y todavía tengo que ingresar mi PIN para mi clave PGP.

Cuando creé la clave, nunca la importé al disco , por lo que solo debería existir en la tarjeta . ¿Por qué existe una clave secreta en el disco (!) Si se supone que la clave secreta no está en ninguna otra parte que no sea la tarjeta inteligente?

    
pregunta Naftuli Kay 31.03.2015 - 22:29
fuente

1 respuesta

4

Esto no es en realidad la clave secreta, sino una especie de código auxiliar que hace referencia al de su tarjeta. Este talón contiene prácticamente todos los "metadatos" de su clave privada (incluida la clave pública que le pertenece), pero la clave privada real solo se almacena en su tarjeta (y nunca la deja).

Esto es importante, ya que la tarjeta solo almacena la clave real (y realiza operaciones criptográficas básicas con esos), pero no otra información meta como la fecha de creación, marcas de uso, ID de usuario, etc.

(Al volver a leer las especificaciones, me di cuenta de que esto estaba mal. Las tarjetas almacenan la huella digital de la llave y el tiempo de creación.)

Este talón de clave ayuda a GnuPG a administrar las claves y le permite buscar una tarjeta / pedir la tarjeta si es necesario. Como la huella dactilar de la clave pública se almacena en la tarjeta, la clave privada "stub" se puede regenerar fácilmente si la clave pública está disponible. GnuPG facilita esta tarea ejecutando el comando fetch en el menú --card-edit , que consulta la clave pública en la red del servidor de claves.

    
respondido por el Jens Erat 31.03.2015 - 23:41
fuente

Lea otras preguntas en las etiquetas