Frage zu Hash, HMAC, Pepper und Salt
Hallo
Ich möchte gerne mehr zum Thema Pepper / HMAC / Kryptographie kennen lernen und habe da 1,2,3 Fragen.
Folgendes Bild habe ich gefunden jedoch habe ich trotzdem noch einige offene Fragen dazu. Leider sagt das Bild nich sehr viel aus zu Pepper.
https://www.internet-sicherheit.de/fileadmin/_processed_/8/c/csm_infogra ...
1.) Kann Pepper nur in kombination mit Salt verwendet werden?
2.) Verstehe ich das also richtig: Ich als Client melde mich bei einer Website an, mein Client schickt das Passwort "Password" an den Server der Website, dort wird Salt und Pepper eingesetzt. Es wird durch Salt aus meinem Passwort "PasswordABC" ABC = Salt-Wert. Danach bin ich mir nicht sicher wie Pepper nun ins spielt kommt. Ich hoffe ihr könnt ihr den Vorgang etwas näher erklären.
3.) Weiter erklärt die verlinkte Seite man könne einen HMAC für die Sicherheit der Integrität und Authenzität einsetzten welches nochmals die Sicherheit weiter erhöht. Wie funktioniert HMAC in kombination mit Salt, Pepper und Hash? So wie ich das verstehe gibts HMAC für Hashfunktionen und auch noch anderes (H)MAC für andere Einsatzszenarios.
Vielen Dank im voraus für die Antworten
Gruss
Nicolas
Ich möchte gerne mehr zum Thema Pepper / HMAC / Kryptographie kennen lernen und habe da 1,2,3 Fragen.
Folgendes Bild habe ich gefunden jedoch habe ich trotzdem noch einige offene Fragen dazu. Leider sagt das Bild nich sehr viel aus zu Pepper.
https://www.internet-sicherheit.de/fileadmin/_processed_/8/c/csm_infogra ...
1.) Kann Pepper nur in kombination mit Salt verwendet werden?
2.) Verstehe ich das also richtig: Ich als Client melde mich bei einer Website an, mein Client schickt das Passwort "Password" an den Server der Website, dort wird Salt und Pepper eingesetzt. Es wird durch Salt aus meinem Passwort "PasswordABC" ABC = Salt-Wert. Danach bin ich mir nicht sicher wie Pepper nun ins spielt kommt. Ich hoffe ihr könnt ihr den Vorgang etwas näher erklären.
3.) Weiter erklärt die verlinkte Seite man könne einen HMAC für die Sicherheit der Integrität und Authenzität einsetzten welches nochmals die Sicherheit weiter erhöht. Wie funktioniert HMAC in kombination mit Salt, Pepper und Hash? So wie ich das verstehe gibts HMAC für Hashfunktionen und auch noch anderes (H)MAC für andere Einsatzszenarios.
Vielen Dank im voraus für die Antworten
Gruss
Nicolas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 432646
Url: https://administrator.de/contentid/432646
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
5 Kommentare
Neuester Kommentar
Hi.
Pepper kann problemlos auch ohne Salt verwendet werden, dadurch entfernst du aber auch wiederum eine ziemlich dicke Sicherheitsschicht. Der grobe Unterschied ist, dass Pepper NICHT in der Datenbank gespeichert wird, sondern separat. Dadurch können im Falle eines Hacks der Datenbank die Kennwörter trotzdem nicht entschlüsselt werden.
Die von dir verlinkte Infografik ist schön gemacht, erklärt aber nicht wirklich gut für Neulinge. Wenn du bereits Hintergrundwissen hast, sind die Wikipedia Artikel zu Kryptographie lesenswert. Heise hat auch immer mal wieder gute Artikel zu den Themen.
Vielleicht hilft dir dieser vereinfachte Ablauf:
Bei HMAC geht's meines Wissens nur um die Übertragung der Daten, aber da bin ich kein Experte.
Kann Pepper nur in kombination mit Salt verwendet werden?
Pepper kann problemlos auch ohne Salt verwendet werden, dadurch entfernst du aber auch wiederum eine ziemlich dicke Sicherheitsschicht. Der grobe Unterschied ist, dass Pepper NICHT in der Datenbank gespeichert wird, sondern separat. Dadurch können im Falle eines Hacks der Datenbank die Kennwörter trotzdem nicht entschlüsselt werden.
Die von dir verlinkte Infografik ist schön gemacht, erklärt aber nicht wirklich gut für Neulinge. Wenn du bereits Hintergrundwissen hast, sind die Wikipedia Artikel zu Kryptographie lesenswert. Heise hat auch immer mal wieder gute Artikel zu den Themen.
Vielleicht hilft dir dieser vereinfachte Ablauf:
- Benutzer registriert sich und vergibt ein Passwort.
- Dem Benutzer wird ein zufällig generierter Salt zugewiesen und in der Datenbank gespeichert.
- Pepper (nicht einzigartig pro Benutzer) wird aus einer Datei gelesen.
- Man generiert den Hash aus Passwort+Salt+Pepper und speichert den ebenfalls in der Datenbank.
- Das eigentliche Passwort wird aus dem Speicher entfernt.
Bei HMAC geht's meines Wissens nur um die Übertragung der Daten, aber da bin ich kein Experte.
Zitat von @nicuhu:
Also der Server speichert das vom Benutzer als Passwort eingegebene mit einem definierten Salt ab holt den Pepper Schlüssel / von einem 2. Server und Hasht alle 3 Werte und speichert diese ab?
Also der Server speichert das vom Benutzer als Passwort eingegebene mit einem definierten Salt ab holt den Pepper Schlüssel / von einem 2. Server und Hasht alle 3 Werte und speichert diese ab?
Das Passwort wird normalerweise gar nicht gespeichert, sonder verbleibt für die Dauer des Rechenvorgangs im RAM. Der Trick ist, aus drei verschiedenen Zeichenfolgen, die auch aus verschiedenen Quellen kommen, einen Hash zu generieren. Der "Pepper"-Teil davon kann auf einem anderen Server liegen oder auch in irgendeiner Datei versteckt.