Wie verschlüsselt ihr Passwörter?

Querulant

SEO
ID: 165221
L
20 April 2006
4.605
528
Hallo,
was mich mal interessieren würde, dies ist vor allem an die Communitybetreiber gerichtet, wie ihr Passwörter verschlüsselt?

Gar nicht?
md5? Wobei das ja nun auch "leicht" zu knacken ist mit wenig (bzw gar kein) Aufwand
andere Methoden?


Würd mich freuen was zu hören ;)

lg Andre
 
Das ist mehr oder weniger situationsbedingt.
Ich persönlich benutze bei portablen Skripten häufig SHA1, der Kompatiblität halber. Man sollte besser SHA256 oder sogar SHA512 benutzen, aber mhash gibts leider nicht überall, leider. :roll:

Bei eigenen Skripten wird es dann meist SHA512
 
neija ob sha oder md5 ist im Prinzip egal, beides ist auf Grund von Rainbow-Tables unsicher, deshalb bringe ich immer noch einen nur mir bekannten String mit in die Verschlüsselung ein, dadurch sind Rainbow-Tables dann unnütz, eine kleine Manipulierung des PWs wäre auch noch denkbar
 
neija ob sha oder md5 ist im Prinzip egal, beides ist auf Grund von Rainbow-Tables unsicher, deshalb bringe ich immer noch einen nur mir bekannten String mit in die Verschlüsselung ein, dadurch sind Rainbow-Tables dann unnütz, eine kleine Manipulierung des PWs wäre auch noch denkbar
Na, einen Salt sollte man aber immer mit reinbringen ... ;)
Ich dachte, das wäre klar.
 
Wie grade in einem anderem Thread geschreiben, Passwort verschlüsseln bringt relativ wenig sicherheit. Wenn jemand an die Passwörter kommt dann hat man ganz andere Probleme. Ich glaub am ende wäre es sicherere wenn man sagt die Passwörter werden unverschlüsselt gespeichert und die User sollen sich ein exta Passwort für die Seite ausdenken. ;) Natürlich sollte man es potenziellen Angreifern so schwer wie möglich machen, aber sich subid aufs Passwort konzetrieren bringts auch nicht.
 
Ich mach es so
md5(sha1($passwort))
ich will die Rainbo Tabelle sehen
die so was schon drin hat
wird hoffentlich noch dauern
 
