¿Es seguro publicar subclaves de autenticación PGP públicas?

9

Supongamos que tengo una clave PGP configurada de la siguiente manera:

Tengo un par de claves público / privado fuera de línea, que está configurado en solo Certificar , también conocido como crear subclaves y firmar claves de otras personas.

Luego creo tres subclaves que pongo en un Yubikey (con copias de seguridad fuera de línea):

  • Tecla de firma
  • Clave de cifrado
  • Autenticación clave

La tecla firma se usará para firmar mensajes y hacer confirmaciones.

La clave cifrado se utilizará para que las personas me envíen mensajes cifrados.

La clave autenticación se utilizará con gpg-agent --enable-ssh-support para usarla como autenticación ssh para iniciar sesión en los servidores.

Mi pregunta es:

¿Hay alguna implicación de seguridad negativa (o positiva) en la publicación de la subclave autenticación (o las tres subclaves públicas) en un servidor de claves?

Mi lógica es que realmente solo necesito publicar la subclave pública firmando , para que la gente pueda confirmar mis firmas y mi cifrado subclave pública, para que las personas puedan enviarme mensajes cifrados.

Nadie de "el público" necesita saber que tengo una clave de autenticación porque solo se usará en el archivo authorized_keys de mis servidores para permitirme iniciar sesión sin una contraseña.

Si alguien entrara en un servidor y consultara las claves públicas en el archivo authorized_keys , podrían buscarlo en el servidor de claves y descubrir que yo, específicamente, estoy usando ese servidor. ¿Es esto problemático o estoy pensando demasiado?

    
pregunta jaybee 12.01.2017 - 21:43
fuente

3 respuestas

5

Al proporcionar más claves a los posibles atacantes de las necesarias, está violando el principio de privilegio mínimo (¿por qué debería alguien más tener el privilegio de ver su clave pública?). Si no tienen que saberlo, no tiene sentido ayudarlos a deducir más información, por ejemplo. el tipo de clave (RSA, ECDSA, ...) y el tamaño (por ejemplo, 2048 bits) de su clave SSH para encontrar vectores de ataque. A partir de esto, pueden hacer suposiciones más informadas sobre cómo generalmente protege sus sistemas, qué tan rápido cambia a las nuevas tecnologías y qué tan paranoico es en general (hmm, ¿sigue usando RSA de 1024 bits? Oh, ECDSA de 512 bits, interesante ...).

Imagina que en el momento de la generación de claves no sabías que una clave RSA de 512 bits se puede descifrar en una computadora portátil normal en la actualidad. Los atacantes que buscan activamente tales claves en línea lo marcarían como un objetivo fácil de inmediato. O imagina que olvidaste alguna vez reemplazar esa clave y / o olvidaste tu servidor (o simplemente ya no estás vivo para hacer cambios). En X años, la parte privada de su clave RSA de 2048 bits se puede calcular en un sistema de cómputo más avanzado y los datos que tenga en su servidor estarán en riesgo. Puede que ya no le afecte, pero tal vez almacene los datos de otra persona que aún se preocupará por mantenerlo en secreto.

Por supuesto, esos escenarios son muy improbables (excepto por el uso de claves débiles, eso le ocurre a las personas con regularidad; incluso una clave RSA de 4096 bits no vale nada si el estado del grupo de entropía era malo; claves en este documento ), y probablemente un error en SSH permitirá la explotación de su servidor antes de que se craquee su clave. , pero su probabilidad no es cero, y al menos debe considerarlos antes de publicar más datos de los que necesita. Si ha considerado estos escenarios, debería estar bien, pero todos sabemos que nadie puede predecir todos los escenarios o implicaciones de ataques, por lo que es más fácil no tener que pensar en ellos en absoluto.

Si necesita cargar su clave de autenticación SSH para buscarla, por ejemplo. para configurar un nuevo archivo authorized_keys server, mejor alojarlo en una URL que sea difícil de adivinar, por ejemplo. www.mydomain.com/download/myAwesomePublicSSHkey.pub

    
respondido por el Anton Kaiser 27.01.2017 - 01:46
fuente
5

Sí, tu lógica es sonido. Solo necesita publicar sus claves públicas para permitir que las personas le envíen mensajes cifrados y verifiquen su firma. Sin embargo, no hay razón para publicar su clave pública para SSH, lo que no quiere decir que no pueda hacerlo de todos modos. Realmente no afecta tu seguridad de ninguna manera. Si alguien obtiene su clave pública, lo único que le permitirá hacer es identificar el comienzo de una sesión de SSH, y eso no debería molestarlo, excepto en una situación extrema que no puedo entender bien ahora.

    
respondido por el DeepS1X 25.01.2017 - 04:30
fuente
1

La seguridad depende de su caso de uso:

  • ¿Puede alguien atacar el servidor con su clave de autenticación pública?
    • No.
  • Si alguien ingresa a su servidor, ¿podrá saber su dirección de correo electrónico?
    • Sí. Pero tal vez la persona también encuentre su dirección de correo electrónico sin su clave de autenticación pública.
  • Si alguien obtiene su clave de autenticación pública de un servidor de claves, ¿puede la persona saber en qué servidor se utiliza?
    • No lo sé, pero puede verificarlo consultando los detalles de su clave de autenticación.
  • ¿Alguien puede obtener su autenticación privada de su clave pública?
    • No, siempre que la clave sea lo suficientemente fuerte (por ejemplo, > = 2048 Bit RSA)
  • ¿Tiene que hacerlo público, hágase todas estas preguntas?
    • Depende de su caso de uso;)
respondido por el nebulak 29.01.2017 - 23:24
fuente

Lea otras preguntas en las etiquetas