Abo
  • Services:

OpenSSH: Key-Rotation für die Secure Shell

Bei der nächsten Version von OpenSSH wird es möglich sein, Server-Keys mit einem automatisierten Verfahren zu rotieren. Bislang ließen sich Schlüssel bei SSH nur mit viel manuellem Aufwand austauschen.

Artikel veröffentlicht am , Hanno Böck
OpenSSH wird bald Schlüssel reibungslos tauschen können.
OpenSSH wird bald Schlüssel reibungslos tauschen können. (Bild: OpenSSH)

Serveradministratoren, die SSH schon länger nutzen, kennen oft das Problem: Wer einmal einen Schlüssel für den SSH-Daemon erstellt hat, kann diesen nur umständlich wieder ändern. Anders als beispielsweise TLS-Zertifikate haben SSH-Keys kein Ablaufdatum und werden von keiner Zertifizierungsstelle signiert. Vielmehr basiert SSH auf einem Trust-on-first-use-System - genau das macht aber beim Schlüsselwechsel Probleme. Die nächste Version 6.8 von OpenSSH soll dies lösen mit einem System zur Schlüsselrotation.

Trust on First Use

Stellenmarkt
  1. Fraunhofer-Institut für Produktionstechnik und Automatisierung IPA, Stuttgart
  2. BWI GmbH, Berlin, Strausberg

Jeder SSH-Server benötigt dauerhaft ein oder mehrere Schlüsselpaare für ein Public-Key-Verfahren. Dieser Schlüssel dient dazu, den Verbindungsaufbau abzusichern und einen Sitzungsschlüssel auszuhandeln. Üblicherweise speichert der SSH-Client beim ersten Verbindungsaufbau einen Fingerabdruck des verwendeten öffentlichen Schlüssels. Bei künftigen Verbindungsversuchen wird der Serverschlüssel dann anhand dieses Fingerabdrucks geprüft.

Das funktioniert prima, solange der Server denselben Schlüssel behält. Doch ein reibungsloser Wechsel des Schlüssels ist in diesem Konzept nicht vorgesehen. Wenn der Serverbetreiber ein neues Schlüsselpaar erstellt, erhält der Nutzer eine Warnung. Im SSH-Client von OpenSSH gibt es auch keine Möglichkeit, diese Warnung einfach zu ignorieren. Vielmehr muss der alte Schlüssel zunächst aus der lokalen Konfiguration entfernt werden, damit ein neuer Schlüssel akzeptiert werden kann.

DSA-Schlüssel mit 1024 Bit

Dabei stecken viele Serverbetreiber in einem Dilemma. Aus Sicherheitsgründen wäre es eigentlich sinnvoll, den Schlüssel gelegentlich zu wechseln. Außerdem sind viele ältere Schlüssel aus heutiger Sicht nicht gerade optimal. Die ursprüngliche SSH-Spezifikation sah etwa vor, dass jeder Server das DSA-Verfahren unterstützen muss. Der Grund: Damals war RSA noch patentiert und galt somit als problematisch. Ursprünglich war DSA aber nur für 1024 Bit spezifiziert, DSA mit längeren Schlüsseln hat sich nie allgemein durchgesetzt. Und ganz generell gibt es Vorbehalte gegen das DSA-Verfahren: Bei schlechten Zufallsgeneratoren kann es katastrophal scheitern.

Auch ältere RSA-Schlüssel wurden oft in den Standardeinstellungen der Linux-Distributionen automatisch mit 1024 Bit generiert. Neben RSA und DSA unterstützen neuere OpenSSH-Versionen verschiedene Verfahren auf Basis elliptischer Kurven, als ideal gilt zurzeit der Ed25519-Algorithmus. Gegen ECDSA gibt es ähnliche Vorbehalte wie bei DSA.

Neben Problemen mit alten Krypto-Algorithmen kann es auch Notfälle geben, in denen ein Schlüssel ausgetauscht werden muss, etwa wenn der Server gehackt wurde. Doch die bisherige Funktionsweise von SSH macht den Schlüsselwechsel enorm umständlich. Ein Serverbetreiber muss alle Nutzer informieren, diese müssen manuell den alten Schlüssel entfernen.

Reibungsloser Schlüsselwechsel

All diese Probleme beschreibt OpenSSH-Entwickler Damien Miller in einem Blogeintrag - und bietet eine Lösung an. Künftig können OpenSSH-Server beim Verbindungsaufbau die Fingerprints mehrerer öffentliche Schlüssel an den Client senden. Das können Schlüssel mit neuen Algorithmen sein, aber auch Ersatzschlüssel für den Notfall, falls einmal der Server-Key kompromittiert wird.

Ein Client, der diese Funktion ebenfalls unterstützt, speichert dann alle Key-Fingerprints, die ein Server ausliefert, automatisch in seiner Konfiguration. Keys, die nicht vom Server geliefert werden, werden automatisch aus der Konfiguration entfernt.

