Der Countdown läuft für die Keyfactor Tech Days | Sichern Sie sich noch heute Ihren Platz!

  • Startseite
  • Blog
  • SHA-1 hat ausgedient, Keyfactorschlägt einen Migrationspfad vor

SHA-1 hat ausgedient, Keyfactorschlägt einen Migrationspfad vor

SHA-1 ist ein weit verbreiteter Hash-Algorithmus, der nicht mehr als vertrauenswürdig angesehen werden kann. Analysten, die sich mit der Entwicklung von PKI befassen, müssen die Vorteile der Implementierung von SHA-2 gegen die Kompatibilitätsprobleme abwägen, die mit seiner Einführung verbunden sind. Diese Entscheidung beruht auf der jüngsten Erkenntnis, dass SHA-1-Hashes kryptografisch schwach sind und die Möglichkeit einer böswilligen Manipulation der resultierenden Hash-Werte viel einfacher ist als ursprünglich angenommen. Dies ist ein ernstes Problem, wenn eine authentische digitale Unterschrift auf einem Vertrag über 100 Dollar nicht von einer gefälschten digitalen Unterschrift auf einem Vertrag im Wert von 100.000 Dollar unterschieden werden kann.

SHA-2 ist eine Aktualisierung des älteren Hash-Algorithmus SHA-1 und bietet eine sicherere und letztlich vertrauenswürdigere PKI. Aber sind die Vorteile von SHA-2 die Kosten für seine Implementierung wert? In diesem Blogbeitrag wird SHA-2 untersucht, um Kontext, Hintergrund und mögliche Migrationspfade aufzuzeigen.

Eine kurze Geschichte der Hash-Algorithmen

Secure Hash Algorithm (SHA) ist eine Art kryptografische Hash-Funktion, deren Aufgabe es ist, sicherzustellen, dass die Daten nicht verändert wurden. SHA erreicht dies durch die Berechnung eines kryptografischen Hash-Wertes für ein bestimmtes Datenstück, der für diese Daten eindeutig ist. Unterschiedliche Daten ergeben eindeutige Hash-Werte, und jede Änderung an einem bestimmten Datenteil führt zu einem anderen Hash-Wert. Und genau darum geht es: Unterschiedliche Hash-Werte sind der Schlüssel zur Feststellung, ob Daten verändert wurden.

Hash-Werte tragen dazu bei, die Integrität eines bestimmten Datenteils zu gewährleisten, da ihre Eindeutigkeit praktisch garantiert ist, sie sich nicht vorhersagen lassen und dennoch leicht zu berechnen sind.

SHA-0 war ein kurzlebiger Hash-Algorithmus, der 1993 veröffentlicht wurde. SHA-0 erwies sich als fehlerhaft, und die National Security Agency (NSA) entwickelte einen Ersatz namens SHA-1. Sowohl SHA-0 als auch SHA-1 sind 160-Bit-Hash-Funktionen. Das bedeutet, dass jede mögliche Datenmenge auf eine 160-Bit-Zahl heruntergebrochen wird. SHA-1 ist derzeit weit verbreitet und wird von den meisten Geräten und Systemen unterstützt, die kryptografische Hash-Funktionen verwenden.

Was ist also das Problem mit SHA-1?

Ein Hauptanliegen der Entwickler von kryptografischen Hashes ist es, die Wahrscheinlichkeit zu minimieren, dass zwei unterschiedliche Daten denselben Hashwert ergeben. Wenn dies geschieht, spricht man von einer "kryptografischen Hash-Kollision".

Das Problem besteht darin, dass es zwar unendlich viele eindeutige Datenbits gibt, die Anzahl der berechenbaren Hash-Werte jedoch begrenzt ist. Bei Verwendung von SHA-1 gibt es2160 mögliche kryptografische Hash-Werte. Die mathematische Theorie besagt, dass die Wahrscheinlichkeit, dass zwei Nachrichten denselben Wert ergeben, etwa 1 zu280 beträgt. Mit anderen Worten: Wollte man zwei Nachrichten finden, die denselben Wert ergeben, müsste man280 verschiedene Nachrichten ausprobieren, bevor man zwei finden würde, deren Hashes übereinstimmen. Während diese sehr große Zahl das Erraten von Hashes unwahrscheinlich macht, haben Krypto-Mathematiker im Jahr 2005 bewiesen, dass SHA-1-Hashes viel schneller berechnet werden können als durch das Ausprobierenvon 280 verschiedenen Nachrichten (sogar 2000 Mal schneller).

Dies ist der Grund dafür, dass SHA-1 in den meisten staatlichen Anwendungen nicht mehr verwendet wird und dass das NIST empfohlen hat, SHA-1 nach 2010 nicht mehr zu verwenden.

SHA-2 Hintergrund

SHA-2 ist ein neuerer kryptografischer Hash-Algorithmus, der auf SHA-1 basiert. SHA-2 wurde 2001 von der NSA entwickelt, um die mathematischen Unzulänglichkeiten von SHA-1 zu beheben. SHA-2 ist eigentlich eine Sammlung von vier verschiedenen Hash-Algorithmen: SHA-224, SHA-256, SHA-384, SHA-512.

