Definition Message-Digest Algorithm 5 (MD5)

Was ist MD5?

| Autor / Redakteur: Stefan Luber / Peter Schmitz

MD5 ist eine Hashfunktion zur Generierung eines Hashwerts aus beliebigen Zeichenketten.
MD5 ist eine Hashfunktion zur Generierung eines Hashwerts aus beliebigen Zeichenketten. (Bild: gemeinfrei)

Beim Message-Digest Algorithm 5 (MD5) handelt es sich um eine Hashfunktion, die aus einer bestimmten Zeichenkette oder Nachricht einen immer gleichen Hashwert erzeugt. MD5 ist für verschiedene Anwendungen wie die Überprüfung von Download-Dateien oder das Speichern von Passwörtern einsetzbar.

Die Abkürzung MD5 steht für den englischen Begriff Message-Digest Algorithm 5. Es handelt sich um eine Funktion aus dem kryptographischen Umfeld, die aus beliebigen Nachrichten oder Zeichenketten einen Hashwert erzeugt. Die Funktion ist im Gegensatz zur Verschlüsselung nicht umkehrbar und verhindert, dass sich aus dem Hashwert die ursprüngliche Zeichenkette ermitteln lässt.

Entwickelt wurde MD5 von Ronald L. Rivest als Nachfolgefunktion des als unsicher geltenden MD4 am Massachusetts Institute of Technology im Jahr 1991. Typische Einsatzbereiche des Message-Digest Algorithm 5 sind das Prüfen von Download-Dateien oder das Speichern von Passwörtern. Heute gilt MD5 als nicht mehr ausreichend sicher. Es sind verschiedene Angriffsmethoden wie Kollisionsangriffe bekannt, die es mit vertretbarem Aufwand erlauben, zu einem bestimmten Hashwert passende Ausgangszeichenketten zu erzeugen.

Erfolgreiche Kollisionsattacke auf SHA-1 Hashfunktion

SHA-1 hat ausgedient

Erfolgreiche Kollisionsattacke auf SHA-1 Hashfunktion

09.03.17 - Die CW Amsterdam und Google haben zwei PDF-Dokumente mit dem gleichen SHA-1-Hashwert erzeugt. Die Auswirkungen sind weitreichend, wer auf SHA-1 setzt, sollte die Hashfunktion mittelfristig durch einen Nachfolger ersetzen. lesen

Grundsätzliche Anforderungen an die MD5-Hashfunktion

An die MD5-Hashfunktion bestehen wie bei allen Hashfunktionen mehrere Anforderungen. So muss die identische Zeichenkette immer den selben Hashwert generieren. Zudem ist zu verhindern, dass aus einem Hashwert die ursprüngliche Zeichenkette zu ermitteln ist. Unterschiedliche Zeichenfolgen dürfen nicht den gleichen Hashwert erzeugen. Nicht alle Anforderungen lassen sich zu 100 Prozent von MD5 erfüllen. Beispielsweise ist bekannt, dass unterschiedliche Zeichenfolgen durchaus den gleichen Hashwert liefern können. Man spricht in diesem Fall von einer Kollision. Die Sicherheit der MD5-Anwendungen wie die Verschlüsselung oder die Authentisierung sind direkt von der Einhaltung der Anforderungen abhängig.

Der zugrundeliegende Algorithmus der MD5-Hashfunktion

Dem Message-Digest Algorithm 5 liegt die sogenannte Merkle-Damgård-Konstruktion als Algorithmus zugrunde. Er füllt die Ausgangszeichenfolge zu einer bestimmten Länge mit Einsen und Nullen auf und wendet blockweise Komprimierungsfunktionen an. Es werden mehrere Runden mit mathematischen Funktionen wie modularen Additionen durchlaufen, bis das Ergebnis als 128-Bit-Wert feststeht.

Anwendung des MD5

