md5 – Message Digest Algorithm 5
Was sind alternative Verschlüsselungsverfahren?
Die MD5-Verschlüsselung war insbesondere im Jahr 2004 Ziel von vielen Angriffen. Auch die alternative Verschlüsselungsart SHA-1 musste sich im Kampf gegen Cyberkriminalität größtenteils geschlagen geben. Damals gab es bereits eine Weiterentwicklung der Verschlüsselungsart SHA-2. Jedoch wurden Rufe laut, die nach einer Verschlüsselungsmethode verlangten, die aktuelle Erfahrungen und neueste Forschungsergebnisse berücksichtigten. Die daraus resultierende, standardisierte Hash-Funktion ist somit die Verschlüsselungsart SHA-3, welche im Jahr 2012 aus einem amerikanischen Wettbewerb verschiedenster Verschlüsselungsverfahren hervorging.
Zur sicheren Kommunikation zwischen zwei Personen eignet sich zudem das Public-Key-Verfahren. Es zählt zu den asymmetrischen Verschlüsselungsverfahren und dient dazu, eine Zeichenfolge zu kodieren, um diese anhand eines vorgefertigten Schlüssels wieder zu dekodieren. Da der persönliche Schlüssel nicht öffentlich ist wird angenommen, dass es praktisch unmöglich ist, abgefangene Datenströme ohne den persönlichen Schlüssel zu dekodieren.
Wie hoch ist die Sicherheit eines MD5-Hashs?
Bereits 1994 wurden Pseudokollisionen im MD5 entdeckt. Eine Kollision bezeichnet das Vorhandensein bzw. die Zuordnung zwei oder mehrerer Eingaben zu einem Hashwert. Einfach ausgedrückt: die Eingabe zwei unterschiedlicher Eingaben ergibt den selben MD5-Hash.
Im Jahr 2004 gelang es chinesischen Wissenschaftlern, Kollisionen im MD5-Hash innerhalb von einer Stunde zu finden. War eine Kollision erstmalig entdeckt, dauerte es nur noch weitere fünf Minuten, bis zur Sichtung der nächsten Kollision. Mittlerweile gibt es derartig große Fortschritte in der Kollisionserkennung von MD5-Hashes, das ein Einsatz von MD5 für sicherheitsrelevante Vorgänge strikt abzulehnen ist. Insbesondere in Szenarien, in denen der Benutzer nicht mehr selber die Integrität der Daten kontrollieren kann und sich stattdessen auf automatisch generierte Informationen verlassen muss, ist MD5 nicht zu empfehlen.
Da MD5 nur in Bezug auf Kollisionen ein Sicherheitsrisiko darstellt, sind sensible Informationen wie Passwörter, die bereits in verschlüsselter Form hinterlegt sind, als sicher einzustufen (Stand 2013). Da es aber wahrscheinlich nur eine Frage der Zeit bis zum Knacken der MD5-Verschlüsselung ist, empfiehlt es sich, Passwörter in einer Verschlüsselungsform abzulegen, die speziell für sensible Daten entwickelt wurde (zum Beispiel bcrypt).
Was ist ein MD5-Hash?
Ein MD5-(Message-Digest Algorithm 5)-Hash zählt zu den kryptographischen Hash-Funktionen und beschreibt eine Sicherheitsfunktion. Der Algorithmus erzeugt aus einer beliebigen Nachricht einen 128-bit-Hashwert. Dieser Dient dazu, eine Datei (zum Beispiel einen Download) auf Korrektheit oder Vertrauenswürdigkeit zu überprüfen. MD5 ist ein traditionelles Verschlüsselungsverfahren und bereits seit 1991 im Einsatz. Mittlerweile ist es durch die Weiterentwicklung von Hard- und Software ohne Weiteres möglich, Hash-Werte zu erzeugen, die dem originalen Hash-Wert gleichen. Daher gilt das traditionelle MD5-Hash-Verfahren heute eher als unsicher.
MD5-Hashwerte sind 128-bit lang und werden in der Regel als 32-stellige hexadezimale Zeichen dargestellt. Die Änderung einer Kleinigkeit der ursprünglichen Datenquelle (z.B. die Änderung eines Buchstabens in einer ASCII-Zeichenkette) ändert zu 99,9% den gesamten Hashwert.
Ein Beispiel: die Eingabe der ASCII-Zeichenfolge „Ein MD5-Beispiel-Hash“ ergibt nach der MD5-Hash-Erzeugung den Hashwert „04a7a6d1cd4543ec5b1b02b2c5a11d24“. Wird nun eine Kleinigkeit verändert und die ACII-Zeichenfolge lautet „ein MD5-Beispiel-Hash“ (Kleinschreibung am Anfang), so ergibt sich ein komplett neuer Hashwert, nämlich „bdf72bfc355f488493c0a63abcbffd3f“. Der Hashwert einer leeren Zeichenfolge ergibt immer „d41d8cd98f00b204e9800998ecf8427e“.
Im Gegensatz zu Windows-Betriebssystemen sind Programme, die der Erstellung und Überprüfung von MD5-Hashes dienen, auf Linux-Betriebssystemen schnell gefunden. So gehört das Programm md5sum als Teil der coreutils bei Linux zum Standard dazu. Unter Mac OS gibt es das bereits vorinstallierte Kommando md5. Auf anderen Unix-Derivaten kommt man in der Regel mit dem Programm OpenSSL zum Ziel. Microsoft liefert zwar ab Werk keine Möglichkeiten für die MD5-Erstellung, jedoch finden sich ähnliche Bestandteile in der Programmierung von .NET wieder. Dort gibt es bereits vorgefertigte MD5-Algorithmen.
Wofür werden MD5-Hashs verwendet?
MD5 findet heute insbesondere noch Anwendung beim Download von Dateien oder Programmen.
Die Funktion besteht darin, dass beim Download einer Datei auch ein bereits erzeugter MD5-Hash bereitgestellt wird. Nach dem Herunterladen der Datei oder des Programms wird der aktuelle MD5-Hash des Downloads berechnet. Ist der Vergleich mit dem bereits vor dem Download bereitgestelltem Hash negativ, d.h. weicht der Hash ab, so ist die Integrität der heruntergeladenen Datei nicht mehr gewährleistet. Dies kann bedeuten, dass ein Angreifer während oder nach dem Download die Datei manipuliert hat. Eventuell ist der Hash-Wert des Anbieters aber auch nicht auf dem aktuellen Stand.
Die MD5 ist eine Verschlüsselung die im Jahr 2004 Ziel von vielen Attacken war. Eine Verschlüsselungsmethode, die aktuelle Erfahrungen und neueste Forschungsergebnisse berücksichtigt, wurde gesucht und mit der standardisierten Hash-Funktion gefunden.
Damit zwei Personen sicher miteinander kommunizieren können, eignet sich das Public-Key-Verfahren. Es dient dazu, eine Zeichenfolge zu kodieren, um sie dann mit einem vorgefertigten Schlüssel wieder zu dekodieren. Es wurde eine Pseudokollisionen im MD5 fest gestellt. Eine Kollision ist das Dasein beziehungsweise. wenn zwei oder mehrerer Eingaben zu einem Hashwert zugeordnet werden. Das bedeutet die Eingabe von zwei unterschiedlichen Eingaben ergibt den gleichen MD5-Hash.
Ist eine Kollision gefunden, dauerte es nur noch fünf Minuten, bis zum Finden der nächste Kollision. Die Fortschritte in der Kollisionserkennung von MD5-Hashes sind sehr groß, das die Verwendung von MD5 für sicherheitsrelevante Vorgänge absolut abzulehnen ist.
Da MD5 stellt nur für Kollisionen ein Sicherheitsrisiko dar. Deshalb sind sehr sensitive Informationen wie beispielsweise Passwörter, die schon in verschlüsselt hinterlegt sind, als sicher einzustufen.
Ein MD5 Hash bedeutet ausgeschrieben Message-Digest Algorithm 5 und ist eine der kryptographischen Hash-Funktionen und definiert eine Funktion in der Sicherheit. Der Algorithmus bildet aus einer Nachricht einen 128-bit-Hashwert. Mit diesem kann man eine Datei auf Genauigkeit oder Vertrauenswürdigkeit überprüfen. MD5 ist ein Verschlüsselungsverfahren, welches seit 1991 Verwendung findet. Durch die ständige Weiterentwicklung von Hard- und Software ist es möglich, Hash-Werte zu erzielen, die dem originalen Hash-Wert gleich sind. Das herkoemmliche MD5-Hash-Verfahren ist nicht sicher.
MD5-Hashwerte haben 128-bit und werden normalerweise als 32 stellige hexadezimale Zahlen beschrieben. Die Änderung beispielsweise eines Buchstabens in einer ASCII-Zeichenkette ändert zu fast Hundert Prozent den gesamten Hashwert. Programme, die zur Erstellung und Überprüfung von MD5-Hashes dienen, sind auf Linux-Betriebssystemen rasch verfügbar. Das Programm md5sum ist ein besonderer Teil der coreutils bei Linux und ist Standard. Bei Mac OS gibt es das Kommando md5 schon vorinstalliert. Aber auch mit dem Programm OpenSSL kommt man direkt und einfach zum Ziel. Microsoft hat ab Werklieferung keine Möglichkeiten für die MD5-erstellung, dafür finden sich ähnliche Bestandteile in der Programmierung von .NET wieder. In NET gibt es schon vorgefertigte MD5-Algorithmen.
MD5 verwendet man heute zu Tage besonders bei der Anwendung vom Download von Dateien oder Programmen. Die Möglichkeit besteht darin, dass beim Download einer Datei schon ein erzeugter MD5-Hash zur Verfügung gestellt wird. Nachdem die Datei oder das Programm heruntergeladen ist, beginnt die Errechung des aktuellen MD5-Hash des Downloads. Ist der Wert mit dem Hash, der bereit gestellt wurde vor dem Download negativ, das bedeutet hat der Hash eine geringe Abweichung, dann ist die Integrität der heruntergeladenen Datei nicht mehr garantiert. Möglich, dass ein Angreifer mit einer Attacke während oder nach dem Download die Datei manipuliert hat. Möglicherweise ist der Hash-Wert des Anbieters aber auch nicht auf dem aktuellen Stand.Message-Digest Algorithm 5 ist eine kryptographische Hashfunktion, die aus jeder Nachricht einen 128-Bit-Hashwert bildet. Die Überprüfung eines Downloads auf Korrektheit wird dadurch sehr vereinfacht. MD5 wurde im Jahre 1991 von Ronald L. Rivest erfunden. Inzwischen gilt sie als nicht sicher, weil es ohne großen Aufwand möglich ist, verschiedene Nachrichten zu bilden, die den gleichen MD5-Hashwert haben.