Compartir claves RSA entre los protocolos PGP y SSH: ¿Esto representa un riesgo para la seguridad?

4

Si genero una subclave PGP que solo tiene la capacidad de autenticación y la uso para generar un par de claves SSH para autenticar Git, por ejemplo, ¿representa una amenaza para la seguridad?

Cuando lo haga, ¿debo usar mi clave privada PGP o la subclave de autenticación pública?

Luego, cuando agrego mi clave SSH privada (./ssh/id_rsa) protegida por contraseña, usando el comando te ssh-add, se me solicita mi frase de contraseña. Pero luego, cuando hago confirmaciones posteriores utilizando Git, el Agente SSH no me solicita mi fase de contraseña. ¿Por qué es esto?

¿Cuál es la mejor práctica con respecto a esto? ¿Debo mantener mis llaves separadas?

    
pregunta matthiasdv 06.06.2015 - 21:22
fuente

2 respuestas

3

Por lo que tengo entendido, desea convertir una subclave de autenticación en una clave SSH y autenticar utilizando esto.

  

Si genero una subclave PGP que solo tiene la capacidad de autenticación y la uso para generar un par de claves SSH para autenticar Git, por ejemplo, ¿esto representa una amenaza para la seguridad?

Si esto es razonable o no, depende de lo que estés tratando de lograr. Las partes importantes de OpenPGP son sus características clave y de administración de confianza. Cuando desea utilizarlos para la autenticación mediante SSH (Monkeysphere lo hace posible, pero requiere cierta configuración), transfiere completamente la administración de claves de SSH a OpenPGP, lo que facilita mucho la adición, el intercambio y la revocación de claves. Si es así; ¡Vaya para las subclaves de autenticación, ofrecen una verdadera ventaja!

Si no desea usar esas capacidades extendidas (o podría usarlas en cualquier momento en el futuro sin planes específicos), no lo haga. Usted está agregando complejidad (que siempre es algo malo en la seguridad de la información) sin tener realmente una ventaja. Por ejemplo, no podrá usar las capacidades extendidas de Monkeysphere con GitHub, por lo que es mejor seguir directamente con una buena clave SSH normal, tendrá que "revocarla" manualmente (pero eliminándola de GitHub). panel de cuenta).

En general, la reutilización de secretos dará como resultado que más sistemas / servicios caigan en una de ellas, por lo que hacerlo es una mala idea; Pero las ventajas en la gestión de claves podrían valer el riesgo ligeramente mayor. Si no está utilizando las claves de autenticación OpenPGP, de lo contrario, no hay riesgo de que se utilice una subclave de solo autenticación para SSH, ya que no hay otro servicio . utilizado para.

  

Cuando lo haga, ¿debo usar mi clave privada PGP o la subclave de autenticación pública?

Tendría que almacenar su subclave de autenticación pública en el sistema en el que desea poder autenticarse. Su clave privada se mantiene privada y se usa para responder a un desafío enviado por el servidor de autenticación.

  

Luego, cuando agrego mi clave SSH privada (./ssh/id_rsa) protegida por contraseña, usando el comando te ssh-add, se me solicita mi frase de contraseña. Pero luego, cuando hago confirmaciones posteriores utilizando Git, el Agente SSH no me solicita mi fase de contraseña. ¿Por qué es esto?

La autenticación con SSH y la firma con GnuPG no tienen nada en común. No entiendo tu pregunta; es posible que desee ser más específico sobre qué está solicitando su contraseña (y dónde la esperaría) y cómo agregar la clave OpenPGP al agente ssh.

    
respondido por el Jens Erat 06.06.2015 - 21:55
fuente
5

El problema probablemente no sea tanto la seguridad algorítmica. El problema es que si hay un problema de seguridad con una de las aplicaciones, también tiene un problema de seguridad con la otra aplicación. Además, puede ser que algún tipo de ataque en el protocolo pueda ser posible debido a que comparte claves. En otras palabras, esto no es una buena idea con respecto a la seguridad del sistema.

En general, debes tratar de mantener las teclas separadas. Por lo general, una tecla se utiliza para una aplicación en particular. Compartir las claves de cifrado y las claves de autenticación o firma puede provocar ataques en el algoritmo que de otro modo no serían posibles.

En cuanto a su segunda pregunta, siempre que la sesión de SSH esté autenticada, las claves ya no serán necesarias.

    
respondido por el Maarten Bodewes 06.06.2015 - 21:33
fuente

Lea otras preguntas en las etiquetas