MD5-Hashwerte kommen für verschiedene Anwendungen zum Einsatz. Eine häufige Anwendung ist die Überprüfung einer heruntergeladenen Datei auf Vollständigkeit. Die Überprüfung soll Übertragungsfehler des Netzwerks ausschließen. Zu diesem Zweck wird auf Basis der Quelldatei eine MD5-Prüfsumme berechnet und übertragen. Der Empfänger berechnet eine Prüfsumme auf Basis der empfangenen Download-Datei und vergleicht sie mit der mitgesendeten Prüfsumme. Sind beide MD5-Hashwerte gleich, war die Übertragung erfolgreich und die Integrität der Datei ist sichergestellt. Man-in-the-Middle-Angriffe lassen sich durch diese Prüfmethode nicht ausschließen, da der Angreifer den Hashwert nach Veränderung der Datei selbst neu erzeugen kann.

Ein weiterer Anwendungsbereich ist das sichere Speichern von Passwörtern. Sie werden nicht im Klartext, sondern als MD5-Hashwerte gespeichert. Dadurch kennt niemand, der Zugriff auf den Datenspeicher hat, die abgelegten Passwörter. Da das Zurückrechnen des Hashwerts unmöglich ist, ist das ursprüngliche Passwort nicht rekonstruierbar. Ob ein Passwort korrekt ist, lässt sich aus dem einfachen Vergleich zwischen dem aus dem Passwort berechneten Hashwert und dem auf dem System, auf das zugegriffen werden soll, gespeicherten Hashwert bestimmen. Weitere Anwendungen des Message-Digest Algorithm 5 sind:

  • Generierung von Zufallszahlen
  • Generierung von Passwörtern
  • Ableiten von Schlüsseln
  • digitales Signieren
Erster Standard für Post-Quantum-Signaturen

TU Darmstadt

Erster Standard für Post-Quantum-Signaturen

02.08.18 - Quantencomputer sind schnell und haben Rechenpower ohne Ende. Geht es um die Kalkulation von Klimamodellen oder KI-Anwendungen, ist das eine tolle Sache. Nicht ganz so toll: Die Superrechner können auch zum Knacken der heute weit verbreiteten Public-Key-Krypto-Verfahren genutzt werden. Dem gilt es vorzubauen. lesen

Sicherheitsaspekte des Message-Digest Algorithm 5

MD5 gilt heute als nicht mehr ausreichend sicher. Es sind bereits seit 1994 Schwächen bekannt wie das gezielte Berechnen von Kollisionen. Schon mit einem normalen PC lässt sich binnen kurzer Zeit eine zu einem Hashwert passende Zeichenkette finden. Für alle kryptographischen Anwendungen sollte MD5 daher nicht mehr eingesetzt werden.

Eine weitere Angriffsmethode auf den Message-Digest Algorithm 5 sind sogenannte Regenbogentabellen. Sie beinhalten Zeichenketten und zugehörige MD5-Hashwerte. Durch einfaches Vergleichen eines zu knackenden Hashwerts mit den in der Tabelle gespeicherten Hashwerten lässt sich unter Umständen eine passende Zeichenkette finden. Im Internet kursieren sehr große Regenbogentabellen, die für Angriffe genutzt werden können.

Nachdem Anfang 2017 eine erfolgreiche Kollisionsattacke auf SHA-1 durchgeführt wurde, gelten heute (Stand März 2019) noch SHA-256 oder SHA-3 als sichere Alternativen zu MD5.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Was ist SHA (Secure Hash Algorithm)?

Definition SHA (Secure Hash Algorithm)

Was ist SHA (Secure Hash Algorithm)?

Der Secure Hash Algorithm existiert in verschiedenen Versionen und stellt Hashfunktionen zur Ermittlung unverwechselbarer Prüfwerte digitaler Daten zur Verfügung. Mit einem Prüfwert lässt sich die Integrität der Daten sicherstellen. SHA kommt beispielsweise für Signaturverfahren zum Einsatz. Eine wichtige Eigenschaft eines Hahsverfahrens ist die Kollisionssicherheit. lesen

