?>
Was ist ein Hash?
Author
Robin Laufenburg, Di, 4. Jan. 2022
in IT-Sicherheit

Was ist ein Hash?

Grundlagen zur kryptografischen Hashfunktion

Der kryptografische Hash sorgt mit dafür, dass Ihre Daten im Netz sicher sind. Natürlich müssen Sie nicht unbedingt wissen, wie er genau funktioniert oder was eine Hashfunktion ist.

Dennoch kann es durchaus hilfreich sein, einen Überblick über das Themengebiet zu haben und Angriffe sowie IT-Schutzmaßnahmen besser verstehen zu können.

Was ist ein Hash, was ist eine Hashfunktion?

Der Begriff Hash (englisch für „Gehacktes“) kommt unter anderem aus der Kochkunst und bedeutet dort in etwa so viel wie „kleinhacken und mischen“. Und das beschreibt auch schon gut, was den Hash und die Hashfunktion als kryptografische Konzepte ausmacht.

Bei einem solchen Hash oder Hashwert handelt es sich erst einmal um das Produkt der sogenannten Hashfunktion. Das ist der Prozess der Datenverarbeitung, also übertragen der Akt des Kleinhackens und Mischens. Bei der Hashfunktion handelt es sich um einen Typ von Algorithmus, der aus einem String (beliebig langen Datentext) einen Hashwert (Datentext mit fester Länge) errechnet.

Hashfunktion

Schematische Darstellung der Hashfunktion, die aus einem String einen Hashwert generiert. Bild: Montage PC-SPEZIALIST

Die kryptografische Hashfunktion

Bei dem String, also dem beliebig langen Datentext kann es sich um eine Blockchain, also um eine kontinuierlich erweiterbare Liste von Datensätzen handeln. Kryptografische Hashfunktionen übernehmen im ersten Schritt, quasi beim Kleinhacken, immer erst einmal das Kürzen (oder deutlich seltener auch das Erweitern) von diesem auf die genau festgelegte Zeichenlänge.

Der Hashwert kann dabei zum Beispiel als hexadezimale Zeichenkette codiert werden. Das bedeutet, dass der Hashwert aus einer Zahlen und Buchstaben-Kombination zwischen 0 und 9 sowie A bis F (für die Zahlen 10 bis 15) besteht. Auf diese Weise könnte ein Hashcode mit zehn Hexadezimalzeichen beispielsweise „A82E733B4D“ sein.

Erst im nächsten Schritt mischt die kryptografische Hashfunktion die Zeichen nach einem bestimmten Schlüssel. Mit ihm kann man aus dem Hash den entsprechenden String schnell und eindeutig berechnen. Ohne den Schlüssel ist der Hashwert aber nicht zurückzuübersetzen, sie bleibt also kryptisch.

Eigenschaften der kryptografischen Hashfunktion

Kryptografische Hashfunktionen zeichnen sich durch verschiedene Eigenschaften aus. Dabei sind drei wesentliche an die Ver- und Entschlüsselung gekoppelte Eigenschaften hervorzuheben, die für den Einsatz von kryptografischen Hashwerten eigentlich immer relevant sind:

  • Eine wichtige Eigenschaft der Hashfunktion ist die Nichtreproduzierbarkeit des ursprünglichen Klartextes aus dem Hashwert ohne Schlüssel. Ein Hash darf ohne Berechtigung, also Schlüssel, nicht reproduzierbar sein. Gleichzeitig darf er aber auch keine Rückschlüsse auf den entsprechenden String zulassen. Das bedeutet also, dass eine Entschlüsselung des Hashes stets an den entsprechenden Schlüssel bzw. die benötigte Berechtigung gebunden sein muss.
  • Als sogenannte Puzzle-Eignung bezeichnet man den faktisch gegebenen Aufwand, einen Klartext, also String, zu erstellen, mit dem man ermittelt, welcher String hinter einem vorliegenden Hashwert steckt. Es darf für eine ideale Puzzle-Eignung keine bessere Lösungsstrategie geben, als Eingabewerte zufällig durchzuprobieren. Für das sogenannte Crypto-Mining, also das Abschürfen von von Bitcoin & Co., ist vor allem die Puzzle-Eignung des kryptografischen Hashes relevant. Wie Mining-Rechner funktionieren und wie sie Hashes nutzen, erfahren Sie in unserem Blog.
  • Eine sogenannten Kollision gibt es, wenn ähnliche Eingabewerte wie fast identische Datensätze mit dem gleichen Hashwert berechnet werden. Da die Eingabemenge beliebig groß, der Ausgabewert aber endlich ist, gibt es unweigerlich Kollisionen. Als Kollisionsfestigkeit bzw. Kollisionsresistenz bezeichnet man aber die Eigenschaft, dass solche Kollisionen beim Einsatz einer Hashfunktion äußerst unwahrscheinlich bzw. nahezu unmöglich sind.

