SSH/Kryptografie: Unterschied zwischen den Versionen

Aus Foxwiki
(Dirkwagner verschob die Seite SSH/Kryptografie nach Kategorie:SSH/Kryptografie)
Markierung: Neue Weiterleitung
 
(Weiterleitung auf Kategorie:SSH/Kryptografie entfernt)
Markierung: Weiterleitung entfernt
Zeile 1: Zeile 1:
#WEITERLEITUNG [[:Kategorie:SSH/Kryptografie]]
== 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
{| class="wikitable options"
|-
! Keys !! Beschreibung
|-
| Server Keys || /etc/ssh/ssh_host_*key
|-
| Client Keys || /.ssh/id_{rsa,dsa,ecdsa,ed25519}<br> ~/.ssh/identity
|}
 
== Chiffren und Algorithmen ==
; 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 [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-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
* [https://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange DH]
* [https://en.wikipedia.org/wiki/Elliptic_curve_Diffie–Hellman ECDH] key-exchange
* [https://en.wikipedia.org/wiki/Forward_secrecy forward secrecy]
 
; Group sizes
* [https://wiki.mozilla.org/Security/Guidelines/Key_Management Security/Guidelines/Key_Management]
 
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
 
=== Anmelde-Latenz ===
; 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
 
Der folgende Befehl wird 10 Mal ausgeführt
time ssh localhost -i .ssh/id_thekey exit
 
; Ergebnisse
{|| class="wikitable sortable"
|-
|| '''Client key '''
|| '''Minimum '''
|| '''Maximum '''
|| '''Average '''
|-
|| RSA 4096
|| 120ms
|| 145ms
|| 127ms
|-
|| RSA 2048
|| 120ms
|| 129ms
|| 127ms
|-
|| ed25519
|| 117ms
|| 138ms
|| 120ms
|-
|}
 
==== Zusammenfassung ====
* Latenzunterschiede sind nicht signifikant
* Sie beeinträchtigen die Leistung nicht wesentlich
 
== Konfiguration ==
[[SSH/Kryptografie/Konfiguration]]
 
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/SSH}}
 
=== Dokumentation ===
=== Links ===
==== Projekt ====
==== Weblinks ====
# [https://wiki.mozilla.org/Security/Key_Management Key Management]
# [https://wiki.mozilla.org/Security/Server_Side_TLS Server Side TLS]
# [https://www.ietf.org/rfc/rfc4418.txt RFC4418 (umac)]
# [http://www.openssh.com/txt/draft-miller-secsh-umac-01.txt umac draft]
# [https://safecurves.cr.yp.to/ Safe curves]
# [http://blog.djm.net.au/2013/11/chacha20-and-poly1305-in-openssh.html DJM blog]
# [https://stribika.github.io/2015/01/04/secure-secure-shell.html Stribika blog]
# [http://2013.diac.cr.yp.to/slides/gueron.pdf AES-GCM performance study]
# [https://security.googleblog.com/2014/04/speeding-up-and-strengthening-https.html CHACHA20 vs AES-GCM performance study]
# [http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/usr.bin/ssh/PROTOCOL.certkeys?rev=1.9&content-type=text/plain PROTOCOL.certkeys]
# [https://wiki.gnupg.org/rfc4880bis rfc44880bis from GnuPG]
# [https://weakdh.org/ Weak Diffie-Hellman and the Logjam Attack]
# [https://jbeekman.nl/blog/2015/05/ssh-logjam/ On OpenSSH and Logjam, by Jethro Beekman]
 
[[Kategorie:Kryptografie/Best Practice]]
[[Kategorie:SSH/Kryptografie]]
</noinclude>

Version vom 4. Mai 2024, 13:35 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
Keys Beschreibung
Server Keys /etc/ssh/ssh_host_*key
Client Keys /.ssh/id_{rsa,dsa,ecdsa,ed25519}
~/.ssh/identity

Chiffren und Algorithmen

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

Anmelde-Latenz

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

Der folgende Befehl wird 10 Mal ausgeführt

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

Zusammenfassung

  • Latenzunterschiede sind nicht signifikant
  • Sie beeinträchtigen die Leistung nicht wesentlich

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