Mis claves privadas de OpenPGP están configuradas con subclaves. ¿Qué sucede si revoco una subclave y vuelvo a emitir una nueva?

7

He configurado mis claves OpenPGP con subclaves, siguiendo las instrucciones generales establecidas en " Creando el par de llaves GPG perfecto ". La idea general es que crea un "par de llaves maestras" que no está almacenado en su computadora portátil, sino en un dispositivo seguro con espacio de aire. En mi caso, es una llave USB encriptada. También tengo una versión de papel, y claves de revocación impresas para la llave maestra, en caso de que la versión digital se pierda o esté dañada. Mi computadora portátil solo tiene subclaves, no la clave de firma maestra. Como resultado, cuando ejecuta gpg -K (para mostrar claves secretas), obtiene:

/Users/myusername/.gnupg/secring.gpg
-------------------------------
sec#  4096R/0x123412341234FFFF 2014-04-18
uid                            My Name <[email protected]>
ssb   4096R/0x123412341234AAAA 2014-04-18
ssb   4096R/0x123412341234BBBB 2014-09-24
ssb   4096R/0x123412341234CCCC 2014-09-30

El sec# indica que la clave de firma maestra no está almacenada en la computadora. Si cargo mi clave USB cifrada y luego ejecuto gpg gpg --home=/path/to/secure/gpg/keys/.gnupg -K , se mostraría:

/path/to/secure/gpg/keys/.gnupg/secring.gpg
-------------------------------
sec  4096R/0x123412341234FFFF 2014-04-18
uid                            My Name <[email protected]>
ssb   4096R/0x123412341234AAAA 2014-04-18
ssb   4096R/0x123412341234BBBB 2014-09-24
ssb   4096R/0x123412341234CCCC 2014-09-30

Como ves, muestra sec , no sec# .

Bajo esta configuración, si su computadora portátil está comprometida, puede revocar las subclaves de manera segura sin perder ninguna conexión con la web de confianza, porque está conectado a la web de confianza a través de su clave de firma maestra .

Digamos que mi computadora portátil está comprometida, contra la cual este modelo supuestamente protege. La mejor práctica, creo, sería:

  1. Obtenga mi llave USB segura y cargue GnuPG desde el anillo de llaves seguro
  2. Usando el par de llaves maestro, revocaría mis subclaves [porque ahora están comprometidas]
  3. Ahora, emitiría nuevas subclaves para firmar y cifrar, y enviaría todos estos cambios a los servidores de claves públicos.

Mi pregunta es: ¿Es esto lo correcto? ¿Qué pasa exactamente aquí, cuando haces esto? Supongo que genera una nueva clave privada / par de claves públicas, e invalida la anterior. De esa manera, si un adversario tiene mis antiguas claves privadas, en teoría pueden acceder a las comunicaciones antiguas cifradas con mi antigua clave pública. Pero no pudieron firmar nada como yo, porque esa clave privada habrá sido revocada. Además, cuando alguien me busque a través de un servidor de claves, tanto la clave pública antigua como la nueva serán visibles, pero la clave pública antigua se mostrará como revocada y la nueva tendrá una fecha más nueva, por lo que un usuario de GnuPG está tratando de enviarme un mensaje cifrado o un archivo cifrado lo cifrará automáticamente en la clave pública nueva (no revocada). Y el adversario no podrá leer este mensaje.

¿Estoy en esto en absoluto? ¿Alguien puede aclarar?

    
pregunta Jason 29.09.2015 - 20:26
fuente

1 respuesta

2
  

Mi pregunta es: ¿Es esto lo correcto? ¿Qué pasa exactamente aquí, cuando haces esto? Supongo que genera una nueva clave privada / par de claves públicas, e invalida la anterior. De esa manera, si un adversario tiene mis antiguas claves privadas, en teoría pueden acceder a las comunicaciones antiguas cifradas con mi antigua clave pública. Pero no pudieron firmar nada como yo, porque esa clave privada habrá sido revocada. Además, cuando alguien me busque a través de un servidor de claves, tanto la clave pública antigua como la nueva serán visibles, pero la clave pública anterior se mostrará como revocada y la nueva tendrá una fecha más nueva, por lo que un usuario de GPG está intentando enviarme un mensaje cifrado o un archivo cifrado lo cifrará automáticamente en la nueva clave pública (no revocada). Y el adversario no podrá leer este mensaje.

Básicamente tienes todo bien; para eso se usan principalmente las subclaves (hay algunos otros casos de uso ordenados además del intercambio de subclaves sin perder reputación en la web de confianza).

Agregaría que podría haber una latencia determinada: la clave necesita algo de tiempo (generalmente minutos, menos de una hora) para extenderse por toda la red del servidor clave. Si la situación es crítica y sabe que alguien está escuchando su comunicación, considere la posibilidad de subir a diferentes servidores en el grupo de servidores SKS para acelerar la conciliación / difusión de la clave.

Además, es muy probable que sus socios de comunicación solo obtengan actualizaciones de su clave. Considere enviar una información sobre las subclaves modificadas debido a las antiguas comprometidas; y también explica por qué tu clave maestra aún está guardada.

    
respondido por el Jens Erat 29.09.2015 - 23:06
fuente

Lea otras preguntas en las etiquetas