Best Practice Verschlüsselung mit SALT

Ich hab kein passendes Unterforum gefunden, daher packe ich meine Frage jetzt hier einfach mal rein.

Ich habe ein Webanwendung, bei der sich ein Benutzer mit seinem eigenen Passwort anmelden kann. Das Passwort habe ich in der DB per SHA2 verschlüsselt abgelegt. Jetzt würde ich gerne das Passwort mit einem SALT-Parameter sicherer machen. In allen Anleitungen dazu lese ich, dass man einfach eine "salt"-Spalte an die USER-Tabelle anhängen soll und dort zu jedem Benutzer einen eigenen SALT-Wert ablegen soll. Dieses Vorgehen halte ich aber für sehr kritisch, denn wenn jemand an die Daten kommt, dann hat er das verschlüsselte Passwort und den SALT-Wert, dann ist die zusätliche Verschlüsselung mit dem SALT ja wieder futsch.
Eigentlich müssten SALT und Passwort doch unabhängig von einander aufbewahrt werden, also Passwort in der DB und SALT in einer ausgelagerten Datei z.B. auf dem App-Server?

Oder bin ich hier auf dem falchen Weg? Was meint ihr?
 

Thallius

Top Contributor
Wenn du das Passwort in der DB gespeichert hast, dann hast du eh schon alles versaut.

Da gehört nur der Hash rein und nichts anderes

Gruß

Claus
 

Dompteur

Top Contributor
Du verwendest einen SALT Wert, damit ein Passwort nicht immer den gleichen Hashwert ergibt.
Ohne Salt-Wert ergibt ein Passwort immer den gleichen Hashwert. Damit kann man beispielsweise User, die das gleiche Passwort verwenden, sofort identifizieren.

Wenn jemand deine Datenbank in die Finger bekommt und einen Brute-Force Angriff macht, dann ergibt sich folgender unterschied.

Ohne Salt:
Für jedes Passwort errechnet er den Hash und schaut, ob dieser Wert irgendwo in der Tabelle vorkommt. Wenn ja, dann hat er eine gültige User / Passwort-Kombination gefunden.

Mit Salt:
Ein berechneter Hash-Wert macht nur Sinn mit dem verwendeten Salt-Wert. Da alle User unterschiedliche Saltwerte haben, hat man folgenden Aufwand : Anzahl der User x Aufwand ohne Salt.
 
Ja, den Sinn des Salt-Wertes habe ich schon verstanden. Aber wenn ich meine User-Tabelle folgendermaßen aufbaue:

Code:
ID | Username | Passwort | Salt
----------------------------------
01 | blabla22 | 9f86d... | 123456
02 | bluhbli9 | d74ff... | ABCDEF

Und sich irgendjemand diese Daten abgreifen kann, dann hat er doch den Salt-Wert zu dem Hash-Passwort, somit ist dann doch der Sinn des Salts futsch, oder?

@Thallius: Natürlich lege ich in der DB nur den Hash-Wert ab und nicht das PW in klartext.
 

Dompteur

Top Contributor
Wenn jemand deine Datenbank in die Hand bekommt, dann ist es eine Frage der Zeit bis wann er mittels Brute-Force all Passwörter ermittelt hat. Üblicherweise kostet das viel Zeit. ;-)