Je nachdem, welche Funktion ein Hashwert also genau hat, unterscheidet sich die Ausprägung bestimmter Eigenschaften. Hashfunktionen reduzieren in jedem Fall eine unbestimmt Datenmenge auf eine stringent überschaubare Zeichenfolge. Auch codieren kryptografische Hashfunktionen die Hashwerte stets mit einem Schlüssel, mit dem sie recodiert werden können. Damit lässt der Einsatz von Hashfunktionen verschiedene Möglichkeiten der Anwendung zu. Die Eigenschaften von Hashes variieren je nach Anwendungsbereich.

Digitale Signatur

Hashfunktionen werden am häufigsten für die Erstellung von digitale Signaturen eingesetzt. Bild: Pexels/PAnthonyShkraba

Digitale Signaturen und Hashes

Vor allem aufgrund von Kollisionsfestigkeit kann man mit der Hashfunktion einen sogenannten „elektronischer Fingerabdruck“ berechnen. Er bestätigt – wie ein biologischer Fingerabdruck – eine Identität möglichst präzise.

Dadurch wird die digitale Signatur (quasi als Pendant zur handschriftlichen Unterschrift oder als Stempel des physischen Fingerabdrucks) sicher. Kryptografische Hashfunktionen werden heute vor allem zur Generierung von digitalen Signaturen eingesetzt. Bei der Erstellung von digitalen Signaturen werden Hashfunktionen dazu verwendet, elektronische Fingerabdrücke von Nachrichten zu berechnen. Der Fingerabdruck wird zusammen mit der Nachricht an den Empfänger als Nachweis der angegebenen Integrität geschickt.

Wichtig: Wird eine Hashfunkton eingesetzt, um eine digitale Signatur zu erzeugen, wird damit nicht die Nachricht verschlüsselt, sondern die Integrität der Nachricht verifiziert. Ist die Nachricht vertraulich bzw. sind in dieser personenbezogene Daten enthalten, sollte sie zusätzlich verschlüsselt werden.

Prüfsummen und Hashes

Ein ähnlicher aber deutlich seltenerer Einsatzbereich von Hashfunktionen ist die Generierung von Prüfsummen. Sogenannte Prüfsummen können unter anderem ein Nachweis für die Echtheit von Programmen, die digital oder als physischer Datenträger erworben werden, eingesetzt werden. Nachgemachte oder gefälschte Programme sind nämlich seit jeher in Umlauf und beinhalten oft auch sogenannte Bloatware oder sogar Schadsoftware wie Adware.

In Form von Prüfsummen stellen Hersteller Hashwerte bereit, bei denen es sich quasi um digitale Fingerabdrücke von Programmen handelt. Beim Kauf bekommt man normalerweise entsprechende Hashes zur Verfügung gestellt und kann einen eigen generierten Hash mit dem der Original-Software abgleichen. Unterscheiden sich beide Werte bzw. weichen sie voneinander ab, weist das darauf hin, dass eine manipulierte Softwareversion im Einsatz ist.

Datenverschlüsselung

Hashfunktionen werden auch für die effiziente Datenverschlüsselung eingesetzt. Bild: Pexels/cottonbro

Datenverschlüsselungen und Hashes

Hashfunktionen können auch dafür eingesetzt werden, Datenstrukturen wie beispielsweise Passwörter effizient zu verschlüsseln. Passwörter sollen nie unverschlüsselt gespeichert werden, damit sie bei einem Cyberangriff wie zum Beispiel einer perfiden Attacke mittels Spyware nicht in Klartext angezeigt werden.

