Redirecting you to
Blog-Beitrag Juli 07, 2021

Was ist SHA-Verschlüsselung? SHA-1 vs. SHA-2

Bösartige Websites sind darauf ausgelegt, Benutzer auszunutzen und persönliche oder finanzielle Informationen zu stehlen. Hacker setzen Techniken wie Drive-by-Downloads, JavaScript-Malware, Malvertising und Phishing ein, um Ihr System zu kompromittieren, oft ohne Ihr Wissen. Diese Bedrohungen unterstreichen die Bedeutung sicherer Surfgewohnheiten und robuster Sicherheitsmaßnahmen für Websites. Tools wie SiteLock Website Security können sowohl Benutzer als auch Website-Eigentümer vor Cyberangriffen schützen.

Inhaltsverzeichnis

Was ist eine SHA-Verschlüsselung?

Die Secure Hash Algorithms (SHA) sind eine Familie kryptografischer Hash-Funktionen, die vom National Institute of Standards and Technology (NIST) als U.S. Federal Information Processing Standard (FIPS) veröffentlicht wurden. SHA-Verschlüsselungen werden für eine Vielzahl von Methoden verwendet, darunter zum Hashen von Daten, Zertifikaten und für andere kryptografische Zwecke, z. B. in Kryptowährungen wie Bitcoin. Diese Hashing-Algorithmen tragen dazu bei, das Rückgrat der modernen Internetinfrastruktur zu sichern.

Die gebräuchlichsten SHA-Funktionsfamilien, denen Sie begegnen werden, sind SHA-1 und SHA-2:

SHA-1 ist eine 160-Bit-Hash-Funktion, die aus der Arbeit am MD5-Algorithmus hervorgegangen ist. Ursprünglich wurde der SHA-1-Hash von der National Security Agency (NSA) als Teil ihres Digital Signature Algorithm entwickelt. Allerdings wurden bei SHA-1 kryptografische Schwachstellen entdeckt, sodass der Standard nach 2010 für die meisten kryptografischen Anwendungen nicht mehr zugelassen war. Da SHA-1 nicht mehr den heutigen Cybersicherheitsstandards entspricht, ist SHA-2 zur am häufigsten verwendeten SHA-Funktion geworden.

SHA-2 wurde kurz nach der Entdeckung kostengünstiger Brute-Force-Angriffe gegen SHA-1 entwickelt. Es handelt sich um eine Familie von zwei ähnlichen Hash-Funktionen mit unterschiedlichen Blockgrößen, die als SHA-256 und SHA-512 bekannt sind. Der Hauptunterschied zwischen SHA-256 und SHA-512 ist die Wortgröße; SHA-256 verwendet 32-Byte-Wörter, während SHA-512 64-Byte-Wörter verwendet. Es gibt auch modifizierte Versionen jedes Standards, die als SHA-224, SHA-384, SHA-512/224 und SHA-512/256 bekannt sind. Die heute am häufigsten verwendete SHA-Funktion ist SHA-256, die auf aktuellen Computern einen hohen Schutz bietet. SHA-2 hat eine Merkle-Damgård-Struktur mit Davies-Meyer-Komprimierungsfunktion.

Neben diesen bekannteren Optionen gibt es zwei weitere SHA-Variantenfamilien, auf die Sie möglicherweise stoßen werden, SHA-0 und SHA-3:

SHA-0 ist die Grundversion der 160 Bit oder 20 Byte langen Hash-Funktion, die 1993 unter dem Namen SHA-Algorithmus veröffentlicht wurde. Die Verwendung der Hash-Funktion wurde kurz nach ihrer Veröffentlichung eingestellt, da ein schwerwiegender Fehler entdeckt wurde. Nach der Weiterentwicklung der zugrunde liegenden Theorie kam SHA-1 zum Einsatz.

SHA-3 ist die SHA-Verschlüsselungstechnik, die derzeit am schnellsten wächst. Sie unterscheidet sich von anderen SHAs durch die Verwendung von Keccak, einer kürzlich entwickelten Hash-Funktion. Die unterstützte Länge ist dieselbe wie bei SHA-2, es bestehen jedoch weiterhin erhebliche Unterschiede. Was SHA-3 von anderen unterscheidet, ist seine Gesamtstruktur, da es auf einer Vielzahl von Zufallsfunktionsgenerierungen basiert, die in der Regel alle zufälligen Permutationen unterstützen und so die Eingabe oder Absorption, wie es genannt wird, jeder beliebigen Menge an präsentierten Daten und die Ausgabe oder Komprimierung der präsentierten Daten ermöglichen. Dadurch wird eine Ausgabe erzeugt, die effektiv pseudozufällig und theoretisch sicherer ist.