Bei Verwendung erhöhst du diesen Aufwand noch einmal um eine Größenordnung.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
DStrohma Verschlüsselung: SALT aus Passwort generieren? Allgemeine Java-Themen 3
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
X Verschlüsselung Allgemeine Java-Themen 18
P String-Verschlüsselung - Frage zur Sicherheit Allgemeine Java-Themen 21
R Verschlüsselung falsch Allgemeine Java-Themen 3
R Verschlüsselung funktioniert nicht Allgemeine Java-Themen 5
J Passwort Verschlüsselung hash Allgemeine Java-Themen 2
D AES Verschlüsselung / Wirklich AES 128-Bit? Allgemeine Java-Themen 4
A Mehrfache XOR Verschlüsselung Allgemeine Java-Themen 11
Thallius Moderne sichere synchrone Verschlüsselung mit Java? Allgemeine Java-Themen 3
Ananaskirsche Verschlüsselung mit AES Allgemeine Java-Themen 4
E Verschlüsselung Allgemeine Java-Themen 4
F Schlüsselworte RSA Verschlüsselung implementieren Allgemeine Java-Themen 5
S Key (für AES-Verschlüsselung) aus String Allgemeine Java-Themen 4
M Serialisierung & Verschlüsselung Allgemeine Java-Themen 2
K Problem mit Salted - Verschlüsselung Allgemeine Java-Themen 4
Z Java E-Mail Client mit End-to-End-Verschlüsselung Allgemeine Java-Themen 4
J Verschlüsselung von Text? Allgemeine Java-Themen 2
K Vigenere- Verschlüsselung Allgemeine Java-Themen 13
M Verschlüsselung von Text und Files durch RSA (Encoding Problem) Allgemeine Java-Themen 7
T AES-Verschlüsselung mit eigenem 256 Bit Schlüssel Allgemeine Java-Themen 12
G AES Verschlüsselung nur bis 63 Zeichen Länge Allgemeine Java-Themen 2
M Verschlüsselung mit Cipher Allgemeine Java-Themen 5
B XOR Verschlüsselung Allgemeine Java-Themen 7
S Framework für symetrische und asymetrische Verschlüsselung Allgemeine Java-Themen 3
lumo Verschlüsselung Allgemeine Java-Themen 2
H Verschlüsselung mit Blowfish Allgemeine Java-Themen 14
C Interpreter-Fehler AES verschlüsselung mit MD5 key Allgemeine Java-Themen 6
S AES Verschlüsselung - File Headers korrupt Allgemeine Java-Themen 10
A Datei, UTF-8, NTRU-Verschlüsselung Allgemeine Java-Themen 3
B "Verschlüsselung" mit Passwort (XOR bzw. Modulo) Allgemeine Java-Themen 7
B String Verschlüsselung Allgemeine Java-Themen 6
M Verschlüsselung anwenden Allgemeine Java-Themen 6
J Verschlüsselung Allgemeine Java-Themen 22
T MD5 Verschlüsselung Nullen fehlen? Allgemeine Java-Themen 2
L [Exception] RSA Verschlüsselung. Allgemeine Java-Themen 16
C javamail signatur und verschlüsselung Allgemeine Java-Themen 2
R 128 Bit Verschlüsselung/Entschlüsselung in Java? Allgemeine Java-Themen 6
F RSA-Verschlüsselung Allgemeine Java-Themen 4
S Verschlüsselung in Java Allgemeine Java-Themen 2
G Interessant! Verschlüsselung in Java, Charset in der JVM? Allgemeine Java-Themen 14
D Eigener Key bei AES Verschlüsselung Allgemeine Java-Themen 4
T Verschlüsselung von Dateien Allgemeine Java-Themen 8
S Verschlüsselung - IllegalBlockSizeException Allgemeine Java-Themen 3
G Problem mit RSA Verschlüsselung bei .net und Java Allgemeine Java-Themen 1
D Caesar und Vigenère Verschlüsselung Allgemeine Java-Themen 2
alexpetri Verschlüsselung Allgemeine Java-Themen 13
@ [Sicherheit] Speicherung von Keys für Verschlüsselung Allgemeine Java-Themen 4
P Verschlüsselung in PHP -> Entschlüsselung in Java Allgemeine Java-Themen 2
Lazybone Caeser Verschlüsselung Allgemeine Java-Themen 6
S Verschlüsselung mit Cipher Allgemeine Java-Themen 8
S Verschlüsselung Allgemeine Java-Themen 15
J Problem mit Dateien/XOR-Verschlüsselung Allgemeine Java-Themen 5
G RSA-Verschlüsselung Allgemeine Java-Themen 1
P HMACMD5- Verschlüsselung entschlüsseln Allgemeine Java-Themen 2
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4
J Probleme bei XOR verschlüsselung ! Allgemeine Java-Themen 5
G Verschlüsselung in Java Allgemeine Java-Themen 9
M RSA Verschlüsselung Allgemeine Java-Themen 7
J Verschlüsselung von Daten Allgemeine Java-Themen 21
A Salt Erstellung verbessern Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben