Salt (Kryptologie)

Salt (Kryptologie)

Salt (deutsch Salz) bezeichnet in der Kryptographie eine zufällig gewählte Zeichenfolge, die an einen gegebenen Klartext vor der Verwendung als Eingabe einer Hashfunktion angehängt wird, um die Entropie der Eingabe zu erhöhen. Es wird häufig für Speicherung und Übermittlung von Computer-Passwörtern benutzt. Bei der Überprüfung eines Passworts wird jedoch nicht jedes Mal ein neuer Salt erzeugt, da sonst der entstandene Hashwert sich von dem gespeicherten unterscheidet und somit das Passwort abgelehnt wird. Deshalb wird bei der Generierung eines Passworts das dort verwendete Salt zusammen mit dem entstandenen Hashwert in einer Datenbank gespeichert.

Inhaltsverzeichnis

Motivation

Hashfunktionen, wie z. B. MD5 oder SHA bilden einen bestimmten Klartext auf einen bestimmten Hash-Wert ab. So ist sofort erkennbar, welche Benutzer dasselbe Kennwort gewählt haben, da die Hashwerte identisch sind. Zudem muss bei Wörterbuch- und Brute-Force-Angriffen jedes zu prüfende mögliche Passwort nur ein einziges Mal berechnet (gehasht) werden, und dieser Wert muss anschließend nur mit einer Liste von vorliegenden Passwort-Hashes verglichen werden. Für Algorithmen wie MD5 liegen diese Listen in Form von Rainbow Tables bereits vor.

Abhilfe

Die Verwendung eines Salts erhöht den Aufwand dieser Angriffe auf die Chiffre deutlich. Wörterbuchangriffe werden erschwert, da nicht mehr in einer Liste von verschlüsselten Werten (Hashtabelle) der zugehörige entschlüsselte Wert nachgeschlagen werden kann, sondern für jeden Klartext hash(Klartext + Salt) == bekannter Hash überprüft werden muss, was viel Rechenzeit kostet. Rainbow Tables müssten sehr viel umfangreicher werden, sie müssten alle ursprünglich unterstützten Passwörter in jeder Kombination mit den angehängten n Bit enthalten, die Anzahl der neuen Einträge ist 2n mal so groß wie zuvor. Außerdem wird allein durch die Verlängerung des Eingabewertes der Aufwand stark erhöht. Damit kann ein Salt die Bildung einer Tabelle unwirtschaftlich machen. Weiterhin wird die Informationssicherheit erhöht, da zwei identische Klartexte, zum Beispiel zwei zufällig gleich gewählte Passwörter unterschiedlicher Benutzer, mit einer sehr hohen Wahrscheinlichkeit zu verschiedenen Chiffren führen.

Als ausreichend gute Salts gelten nur hinreichend zufällige Werte mit einer gewissen Mindestlänge, die das Erstellen einer Rainbowtable auf lange Sicht unwirtschaftlich machen und zudem die mehrfache Vergabe desselben Salts auch bei großen Mengen erzeugter Hashes ausschließen.

Da die verwendeten Salts einem Angreifer bekannt sind, erhöhen sie nicht die Sicherheit bei einem Angriff auf ein einzelnes Passwort. Ein schwaches Passwort kann also ebenso leicht mithilfe von Wörterbuch- oder Brute-Force-Angriffen entschlüsselt werden.

Anwendungen

Protokolle, die Salt benutzen, sind beispielsweise SSL und CipherSaber. Forensoftware und andere Systeme für Internetseiten benutzen ebenfalls häufig Salts, um den unberechtigten Zugang auf Nutzer- oder Administratorbereiche zu erschweren. Rainbowtable-Angriffe sind dann nicht mehr möglich, falls nach einem Einbruch in die Serverinfrastruktur die Datenbank mit den User-Logins kopiert wird. Durch Anfügen von Salts werden für besonders in diesem Bereich häufig anzutreffende kurze oder einfache Passwörter die vorgefertigten Rainbowtables wertlos. Weiterhin ergeben gleiche Passwörter unterschiedliche Hashwerte.

