Actualmente tengo una clave SSH que he usado durante un tiempo y me gustaría comenzar a usar GnuPG con un nuevo llavero. Sin embargo, dado que he usado mi clave durante años, me gustaría seguir usando esa clave en GPG como clave principal / principal. Intenté importar la clave a través de estas instrucciones .
Pero, termino con lo que se considera una "subclave". Además, si trato de importarlo sin crear una clave GPG estándar, GPG ni siquiera ve esta subclave. (Supongo que la subclave debe estar firmada por la clave principal primero).
¿Cómo uso esta clave como clave principal dentro de secring.gpg?
Respuestas:
La respuesta simple es: no.
Las claves SSH y las claves GnuPG (en realidad, OpenPGP) son completamente diferentes, aunque ambos protocolos pueden usar pares de claves RSA.
Y además, ¿por qué querrías hacerlo? Incluso si usara el mismo material de clave para componer su clave PGP, aún necesitaría distribuir su clave como una clave PGP. Es probable que no haya estado distribuyendo su clave pública SSH a las personas con las que se corresponde, por lo que desde el punto de vista de la distribución de claves no hay diferencia: deberán recibir una clave pública de usted. E incluso si ha estado distribuyendo su clave pública SSH a otras personas, necesitarían tomar algunos pasos adicionales para poder importarla en su implementación de OpenPGP, lo que puede o no ser fácil.
Como Kasperd señaló bastante acertadamente, debe haber una sola forma de interpretar (particularmente) una firma. Si tuviera que usar la misma clave para PGP y SSH, si alguien pudiera engañarlo para que firme un mensaje especialmente diseñado (que es una capacidad asumida en ciertos ataques del sistema de firma) en uno, entonces incluso si ambos sistemas están seguros de forma aislada podría ser posible elaborar dicho mensaje de una manera que tenga un significado en uno de los sistemas, pero un significado diferente en el otro. Eso, en sí mismo, sería una vulnerabilidad. (¿Explotable? Quién sabe. ¿Pero por qué arriesgarse?)
Ambos pares de claves PGP y SSH son claves a largo plazo, que se utilizan para asegurar claves simétricas efímeras (mensaje y sesión), así como para verificar la autenticidad de una parte remota. Eso hace que la clave privada PGP o SSH sea un objetivo de valor mucho más alto para un atacante que la clave simétrica correspondiente. Si usa el mismo material clave para ambos, y un atacante puede darse cuenta de eso, solo aumenta el valor de un ataque exitoso en ese par de claves.
Sin haber examinado ninguno de los protocolos en detalle, imagino que reconocer que el mismo material clave se está utilizando en ambos probablemente sería bastante trivial, ya que la clave pública se transmite básicamente de forma clara.
Simplemente genere una nueva clave PGP. Si lo desea, hágalo RSA y de la misma longitud que su clave SSH. (Ninguna persona en su sano juicio lo verá mucho más de cerca que verificar la huella dactilar de todos modos). Luego distribuya la clave pública a las personas con las que desea comunicarse, como una clave PGP. Será mucho más fácil para todos, y muy probablemente más seguro, a costa de una pequeña cantidad de entropía del grupo de entropía aleatorio de su sistema, que de todos modos debería reponerse rápidamente.
Si tiene varias claves en su llavero secreto y desea especificar cuál debe usarse de manera predeterminada, use las directivas
default-key
y posiblementedefault-recipient{,-self}
en su ~ / .gnupg / gnupg.conf.fuente
Puede convertir una clave SSH en una clave OpenPGP con la herramienta
pem2openpgp
del proyecto monkeysphere . Esta clave puede ser importada por gnupg como un par de claves pública / privada regular. Como la otra respuesta menciona, esto generalmente no es una buena idea porque ssh no tiene un concepto de certificados, por lo que efectivamente está agregando una capacidad a una clave existente que no podría haber tenido antes. Esto generalmente es un no-ir en criptografía.Lo hice de todos modos con una de mis claves ssh, pero agregué el par de claves a mi otra clave OpenPGP como una subclave que solo tiene un indicador de capacidad: autenticación. Este indicador está destinado a situaciones como esta, en las que no desea firmar ni cifrar nada con un par de claves (significado
--encrypt
y--sign
opciones para gnupg) pero desea tenerlo en su caja de claves para la autenticación con OpenSSH y el agente gnupg de todos modos.Para más detalles, consulte la documentación de monkeysphere.
fuente
Puede haber buenas razones para convertir una clave de formato PKCS normal para importar a gpg.
Por ejemplo, si desea colocarlo en una tarjeta inteligente. Las funciones que proporciona gpg con sus comandos de información de tarjeta y edición de tarjeta son muy útiles para este propósito, entonces, ¿por qué no usarlo como herramienta? El único obstáculo que uno debe superar es ... exactamente: importar la clave desde el formato estándar PKCS # 8 (o formato "sin procesar" RSA PKCS # 1) al almacén de claves gpg para su posterior procesamiento.
Entonces, ¡tenga en cuenta mi objeción a la respuesta aprobada! :)
Aquí encontrará una respuesta realmente útil a este tipo de preguntas: /unix/276317/how-can-i-import-a-key-in-pem-format-not-openpgp-into -gpg
fuente
Use esto en Ubuntu 16.04 o Windows WSL.
Importar tarjeta. Se puede hacer en Windows o Linux.
Mover a la tarjeta
Encuentra el identificador de firma clave.
Mover clave de autenticación a la tarjeta
Seleccione un número para la ranura de autenticación.
Ya terminaste aquí.
Recuerde eliminar la clave del llavero gpg si está usando una tarjeta. Use el identificador de clave de arriba.
Misceláneos
No es necesario, pero puede ser útil para obtener una clave en formato pgp basado en texto.
fuente