¿Es uno más seguro que el otro?
Respuestas:
id_rsa.pub
y id_dsa.pub
son las claves públicas de id_rsa
y id_dsa
.
Si está preguntando en relación con SSH
, id_rsa
es una clave RSA y se puede usar con el protocolo SSH 1 o 2, mientras que id_dsa
es una clave DSA y solo se puede usar con el protocolo SSH 2. Ambas son muy seguras, pero DSA parece ser el estándar en estos días (asumiendo que todos sus clientes / servidores soportan SSH 2).
Actualización: desde que se escribió esto, se ha demostrado que DSA es inseguro. Más información disponible en la respuesta a continuación.
SSH usa pares de claves públicas / privadas , también lo
id_rsa
es su clave privada RSA (basada en números primos), que es más segura que su clave privada id_dsa
DSA (basada en exponentes). Mantenga sus claves privadas seguras y comparta sus claves públicas id_rsa.pub
y id_dsa.pub
suyas ampliamente.
DSA tiene un parámetro que se puede adivinar si el generador de números aleatorios de su computadora es inferior a la media, lo que revelará su clave secreta. ECDSA (actualización de curva elíptica de DSA) es igualmente vulnerable . Incluso con buenos números aleatorios, DSA tiene otros problemas de fuerza (estos también se encuentran en Diffie-Hellman ).
OpenSSH crea claves inseguras de 1024 bits ( solución alternativa ) y ahora desactiva DSA de forma predeterminada .
La criptografía de curva elíptica ofrece una mayor complejidad con tamaños de clave más pequeños. Ed25519 (basado en la complejidad de las curvas elípticas modeladas en plano ) es la implementación preferida debido a su supuesta falta de intromisión (los documentos filtrados muestran que la NSA de EE. UU. Debilita los estándares de cifrado ).
Desafortunadamente, Ed25519 todavía es bastante nuevo y requiere OpenSSH 6.5 o GnuPG 2.1 (consulte la lista completa ).
Los tamaños de clave RSA de 4096 bits deberían tener una complejidad comparable a la de Ed25519.
Aún se prefiere Ed25519 a RSA debido a la preocupación de que RSA pueda ser vulnerable a los mismos problemas de fuerza que DSA, aunque se espera que aplicar ese exploit a RSA sea considerablemente más difícil.
Sí, rsa se considera más seguro.
En octubre de 2014, OpenSSH 7 (el predeterminado con Ubuntu 16.04LTS) ha deshabilitado el soporte predeterminado para DSA. Tome esto como una fuerte señal de que DSA ya no es un método recomendado.
https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html
rsa se considera más seguro.
Ya no es así (2020 mayo, diez años más tarde), con OpenSSH 8.2 , como se informó por Julio
Aviso de baja futura
Ahora es posible 1 realizar ataques de prefijo elegido contra el algoritmo hash SHA-1 por menos de USD $ 50K.
Por esta razón, deshabilitaremos el algoritmo de firma de clave pública "ssh-rsa" que depende de SHA-1 de forma predeterminada en una versión futura .
(Consulte " SHA-1 es un desastre: primera colisión de prefijo elegido en SHA-1 y aplicación a PGP Web of Trust " Leurent, G y Peyrin, T (2020))
Desafortunadamente, este algoritmo todavía se usa ampliamente a pesar de la existencia de mejores alternativas, siendo el único algoritmo de firma de clave pública que queda especificado por las RFC SSH originales.
Las mejores alternativas incluyen:
Los algoritmos de firma RFC8332 RSA SHA-2 rsa-sha2-256 / 512.
Estos algoritmos tienen la ventaja de utilizar el mismo tipo de clave que "ssh-rsa
", pero utilizan los algoritmos hash SHA-2 seguros.
Estos han sido compatibles desde OpenSSH 7.2 y ya se utilizan de forma predeterminada si el cliente y el servidor los admiten.El algoritmo de firma ssh-ed25519.
Ha sido compatible con OpenSSH desde la versión 6.5.Los algoritmos RFC5656 ECDSA: ecdsa-sha2-nistp256 / 384/521.
Estos han sido compatibles con OpenSSH desde la versión 5.7.Para comprobar si un servidor está utilizando el algoritmo de clave pública débil ssh-rsa para la autenticación de host, intente conectarse a él después de eliminar el
ssh-rsa
algoritmo de la lista de permitidos de ssh (1):ssh -oHostKeyAlgorithms=-ssh-rsa user@host
Si la verificación de la clave de host falla y no hay otros tipos de clave de host admitidos disponibles, el software del servidor en ese host debe actualizarse.
Una versión futura de OpenSSH habilitará
UpdateHostKeys
de forma predeterminada para permitir que el cliente migre automáticamente a mejores algoritmos.
Los usuarios pueden considerar habilitar esta opción manualmente .