Generación de par de claves SSH: ¿RSA o DSA?

104

SSH admite dos algoritmos de firma para pares de claves: RSA y DSA. ¿Cuál es el preferido, si lo hay? Para RSA, ¿cuál es la longitud mínima de clave aceptable?

Brad Ackerman
fuente

Respuestas:

70

Generalmente se prefiere RSA (ahora que el problema de la patente ha terminado) porque puede llegar hasta 4096 bits, donde DSA tiene que ser exactamente 1024 bits (en la opinión de ssh-keygen). 2048 bits es ssh-keygenla longitud predeterminada de las claves RSA, y no veo ninguna razón en particular para usar las más cortas. (El mínimo posible es de 768 bits; supongo que si eso es "aceptable" es situacional).

caos
fuente
A menudo me he preguntado por qué las personas sienten la necesidad de asegurar sus conexiones ssh con una clave de 2048 bits, cuando su banco, en el que presumiblemente confía, es muy poco probable que supere los 256 bits, y es más probable que se quede con 128 bits. Ciertamente no estoy diciendo que haya nada malo en usar una tecla grande, solo estoy ... diciendo.
msanford
25
La conexión SSL del banco es un tipo diferente de cifrado que se utiliza y, más específicamente, la clave utilizada para las partes principales de la transacción se genera y se utiliza únicamente para esa transacción y luego se descarta.
Ophidian
La razón en realidad tiene que ver con el escalado. el cifrado no es barato y cuanto mayor sea la fuerza de la clave, menos conexiones SSL podrá atender. Si tiene un banco minorista con cada consumidor tratando de usar SSL, entonces tendrá que elegir un conjunto de claves compatible pero que también coincida con su hardware.
Spence
15
msanford: Al igual que Ophidian dijo que son diferentes tipos de encriptaciones. Las claves RSA de 256 bits serían completamente inútiles para casi cualquier propósito. Las claves simétricas están en el rango de 128-512 bits, mientras que las asimétricas comienzan a 768 bits y son seguras a aproximadamente 1500-2000 bits o más. Las claves públicas de 768 bits pueden y han sido rotas. La simétrica de 128 bits no puede (en sí misma) prácticamente romperse.
Thomas
2
@xenoterracide, ssh usa las bibliotecas openssl. Cuando SSH se inicia por primera vez, utiliza claves RSA / DSA para verificar el host y configurar las claves simétricas para la sesión. Este es el mismo procedimiento que siguen los servidores SSL y el cliente, por lo que descubrirá que las personas hablamos sobre SSH, a menudo se referirán para permitir la investigación y la documentación realizada para SSL
Walter
5

No se trata de cifrado simétrico o asimétrico. Se trata de algoritmos particulares (RSA y DSA) que requieren un mayor recuento de bits para lograr un nivel de seguridad aceptable. Por ejemplo, ECC también es un cifrado asimétrico, pero proporciona una buena seguridad con recuentos de bits mucho más bajos que RSA o DSA.


fuente
5

Si tiene una implementación reciente de SSH, ¡también puede considerar ECDSA!

b0fh
fuente
3

Los certificados de 256 bits que usan los bancos para las conexiones SSL son cifrados simétricos como 3DES o AES, de ahí el menor recuento de bits. Cuando vea 1024 y 2048 (e incluso 4096), estos son cifrados asimétricos.


fuente
1

Las claves DSA tienen señales mucho más cortas que las claves RSA (para el mismo "nivel de seguridad"), por lo que una razón para usar DSA sería en entornos restringidos.

Jus12
fuente