Sichere Passwort-Verschlüsselung
Hallo zum Sonntag!
Man liest ja aller Orten, daß MD5 inzwischen nicht mehr sicher ist da es nun Verfahren gibt, einen String zu generieren der den selben MD5-Hash hat wie das originale Passwort. Welche Hash-Funktion (soll am besten destruktiv, also nicht wiederherstellbar sein) ist denn im Moment State of the Art? Idealerweise gibt es Implementierungen für PHP und Pascal-Delphi
Grße
Cody
Man liest ja aller Orten, daß MD5 inzwischen nicht mehr sicher ist da es nun Verfahren gibt, einen String zu generieren der den selben MD5-Hash hat wie das originale Passwort. Welche Hash-Funktion (soll am besten destruktiv, also nicht wiederherstellbar sein) ist denn im Moment State of the Art? Idealerweise gibt es Implementierungen für PHP und Pascal-Delphi
Grße
Cody
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113254
Url: https://administrator.de/forum/sichere-passwort-verschluesselung-113254.html
Ausgedruckt am: 06.04.2025 um 16:04 Uhr
8 Kommentare
Neuester Kommentar
Naja - "sicher" ist da so eine sache... Ich würde behaupten das auch MD5 heute noch "State of the Art" ist - je nachdem wo man es verwendet... Grad bei Web-Logins dürfte das heute noch relativ unproblematisch mit MD5 sein - solange es noch genug Datenbanken gibt in denen das Passwort eh im Plain-Text gespeichert wird ... (Was nützt die sicherste Passwort-Verschlüsselung wenn der dämliche Admin das PW im Plain-Text abspeichert und dann mal die ganze DB oder nen Dump davon unerlaubt kopiert wird?)
Ich würde da eher auf ein PHP-Script setzen welches eine Kombination aus der Anzahl der Fehlversuche und der Zeit macht. Einfach die letzten 5-10 Login-Versuche getrennt abspeichern (mit Uhrzeit). Nach dem 3ten Versuch wird min. 1 Min. zwischen jedem weiteren Versuch verlangt, nach dem 6ten Versuch 2 Min, nach dem 9ten 5 Min - und nach dem 12ten wird das ganze erstmal für 30 Min. ruhig gestellt... Dann wird man mit einer solchen String-Attacke nicht weit kommen - da es zu lange dauern würde um den passenden String zu finden...
Ich würde da eher auf ein PHP-Script setzen welches eine Kombination aus der Anzahl der Fehlversuche und der Zeit macht. Einfach die letzten 5-10 Login-Versuche getrennt abspeichern (mit Uhrzeit). Nach dem 3ten Versuch wird min. 1 Min. zwischen jedem weiteren Versuch verlangt, nach dem 6ten Versuch 2 Min, nach dem 9ten 5 Min - und nach dem 12ten wird das ganze erstmal für 30 Min. ruhig gestellt... Dann wird man mit einer solchen String-Attacke nicht weit kommen - da es zu lange dauern würde um den passenden String zu finden...
Vom Prinzip her ist es völlig egal, welche Methode du anwendest, du kannst dir auch eine eigene stricken.
Passwort-Verschlüsselung heißt nicht automatisch SICHERES PASSWORT, sondern heißt nur,
dass ein Passwort verschnickschnackelt abgelegt und nicht wieder ausgelesen
werden kann, und vor allen Dingen nicht ausgelesen werden darf!
Ein sicheres Passwort vergeben kannst du nur selber, indem du es vermeidest,
Namen, Daten, Ereignisse etc. als Passwort zu verwenden, die irgendwie mit
deiner Person, deiner Familie, ja selbst mit deinem Haustier zu tuen haben bzw.
Begriffe, die irgendwo in Wörterbüchern, Lexikas etc. zu finden sind.
Als Beispiel, immer wieder in Thrillern beliebt:
Der "Computerexperte" des F.B.I. sitzt tagelang vor dem sichergestelletem LapTop
eines Verdächtigen. Ergebnis: ACCESS DENIED.
Dann wendet der Experte, Kippe im Mund, Hand an der Kaffeetasse, sich einem Kollegen zu:
"Wie ist der Name seiner Tochter?" Der Kollege:"Melissa". Der Experte tippt Melissa als Passwort
ein, und: OH WUNDER, er hat das Passwort "geknackt" und erfreut sich allgemeiner Bewunderung, die
er allerdings nur der Naiivität des LapTop-Benutzers zu verdanken hat.
Und ob du es glaubst, oder nicht . . . genauso habe ich das Passwort beim Provider meines
ehemaligen Chef's "geknackt".
Ohne böse Absicht habe ich einfach mal versucht, mich mit Domainnamen als Benutzer und Spitzname seiner Frau als Passwort bei
seinem Provider anzumelden. Ergebnis: ACCESS!!! So einfach ist das.
Und genau das machen Algorythmen, die Passworte generieren: Sie verwenden Wörterbücher, Lexikas, persönliche Daten
eines Benutzers etc., verdrehen Buchstaben, Zahlen bekannter Daten solange, bis ein Treffer erzielt wurde: ACCESS!
Nicht die Verschlüsselung, sondern die Wahl des Passworts bietet Sicherheit.
Gruß
Günni
Passwort-Verschlüsselung heißt nicht automatisch SICHERES PASSWORT, sondern heißt nur,
dass ein Passwort verschnickschnackelt abgelegt und nicht wieder ausgelesen
werden kann, und vor allen Dingen nicht ausgelesen werden darf!
Ein sicheres Passwort vergeben kannst du nur selber, indem du es vermeidest,
Namen, Daten, Ereignisse etc. als Passwort zu verwenden, die irgendwie mit
deiner Person, deiner Familie, ja selbst mit deinem Haustier zu tuen haben bzw.
Begriffe, die irgendwo in Wörterbüchern, Lexikas etc. zu finden sind.
Als Beispiel, immer wieder in Thrillern beliebt:
Der "Computerexperte" des F.B.I. sitzt tagelang vor dem sichergestelletem LapTop
eines Verdächtigen. Ergebnis: ACCESS DENIED.
Dann wendet der Experte, Kippe im Mund, Hand an der Kaffeetasse, sich einem Kollegen zu:
"Wie ist der Name seiner Tochter?" Der Kollege:"Melissa". Der Experte tippt Melissa als Passwort
ein, und: OH WUNDER, er hat das Passwort "geknackt" und erfreut sich allgemeiner Bewunderung, die
er allerdings nur der Naiivität des LapTop-Benutzers zu verdanken hat.
Und ob du es glaubst, oder nicht . . . genauso habe ich das Passwort beim Provider meines
ehemaligen Chef's "geknackt".
Ohne böse Absicht habe ich einfach mal versucht, mich mit Domainnamen als Benutzer und Spitzname seiner Frau als Passwort bei
seinem Provider anzumelden. Ergebnis: ACCESS!!! So einfach ist das.
Und genau das machen Algorythmen, die Passworte generieren: Sie verwenden Wörterbücher, Lexikas, persönliche Daten
eines Benutzers etc., verdrehen Buchstaben, Zahlen bekannter Daten solange, bis ein Treffer erzielt wurde: ACCESS!
Nicht die Verschlüsselung, sondern die Wahl des Passworts bietet Sicherheit.
Gruß
Günni
Besteht denn die Möglichkeit einen Tunnel vorher aufzubauen? Denn wenn ich den Passwort-String so mitlesen kann -> was sollte mich daran hindern einfach denselben String nochmal zu übertragen.
Würdest du dagegen vorher einen Tunnel (VPN o.ä.) aufbauen ist das mitschneiden schon generell nicht mehr möglich da ich in den Tunnel nicht reingucken kann...
Würdest du dagegen vorher einen Tunnel (VPN o.ä.) aufbauen ist das mitschneiden schon generell nicht mehr möglich da ich in den Tunnel nicht reingucken kann...