Passwörter (un)verschlüsselt in Datenbank speichern?
Scooter
- meinung
0 Matze0 Sönke Tesch0 Matze0 Sönke Tesch0 Matze
0 csx
Hi,
ich habe eine Benutzerverwaltung und frage mich nun ob ich die Passwörter verschlüsselt oder unverschlüsselt in der Datenbank abspeichern sollte. Generell wäre ich natürlich für verschlüsselt, aber dann dachte ich mir, es wäre ganz schick, wenn ich den Usern, so eine Funktion bieten könnte, wenn sie ihr Passwort vergessen haben.
Man könnte dann einfach seine E-Mail-Adresse eingeben, und an die wird dann das Passwort geschickt. So wird das ja oft auch bei großen Projekten gemacht, soweit ich weiß Ebay, GMX und so.
Wie wird das da gemacht? Als einzigste Idee kam mir, dass die Passwörter unverschlüsselt abgelegt werden. Denn dekodieren kann man die PWs ja nicht!? (dann wären sie ja nicht sicher, und das kodieren würde keinen sinn machen).
Habt ihr ne Idee, bzw. ne Meinung dazu?!
Scooter
Servus,
generell sollte eine Datenbank so sicher hinter dem Webserver liegen, dass da keiner drauf kommt.
Passwörter im Klartext zu Speicher ist durchaus legitim.
Ich mach das jedoch ausd persönlicher Überzeugung nicht.
Wer garantiert mir, dass ein Administrator nicht Unfug damit treibt?
Sabotage ist nicht neu und bei einem Rauswurf begründet oder nicht eines Mitarbeiters sollte man auf einige gefasst sein.
Also gmx Spüeichert es in einem mehrweg verfahren.
D.H. der Datensatz wird zwar verschlüsselt kann jedoch wieder hergestellt werden. Es gibt auch ein one way verfahren, wo man nur erfragen kann, ob ein Passwort mit dem verschlüsselten identisch ist jedoch kann man das Passwort nicht wieder herstellen.
Andere so wie Ich z.B: verwende folgende Möglichkeit.
Wenn der Benutzer sein Passwort vergesen hat, generiere Ich ein neues und schicke es Ihm zu.
Selbstverständlich mit dem Vermerk, dass er es ändern soll.
Gruss Matze
ich habe eine Benutzerverwaltung und frage mich nun ob ich die Passwörter verschlüsselt oder unverschlüsselt in der Datenbank abspeichern sollte.
Verschlüsselt. Bei vielen Webhostern sind Deine Daten systembedingt nicht sicher vor Zugriffen anderer Kunden.
dachte ich mir, es wäre ganz schick, wenn ich den Usern, so eine Funktion bieten könnte, wenn sie ihr Passwort vergessen haben.
Diese "Passwort vergessen"-Funktionen senden niemals das alte Passwort, sondern immer ein neues. Teilweise ist dieses neue Passwort auch nur einmal gültig, d.h. man kann sich zwar damit wieder anmelden, muß dann aber sofort das Passwort ändern. Auf diese Art und Weise wird verhindert, daß jemand fremdes, der später -zufällig oder nicht- die Post liest, das im Posteingang oder -archiv gespeicherte, zugesendete Passwort benutzen kann.
Gruß,
soenk.e
Servus,
Verschlüsselt. Bei vielen Webhostern sind Deine Daten systembedingt nicht sicher vor Zugriffen anderer Kunden.
Nur weil etwas nicht verschlüselt ist, heist das eigentlich noch nicht, dass es für andee auch Zugänglich ist. Ganz zu schweigen von der Perfroamnce Laste wenn Du mal täglich mehrere 100 MB Verschlüsseln und entschlüsseln müsstest. Damit keiner Deine Anwendung und somir den eigentlich Sinn umgeht verwendet man Firewall sowie eine Eingabe verifizieruzng, so dass da nicht jemand hinter einen SQL String noch einen anderen setzt. usw.
Sprich ; sollte schon mal immer durch "" ersetzt werden und nie in einem String an eine SQL Funktion übrgeben werden, als Suchkriterium.
Diese "Passwort vergessen"-Funktionen senden niemals das alte >>Passwort, sondern immer ein neues. Teilweise ist dieses neue
Die Realität belehrt uns des Besseren. GMX macht es so Lycos macht es teilweise so..... das sind nicht die einzigsten.
Gruss Matze
Verschlüsselt. Bei vielen Webhostern sind Deine Daten systembedingt nicht sicher vor Zugriffen anderer Kunden.
Nur weil etwas nicht verschlüselt ist, heist das eigentlich noch nicht, dass es für andee auch Zugänglich ist. Ganz zu schweigen von der Perfroamnce Laste wenn Du mal täglich mehrere 100 MB Verschlüsseln und entschlüsseln müsstest.
Klar, 100 MByte Passwörter täglich ver- und entschlüsseln. Denkst Du eigentlich auch mal über den Unsinn nach, bevor Du ihn schreibst? Ach nein, Verzeihung, ich vergaß - wenn Du _der_ Matze bist, dann schreibst Du ja nur "qualitätsbewusst", wenn man Dir 130 Euro die Stunde zahlt, und rotzt ansonsten lieber schnell was hin.
100 MByte entspricht sehr großzügig über den Daumen gepeilt 10 Millionen Passwörtern täglich. Die Anbieter, die hierzulande dieses Aufkommen haben, kann man wahrscheinlich an einer Hand abzählen, geschweige denn Anbieter, die gleich "mehrere 100 MByte" zu verdauen haben - wenn es sowas überhaupt gibt.
Darüber hinaus sollte es eigentlich nicht erst seit gestern gang und gäbe sein, Passwörter bei der Prüfung nicht zu entschlüsseln, sondern die statt des Passworts gespeicherte Prüfsumme zu vergleichen (Stichwort MD5).
Und warum Du Passwörter unbedingt bei jedem Vorgang einmal ver- und dann entschlüsseln mußt, möge Dein Geheimnis bleiben.
Damit keiner Deine Anwendung und somir den eigentlich Sinn umgeht verwendet man Firewall sowie eine Eingabe verifizieruzng, so dass da nicht jemand hinter einen SQL String noch einen anderen setzt. usw.
Das große Rätsel zum Schluss: Was hat das mit meiner obigen Aussage zu tun?
Gruß,
soenk.e
Servus,
du hast mir grad mal bewiese, dass Du scheinbar von IT soviel ahnung hast wie eine Kuh vom fliegen.
Warum??? Denk mal selbst über Deine Aussagen nach.....
Ohne für 5 Pfenig zu denken gehst Du davon aus, das ich 100 MB an Passworter verschlüsseln und entschlüsseln würde.
Es ist nur so, dass sich meine Aussage auf Deine bezieht, wo Du davon ausgehst, dass wohl viele Systeme durch andere erfassbar sprich informationen abrufbar sind, die für andere nicht gelten.
Also wenn Du es sicher machen willst solltest Du etwas konsequent in Deiner Arbeit sein. Dann musst Du nicht nur die Passwörter sondern auch restliche Infos wie z.B: Benutzer Daten Wohnort Kontonummer und was weiss ich was alles verschlüsseln. Bei den Systemen an denen Ich arbeite sind da durchaus schnell 100 MB erreicht.
Das in diesem Fall nicht das Passwort sondern der Restliche Datenbestand verschlüsselt und entschlüsselt wird ergibt sich logischerweise daraus oder?
Und das grose Rätsel am sChluss ist, dass man die Datenbank immer von extern so abschottet, das da keiner rauf kommt.
Gruss Matze
PS. Allein Dein Umgangston dürfte so gegen die eine oder andere FAQ Regel verstossen deswegen werde Ich zukünftig Deine Postings einfach ignorieren es zeigt weder von Intelligenz sich so zu verhalten als von angemessener Erziehung.
du hast mir grad mal bewiese, dass Du scheinbar von IT soviel ahnung hast wie eine Kuh vom fliegen.
Komisch, Du bist heute schon der zweite, der mir totale Unfähigkeit an den Kopf wirft. Scheint was dran zu sein.
Ohne für 5 Pfenig zu denken gehst Du davon aus, das ich 100 MB an Passworter verschlüsseln und entschlüsseln würde.
Verzeihung, ich vergaß, daß jemand, der den Schreibstil eines Sonderschülers vorzuweisen hat, auf so eine dusselige Idee nicht kommen würde.
Also wenn Du es sicher machen willst solltest Du etwas konsequent in Deiner Arbeit sein. Dann musst Du nicht nur die Passwörter sondern auch restliche Infos wie z.B: Benutzer Daten Wohnort Kontonummer und was weiss ich was alles verschlüsseln.
Richtig. Das hättest Du mir Trottel, der ich Deine komplizierten Gedankengänge nicht nachvollziehen kann, aber auch sagen können. Und dann hätte ich entgegnet, daß man es den bösen Buben ja nicht unbedingt sooooo leicht machen muß. Ein schlechtes Argument, ich weiß.
Und das grose Rätsel am sChluss ist, dass man die Datenbank immer von extern so abschottet, das da keiner rauf kommt.
Ich redete von internen Angriffen, aber egal.
PS. Allein Dein Umgangston dürfte so gegen die eine oder andere FAQ Regel verstossen
Uiuiui.
deswegen werde Ich zukünftig Deine Postings einfach ignorieren es zeigt weder von Intelligenz sich so zu verhalten als von angemessener Erziehung.
Na, wenigstens kann ich noch unfallfrei schreiben, ohne dafür bezahlt werden zu müssen.
Schönen Abend und schönen Gruß an die Blacklist,
soenk.e
Hi
ich habe eine Benutzerverwaltung und frage mich nun ob ich die Passwörter verschlüsselt oder unverschlüsselt in der Datenbank abspeichern sollte.
Kommt drauf an, was für Daten die Passwörter schützen. Wenn es sehr sensible Daten sind (Kreditkarten-Infos, etc.), dann verschlüssele sie besser und generier ein neuens Password, wenn ein User seins vergessen hat.
Ansonsten lieber unverschüsselt, mach ich auch immer so. Ist halt nur wichtig, nicht zu den Experten zu gehören, die dann erstmal ein chmod 777 * machen oder so! am besten mit 600 (falls deine script unter einem wrapper laufen), dann sollte es schwierig genug sein, da ranzukommen.
gruß
csx
Servus,
Ansonsten lieber unverschüsselt, mach ich auch immer so. Ist halt nur wichtig, nicht zu den Experten zu gehören, die dann erstmal ein chmod 777 * machen oder so! am besten mit 600 (falls deine script unter einem wrapper laufen), dann sollte es schwierig genug sein, da ranzukommen.
chmod geht durch nur auf File ebene und nur für Dateien.
Wie willst Du das auf Datenbanken Anwenden?
Gruss Matze
Hi
chmod geht durch nur auf File ebene und nur für Dateien.
Wie willst Du das auf Datenbanken Anwenden?
Ich benutz doch für einfache "NICKNAME [TAB] PASSWD [NL]" nicht extra ne Datenbank. Viel zu umständlich, selbst für 10.000+ Benutzer hab ich einfache flatfiles. Datenbanken nur da, wo es Vorteile bringt ...IMHO :)
csx