Probleme

Bildet ein Verfahren aufgrund eines Programmierfehlers oder einer fehlerhaften Implementierung z. B. nur 1.000 unterschiedliche Salts, kann das Erstellen einer Rainbowtable weiterhin wirtschaftlich sein. Derartige Fälle werden als „schwache“ Salts bezeichnet. Ein solches Verfahren sind die von Windows-Systemen (XP, Vista) angelegten zwischengespeicherten Anmeldeinformationen (DCC, Domain Cached Credentials, von Cracking-Programmen auch als MS-Cache-Hashes bezeichnet). Der Benutzername wird dabei als Salt verwendet. Rainbowtables können daher weiterhin für weit verbreitete Benutzernamen erzeugt werden, z. B. administrator.

Siehe auch

Weblinks


Wikimedia Foundation.

См. также в других словарях:

  • SALT — oder Salt bezeichnet: Southern African Large Telescope eine Gruppe von Verträgen zur nuklearen Rüstungsbegrenzung, siehe Strategic Arms Limitation Talks eine Reihe von proprietären Erweiterungen zu HTML, cHTML, XHTML und WML, siehe Speech… …   Deutsch Wikipedia

  • Salt — (englisch für „Salz“) steht für: Salt (Girona), Stadt im Nordwesten von Spanien Salt (Kryptologie), in der Kryptografie ein zusätzlicher zufälliger Schlüssel Salt (Film), US amerikanischer Film aus dem Jahr 2010 Die Abkürzung SALT steht für:… …   Deutsch Wikipedia

  • Salz (Kryptologie) — Die Artikel Salt (Kryptologie) und Salted Hash überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen… …   Deutsch Wikipedia

  • Salted Hash — Die Artikel Salt (Kryptologie) und Salted Hash überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen… …   Deutsch Wikipedia

  • CSPRNG — Ein kryptographisch sicherer Zufallszahlengenerator (auch kryptographisch geeigneter Zufallszahlengenerator, bzw. engl. cryptographically secure pseudo random number generator (CSPRNG)) ist ein für die Kryptologie geeigneter Generator für… …   Deutsch Wikipedia

  • Kryptographisch geeigneter Zufallszahlengenerator — Ein kryptographisch sicherer Zufallszahlengenerator (auch kryptographisch geeigneter Zufallszahlengenerator, bzw. engl. cryptographically secure pseudo random number generator (CSPRNG)) ist ein für die Kryptologie geeigneter Generator für… …   Deutsch Wikipedia

  • Rainbow-Tabelle — Die rainbow table (zu Deutsch: Regenbogentabelle) ist eine von Philippe Oechslin entwickelte Datenstruktur, die eine schnelle, probabilistische Suche nach Hash Werten ermöglicht. Der sogenannte Time Memory Tradeoff gestattet die Suche nach fast… …   Deutsch Wikipedia

  • Rainbow-Table — Die rainbow table (zu Deutsch: Regenbogentabelle) ist eine von Philippe Oechslin entwickelte Datenstruktur, die eine schnelle, probabilistische Suche nach Hash Werten ermöglicht. Der sogenannte Time Memory Tradeoff gestattet die Suche nach fast… …   Deutsch Wikipedia

  • Rainbow Tables — Die rainbow table (zu Deutsch: Regenbogentabelle) ist eine von Philippe Oechslin entwickelte Datenstruktur, die eine schnelle, probabilistische Suche nach Hash Werten ermöglicht. Der sogenannte Time Memory Tradeoff gestattet die Suche nach fast… …   Deutsch Wikipedia

  • Rainbow table — Die rainbow table (zu Deutsch: Regenbogentabelle) ist eine von Philippe Oechslin entwickelte Datenstruktur, die eine schnelle, probabilistische Suche nach Hash Werten ermöglicht. Der sogenannte Time Memory Tradeoff gestattet die Suche nach fast… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»