md5 - obwohl ich das nur mache, damit ich die PW`s nicht sehen muß ^^

Ansonsten ist der Sinn solcher Verschlüsselung für mich fraglich.

smile
 
Ich mach es so
md5(sha1($passwort))
ich will die Rainbo Tabelle sehen
die so was schon drin hat
wird hoffentlich noch dauern

Toll, berechne ich mir halt x <-> md5(sha1(x)), du hast keinen Mehrwert beim Schutz gegen Rainbowtables. Muss ich mir zwar selbstberechnen, aber selbst das dauert fuer ein paar Zeichen nicht zu lange (z.B. mit EC2).

Schutz vor Rainbowtables schafft man sich mit gesalteten Pws, hash(pw + langes salt), wobei das Salt fuer jedes PW unterschiedlich gewaehlt wird. Salt speichert man im Klartext mit in der DB. Falls jetzt jemandem die DB in die Haende faellt muesste er jedes Passwort einzeln brute-forcen - sicherer Schutz grosser Mengen von Passwörtern ist gelungen.

Ich persönlich nehm SHA256 mit langen Salts.
 
Mit der Verschlüsselung ist das immer so 'ne Sache, ich kann aus eigener Erfahrung sagen, dass es extrem viele Leute gibt, die ein Passwort für alles mögliche haben...auch wenn davor immer gewarnt wird. Wenn das der Fall ist, nützt auch die beste Verschlüsselung nicht viel...
 
Toll, berechne ich mir halt x <-> md5(sha1(x)), du hast keinen Mehrwert beim Schutz gegen Rainbowtables. Muss ich mir zwar selbstberechnen, aber selbst das dauert fuer ein paar Zeichen nicht zu lange (z.B. mit EC2).

Schutz vor Rainbowtables schafft man sich mit gesalteten Pws, hash(pw + langes salt), wobei das Salt fuer jedes PW unterschiedlich gewaehlt wird. Salt speichert man im Klartext mit in der DB. Falls jetzt jemandem die DB in die Haende faellt muesste er jedes Passwort einzeln brute-forcen - sicherer Schutz grosser Mengen von Passwörtern ist gelungen.

Ich persönlich nehm SHA256 mit langen Salts.
hallo
ich finde es sicher
zuerst muss der md5Hasch ausgrechent werden bei 41 Zeichen,
für 41 Zeichen gibt es noch kein ausrechung in Imet
dann brauch ich noch den SHA1 Hash

Was heist 0144712dd81be0c3d9724f5e56ce6685 in Clar Text ?
 
Wie schon so oft gesagt, Ihr verschlüsselt alle keine Passwörter. Ihr hasht sie - das ist ein meilenweiter Unterschied. Verschlüsselungen sind iaR immer bidirektional, sprich: Verschlüsseln <-> Entschlüsseln.

Ich persönlich verwende das hier schon angesprochene MD5 mit individuellem Salt per Datensatz.
 
Man berechne n-mal den md5 Wert des Passworts plus einen individuellen Salt pro User und das ganze wird schonmal um einiges schwieriger.
 
mit den Salt hat aber den nachteil
fake user die das gleiche Passwort nutzen schwere aufzufinden sind
so muss ich sie nur nach den Passwort sotiren lassen
alle gleichen sind Verdächtig
 
Ich will nicht wissen, wie viele User auf klamm dann Fake-User wären :LOL:
Außerdem ist das Quatsch, solange immer der gleiche Salt verwendet wird, kommt auch bei gleichem Passwort der gleiche Hash raus.
 
hallo
wenn ich immer den gleichen Salt verwende
kann ich es auch gleich lassen
Gleiche Passwörter sind nur ein Indiz
diese User währen mir verdächtig
 
wenn ich immer den gleichen Salt verwende
kann ich es auch gleich lassen

Wieso? Diese Methode ist unter bestimmten Bedingungen sogar sicherer als ein extra Salt für jedes Passwort. Nehmen wir mal jemand findet eine möglichkeit die Datenbank auszulesen (zb SQL Injection), was bekommt er? Er bekommt die gehashten Passwörter, aber er bekommt nicht den Salt... somit sind die Hashs für ihn absolut nutzlos. Natürlich verändert sich die Sache wenn der Hash bekannt wird, aber ein Angriff darauf ist immer noch weit davon entfernt wie auf MD5(PASSWORT). Es sind zwar großflächige Angriffe denkbar, aber Zeit und Ressourcen sind die andere Frage.

Und selbst die Methode: für jedes Passwort ein Salt hat Nachteile. Wenn man durch eine SQL Injection zugriff auf die Daten erlangt bekommt man zu dem Hash auch gleich den Salt geleifert, somit sind gezielte brute force attacken auf einzelne Passwörter möglich. Und dazu braucht man nur eine passende SQL Injection... bei einem hart einkodierten Salt reicht das nicht aus.
 
Wenn jemand Zugriff auf die DB hat, isses doch eh schon egal. Ob er dann noch PW`s auslesen kann oder nicht.

smile
 
Wieso? Diese Methode ist unter bestimmten Bedingungen sogar sicherer als ein extra Salt für jedes Passwort. Nehmen wir mal jemand findet eine möglichkeit die Datenbank auszulesen (zb SQL Injection), was bekommt er? Er bekommt die gehashten Passwörter, aber er bekommt nicht den Salt...
Warum nicht feste und dynamische Salts kombinieren? Dann kann ein Angreifer auch dann kein Crackversuch mehr starten, wenn er ein Hash und nur ein Salt in der Hand hat.

Salt1 = Fest im Quelltext vergeben
Salt2 = Zufällig erzeugt und in DB gespeichert
Passwort = Passwort in Klartext
Hashed = myhashfunc(Salt1 + myhashfunc(Passwort) + Salt2)
myhashfunc = Md5, Sha1 oder sonstwas

Am allerbesten ist es immernoch, SAUBER zu programmieren ;)
 
Zuletzt bearbeitet: