¿Cuál de mis claves públicas GPG debería publicar? ¿Principal, subclaves, todas?

¿Cuál de mis claves públicas GPG debería publicar? ¿Principal, subclaves, todas?

pregunta original

He estado aprendiendo sobre GPG y el uso de subclaves. Siento que he desarrollado una buena comprensión de los beneficios de usar subclaves y mantener la clave principal fuera de línea, pero falta información sobre cuál de estas claves debería publicarse. Mis preguntas:

¿Qué claves debería publicar?
¿Debería publicar mi clave principal, mis subclaves o todas? ¿Cuáles son los pros y los contras de cada uno?

¿Qué claves deberían firmar mis amigos?
Si mi amigo me agrega a su conjunto de claves, ¿agrega mi clave principal, mis subclaves o todas mis claves? Si configuro una nueva subclave, ¿cómo puede validar que esté asociada con mi clave principal?

¿Cómo se "asocian" exactamente las subclaves con la clave principal?
Hay muchos artículos que dicen que están asociados, pero ninguno dice cómo. ¿Contienen algunas propiedades matemáticas compartidas?

Deseando entender esto, agradecería mucho cualquier aclaración que se pueda ofrecer.

Actualizar

Después de investigar un poco más, encontré este interesante artículo sobre elAnatomía de una clave GPG. A juzgar por la información contenida en este artículo, parecería que las subclaves están literalmente contenidas dentro de la clave maestra, al menos cuando se mira la clave pública. Lo que no había entendido originalmente era que una clave PGP contiene mucha metainformación, más que solo el valor numérico real de la clave.

¿Estoy en lo cierto al entender que sólo tengouno¿Llave pública?
Parece que solo tengo una clave pública, que sería la que publico y la que firman mis amigos. ¿Esto es lo que asocia mis subclaves y les dice a todos que mis subclaves son realmente mías?

Si copio mis subclaves a otro dispositivo, ¿tomo también la clave pública completa?
¿O las subclaves tienen sus propias claves subpúblicas?

Respuesta1

Empezando por este:

¿Tengo razón al entender que solo tengo una clave pública?

Parece que solo tengo una clave pública, que sería la que publico y la que firman mis amigos. ¿Esto es lo que asocia mis subclaves y les dice a todos que mis subclaves son realmente mías?

Si y no. Depende de cuál de losmúltiples definiciones de 'clave pública'quieres usar.

Tienes un publicobloque de teclas, cualla mayoría de la gentellamar "clave pública PGP" en el sentido general. (También podría denominarse "certificado"). Como ha visto en el artículo vinculado, este bloque de claves públicas consta de varios paquetes:

your "primary" public key parameters (the cryptographic values for RSA/DSA/etc)
├─ metadata for that public key (creation/expiry time, etc)
├─ a list of userids (name+email labels)
│  └─ each userid followed by a list of signatures (certifications)
└─ a list of "subkey" public key parameters (RSA numbers, etc)
   └─ each subkey followed by a list of self-signatures (self-certifications)

Sin embargo, no es lo mismo que "una clave pública" en el sentido criptográfico, porque tieneconjuntos múltiplesde RSA/DSA/etc.parámetros públicosdentro de eso.

¿Cómo se "asocian" exactamente las subclaves con la clave principal?

Hay muchos artículos que dicen que están asociados, pero ninguno dice cómo. ¿Contienen algunas propiedades matemáticas compartidas?

Se almacenan junto con una firma (autocertificación) realizada por la clave primaria. Matemáticamente, sin embargo, son completamente independientes y podrían generarse para diferentes algoritmos.

¿Qué claves debería publicar?

¿Debería publicar mi clave principal, mis subclaves o todas? ¿Cuáles son los pros y los contras de cada uno?

Todos ellos, como una única unidad (keyblock).

Cada clave individual es necesaria para su propia tarea: la clave principal debe ser pública, ya que es necesaria para verificar las firmas (certificaciones) que usted realiza en las claves (ID de usuario) de otras personas y en sus propias subclaves e ID de usuario. La subclave de cifrado debe ser pública para que otros puedan cifrar un mensaje en ella. Etcétera.

¿Qué claves deberían firmar mis amigos?

En la interfaz de usuario, el proceso de firma comienza especificando su clave principal (por ID o huella digital). Entonces el software hace lo correcto.

Técnicamente, ninguna de las claves está firmada. Otras personas firman tuID de usuario,que son etiquetas de texto (nombre+correo electrónico) asociadas con la clave principal. El propósito de firmar la clave de otra persona es garantizar la vinculación entre la clave y el nombre+correo electrónico; Firmar solo la clave sería inútil.

Si mi amigo me agrega a su conjunto de claves, ¿agrega mi clave principal, mis subclaves o todas mis claves?

Tus amigos agregan el bloque de claves completo: clave principal, subclaves, identificadores de usuario.

Si configuro una nueva subclave, ¿cómo puede validar que esté asociada con mi clave principal?

Sus propias subclaves e ID de usuario están "autocertificados", es decir, su clave principal los firma automáticamente tan pronto como los crea. Por eso basta con distribuir la huella digital de su clave principal: actúa como raíz de verificación.

información relacionada