ssh_scp_-_sicherheit_und_geschwindigkeit
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ssh_scp_-_sicherheit_und_geschwindigkeit [2025-07-21 12:14:44] – manfred | ssh_scp_-_sicherheit_und_geschwindigkeit [2025-07-21 12:21:21] (aktuell) – [RSA, die Primzahlen und die Riemannsche Vermutung (Die Riemann-Hypotese)] manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== SSH/SCP - Sicherheit und Geschwindigkeit ====== | ||
| + | |||
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | |||
| + | |||
| + | ===== neuer SSH-Key auf Basis von elliptischer Kurven ===== | ||
| + | |||
| + | Zur Zeit ist das ED25519-Schlüsselformat, | ||
| + | RSA mit großer Schlüssellänge ist der zweitsicherste, | ||
| + | |||
| + | **'' | ||
| + | Die ED25519-Schlüssel werden erst __seit Ubuntu 14.04__ (ab [[http:// | ||
| + | |||
| + | Der ED25519-Schlüssel hat eine __feste Länge von 256 Bit__, hier wird die Option ''" | ||
| + | > ssh-keygen -o -t ed25519 -a 256 | ||
| + | |||
| + | Die Option **'' | ||
| + | Je größer diese Anzahl ist, desto stärker ist die Passphrase gegen Brut-Force-Angriffe gesichert aber desto langsammer ist auch der Verbindungsaufbau.\\ | ||
| + | Die gleiche Wartezeit, die zum generieren des Schlüssels benötigt wird, fällt auch bei einem Verbindungsaufbau mit dem generierten Schlüssel an.\\ | ||
| + | Also wenn das generieren eines Schlüssels mit 65536 Runden ca. 10 Minuten dauert, dann wird der Vebindungsaufbau mit diesem Schlüssel von diesem Rechner aus, auch ca. 10 Minuten benötigen! | ||
| + | |||
| + | In soeinem Fall sollte man die Anzahl der Runden auf einen Wert reduzieren, bei dem die Zeit zum generieren bzw. für den Verbindungsaufbau, | ||
| + | |||
| + | Auf einem Rechner mit einer "Intel Core i7-2620M 2.70GHz" | ||
| + | |||
| + | |||
| + | ==== leider nimmt der SSH-Agent die Ed25519-Schlüssel nicht automatisch auf ==== | ||
| + | |||
| + | Um das Problem zu beheben, müssen einmalig zwei Zeilen an die '' | ||
| + | > echo 'eval $(ssh-agent)' | ||
| + | > echo " | ||
| + | |||
| + | Ab jetzt wird beim öffnen eines Terminal-Fensters die Passphrase abgefragt und die Schlüssel (auch der Ed25519-Schlüssel) ordentlich aufgenommen. Und ein passwortloser Login ist jetzt auch mit dem Ed25519-Schlüssel möglich. :-) | ||
| + | |||
| + | |||
| + | ===== DSA versus RSA ===== | ||
| + | |||
| + | **Stand: Mai 2011** | ||
| + | |||
| + | |||
| + | ==== ECDSA ==== | ||
| + | |||
| + | RSA war mal durch Patente geschützt, die sind jetzt aber abgelaufen. | ||
| + | Der ECDSA-Algorithmus stammt noch aus der Zeit und sollte eine freie | ||
| + | Alternative zum durch Patent geschützten RSA sein. | ||
| + | |||
| + | **Vor kurzem wurde der ECDSA-Algorithmus geknackt. | ||
| + | ECDSA-Schlüssel sollte man als " | ||
| + | |||
| + | Schlüsselstärkenvergleich (Brutforce-Angriff, | ||
| + | - 160 Bit ECDSA-Schlüssel => 1024 Bit RSA-Schlüssel | ||
| + | - 224 Bit ECDSA-Schlüssel => 2048 Bit RSA-Schlüssel | ||
| + | - 256 Bit ECDSA-Schlüssel => 3072 Bit RSA-Schlüssel | ||
| + | - 521 Bit ECDSA-Schlüssel => 15360 Bit RSA-Schlüssel | ||
| + | |||
| + | |||
| + | ==== RSA ==== | ||
| + | |||
| + | - da die RSA-Patente abgelaufen sind, ist RSA jetzt frei; | ||
| + | - einen RSA-Schlüssel kann man mit einer beliebigen Schlüssellänge generieren; | ||
| + | - Signaturen werden schneller verifiziert als erzeugt; | ||
| + | - um die Sicherheit eines 1024 Bit DSA-Schlüssels zu erzielen, muss der RSA-Schlüssel ca. 1232 Bit lang sein; | ||
| + | - RSA kann zum Signieren und zum Verschlüsseln verwendet werden (das tut OpenSSH aber nicht, da es aus kryptografischer Sicht ungünstig ist); | ||
| + | |||
| + | |||
| + | ==== DSA ==== | ||
| + | |||
| + | - einen DSA-Schlüssel kann man nur mit einer maximalen Schlüssellänge von 1024 Bit generieren (das alte DSS konnte auch längere); | ||
| + | - DSA hängt wohl doch sehr von guten Zufallszahlen ab, die man unter Windows wohl nicht bekommt; | ||
| + | - bei der Implementierung von DSA, kann man wohl viele Fehler machen die die Sicherheit des Verfahrens stark gefährden, dem entsprechend gibt es angeblich auch viele problematische DSA-Implementierungen; | ||
| + | - Signaturen werden schneller erzeugt als verifiziert; | ||
| + | - DSA kann nur zum Signieren, nicht zum Verschlüsseln verwendet werden; | ||
| + | |||
| + | |||
| + | ===== Sicherheit und Geschwindigkeit ===== | ||
| + | |||
| + | Auf dieser Seite wurden Transfervergleiche mit unterschiedlichen //Cipher// (Kodes) gefahren: | ||
| + | * [[http:// | ||
| + | |||
| + | Da die Pakete bei FTP unbearbeitet über das Netz gehen, ist es die schnellste aber auch unsicherste Methode, | ||
| + | Daten zu übertragen. Aus diesem Grunde verwendet man heute SSH/ | ||
| + | Hier kann man die Daten auf verschiedene Weise verschlüsseln/ | ||
| + | Jeder von SSH unterstützte Kode hat seine besonderen Eigenschaften, | ||
| + | in der Datenübertragungsrate und der Sicherheit in Abhängigkeit vom verwendeten Kode: | ||
| + | |||
| + | - Standard ist der Kode " | ||
| + | - der schnellste ist " | ||
| + | - " | ||
| + | - als einen sehr guten Kompromiss zwischen Sicherheit und Geschwindigkeit kann man den " | ||
| + | - die FreeBSD-Version von SSH2 beherrscht sogar den " | ||
| + | |||
| + | Welche Kodes (Cipher) von der eingesetzten SSH-Version unterstützt werden, kann man sich wie folgt anzeigen lassen: | ||
| + | # man ssh_config | ||
| + | |||
| + | * => siehe in der Sektion **// | ||
| + | |||
| + | Beispiel: | ||
| + | # ssh -c blowfish -X fritz@rechner | ||
| + | # scp -c blowfish testdatei.txt fritz@rechner: | ||
| + | |||
| + | Es ist auch möglich mehrere Kodes (Cipher) kommasepariert anzugeben: | ||
| + | # ssh -c blowfish, | ||
| + | # scp -c blowfish, | ||
| + | |||
| + | |||
| + | ==== / | ||
| + | |||
| + | Man kann die bevorzugten Kodes (Cipher) auch in der Konfigurationsdatei vom SSH-Client dauerhaft eintragen | ||
| + | und spart sich so das aufführen auf der Kommandozeile. | ||
| + | |||
| + | # vi / | ||
| + | .... | ||
| + | Ciphers blowfish, | ||
| + | .... | ||
| + | |||
| + | |||
| + | ===== RSA, die Primzahlen und die Riemannsche Vermutung (Die Riemann-Hypotese) ===== | ||
| + | |||
| + | RSA basiert darauf, dass man Primzahlen nicht erraten kann, weil man davon ausgeht, dass sie im Zahlenraum unvorhersehbar verteilt sind... Geht man von existierenden mathematischen Beweisführungen aus, dann liegt man da gar nicht so falsch... Aber wenn man die empirischen Erfahrungen im gesamten Zahlenraum, die von heutigen Computern bearbeitet werden, betrachtet, dann ist das komplett falsch! | ||
| + | |||
| + | Siehe dazu den Vortrag über die [[https:// | ||
| + | |||
| + | Riemann hatte vor Jahrhunderten schon vermutet, dass die Primzahlen, im Zahlenraum, nur auf einem schmalen Streifen liegen. Das wurde mathematisch noch nicht bewiesen (darauf berufen sich alle) aber es wurde im gesamten Zahlenraum, den Computer bearbeiten können, schon empirisch nachgewiesen. Demnach sind auch RSA-Schlüssel (egal wie lang) nicht mehr sicher. | ||
| + | Nun kann man sagen, dass RSA ja schon durch die Kosinusfunktionen abgelöst wurden... aber da haben wir das gleiche Problem, wie bei DSA, diese Schlüssel (z.B. ed25519) sind in ihrer Länge auf nur 256Bit beschränkt. | ||
| + | |||
| + | Soviel zu Sicherheit, heutzutage!!! | ||
| + | |||
