Was ist der Unterschied zwischen den RSA-, DSA- und ECDSA-Schlüsseln, die ssh verwendet?

12

In meinem /etc/ssh/ Verzeichnis kann ich drei sehen, dass ich drei verschiedene Arten von SSH-Schlüsseln habe:

-rw------- 1 root root    607 Oct  4 22:43 ssh_host_dsa_key
-rw-r--r-- 1 root root    623 Oct  4 22:43 ssh_host_dsa_key.pub
-rw------- 1 root root    241 Oct  4 22:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root    194 Oct  4 22:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root   1602 Oct  4 22:43 ssh_host_rsa_key
-rw-r--r-- 1 root root    378 Oct  4 22:43 ssh_host_rsa_key.pub

Was sind die Unterschiede zwischen den RSA-, DSA- und ECDSA-Schlüsseln von ssh, und brauche ich alle drei?

    
fouric 21.10.2013, 19:19
quelle

2 Antworten

8

Sie sind Schlüssel, die mit verschiedenen Verschlüsselungsalgorithmen erzeugt werden. Sie können verschiedene Verschlüsselungsformen wählen, wenn Sie SSH verwenden, ähnlich der Möglichkeit, verschiedene Verschlüsselungsmethoden für WiFi zu wählen (WPA2, WPA, WEP, usw.).

SSH verwendet die Verschlüsselung mit öffentlichem Schlüssel, dh wenn Sie eine Verbindung zu einem SSH-Server herstellen, sendet es einen öffentlichen Schlüssel, mit dem Sie weiteren Datenverkehr verschlüsseln können, der an diesen Server gesendet werden soll. Wenn der Server für die Verwendung von RSA konfiguriert ist, handelt es sich um einen vom RSA-Algorithmus generierten Schlüssel.

Ihr Computer sendet seinen eigenen öffentlichen RSA-Schlüssel aus der Schlüsseldatei zurück, die Sie in Ihrer Frage aufgelistet haben. Der Server benötigt diesen Schlüssel, um sich mit Ihnen zu verbinden und zu antworten.

Alle drei Schlüssel sind auf Ihrem Computer vorhanden, da jeder SSH-Server, mit dem Sie eine Verbindung herstellen, möglicherweise für die Verwendung eines dieser Algorithmen konfiguriert wurde. Ihr Computer sendet einen eindeutigen Schlüssel zurück, der dem vom Server verwendeten Typ entspricht. Ihr Schlüssel wurde auf dem Computer mit demselben Algorithmus generiert.

Hier sind einige weitere Ressourcen:

link

Link

Link

Link

Link

    
Zoasterboy 21.10.2013 19:38
quelle
2

Brauchen Sie alle?
Nein, Ihr SSH-Server benötigt nur einen und der Client muss nur diesen einen Schlüsseltyp für SSH-Verbindungen unterstützen.

RSA, DSA, ECDSA, EdDSA & amp; Ed25519 werden alle für das digitale Signieren verwendet, aber nur RSA kann auch zum Verschlüsseln verwendet werden.

RSA ( Rivest-Shamir-Adleman ) ist einer der ersten Kryptosysteme mit öffentlichem Schlüssel und wird weitverbreitet für die sichere Datenübertragung verwendet. Die Sicherheit beruht auf der Ganzzahl-Faktorisierung , so dass ein sicherer RNG niemals benötigt wird. Im Vergleich zu DSA ist RSA schneller für die Signaturvalidierung, aber langsamer für die Generierung.

DSA ( Digitaler Signaturalgorithmus ) ist ein Federal Information Processing Standard für digitale Signaturen. Die Sicherheit beruht auf einem diskreten logarithmischen Problem. Im Vergleich zu RSA ist DSA schneller für die Signaturerzeugung, aber langsamer für die Validierung. Sicherheit kann gebrochen werden wenn Generatoren für ungültige Zahlen verwendet werden .

ECDSA ( Elliptische Kurve Digitaler Signaturalgorithmus ) ist eine Elliptische-Kurve-Implementierung von DSA ( Digitaler Signaturalgorithmus). Die Elliptische-Kurven-Kryptographie ist in der Lage, das relativ gleiche Sicherheitsniveau wie RSA mit einem kleineren Schlüssel bereitzustellen. Es teilt auch den Nachteil von DSA, empfindlich auf schlechte Zufallszahlen zu reagieren.

EdDSA ( Edwards-Kurve Digitaler Signaturalgorithmus ) ist ein digitales Signaturschema mit a Variante der Schnorr-Signatur basierend auf Twisted Edwards Kurven . Die Signaturerstellung ist in EdDSA deterministisch und ihre Sicherheit basiert auf der Unnachgiebigkeit bestimmter diskreter Logarithmusprobleme, so dass sie sicherer ist als DSA & amp; ECDSA, die eine hohe Qualität der Zufälligkeit für jede Unterschrift erfordert.

Ed25519 , ist das EdDSA-Signaturschema, aber mit SHA-512/256 und Curve25519 ; es ist eine sichere elliptische Kurve , die bietet bessere Sicherheit als DSA, ECDSA, & amp; EdDSA, plus hat eine bessere Leistung (nicht menschlich bemerkbar).

Weitere Hinweise
RSA-Schlüssel sind am weitesten verbreitet und scheinen daher am besten zu unterstützen.

ECDSA, (eingeführt in OpenSSH v5.7 ), ist rechnerisch leichter als DSA, aber der Unterschied ist nicht Ist nicht bemerkbar, es sei denn, Sie haben eine Maschine mit sehr geringer Rechenleistung.

Seit OpenSSH 7.0 unterstützt SSH standardmäßig keine DSA-Schlüssel (ssh-dss) mehr. Ein DSA-Schlüssel funktioniert nach dem SSH-Standard (RFC 4251 und später) überall.

Ed25519 wurde in oepnSSH 6.5 eingeführt.

    
Enkouyami 29.01.2018 10:35
quelle

Tags und Links