Was ist Hashing? So funktioniert das Hashverfahren
Grundsätzlich raten Datenschutzexpertinnen und -experten zum Einsatz von Hashing, um Datenbanken und sensible Daten so sicher wie möglich zu speichern. Hashing ist der klassischen Verschlüsselung vorzuziehen, da Hashwerte keine Hinweise auf die originalen Datensätze enthalten und sich nicht „entschlüsseln“ lassen. Selbst Brute-Force-Angriffe, bei denen Kombinationen von Zeichenketten so lange ausprobiert werden, bis eine Übereinstimmung vorliegt, benötigen eine astronomisch hohe Zahl an Versuchen.
Dennoch gibt es bösartige Akteure, die Listen von gestohlenen Hashwerten mit Rainbow Tables, auch Regenbogenlisten genannt, abgleichen. Dabei handelt es sich um Listen mit geklauten Hashwerten und ihnen zugeordneten Zugangsdaten. Stimmt ein Hashwert aus der Datenbank mit einem Hashwert der Regenbogenliste und dem zugeordneten Kennwort überein, dann besteht eine Sicherheitslücke. Aus diesem Grund wird auch beim Hashing zum regelmäßigen Ändern von Passwörtern, regelmäßigen Updates und neuen bzw. aktualisierten Hashing-Algorithmen geraten. So empfahl die Internet Engineering Taskforce (IETF) im Jahr 2021 folgende Hashing-Algorithmen:
- Argon2
- Bcrpt
- Scrypt
- PBKDF2
Eine weitere Möglichkeit, Hashing noch sicherer zu gestalten, sind Verschüsselungsverfahren wie Salting und Pepper. Beim Salting erhält jedes in Hashwerte übertragene Kennwort eine zusätzliche zufällig erzeugte Zeichenfolge. Salts mit einer empfohlenen Länge von 16 Zeichen machen Brute-Force-Attacken fast unmöglich und bieten somit eine noch zuverlässigere Sicherheit. Kommt dann noch ein 32 Zeichen langer Code namens „Pepper“ für alle Passwörter hinzu, sind gestohlene Hashwerte mit zusätzlichem Salt kaum noch zu knacken.