Ayúdame a entender la relación entre las claves públicas, subclaves y fechas de vencimiento de GPG

8

Siguiendo mejores prácticas ahora estoy en el punto en el que no tengo vencimiento clave secreta almacenada en una ubicación de guardado y un conjunto de subclaves con una fecha de caducidad almacenada junto con la clave pública en mi máquina local. Sin embargo, lo que quiero hacer es establecer una fecha de caducidad en la clave pública, mientras se mantiene la clave secreta que no caduca. ¿Cómo puedo hacer esto?

También me interesaría la relación exacta entre las subclaves y la clave pública. Al observar algunas de las claves proporcionadas por el servidor de claves, noté que también incluirán (la parte pública) de las subclaves. Esto debería ser necesario para validar los mensajes que firmé utilizando una subclave y también para cifrar los datos en caso de que se encuentre una subclave de cifrado para el destinatario. Lo que no entiendo en este momento es lo que sucede en caso de que mi subclave haya caducado, pero la clave pública todavía está presente y es válida. ¿Gpg volverá a usar la clave pública para cifrar y validar datos? ¿Todavía tiene sentido usar una fecha de caducidad para la clave pública en caso de que todas las subclaves tengan una fecha de caducidad establecida?

Tampoco estoy muy seguro de la función exacta de la clave pública en caso de que existan subclaves. Supongo que solo se usa para validar las subclaves antes de que se utilicen para cifrar / validar realmente, ¿es correcto?

    
pregunta Stefan Podkowinski 29.10.2015 - 16:36
fuente

1 respuesta

6

La clave principal

La clave principal de OpenPGP guarda tu confianza. Si su clave se certifica, esas certificaciones se emitirán en tuplas de clave principal e ID de usuario. Las certificaciones salientes (en otras claves) también son emitidas exclusivamente por su clave principal. Las ID de usuario y las subclaves están todas acopladas a una clave principal. En general, su clave principal es la entidad que une todo.

Las capacidades de su clave principal dependen del algoritmo elegido y de las capacidades realmente habilitadas (puede cambiar esto al ejecutar GnuPG en el modo --expert ). Todas las claves primarias deben tienen la capacidad de certificación C , pero pueden tener la capacidad de firma S (que siempre debe ser compatible, ya que las certificaciones también son firmas) y finalmente el cifrado capacidad E (que no es compatible con todos los algoritmos que se ajustan a una clave principal, por ejemplo, DSA solo se puede usar para certificaciones / firmas, no para cifrado).

Subclaves

  

Lo que no entiendo en este momento es lo que sucede en caso de que mi subclave haya caducado, pero la clave pública todavía está presente y es válida. ¿Gpg volverá a usar la clave pública para cifrar y validar datos?

La subclave elegida depende de la implementación, por lo general, elegirán la clave más reciente no revocada capaz de lo que desea realizar. Si agrega otra subclave, esta será elegida. Si elimina todas las subclaves, se utilizará la clave principal, dado que tiene establecidos los bits de capacidad necesarios. Si la clave principal no es compatible con la capacidad requerida, la clave no se puede utilizar en absoluto.

En GnuPG, puede imponer una subclave específica: especificando el ID de clave seguido de ! . Por ejemplo, si desea imponer el uso de la subclave DEADBEEFDEADBEEF como destinatario, use la opción --recipient DEADBEEFDEAEDBEEF! .

Las subclaves pueden ser revocadas y regeneradas arbitrariamente sin perder reputación en la web de confianza.

  

Tampoco estoy muy seguro de la función exacta de la clave pública en caso de que existan subclaves. Supongo que solo se usa para validar las subclaves antes de que se utilicen para cifrar / validar realmente, ¿es correcto?

Esto no es necesario, pero se considera la mejor práctica. Muchas personas incluso mantienen la clave principal (secreta) fuera de línea.

Fechas de caducidad

  

¿Todavía tiene sentido usar una fecha de caducidad para la clave pública en caso de que todas las subclaves tengan una fecha de caducidad establecida?

Las fechas de caducidad son razonables para usar en subclaves, ya que requieren que la parte remitente actualice su clave después de un tiempo determinado. Sin embargo, se pueden cambiar arbitrariamente. Esta es también la razón por la que las fechas de caducidad de las claves primarias no son una cosa razonable de usar; Si el atacante obtiene su clave principal, simplemente puede cambiarla o incluso eliminarla por completo, ¡incluso si su clave ya está vencida! Consulte " ¿La fecha de caducidad de la clave OpenPGP se agrega a la seguridad? " para obtener información más detallada discusión.

En su lugar, tenga a mano un certificado de revocación (y en su copia de seguridad).

  

Sin embargo, lo que quiero hacer es establecer también una fecha de caducidad en la clave pública, mientras que la clave secreta no caduque. ¿Cómo puedo hacer esto?

Creo que estás confundiendo público y principal aquí. La fecha de vencimiento siempre se establece en una firma pública de "configuración" especial en su clave pública principal, pero se emite con su clave secreta primaria (para que pueda verificarse a través de la clave primaria pública). Si realmente desea especificar una fecha de caducidad en su clave principal, aún puede cambiarla en cualquier momento, ya que la fecha de caducidad anterior simplemente se sobrescribe.

Pero como se mencionó anteriormente, una fecha de caducidad en las claves primarias proporciona seguridad falsa, de todos modos.

    
respondido por el Jens Erat 29.10.2015 - 23:39
fuente

Lea otras preguntas en las etiquetas