Sensible Daten wie Passwörter werden dabei mittels einer Hashfunktion in entsprechende Hashwerte umgewandelt. Nur diese Hashwerte werden gespeichert, nicht aber die „echten“ Passwörter oder andere sensible Datentexte. Wenn ein Benutzer sein Passwort eingibt, wird es bei der Eingabe durch den Schlüssel der Hashfunktion rückübersetzt und mit dem gespeicherten Hashwert verglichen. Wenn beide Strings übereinstimmen, gilt der Benutzer als authentifiziert.

Exkurs: Einsatz von Hashtabellen

Für die Verschlüsselung von Daten wie Passwörtern werden in der Regel sogenannte Hashtabellen eingesetzt. Datentexte, die man mithilfe der entsprechenden Funktion codiert, sind in der Tabelle als entsprechende indexierte Hashwerte bzw. Indexe eingetragen. Das Ausführen einer Hashfunktion ist schneller, als das Suchen in einer Tabelle, und so können die Hashfunktionen bei entsprechender Zugriffsbestätigung auch die Indexe zu Datentexten ganz einfach rückübersetzen.

Die Hashfunktionen, die bei der Datenverschlüsselung eingesetzt werden, haben jedoch andere Eigenschaften, als kryptografische. Da eine entsprechende Tabelle nur eine begrenzte Länge aufweisen kann, muss sie potenziell verschiedene Datentexte für die gleiche Indexposition abbilden. Der Hash muss ein Ausweichverfahren besitzen, also Daten in zusätzliche Listen auslagern oder sie auf andere Positionen in der Tabelle verschieben.

Entschlüsselte Hashfunktionen

Entschlüsselte Hashfunktionen werden nicht selten im Darknet veröffentlicht. Bild: Pexels/MatiMango

Entschlüsselte Hashfunktionen

Natürlich ist eine Grundvoraussetzung für den Einsatz von Hashfunktionen, dass die verwendeten Hashfunktionen auf dem neusten Stand der Technik und die entsprechenden Schlüssel noch nicht bekannt sind. In einer inoffiziellen Liste mit dem abstrusen Namen Hash Function Zoo sind alle teilweise oder vollständig bekannten Algorithmen aufgeführt.

Die meisten etablierten Hashfunktionen liegen dabei mehr oder weniger offen und sind so früher oder später rekonstruierbar. Das hat zur Folge, dass Cyberkriminelle immer mehr der Algorithmen vollständig entschlüsseln. Die entsprechenden Schlüssel machen sie dabei oft öffentlich bekannt oder verkaufen sie im Darknet. Sogenannte Hashgeneratoren wandeln mit Hilfe von sogenannten Regenbogentabellen Strings in entsprechende Hashes um, übersetzen sie also quasi in die Sprache bestimmter Hashfunktionen. Genauso können die meisten Hashgeneratoren aber auch aus Hashwerten wieder die ursprünglichen Texte erstellen. Hierdurch geht die Geheimsprachfunktion der Hashes verloren.

Datenleaks durch entschlüsselte Hashfunktionen

Zu bereits bekannten Hashfunktionen gehören auch bis heute noch beliebte kryptographische Hash-Algorithmen wie MD4, MD5, MD2, LASH-n, SHA-0, SHA-1 und Tiger. Umso erschreckender ist es, dass diese immer noch rigoros eingesetzt werden:

Bei einem Hack auf Gravatar wurden im Dezember 2021 fast 114 Millionen Nutzerdaten veröffentlicht. Die Daten waren mit dem heute vollständig bekannten Hashalgorithmus MD5 verschlüsselt. Die öffentliche Hashfunktion MD5 kann dabei sogar auf Websites wie www.md5online.org ohne großes Vorwissen codiert und decodiert werden, sie sollte also nicht für die Datenverschlüsselung eingesetzt werden.

