Zum Inhalt

47-Tage-Zertifikate sind im Anmarsch. Sind Sie bereit?

Jetzt handeln →

Was ist SHA? Wofür wird SHA verwendet?

Was ist SHA? Wofür wird SHA verwendet?

SHA (Secure Hash Algorithm) ist eine Familie kryptografischer Hashfunktionen, die Daten beliebiger Größe in einen eindeutigen Wert fester Länge, den sogenannten Hashwert, umwandeln. Da SHA unidirektional ist und keinen Schlüssel benötigt, kann es nicht umgedreht werden. SHA wird zur Überprüfung der Datenintegrität, zum Schutz von Passwörtern sowie zur Sicherung digitaler Signaturen und Zertifikate eingesetzt.

SHA (Secure Hash Algorithm) ist eine Familie kryptografischer Hashfunktionen, die jede Eingabe in eine Zeichenkette fester Länge, den sogenannten Hashwert, umwandeln. Hashing ist ein Einwegverfahren ohne Schlüssel: Dieselbe Eingabe erzeugt immer denselben Hashwert, der jedoch nicht wieder in die ursprüngliche Eingabe zurückverwandelt werden kann. SHA wird zur Überprüfung der Datenintegrität, zur sicheren Speicherung von Passwörtern und als Grundlage für digitale Signaturen und Zertifikate verwendet.

Wichtige Erkenntnisse

  • SHA (Secure Hash Algorithm) ist eine Familie von kryptografischen Einweg-Hashfunktionen, die aus jeder Eingabe einen eindeutigen Hashwert fester Länge erzeugen.
  • Hashing ist keine Verschlüsselung: Es ist ein Einwegverfahren und verwendet keinen Schlüssel, daher kann ein Hash nicht wieder in die ursprünglichen Daten entschlüsselt werden.
  • Eine winzige Änderung der Eingabe führt zu einer kompletten Veränderung der Ausgabe (Lawineneffekt), was SHA ideal für die Erkennung von Manipulationen macht.
  • SHA-1 ist unsicher (SHAttered-Kollisionsangriff von 2017) und veraltet. SHA-2 (einschließlich SHA-256) ist der aktuelle Standard, und SHA-3 ist eine Alternative, die auf einem anderen Design basiert.
  • SHA wird für Datenintegrität, Passwortspeicherung, digitale Signaturen und Zertifikate sowie Blockchain verwendet. Jedes öffentlich vertrauenswürdige TLS-Zertifikat ist mit SHA-2 signiert.

Was ist SHA?

SHA steht für Secure Hash Algorithm (Sicherer Hash-Algorithmus). Es handelt sich um eine Familie von Hash-Funktionen zum Hashen von Daten und digitalen Zertifikaten . Eine Hash-Funktion nimmt eine Eingabe beliebiger Größe entgegen und reduziert diese mithilfe von Bitoperationen, modularen Additionen und Komprimierungsfunktionen auf eine Ausgabe fester Länge, die weder gelesen noch umgekehrt werden kann. Die SHA-Familie stammt von der älteren MD-Architektur (Message Digest) ab, stellt aber eine eigenständige, sicherere Gruppe von Algorithmen dar, die von der NSA entwickelt und vom NIST standardisiert wurden.

SHA-Algorithmus

Hashing ist keine Verschlüsselung
Ein weit verbreiteter Irrtum ist, dass Hashing eine Form der Verschlüsselung sei. Das stimmt nicht. Verschlüsselung ist bidirektional und verwendet einen Schlüssel: Man verschlüsselt mit einem Schlüssel und entschlüsselt mit demselben Schlüssel, um die Originaldaten wiederherzustellen. Hashing hingegen ist unidirektional und schlüssellos: Sobald Daten gehasht wurden, kann der Hashwert nicht mehr in die ursprünglichen Daten zurückverwandelt werden. Ein Hashwert kann nicht „entschlüsselt“ werden. Die einzige Möglichkeit, die ursprünglichen Daten hinter einem Hashwert zu finden, besteht darin, verschiedene Eingaben zu erraten und diese so lange zu hashen, bis eine übereinstimmt (eine Brute-Force-Attacke). Genau diese Einweg-Eigenschaft ist der Grund, warum Hashing zur Integritätsprüfung und zum Speichern von Passwörtern verwendet wird. Hierbei muss man niemals die Originaldaten wiederherstellen, sondern lediglich prüfen, ob ein Wert übereinstimmt.

Der Lawineneffekt

SHA ist so konzipiert, dass bereits die Änderung eines einzigen Zeichens in der Eingabe die Ausgabe vollständig verändert. Das Hashen der Wörter „Heaven“ und „heaven“, die sich nur durch einen Großbuchstaben unterscheiden, erzeugt zwei völlig unterschiedliche, unabhängige Hashwerte. Diese Eigenschaft wird als Lawineneffekt bezeichnet und ist aus zwei Gründen wichtig: Sie verhindert, dass ein Angreifer aus dem Hashwert Rückschlüsse auf die Eingabe ziehen kann, und sie ermöglicht es dem Empfänger, zu erkennen, dass eine Nachricht während der Übertragung verändert wurde, da jede noch so kleine Änderung einen anderen Hashwert erzeugt.

SHA-Funktionen sind deterministisch: Dieselbe Eingabe erzeugt immer denselben Hashwert, sodass jeder, der dieselbe SHA-Funktion verwendet, einen Hashwert neu berechnen und verifizieren kann. Diese Deterministik ist ein Grund dafür, dass jedes öffentlich vertrauenswürdige TLS-Zertifikat im Internet mit einer SHA-2-Funktion gehasht werden muss.

Maßgeschneiderte Verschlüsselungsdienste

Wir bewerten, entwickeln Strategien und implementieren Verschlüsselungsstrategien und -lösungen.

Die SHA-Familie: SHA-1, SHA-2 und SHA-3

Es werden verschiedene Bezeichnungen verwendet (SHA-1, SHA-256, SHA-512 usw.), aber sie gehören zu wenigen unterschiedlichen Generationen. SHA-256 und SHA-512 sind beispielsweise Varianten von SHA-2 mit unterschiedlichen Digest-Längen.

AlgorithmusDigest-GrößeStatus
SHA-1160-bitDefekt und veraltet (SHAttered-Kollisionsfehler, 2017). Nicht verwenden.
SHA-2 (SHA-224/256/384/512)224 bis 512 BitAktueller Standard; SHA-256 ist am weitesten verbreitet. Sicher.
SHA-3 (SHA3-256/384/512)224 bis 512 BitAlternative zu SHA-2, anderes internes Design (Keccak). Sicher.

SHA-1 (veraltet)

SHA-1, eingeführt 1993, war der ursprüngliche sichere Hash-Algorithmus und erzeugte einen 160-Bit-Hashwert. Dieser ist nach heutigen Maßstäben zu kurz, wodurch Kollisionsangriffe (das Finden zweier unterschiedlicher Eingaben, die denselben Hashwert erzeugen) zunehmend möglich wurden. 2017 demonstrierten Forscher von Google und CWI im wegweisenden SHAttered-Angriff eine praktische SHA-1-Kollision und bestätigten damit die Sicherheitslücke von SHA-1. Der Algorithmus ist daher veraltet und darf nicht mehr für Sicherheitszwecke verwendet werden.

SHA-2 (der aktuelle Standard)

SHA-2 ist der aktuelle Industriestandard und bietet eine Reihe von Hashwertlängen von 224 bis 512 Bit, wobei SHA-256 am weitesten verbreitet ist. Dank seiner größeren Hashwerte sind Kollisionen und Brute-Force-Angriffe mit der aktuellen Technologie praktisch unmöglich. Seit 2016 ist SHA-2 für alle öffentlich vertrauenswürdigen digitalen Zertifikate und Signaturen vorgeschrieben. Die Umstellung der Branche von SHA-1 auf SHA-2 dauerte Jahre, da sie die Aktualisierung bestehender Systeme, den Austausch von Zertifikaten und die Neukonfiguration von Protokollen erforderte. SHA-256 ist heute jedoch der Standard für SSL/TLS-Zertifikate und digitale Signaturen.

SHA-3 (die moderne Alternative)

SHA-3, 2015 vom NIST standardisiert, ist kein Ersatz für SHA-2, sondern eine Alternative, die auf einem völlig anderen internen Design (der Keccak-Schwammkonstruktion) basiert. Durch diese abweichende Funktionsweise bietet sie eine Absicherung: Sollte jemals eine strukturelle Schwachstelle in SHA-2 entdeckt werden, bliebe SHA-3 davon unberührt. Bei ihrer Veröffentlichung fand SHA-3 keine breite Akzeptanz, da die meisten Organisationen noch von SHA-1 auf SHA-2 umstellten und SHA-2 weiterhin als sicher galt. SHA-3 kann in Software langsamer sein, ist aber in Hardware effizient. Sowohl SHA-2 als auch SHA-3 gelten heute als sicher.

Wozu wird SHA verwendet?

SHA findet in der modernen Sicherheitstechnik breite Anwendung, meist im Hintergrund. Hauptanwendungsgebiete:

  • Digitale Signaturen und Zertifikate: SHA-2 ist für alle TLS/SSL-Zertifikate und digitalen Signaturen erforderlich. Die Daten werden gehasht, und der Hashwert wird signiert. Dies ist schneller und sicherer als die Signierung der gesamten Nachricht.
  • Datenintegrität: Der Hashwert einer Datei fungiert als Fingerabdruck. Verändert sich die Datei während der Übertragung oder Speicherung, stimmt ihr Hashwert nicht mehr mit dem Original überein, wodurch Manipulationen oder Beschädigungen aufgedeckt werden.
  • Passwortspeicherung: Systeme speichern den Hash eines Passworts, nicht das Passwort selbst. Beim Login wird das eingegebene Passwort gehasht und verglichen. Wird die Datenbank gestohlen, erhalten Angreifer Hashes, keine nutzbaren Passwörter (insbesondere nicht, wenn diese mit einem Salt versehen sind).
  • Sichere Protokolle: SSH, S/MIME und IPsec verwenden alle SHA-Funktionen als Teil ihrer Sicherheitsvorkehrungen.
  • Blockchain: SHA-256 ist zentral für Bitcoin, wo es den Mining-Prozess sichert und Blöcke in der Kette miteinander verbindet.

Warum SHA verwenden?

  • Widerstand gegen Angriffe: Ein mit SHA-2 gehashtes Passwort kann Jahre oder Jahrzehnte lang per Brute-Force-Angriff geknackt werden, was Angreifer abschreckt und gespeicherte Zugangsdaten schützt.
  • Einzigartigkeit (Kollisionsresistenz): Bei SHA-2 erzeugen unterschiedliche Eingaben in der Praxis unterschiedliche Hashwerte, sodass es kein Muster gibt, das ein Angreifer ausnutzen könnte.
  • Integritätsprüfung: Jede noch so kleine Änderung der Daten erzeugt einen völlig anderen Hashwert, wodurch Manipulationen leicht erkennbar werden.
  • Determinismus und Geschwindigkeit: Derselbe Input wird immer schnell zum selben Hashwert verarbeitet, daher ist die Verifizierung effizient und zuverlässig.

SHA und der Übergang nach der Quantenphysik

Im Gegensatz zu den Public-Key-Algorithmen RSA und ECC sind Hashfunktionen relativ resistent gegenüber Quantencomputern. Der relevante Quantenangriff (Grovers Algorithmus) führt lediglich zu einer quadratischen Beschleunigung und halbiert somit effektiv das Sicherheitsniveau eines Hashwerts, anstatt ihn vollständig zu brechen. In der Praxis bedeutet dies, dass SHA-256 und höhere Sicherheitsstufen sicher bleiben, während SHA-384 und höhere für höchste Sicherheit und langfristige Anwendungen empfohlen werden. Hashfunktionen spielen auch in der Post-Quanten-Kryptographie eine direkte Rolle : Der NIST-Standard SLH-DSA (FIPS 205) und die zustandsbehafteten Verfahren LMS und XMSS erstellen digitale Signaturen vollständig aus Hashfunktionen, gerade weil das Hashing so gut verstanden und quantenresistent ist.

Maßgeschneiderte Verschlüsselungsdienste

Wir bewerten, entwickeln Strategien und implementieren Verschlüsselungsstrategien und -lösungen.

Wie Verschlüsselungsberatung hilft

Die Verwendung geeigneter Hash-Funktionen und die Abschaffung schwacher Algorithmen wie SHA-1 und MD5 sind wesentliche Bestandteile einer soliden kryptografischen Sicherheitsstrategie. Die Verschlüsselungsberatungsdienste von Encryption Consulting unterstützen Unternehmen bei der Analyse ihrer Hash-Nutzung, der Identifizierung veralteter Algorithmen und der Angleichung ihrer Hash-, Signatur- und Zertifizierungspraktiken an die Richtlinien von NIST und FIPS , einschließlich der Vorbereitung auf den Übergang zur Post-Quanten-Verschlüsselung. Die Beratung basiert auf ISO/IEC 27001:2022- und SOC 2-zertifizierten Verfahren.

Häufig gestellte Fragen

Was ist SHA?

SHA (Secure Hash Algorithm) ist eine Familie kryptografischer Hashfunktionen, die Daten beliebiger Größe in einen Hashwert fester Länge, den sogenannten Hashwert, umwandeln. Der Hashwert ist unidirektional, d. h. er kann nicht in die ursprünglichen Daten zurückverwandelt werden, und es wird kein Schlüssel benötigt. SHA dient der Überprüfung der Datenintegrität, der sicheren Speicherung von Passwörtern sowie der Erstellung digitaler Signaturen und Zertifikate. SHA-256 ist die am weitesten verbreitete Version.

Wofür wird SHA verwendet?

SHA wird für verschiedene Sicherheitszwecke eingesetzt: zur Überprüfung der Datenintegrität (der Hash einer Datei zeigt an, ob sie geändert wurde), zur sicheren Speicherung von Passwörtern (Systeme speichern den Hash, nicht das Passwort) und zur Sicherung digitaler Signaturen und Zertifikate (die Daten werden gehasht und der Hash signiert). SHA ist für alle öffentlich vertrauenswürdigen TLS/SSL-Zertifikate erforderlich, wird in sicheren Protokollen wie SSH und IPsec verwendet und ist zentral für Blockchain-Systeme wie Bitcoin.

Ist SHA-Verschlüsselung?

Nein. SHA ist eine Hash-Funktion, keine Verschlüsselung. Verschlüsselung ist bidirektional und verwendet einen Schlüssel, sodass verschlüsselte Daten mit dem richtigen Schlüssel wieder entschlüsselt werden können. Hashing hingegen ist unidirektional und schlüssellos: Sobald Daten gehasht wurden, kann der Hashwert nicht mehr in die ursprünglichen Daten zurückverwandelt werden. Die einzige Möglichkeit, die ursprünglichen Daten hinter einem Hashwert zu ermitteln, besteht darin, die Eingaben zu erraten und zu testen. Aus diesem Grund wird Hashing für Integritätsprüfungen und die Speicherung von Passwörtern verwendet, wo die Wiederherstellung der ursprünglichen Daten nicht erforderlich ist.

Ist SHA-1 noch sicher?

Nein. SHA-1 ist unsicher und veraltet. Sein 160-Bit-Hashwert ist zu kurz, wodurch Kollisionsangriffe (zwei unterschiedliche Eingaben, die denselben Hashwert erzeugen) möglich wurden. 2017 demonstrierten Forscher von Google und CWI eine praktische Kollision im Rahmen des SHAttered-Angriffs und bestätigten damit die Unsicherheit von SHA-1. Es darf nicht für Sicherheitszwecke verwendet werden. SHA-2 (wie z. B. SHA-256) ist der aktuelle Standard, und SHA-3 ist eine sichere Alternative.

Worin besteht der Unterschied zwischen SHA-1, SHA-2 und SHA-3?

SHA-1 ist der ursprüngliche 160-Bit-Algorithmus, der mittlerweile als unsicher gilt und nicht mehr verwendet wird. SHA-2 ist der aktuelle Standard und bietet Hash-Längen von 224 bis 512 Bit (SHA-256 ist am weitesten verbreitet). SHA-2 gilt als sicher. SHA-3, standardisiert im Jahr 2015, ist eine sichere Alternative, die auf einem völlig anderen internen Design (Keccak) basiert und eine Absicherung bietet, falls in SHA-2 eine Schwachstelle entdeckt werden sollte. Sowohl SHA-2 als auch SHA-3 gelten heute als sicher; SHA-1 hingegen nicht.

Ist SHA sicher gegen Quantencomputer?

Im Großen und Ganzen ja. Hashfunktionen sind deutlich resistenter gegen Quantenangriffe als Public-Key-Algorithmen wie RSA. Der relevante Quantenangriff, Grovers Algorithmus, halbiert die effektive Sicherheit eines Hashwerts lediglich, anstatt ihn zu brechen. Daher bleiben SHA-256 und höhere Sicherheitsstufen sicher, wobei SHA-384 und höhere für langfristige Sicherheit empfohlen werden. Hashing genießt so hohes Vertrauen, dass Post-Quanten-Signaturstandards wie SLH-DSA (FIPS 205) sowie die LMS- und XMSS-Verfahren vollständig auf Hashfunktionen basieren.

Verbessern Sie Ihre Hashing- und Zertifizierungspraktiken

Die Verwendung aktueller Hash-Funktionen und die Ablösung schwacher Funktionen ist eine kleine Änderung mit großem Sicherheitsgewinn. Nutzen Sie die Beratungsleistungen von Encryption Consulting im Bereich Verschlüsselung , um Ihre Hash-, Signierungs- und Zertifikatspraktiken anhand aktueller Standards zu überprüfen.