SHA-1 vs. SHA-2: Was ist der Unterschied?

Der Unterschied zwischen SHA-1 und SHA-2 liegt in der „Länge“ oder der „Anzahl der Bits“, die der Message Digest (Hash-Inhalt) für eine bestimmte Eingabe enthält. Je mehr Bits der Digest hat, desto schwieriger ist es, ihn mit der Brute-Force-Taktik zu knacken, die die Entwicklung über SHA-1 hinaus vorangetrieben hat. SHA-2 erzeugt einen 256-Bit-Digest, während die SHA-1-Funktion für dieselbe Eingabe einen 160-Bit-Digest erzeugt. Aufgrund dieses Unterschieds bietet SHA-1 eine schwächere Sicherheit, da es manchmal denselben Digest für zwei verschiedene Datenwerte liefert, während SHA-2 für jeden Datenwert einen eindeutigen Digest erzeugt, da eine große Anzahl von Kombinationen möglich ist (2^256 mögliche Kombinationen für eine 256-Bit-Funktion).

Wie wird die SHA-Verschlüsselung eingesetzt?

SHAs werden häufig in Sicherheitsprotokollen und -anwendungen eingesetzt, darunter Transport Layer Security (TLS), Secure Socket Layer (SSL), digitale Signaturen, S/MIME-Zertifikate für E-Mails, PGP und IPsec. Diese Art der Verschlüsselung ist für bestimmte Anwendungen der US-Regierung, wie den Schutz sensibler Daten, oft gesetzlich vorgeschrieben. Und Browser-Anbieter wie Google, Microsoft oder Mozilla empfehlen inzwischen die Verwendung von SHA-3 und raten von der Verwendung des SHA-1-Algorithmus ab.

Eine der wichtigsten Anwendungen für SHA-Algorithmen ist die Verwendung im SSL/TLS-Protokoll, da sie als Hashing-Algorithmus für digitale Signaturen verwendet werden.

SSL und TLS sind kryptografische Protokolle, die einen sicheren Kommunikationskanal zwischen Clients und Servern über das Internet bereitstellen. TLS/SSL-Zertifikate sind eine Art X.509-Zertifikat, das zur Validierung der Identität eines Servers gegenüber einem Browser verwendet wird.

Diese Art von Zertifikat dient nicht nur der Authentifizierung, sondern auch der Feststellung der Identität des Remote-Servers, mit dem der Client-Browser kommuniziert. Es enthält die Details des Webservers und die damit verbundenen Schlüsseldateien. Zertifikate müssen die DNS-Informationen enthalten und dürfen nicht abgelaufen sein, um ordnungsgemäß akzeptiert zu werden und eine SSL/TLS-Sitzung ohne Sicherheitsfehler zu erstellen.

Wie funktioniert die SHA-Verschlüsselung?

SHA ist, wie der Name schon sagt, ein Hashing-Algorithmus. Jedes Datenelement, das durch den Algorithmus läuft, erzeugt einen eindeutigen Hash, der von keinem anderen Datenelement dupliziert werden kann. Die daraus resultierende digitale Signatur ist ebenfalls eindeutig, da sie von dem Hash abhängt, der aus den Daten generiert wird. Für die eigentliche Kommunikation wird eine symmetrische Kryptografie verwendet, bei der derselbe Schlüssel, der die Daten hasht oder verschlüsselt, auch zur Entschlüsselung verwendet wird. Dies ermöglicht die Offenlegung des öffentlichen Schlüssels, ohne den privaten Schlüssel zu kompromittieren.

Die meisten Hash-Algorithmen basieren auf dem ursprünglichen MD4-Hash-Algorithmus und weisen daher eine ähnliche Funktionsweise auf.

Der grundlegende Prozess hinter jeder Art von Hashing besteht darin, die Eingabe oder die ursprüngliche Nachricht in Binärdaten umzuwandeln und dann eine Reihe einfacher Funktionen auszuführen, die über grundlegende Standard-Transistor- und Busprozesse wie UND, XOR, NICHT, Rotieren und ODER arbeiten. Der resultierende Hash-Wert ist eine Hexadezimalzahl, die zwar eindeutig, aber bedeutungslos ist. Dass diese einfachen Funktionen ausgeführt werden müssen, um eine Dateneingabe ordnungsgemäß zu hashen, ist einer der Gründe, warum anwendungsspezifische Chips (ASICS) entwickelt werden können, die das Hashing optimieren.

Im Fall des SHA-256-Hashings wurden neu entwickelte Chips speziell dafür entwickelt, die Geschwindigkeit der Erstellung eines Hashs aus einer Eingabe zu erhöhen. Im Anwendungsfall des Bitcoin-Mining bedeutet dies, dass Sie mehr Hashes pro Sekunde berechnen können, was die Chance erhöht, die Belohnung für das Mining zu erhalten.

Ist SHA sicher?

SHA-1 (Secure Hash Algorithm 1) stammt aus dem Jahr 1995 und ist seit 2005 dafür bekannt, anfällig für theoretische Angriffe zu sein. Das U.S. National Institute of Standards and Technology hat die Verwendung von SHA-1 durch US-Bundesbehörden seit 2010 verboten, und digitale Zertifizierungsstellen dürfen seit dem 1. Januar 2016 keine mit SHA-1 signierten Zertifikate mehr ausstellen, obwohl einige Ausnahmen gemacht wurden.

Trotz dieser Bemühungen, die Verwendung von SHA-1 in einigen Bereichen einzustellen, wird der Algorithmus immer noch recht häufig in einer Vielzahl von Bereichen eingesetzt, darunter die Validierung von:

  • Kreditkartentransaktionen
  • elektronischen Dokumenten
  • E-Mail-PGP/GPG-Signaturen
  • Open-Source-Software-Repositories
  • Backups
  • Software-Updates

Diese Ausnahmen stellen ein erhöhtes Risiko für die Offenlegung dar, sodass erheblicher Druck ausgeübt wurde, sie schließlich auf einen sichereren Standard umzustellen. Viele Browser, wie z. B. Google Chrome, haben damit begonnen, SHA-1-signierte Zertifikate für Besucher als unsicher zu markieren.

SHAs sind per Definition sicher. Das mit jedem Typ verbundene Sicherheitsniveau hat sich jedoch im Laufe der Zeit erhöht, da eine neue Iteration entwickelt wurde. Wie bereits erwähnt, weist SHA-0 mehr Schwachstellen auf als SHA-1, das wiederum mehr Schwachstellen aufweist als SHA-2. Dieser Trend wird sich in Zukunft fortsetzen, da der Wettlauf zwischen Angreifern und Verteidigern sensibler Daten weitergeht.

Welchen SHA sollte ich verwenden?

Um die Verschlüsselung Ihrer Benutzer zu schützen, sollten Sie immer den SHA verwenden, der für das Projekt, an dem Sie arbeiten, am besten geeignet ist. Heutzutage stammen diese höchstwahrscheinlich aus der SHA-2-Familie, aber es gibt Anwendungsfälle für die meisten Typen. Nicht alle SHA-Zertifikate sind mit jedem Server kompatibel. Daher ist es für die Schaffung einer sicheren Umgebung unerlässlich, nicht nur die Anforderungen Ihres Anwendungsfalls, sondern auch Ihre Ausrüstung zu kennen.

Die Produktversionen verschiedener gängiger Server, die mit digitalen SHA-2-Zertifikaten kompatibel sein müssen, finden Sie unten:

  • Apache Server: 2.0.63+
  • IBM HTTP Server: 8.5 (im Paket mit Domino 9)
  • Java-basierte Produkte: Java 1.4.2+
  • Mozilla: NSS-basierte Produkte 3.8+
  • Oracle WebLogic: 10.3.1+

Wie bereits erwähnt, ist SHA-256 derzeit die am häufigsten verwendete SHA-Funktion. Mit fortschreitender Computerverarbeitung wird SHA-256 jedoch anfälliger für Angriffe, ähnlich wie seine Vorgängerversionen. Wenn Sie sich über die neuesten Aktualisierungen der Secure Hash Algorithms informieren, können Sie Daten am besten ohne Risiko verschlüsseln.

Nachdem Sie nun mit der SHA-Verschlüsselung vertraut sind, kontaktieren Sie uns noch heute, um mehr darüber zu erfahren, wie unsere Produkte Ihre Website vor Sicherheitsbedrohungen schützen können.