|
|
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| == 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 (<tt>/etc/ssh/ssh_host_*key</tt>)
| |
| * Client keys (<tt>~/.ssh/id_{rsa,dsa,ecdsa,ed25519}</tt> and <tt>~/.ssh/identity</tt>).
| |
|
| |
| == 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
| |
| |-
| |
| |}
| |
|
| |
| Langsamere Maschinen
| |
| Diese Zahlen können auf einem langsameren Rechner abweichen
| |
| * Dies enthält die komplette Anmeldesequenz.
| |
| * Daher kann es zu Abweichungen kommen
| |
|
| |
| ==== 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:Kryptografie/Best Practice]] |
| [[Kategorie:SSH]] | | [[Kategorie:SSH]] |
| </noinclude>
| |