Hash in der /etc/shadow: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== Der crypt-Hash im Detail == Ein Passwort-Hash in <code>/etc/shadow</code> ist kein einzelner Wert, sondern setzt sich aus mehreren Teilen zusammen, getrenn…“) |
|||
| Zeile 10: | Zeile 10: | ||
<pre> | <pre> | ||
| − | $y$j9T$ | + | $y$j9T$GThSkReZ3cOQQojV/asp00$vkzM8oX6944ruaPuQ9EJT1CEZiQ1d/WA1MXOkp1ULtB: |
</pre> | </pre> | ||
| Zeile 37: | Zeile 37: | ||
=== Salt === | === Salt === | ||
| − | Das dritte Feld (<code> | + | Das dritte Feld (<code>GThSkReZ3cOQQojV/asp00</code>) ist das '''Salt''' – eine zufällige Zeichenfolge, die bei jedem <code>passwd</code>-Aufruf neu erzeugt wird. |
* Wird zusammen mit dem Passwort gehasht | * Wird zusammen mit dem Passwort gehasht | ||
Version vom 11. August 2026, 16:28 Uhr
Der crypt-Hash im Detail
Ein Passwort-Hash in /etc/shadow ist kein einzelner Wert, sondern setzt sich aus mehreren Teilen zusammen, getrennt durch $-Zeichen:
$id$param$salt$hash
Beispiel:
$y$j9T$GThSkReZ3cOQQojV/asp00$vkzM8oX6944ruaPuQ9EJT1CEZiQ1d/WA1MXOkp1ULtB:
Algorithmus-ID
Das erste Feld (y) gibt an, welcher Hash-Algorithmus verwendet wurde. yescrypt ist auf aktuellen Linux-Systemen (z. B. Debian, Fedora, Rocky Linux) der Standard.
| ID | Algorithmus |
|---|---|
$1$ |
MD5 (veraltet, unsicher) |
$5$ |
SHA-256 |
$6$ |
SHA-512 |
$2b$ |
bcrypt |
$y$ |
yescrypt (aktueller Standard) |
Parameter (Cost-Faktor)
Das zweite Feld (j9T) kodiert die Kostenparameter des Algorithmus – u. a. wie viel Speicher und Rechenzeit pro Hash-Berechnung nötig sind. Ein höherer Cost-Faktor macht das Verfahren absichtlich langsamer, um Bruteforce-Angriffe zu erschweren.
Salt
Das dritte Feld (GThSkReZ3cOQQojV/asp00) ist das Salt – eine zufällige Zeichenfolge, die bei jedem passwd-Aufruf neu erzeugt wird.
- Wird zusammen mit dem Passwort gehasht
- Steht offen sichtbar im Hash (ist kein Geheimnis)
- Sorgt dafür, dass zwei User mit identischem Passwort unterschiedliche Hashes erhalten
- Verhindert Angriffe mit vorberechneten Rainbow-Tables
Hash
Das letzte Feld (vfdB.NoNKArU/f1lDuKuafkJmk3taXo0L1irsJ5kUs1) ist das eigentliche Ergebnis der Hash-Funktion, berechnet aus Passwort, Salt und Parametern. Der Vorgang ist eine Einwegfunktion – aus dem Hash lässt sich das Passwort nicht direkt zurückrechnen.