Génération de paires de clés SSH: RSA ou DSA?

104

SSH prend en charge deux algorithmes de signature pour les paires de clés: RSA et DSA. Lequel est préféré, le cas échéant? Pour RSA, quelle est la longueur de clé minimale acceptable?

Brad Ackerman
la source

Réponses:

70

RSA est généralement préféré (maintenant que la question des brevets est terminée) car il peut aller jusqu'à 4096 bits, où DSA doit avoir exactement 1024 bits (de l'avis de ssh-keygen). 2048 bits est ssh-keygenla longueur par défaut pour les clés RSA, et je ne vois aucune raison particulière d’en utiliser des plus courtes. (Le minimum possible est de 768 bits; je suppose que cela est "acceptable", selon la situation.)

le chaos
la source
Je me suis souvent demandé pourquoi les gens ressentaient le besoin de sécuriser leurs connexions ssh avec une clé à 2048 bits, alors que votre banque, à laquelle vous faites probablement confiance, a très peu de chances de dépasser 256 bits et a plus de chances de s'en tenir à 128 bits. Je ne suis certainement pas en train de dire qu'il y a quelque chose qui cloche dans l'utilisation d'une grande clé, je suis juste… en train de dire.
msanford
25
La connexion SSL bancaire est un type de chiffrement différent utilisé. Plus précisément, la clé utilisée pour les principales parties de la transaction est générée et utilisée uniquement pour cette transaction, puis supprimée.
Ophidian
La raison est en réalité à voir avec la mise à l'échelle. le cryptage n'est pas bon marché et plus votre longueur de clé est élevée, moins vous pourrez servir de connexions SSL. Si vous avez une banque de détail avec chaque consommateur essayant d'utiliser SSL, vous devrez choisir une suite de clés compatible, mais correspondant à votre matériel.
Spence
15
msanford: Comme le dit Ophidian, il existe différents types de cryptage. Les clés RSA 256 bits seraient totalement inutiles à toutes fins utiles. Les clés symétriques sont dans la plage 128-512bit, tandis que les valeurs asymétriques commencent à 768bit et sont sécurisées à environ 1500-2000bit et plus. Les clés publiques de 768 bits peuvent et ont été cassées. La symétrie 128 bits ne peut pas (en elle-même) être cassée dans la pratique.
Thomas
2
@xenoterracide, ssh utilise les bibliothèques openssl. Lorsque SSH démarre pour la première fois, il utilise des clés RSA / DSA pour procéder à la vérification de l'hôte et pour configurer les clés symétriques de la session. Il s’agit de la même procédure que celle utilisée par les serveurs et les clients SSL. Vous constaterez donc que nous parlons de SSH. Ils se réfèreront souvent à l’autorisation de la recherche et de la documentation effectuées pour SSL
Walter
5

Il ne s'agit pas de chiffrement symétrique ou asymétrique. Il s'agit d'algorithmes particuliers (RSA et DSA) nécessitant un nombre de bits plus élevé pour atteindre un niveau de sécurité acceptable. Par exemple, ECC est également un cryptage asymétrique, mais il offre une bonne sécurité pour des comptes de bits beaucoup plus faibles que RSA ou DSA.


la source
5

Si vous avez récemment implémenté SSH, vous pouvez également envisager ECDSA!

b0fh
la source
3

Les certificats 256 bits utilisés par les banques pour les connexions SSL sont des caractères symétriques tels que 3DES ou AES, d'où le nombre de bits le plus faible. Lorsque vous voyez 1024 et 2048 (et même 4096), ces chiffres sont asymétriques.


la source
1

Les clés DSA ont des signaures beaucoup plus courtes que les clés RSA (pour le même "niveau de sécurité"), de sorte qu'une des raisons d'utiliser DSA serait dans les environnements soumis à des contraintes.

Jus12
la source