Damit wird ein Schlüsselaustausch deutlich reibungsloser. Ein Serverbetreiber kann bereits für die Zukunft einen Ersatzschlüssel ausliefern. Dazu muss auf dem Server nur der öffentliche Schlüssel vorliegen - der privaten Schlüssel kann offline an einem sicheren Ort gespeichert werden. Probleme treten dann nur noch auf, wenn ein Nutzer sich im Zeitraum eines Schlüsselwechsels nie einloggt.

Voraussetzung für den reibungslosen Schlüsselwechsel ist natürlich, dass alle Nutzer eines Servers einen SSH-Client einsetzen, der diese Funktion auch unterstützt. Bislang ist das Feature nur in OpenSSH implementiert, und auch dort wird es erst ab der bislang nicht veröffentlichten Version 6.8 verfügbar sein. Insbesondere in der Windows-Welt wird häufig das Programm PuTTY eingesetzt, auf Embedded-Devices kommt vielfach Dropbear zum Einsatz.

Key-Management wird komplexer

Für Serveradministratoren ist die neue Funktion zum Schlüsselwechsel eine Erleichterung, sie erfordert aber auch ein ausgefeilteres Key-Management. Ersatzschlüssel müssen erzeugt und vorgehalten werden. Auch bei TLS wird das Schlüsselmanagement in Zukunft komplexer: Für HTTP Public Key Pinning ist das Bereithalten von Ersatzschlüsseln ebenfalls sinnvoll.



Anzeige
Blu-ray-Angebote
  1. 5€ inkl. FSK-18-Versand
  2. (u. a. 3 Blu-rays für 15€, 2 Neuheiten für 15€)
  3. 5€ inkl. FSK-18-Versand

Lala Satalin... 03. Feb 2015

Nein. Eher auf einem USB-Stick, der hinter 250 Meter dickem, massiven Panzerstahl liegt.

widdermann 03. Feb 2015

Genau deswegen ist OpenSSH nervig. Ich hab noch nie den Fingerprint verglichen. Das geht...

xnor 02. Feb 2015

Jein. Du kannst dann einen Ersatzschlüssel für den Fall eines Einbruchs auf dem Server...


Folgen Sie uns
       


Dirt Rally 2.0 - Fazit

Brettern auf der Gerade, Zittern in der Kurve - wir haben Dirt Rally 2.0 getestet.

Dirt Rally 2.0 - Fazit Video aufrufen
WD Black SN750 ausprobiert: Direkt hinter Samsungs SSDs
WD Black SN750 ausprobiert
Direkt hinter Samsungs SSDs

Mit den WD Black SN750 liefert Western Digital technisch wie preislich attraktive NVMe-SSDs. Es sind die kleinen Details, welche die SN750 zwar sehr gut, aber eben nicht besser als die Samsung-Konkurrenz machen.
Ein Bericht von Marc Sauter

  1. WD Black SN750 Leicht optimierte NVMe-SSD mit 2 TByte
  2. Ultrastar DC ME200 Western Digital baut PCIe-Arbeitsspeicher mit 4 TByte
  3. Western Digital My-Cloud-Lücke soll nach 1,5 Jahren geschlossen werden

Emotionen erkennen: Ein Lächeln macht noch keinen Frohsinn
Emotionen erkennen
Ein Lächeln macht noch keinen Frohsinn

Wer lächelt, ist froh - zumindest in der Interpretation eines Computers. Die gängigen Systeme zur Emotionserkennung interpretieren den Gesichtsausdruck als internes Gefühl. Die interne Gefühlswelt ist jedoch sehr viel komplexer. Ein Projekt des DFKI entwickelt ein System, das Gefühle besser erkennen soll.
Ein Bericht von Werner Pluta

  1. Ökostrom Wie Norddeutschland die Energiewende vormacht
  2. Magnetfeld Wenn der Nordpol wandern geht
  3. Computational Periscopy Forscher sehen mit einfacher Digitalkamera um die Ecke

Struktrurwandel: IT soll jetzt die Kohle nach Cottbus bringen
Struktrurwandel
IT soll jetzt die Kohle nach Cottbus bringen

In Cottbus wird bald der letzte große Braunkohle-Tagebau zum Badesee. Die ansässige Wirtschaft sucht nach neuen Geldquellen und will die Stadt zu einem wichtigen IT-Standort machen. Richten könnten das die Informatiker der Technischen Uni - die werden aber direkt nach ihrem Abschluss abgeworben.
Von Maja Hoock

  1. IT-Jobporträt Spieleprogrammierer "Ich habe mehr Code gelöscht als geschrieben"
  2. Recruiting Wenn die KI passende Mitarbeiter findet
  3. Softwareentwicklung Agiles Arbeiten - ein Fallbeispiel

    •  /