SSH-Schlüsselpaar-Generierung: RSA oder DSA?

104

SSH unterstützt zwei Signaturalgorithmen für Schlüsselpaare: RSA und DSA. Welches ist bevorzugt, wenn überhaupt? Was ist für RSA die minimal zulässige Schlüssellänge?

Brad Ackerman
quelle

Antworten:

70

RSA wird im Allgemeinen bevorzugt (jetzt, wo das Patent vorbei ist), weil es bis zu 4096 Bit gehen kann, wobei DSA genau 1024 Bit sein muss (nach Meinung von ssh-keygen). 2048 Bit ist ssh-keygendie Standardlänge für RSA-Schlüssel, und ich sehe keinen besonderen Grund, kürzere zu verwenden. (Das Minimum liegt bei 768 Bit. Ob dies "akzeptabel" ist, hängt von der jeweiligen Situation ab.)

Chaos
quelle
Ich habe mich oft gefragt, warum Menschen das Bedürfnis verspüren, ihre SSH-Verbindungen mit 2048-Bit-Schlüsseln zu sichern, wenn es sehr unwahrscheinlich ist, dass Ihre Bank, der Sie vermutlich vertrauen, über 256 Bit hinausgeht und eher bei 128 Bit bleibt. Ich sage mit Sicherheit nicht, dass mit der Verwendung eines großen Schlüssels etwas nicht in Ordnung ist, ich sage nur ....
Msanford
25
Bei der Bank-SSL-Verbindung handelt es sich um eine andere Art von Verschlüsselung. Insbesondere wird der für die Hauptteile der Transaktion verwendete Schlüssel nur für diese Transaktion generiert und verwendet und dann verworfen.
Ophidian
Der Grund ist eigentlich mit Skalierung zu tun. Verschlüsselung ist nicht billig und je höher Ihre Schlüsselstärke ist, desto weniger SSL-Verbindungen können Sie bedienen. Wenn Sie eine Privatbank haben, bei der jeder Kunde versucht, SSL zu verwenden, müssen Sie eine kompatible Schlüsselsuite auswählen, die jedoch auch zu Ihrer Hardware passt.
Spence
15
msanford: Wie Ophidian sagte, handelt es sich um verschiedene Arten von Verschlüsselungen. 256-Bit-RSA-Schlüssel wären für so ziemlich jeden Zweck völlig unbrauchbar. Die symmetrischen Schlüssel liegen im Bereich von 128 bis 512 Bit, während asymmetrische Schlüssel bei 768 Bit beginnen und bei 1500 bis 2000 Bit und höher sicher sind. Öffentliche 768-Bit-Schlüssel können und wurden beschädigt. 128bit symmetrisch kann (an sich) praktisch nicht geknackt werden.
Thomas
2
@xenoterracide, ssh verwendet die openssl-Bibliotheken. Beim ersten Start von SSH werden RSA / DSA-Schlüssel verwendet, um die Hostüberprüfung durchzuführen und die symmetrischen Schlüssel für die Sitzung einzurichten. Dies ist das gleiche Verfahren, das SSL-Server und -Clients befolgen. Sie werden feststellen, dass wir über SSH sprechen. Sie beziehen sich häufig darauf, dass die Nachforschungen und Dokumentationen für SSL durchgeführt werden
Walter
5

Es geht nicht um symmetrische oder asymmetrische Verschlüsselung. Es geht um bestimmte Algorithmen (RSA und DSA), die eine höhere Bitanzahl erfordern, um ein akzeptables Sicherheitsniveau zu erreichen. Beispielsweise ist ECC auch eine asymmetrische Verschlüsselung, bietet jedoch eine gute Sicherheit bei viel geringeren Bitzahlen als RSA oder DSA.


quelle
5

Wenn Sie eine aktuelle Implementierung von SSH haben, können Sie auch ECDSA in Betracht ziehen!

b0fh
quelle
3

256-Bit-Zertifikate, die Banken für SSL-Verbindungen verwenden, sind symmetrische Chiffren wie 3DES oder AES, daher die niedrigere Bitanzahl. Wenn Sie 1024 und 2048 (und sogar 4096) sehen, sind dies asymmetrische Ziffern.


quelle
1

DSA-Schlüssel haben viel kürzere Signaturen als RSA-Schlüssel (bei gleicher "Sicherheitsstufe"), sodass ein Grund für die Verwendung von DSA in eingeschränkten Umgebungen besteht.

Jus12
quelle