GPG: Separando las subclaves públicas, ¿por qué no puedo hacerlo?

5

Entiendo los beneficios de usar subclaves. También sé que, en el caso de las claves privadas , es posible separar las subclaves de la clave maestra, ya que hay ocasiones en que un usuario puede preferir no almacenar la clave maestra privada con las subclaves privadas . (Usando gpg, --export-secret-subkeys ) Además, cuando hace --export una clave pública, parece que no importa si usa la huella digital de la clave maestra o la de una de las subclaves.

Por lo que puedo decir, no es posible separar subclaves públicas . Permítanme ser claro: no puedo pensar en ninguna razón importante por la que uno quisiera hacerlo. El único razonamiento en el que puedo pensar es minimalista: es posible que solo desee importar las subclaves públicas porque eso es todo lo que pretende utilizar. Pero estoy tratando de averiguar si hay una razón más fundamental.

  • ¿Se debe a que los detalles de la identificación del usuario se adjuntan a la clave maestra, y la desconexión de las subclaves permitiría que las claves no identificadas floten alrededor? (No estoy convencido de esto: cuando importas subclaves privadas separadas, la clave maestra ausente sigue obteniendo una referencia [sec # etc.], incluso cuando está ausente. Así que seguramente se podría hacer lo mismo con las claves públicas). / li>
  • ¿Es solo porque no hay una buena razón para hacerlo?

Sin embargo, si hay alguna razón por la cual las subclaves públicas no se pueden separar de la clave maestra pública, eso sugeriría que no entiendo correctamente las subclaves.

    
pregunta SauceCode 19.03.2015 - 18:27
fuente

1 respuesta

4

Separando subclaves en la teoría ...

Las subclaves separadas no se corresponden bien con el modelo OpenPGP de claves primarias, subclaves, ID de usuario, certificaciones y confianza.

Tanto las subclaves como las ID de usuario están vinculadas a la clave principal, cada una individualmente. Las certificaciones se aplican a las tuplas de claves primarias e ID de usuario, confíe directamente en las claves primarias.

Es muy posible que pueda separar una subclave de su clave principal y usarla (como clave principal), si es necesario, manipular los bits de los paquetes de OpenPGP. Pero sin la conexión con la clave principal, de hecho es una clave completamente nueva sin certificaciones ni confianza (aunque el material clave, los números detrás de ella, permanecen igual).

... y práctica

Tenga en cuenta que al exportar subclaves que utilizan gpg --export-secret-subkeys , siempre se exporta un código auxiliar de clave principal, junto con las ID de usuario; debido a esto, GnuPG mostrará la "referencia de clave maestra ausente [...] [seg. # etc.]" como la llamó.

Puedes verificarlo fácilmente ejecutando

gpg --export-secret-subkeys [subkey-id]! | gpg --list-packets

por ejemplo (para la subclave 0xDEADBEEF )

gpg --export-secret-subkeys 0xDEADBEEF! | gpg --list-packets

Asegúrese de incluir un ! después del ID de subclave, de lo contrario, GnuPG resolverá la clave primaria asociada y, por lo tanto, exportará todas las subclaves disponibles.

Realmente rompiendo cosas aparte

Para realmente separar la subclave, puede usar gpgsplit , que disecciona un mensaje OpenPGP en sus subpaquetes reales. Trabajar con ellos requiere un conocimiento más profundo de las especificaciones de OpenPGP (RFC 4880) , pero se entretiene con los paquetes individuales (también con editores hexadecimales) y la recompilación de mensajes OpenPGP válidos usando cat bastante fácil.

    
respondido por el Jens Erat 19.03.2015 - 19:09
fuente

Lea otras preguntas en las etiquetas