Kategorie:SSH/Kryptografie: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 11: Zeile 11:
* Client keys (<tt>~/.ssh/id_{rsa,dsa,ecdsa,ed25519}</tt> and <tt>~/.ssh/identity</tt>).
* Client keys (<tt>~/.ssh/id_{rsa,dsa,ecdsa,ed25519}</tt> and <tt>~/.ssh/identity</tt>).


== Ciphers and algorithms choice ==
== Wahl der Chiffren und Algorithmen ==
; Recent OpenSSH servers and client support CHACHA20
Aktuelle OpenSSH-Server und -Client unterstützen CHACHA20
* When CHACHA20 (OpenSSH 6.5+) is not available
* Wenn CHACHA20 (OpenSSH 6.5+) nicht verfügbar ist
* AES-GCM (OpenSSH 6.1+) and any other algorithm using EtM (Encrypt then MAC) [http://blog.djm.net.au/2013/11/chacha20-and-poly1305-in-openssh.html disclose the packet length] - giving some information to the attacker.
* AES-GCM (OpenSSH 6.1+) und jeder andere Algorithmus, der EtM (Encrypt then MAC) verwendet [http://blog.djm.net.au/2013/11/chacha20-and-poly1305-in-openssh.html legt die Paketlänge offen] - was dem Angreifer einige Informationen liefert.
* NIST curves (<tt>ecdh-sha2-nistp512,ecdh-sha2-nistp384,ecdh-sha2-nistp256</tt>) are listed for compatibility, but the use of <tt>curve25519</tt> is [https://safecurves.cr.yp.to/ generally preferred]
* NIST-Kurven (<tt>ecdh-sha2-nistp512,ecdh-sha2-nistp384,ecdh-sha2-nistp256</tt>) sind aus Kompatibilitätsgründen aufgeführt, aber die Verwendung von <tt>Kurve25519</tt> wird [https://safecurves.cr.yp.to/ generell bevorzugt].


; SSH protocol 2
; SSH protocol 2
Zeile 25: Zeile 25:
* [https://wiki.mozilla.org/Security/Guidelines/Key_Management Security/Guidelines/Key_Management]
* [https://wiki.mozilla.org/Security/Guidelines/Key_Management Security/Guidelines/Key_Management]


The various algorithms supported by a particular OpenSSH version can be listed with the following commands
Die verschiedenen Algorithmen, die von einer bestimmten OpenSSH-Version unterstützt werden, lassen sich mit den folgenden Befehlen auflisten
  $ ssh -Q cipher
  $ ssh -Q cipher
  $ ssh -Q cipher-auth
  $ ssh -Q cipher-auth
Zeile 32: Zeile 32:
  $ ssh -Q key
  $ ssh -Q key


=== Client key size and login latency ===
=== Client-Schlüsselgröße und Anmelde-Latenz ===
; Figure out the impact on performance of using larger keys
Ermitteln der Auswirkungen der Verwendung größerer Schlüssel auf die Leistung.
* Such as RSA 4096 bytes keys - on the client side
* z.B. RSA 4096 Bytes Schlüssel - auf der Client-Seite


; Tests
; Tests
Zeile 70: Zeile 70:
|}
|}


; Slower Machines
; Langsamere Maschinen
These numbers may differ on a slower machine
Diese Zahlen können auf einem langsameren Rechner abweichen
* This contains the complete login sequence
* Dies enthält die komplette Anmeldesequenz.
* Therefore is subject to variations
* Daher kann es zu Abweichungen kommen


; Summery
; Zusammenfassend
* The latency differences are not significant
* Die Latenzunterschiede sind nicht signifikant.
* It does not impact performance sufficiently
* Sie beeinträchtigen die Leistung nicht ausreichend


== Konfiguration ==
== Konfiguration ==

Version vom 19. April 2024, 11:54 Uhr

Umgang mit Schlüsselmaterial

Schlüsselmaterial identifiziert die kryptografischen Geheimnisse, aus denen ein Schlüssel besteht.

Sämtliches Schlüsselmaterial muss als RESTRICTED-Daten behandelt werden
  • Nur Personen mit spezieller Ausbildung und dem Bedarf an Wissen sollten Zugang zu Schlüsselmaterial haben.
  • Das Schlüsselmaterial muss bei der Übertragung verschlüsselt werden.
  • Schlüsselmaterial kann im Klartext gespeichert werden, aber nur mit einer angemessenen Zugangskontrolle (begrenzter Zugang).
Dazu gehören
  • OpenSSH server keys (/etc/ssh/ssh_host_*key)
  • Client keys (~/.ssh/id_{rsa,dsa,ecdsa,ed25519} and ~/.ssh/identity).

Wahl der Chiffren und Algorithmen

Aktuelle OpenSSH-Server und -Client unterstützen CHACHA20

  • Wenn CHACHA20 (OpenSSH 6.5+) nicht verfügbar ist
  • AES-GCM (OpenSSH 6.1+) und jeder andere Algorithmus, der EtM (Encrypt then MAC) verwendet legt die Paketlänge offen - was dem Angreifer einige Informationen liefert.
  • NIST-Kurven (ecdh-sha2-nistp512,ecdh-sha2-nistp384,ecdh-sha2-nistp256) sind aus Kompatibilitätsgründen aufgeführt, aber die Verwendung von Kurve25519 wird generell bevorzugt.
SSH protocol 2
Group sizes

Die verschiedenen Algorithmen, die von einer bestimmten OpenSSH-Version unterstützt werden, lassen sich mit den folgenden Befehlen auflisten

$ ssh -Q cipher
$ ssh -Q cipher-auth
$ ssh -Q mac
$ ssh -Q kex
$ ssh -Q key

Client-Schlüsselgröße und Anmelde-Latenz

Ermitteln der Auswirkungen der Verwendung größerer Schlüssel auf die Leistung.

  • z.B. RSA 4096 Bytes Schlüssel - auf der Client-Seite
Tests

Idle, i7 4500 intel CPU

  • OpenSSH_6.7p1
  • OpenSSL 1.0.1l
  • ed25519 server keys

The following command is ran 10 times

time ssh localhost -i .ssh/id_thekey exit
Results
Client key Minimum Maximum Average
RSA 4096 120ms 145ms 127ms
RSA 2048 120ms 129ms 127ms
ed25519 117ms 138ms 120ms
Langsamere Maschinen

Diese Zahlen können auf einem langsameren Rechner abweichen

  • Dies enthält die komplette Anmeldesequenz.
  • Daher kann es zu Abweichungen kommen
Zusammenfassend
  • Die Latenzunterschiede sind nicht signifikant.
  • Sie beeinträchtigen die Leistung nicht ausreichend

Konfiguration

SSH/Kryptografie/Konfiguration


Anhang

Siehe auch

Dokumentation

Links

Projekt

Weblinks

  1. Key Management
  2. Server Side TLS
  3. RFC4418 (umac)
  4. umac draft
  5. Safe curves
  6. DJM blog
  7. Stribika blog
  8. AES-GCM performance study
  9. CHACHA20 vs AES-GCM performance study
  10. PROTOCOL.certkeys
  11. rfc44880bis from GnuPG
  12. Weak Diffie-Hellman and the Logjam Attack
  13. On OpenSSH and Logjam, by Jethro Beekman

Seiten in der Kategorie „SSH/Kryptografie“

Diese Kategorie enthält nur die folgende Seite.