Und das ist nur eins von vielen Beispielen. Unter anderem wurden bei einem Hack auf LinkedIn im Juli 2021 insgesamt 700 Millionen Profildaten veröffentlicht, von LinkedIn wurden Daten mittels der zu dieser Zeit bereits bekannten SHA1-Hashfunktion verschlüsselt.

Hashfunktionen einsetzen

Wenn Sie Hashfunktionen einsetzen, sollten Sie sichergehen, dass diese möglichst aktuell und noch nicht entschlüsselt sind. Bild: Pexels/MatiMango

Wichtig: Hashes sind kein Alleinschutz

Öffentlich unbekannte Hashfunktionen bieten einen großmöglichen Schutz vor Brute-Force-Angriffen bzw. vor Wörterbuchangriffen, die versuchen, durch zufällige Eingaben einen Hashwert zu „erraten“. Gleichzeitig sind entsprechende Angriffe dann, wenn die Hashfunktionen öffentlich bekannt sind, aber besonders erfolgreich. Angreifer können dann nämlich mit dem Algorithmus beliebte Passwortlisten hashen und testen.

Es ist deswegen unbedingt notwendig, dass Sie beim Einsatz von Hashfunktionen immer darauf achten, dass sie hochaktuell und entsprechende Verschlüsselungen noch komplett unbekannt sind. Auch sollte Ihnen unbedingt klar sein, dass der Einsatz von Hashes sichere Passwörter nicht ersetzt. Denn gerade dann, wenn Angreifer Zugriff auf Ihre Datenbank mit gehashten Passwörtern erlangen, sind Passwörter wie „123456“ besonders einfach zu decodieren und ermöglichen Hackern unter Umständen sogar noch die Entschlüsselung weiterer Codes.

Neben Hashing sollten Sie für Ihre umfassende Sicherheit auch eine Zwei-Faktor-Authentifizierung (2FA) einrichten. Hierbei können neben herkömmlichen codebasierten Passwörtern beispielsweise auch biometrische Daten geprüft werden.

Professionelle IT-Sicherheit

PC-SPEZIALIST ist der geeignete Ansprechpartner, wenn es um die professionelle IT-Sicherheit von Privatpersonen und Kleinunternehmen geht. Als sogenannter Managed-Services-Provider agiert er dabei aber nicht nur als „Feuerwehr“, die ausrückt, wenn Ihre Geräte kaputt oder Ihre Accounts gehackt sind, sondern steht Ihnen stets kompetent bei, damit dies gar nicht erst passiert:

  • Für Privatpersonen bietet sich das Eins-für-Alles-Paket von PC-SPEZIALIST an. Nutzen Sie das digitale Grundschutzpaket für Ihren privaten Rechner oder Ihr Notebook und bleiben Sie immer optimal geschützt. Bestandteil des Eins-für-Alles-Pakets ist dabei unter anderem der kontrollierte Antivirenschutz, der verhindert, dass Hacker auf Ihr System gelangen. Mit dem kontinuierlich ausgeführten Patch-Management geht PC-SPEZIALIST sicher, dass Ihre Programme stets auf dem aktuellen Stand laufen.
  • Für Kleinunternehmen bietet sich der IT-Basisschutzes von PC-SPEZIALIST an. Besonders kleinere Firmen sollten Firmenrechner, Diensthandys und andere Geräte immer optimal schützen. Auch hier ist das Patch-Management ein zentraler Bestandteil. Aber auch Managed Antivirus und Hardware-Firewall sind standardisierte Bestandteile vom IT-Basisschutz. Zum IT-Basisschutz lassen sich weitere Sicherheitsservices wie zum Beispiel die bewährten E-Mail-Services dazu buchen.

Benötigen Sie eine digitale Signatur für Ihre E-Mails oder Ihre papierlosen Dokumente? Auch dann ist PC-SPEZIALIST der geeignete Ansprechpartner für Sie! Wenn Sie noch Fragen oder Unklarheiten zum Thema Hashing, zur Hashfunktion oder Hashes haben, können Sie diese gern in die Kommentare schreiben.

_______________________________________________

Weiterführende Links: t3n, Dr. Datenschutz, IT Administrator

Schreiben Sie einen Kommentar

Ihre E-Mail Adresse wird nicht veröffentlicht.

0 Kommentare