SHA-2 vermeidet die Schwächen von SHA-1, indem es größere Schlüsselgrößen verwendet, die Kollisionen noch unwahrscheinlicher machen; dennoch ist die Entwicklung von SHA-3 im Gange. Es ist zu beachten, dass SHA-3 nicht auf SHA-2 basieren wird." *Siehe Update unten

Schwierigkeiten bei der Übernahme von SHA-2

Die weit verbreitete Annahme von SHA-1 durch Systeme, die Hashing-Funktionen benötigen, könnte als Beispiel für die Schwierigkeiten bei der Annahme von SHA-2 dienen. Das breite Spektrum möglicher Kryptogeräte, -anwendungen und -systeme erfordert ein breites Spektrum an Verwaltungs- und Aktualisierungspfaden. Und was am schwierigsten ist: Nicht alles, was SHA-1 verwendet, ist mit SHA-2 kompatibel.

Die Umstellung einer gesamten Unternehmens-PKI von SHA-1 auf SHA-2 erfordert nicht nur die Installation von Zertifizierungsstellen, die in der Lage sind, SHA-2-Zertifikate auszustellen, sondern auch die Sicherstellung, dass alle Abonnenten, vertrauenden Parteien, Anwendungen und Geräte die resultierenden SHA-2-basierten Zertifikate auch tatsächlich verwenden können.

Bei Microsoft-Systemen sind die SHA-2-Funktionen in Windows Vista, Windows 7 und Windows Server 2008 (R2) integriert. Windows XP Service Pack 3 und Windows Server 2003 SP2-Clients mit KB 968730 bieten jedoch nur begrenzte Unterstützung für SHA-2. Die Unterstützung für SHA-2 auf diesen Plattformen ist auf die Funktionen SSL/TLS beschränkt.

Anwendungen, die Zertifikate verwenden, müssen auch auf unterstützten Plattformen geprüft werden, um ihre Kompatibilität mit SHA-2 zu bestimmen. Zum Beispiel kann Microsoft Outlook 2003 ein SHA-2 S/MIME-Zertifikat nicht validieren.

Plattformen wie mobile Geräte, Mainframes, Mid-Range-Computer, WAP-Geräte, Radius-Server, VPN-Konzentratoren usw. müssen ebenfalls auf ihre Kompatibilität mit SHA-2 geprüft werden. In vielen Fällen ist eine Art von Upgrade erforderlich.

Da SHA-1 in so viele verschiedene Plattformen eingebettet ist, kann es eine Herausforderung sein, genau zu bestimmen, welche Auswirkungen die Umstellung auf SHA-2 haben kann. Selbst neuere Systeme unterstützen SHA-1, um die Kompatibilität mit älteren CAs zu gewährleisten

Empfohlener Upgrade-Pfad zu SHA-2

In fast allen Fällen wäre der beste Ansatz für die Umstellung auf eine SHA-2-basierte PKI die Migration zu einer separaten PKI mit eigenen Wurzeln. Eine separate PKI, die nur SHA-2 für ausgestellte Zertifikate und CA-Zertifikate verwendet.

Abbildung 1 SHA-1 und SHA-2 PKI

Um dies zu erreichen, muss parallel zur ursprünglichen PKI eine separate, auf SHA-2 basierende Root-CA erstellt werden. Diese separate Stammzertifizierung wird mit SHA-2 signiert, ebenso wie alle untergeordneten CA-Zertifikate. Unternehmensteilnehmer und vertrauende Parteien müssen während der Migration beiden Roots vertrauen.

Eine separate PKI ermöglicht es den PKI-Administratoren, Plattformen und Anwendungen vorsichtig und kontrolliert auf eine neue SHA-2-basierte PKI zu migrieren. Wenn schließlich alle Teilnehmer, vertrauenden Parteien und Anwendungen migriert sind, wird die ursprüngliche SHA-1-basierte PKI keine Benutzer oder Anwendungen mehr haben und außer Betrieb genommen werden.

Es ist erwähnenswert, dass die Einführung von SHA-2 auch einen politischen Aspekt hat. Eine SHA-2-basierte PKI ermöglicht auch die Annahme einer separaten Zertifikatsrichtlinie (CP) für Unternehmen. Dies ermöglicht die Annahme einer CP, die die Abschaffung des SHA-1-Hashing-Algorithmus erfordert.

Schlussfolgerung

SHA-1 ist ein Hash-Algorithmus, der sich derzeit einer breiten Akzeptanz erfreut. Dieser kryptografische Hash-Algorithmus weist jedoch mathematische Unzulänglichkeiten auf, die durch SHA-2 behoben werden. Die Implementierung einer SHA-2-basierten PKI erfordert eine separate Root Enterprise PKI und eine gut durchdachte Migrationsstrategie. Auf diese Weise wird eine PKI entstehen, die weiterhin vertrauenswürdig ist und vor den zunehmenden Schwächen des kryptografischen Hash-Algorithmus SHA-1 schützt.

*UPDATE:

Am 2. Oktober 2012 gab das NIST den Gewinner seines laufenden Hash-Funktions-Wettbewerbs bekannt. Der ausgewählte kryptografische Hash-Algorithmus heißt "Keccak". (Aussprache: Catch-ack)

Als Ergebnis dieser Auswahl wird "Keccak" nun als "SHA-3" bekannt sein.

https://www.nist.gov/itl/csd/sha-100212.cfm

https://en.wikipedia.org/wiki/Keccak

Verwandte Beiträge:

SHA-3 Ankündigung