Orvibo-Sicherheitsleck gefährdet Smart Homes

vpnMentor findet Milliarden sensibler Logdaten

Orvibo-Sicherheitsleck gefährdet Smart Homes

Security-Forscher wollen eine ungesicherte Datenbank mit Logeinträgen für Produkte des Anbieters Orvibo gefunden haben. Angreifer hätten darüber Nutzer ausspionieren und mit smarten Schlössern gesicherte Türen öffnen können. lesen

Passwort-Hacking in der Praxis

Hacking mit Python, Teil 4

Passwort-Hacking in der Praxis

Im vierten Teil unserer Python-Hacking-Serie machen wir uns an die eigentliche Entschlüsselung von Passwörtern. Als Grundlage hierfür haben wir bereits gelernt, wie Linux Passwörter speichert und warum MD5 schon lange nicht mehr als sicher gilt. lesen

Linux-Passwörter und Python

Hacking mit Python, Teil 3

Linux-Passwörter und Python

Wie man mit Python und einem erlangten MD5-Hash das zugehörige Passwort entschlüsselt, haben wir uns in der Theorie schon angesehen. In diesem Beitrag demonstrieren wir zunächst, wie Linux-Distributionen Passwörter in der Praxis speichern und warum MD5 nicht sicher ist. lesen

Wörterbuch-Angriff auf Passwort-Hash

Hacking mit Python, Teil 2

Wörterbuch-Angriff auf Passwort-Hash

Dieser Workshop demonstriert, wie man in Python ein Passwort herausfinden kann. Konkret geht es darum, einen auf irgendeine Weise erlangten Passwort-Hash durch einen Vergleich mit dem MD5-Hash eines gegeben Wörterbucheintrages auf Übereinstimmung zu prüfen. lesen

Grundlagen des Ethical Hacking

Hacking mit Python, Teil 1

Grundlagen des Ethical Hacking

In diesem Workshop verwenden wir die Programmiersprache Python, um ein Passwort zu entschlüsseln. Genauer gesagt prüfen wir einen auf irgendeine Weise erlangten Passwort-Hash durch einen Vergleich mit dem MD5-Hash eines gegebenen Wörterbucheintrages auf Übereinstimmung. lesen

Whitelisting statt Virenscanner

Whitelisting-Lösung von Seculution

Whitelisting statt Virenscanner

Computerviren und Würmer traten schon in den frühen 70er Jahren erstmals auf und erlebten ihre Hochzeit in den 80ern und 90ern. Auch heute ist Malware noch eine der größten Bedrohungen für die Netzwerksicherheit. Lange galt der klassische, signatur­basierte Viren­scanner als Waffe der Wahl gegen diese Schädlinge. Heute soll künstliche Intelligenz vor Malware schützen. Aber es gibt auch noch eine dritte Methode. lesen

TLS 1.3 - Viel heiße Luft oder ein großer Wurf?

Transportverschlüsselung Teil 1

TLS 1.3 - Viel heiße Luft oder ein großer Wurf?

Die Bedeutung der Datenverschlüsselung hat in den vergangenen Jahren massiv zugenommen. Beim Entwurf von TLS 1.3 bestand das Ziel darin, der aufkeimenden Bedrohung durch das Quantencomputing mit einer anspruchsvolleren Verschlüsselung gegenzusteuern, ohne dabei die User-Agents zu überfordern und gleichzeitig eine höhere Performance für latenzsensible IoT-Anwendungen zu liefern. lesen

Hackerprogramm Grizzly Steppe erkennen

Netzwerksicherheit

Hackerprogramm Grizzly Steppe erkennen

Regierungen und Unternehmen sind immer potenzielle Ziele für Spear-Phishing-Kampagnen und APTs wie Grizzly Steppe. Der „Joint Analysis Report“ stellt auch Indikatoren für eine Kompromittierung vor. Unternehmen sollten nach diesen aktuellen Indikatoren einer Sicherheitsverletzung Ausschau halten. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45811581 / Definitionen)