Sebastian Becker: Passwort-Verschlüsselung

Hallo,

wo kann ich mich über die Vor- und Nachteile verschiedener Paßwortverschlüsselungsverfahren informieren, wie z.B. "base64_encode", "md5" und "password"?

Ist es für eine "Lost Password"-Funktion sinnvoll, das Original-Passwort zu extrahieren - und welches 2-Weg-Verschlüsselungsverfahren ist dafür geeignet?

Oder ist es besser, gleich ein neues Paßwort zu verschicken und wenn ja, sollte man vorher eine Zusatzfrage beantworten lassen (Geburtsname der Mutter o.ä.)?

Danke für alle Tips und Hinweise auf Internetquellen,

Grüße,

Sebastian

  1. Hallo,

    wo kann ich mich über die Vor- und Nachteile verschiedener
    Paßwortverschlüsselungsverfahren informieren,

    Was du wissen willst, sind die Vor- und Nachteile von Verschluesselungs-Verfahren :)
    'Passwortverschluesselungsverfahren' gibt es nicht. Und *darueber* gibt es jede Menge Infos...

    wie z.B. "base64_encode",

    base64_encode ist kein Verfahren, klingt eher nach einem Funktionsaufruf um Daten nach Base64
    zu transformieren (ich sage mit Absicht transforieren! Base64 ist keine Verschluesselung. Man
    kann die Daten ohne irgendwelche Aufwaende problemlos wiederherstellen.)

    "md5"

    MD5 ist ein Pruefsummenalgorithmus, kein Verschluesselungs-Algorithmus -- es sei denn, man
    schliesst die Entschluesselung aus.

    und "password"?

    Was ist 'password'? Ja, ich weiss, das engl. Wort fuer Passwort ;) Aber was genau willst du
    wissen?

    Ist es für eine "Lost Password"-Funktion sinnvoll, das Original-Passwort zu
    extrahieren

    Warum? Setz es neu.

    • und welches 2-Weg-Verschlüsselungsverfahren ist dafür geeignet?

    Das kommt auf die Relevanz deiner Daten an. DES ist z. B. haeufig eine gute Wahl.

    Oder ist es besser, gleich ein neues Paßwort zu verschicken und wenn ja, sollte man
    vorher eine Zusatzfrage beantworten lassen (Geburtsname der Mutter o.ä.)?

    Wenn du es wirklich relativ sicher haben willst, lasse dir einen Public Key schicken und
    verschluessele das neue Passwort mit dem. Ich persoenlich halte allerdings eine
    SSL-Verbindung und die beruehmte Passwortfrage fuer relativ sinnvoll.

    Gruesse,
     CK

    1. Hallo, Christian,

      base64_encode ist kein Verfahren ...

      ich mich auch gewundert, als ich in irgendeinem Open-Source-Skript gesehen habe, daß die Passwörter nach "Transformierung" mit base64_encode in mySql gespeichert wurden ...

      MD5 ist ein Pruefsummenalgorithmus, kein Verschluesselungs-Algorithmus
      -- es sei denn, man

      schliesst die Entschluesselung aus.

      wird aber doch wohl häufig für das Verschlüsseln von Paßwörtern benutzt ...

      Was ist 'password'? Ja, ich weiss, das engl. Wort fuer Passwort ;) Aber was genau willst du wissen?

      das ist eine mySQL-Funktion zum verschlüsselten Ablegen von Paßwörtern(Beispiel: INSERT INTO ... VALUES (
      PASSWORD($password)). Ist die ebenso sicher wie md5?

      Ist es für eine "Lost Password"-Funktion sinnvoll, das Original-Passwort zu extrahieren

      Warum? Setz es neu.

      Das könnte den Nutzer nerven, denn er will ja i.A. nur an sein Paßwort erinnert werden und nicht unbedingt ein neues erhalten ...

      DES ist z. B. haeufig eine gute Wahl.

      was ist DES?

      Ich persoenlich halte allerdings eine SSL-Verbindung und die beruehmte Passwortfrage fuer relativ sinnvoll.

      Aha, gut zu wissen, so werde ich es wahrscheinlich auch machen ...

      Danke für die Hinweise, Grüße,

      Sebastian

  2. Hi erstmal,

    MD5 ist ein nicht wiederherstellbares Encrypt-Verahren (mit 128bit, genau wie DES). Es ist unmöglich ein mit dem PHP-Befehl md5() codiertes Passwort wiederherzustellen. Speicherst Du Dein Passwort so in einer mySQL-Datenbank, kann es kein Mensch (und keine Maschine) wieder decodieren. Also - ein Niveau an Sicherheit, was für alle denkbaren Anwendungen zufriedenstellend sein sollte.
    Willst Du nun jemandem sein Passwort erneut zusenden, weil er es vergessen hat - Pech gehabt. Das geht nun nimmer. Aber es ist überhaupt kein Ding, ihm ein neues zu generieren, mit dem er sich erneut einloggen und es dann bei Bedarf ändern kann. Dieses neue Passwort wird ihm automatisch an eine bei der Registrierung angegebene Mail-Adresse geschickt.
    Und man sollte nicht davon ausgehen, dass Anwender andauernd ihr Passwort vergessen. Es ist mittlerweile sehr gängig, dass man in Foren o.ä. ein neues Passwort in einem solchen Fall zugeschickt bekommt (z.B. im Heise-Forum). Und falls man wo anders sein altes wiederbekommt, dann aber auch gleichzeitig mit der Aufforderung, es umgehend zu wechseln. Warum also der Mehraufwand für Dich als Programmierer - es lohnt nicht. Und Sicherheitsfragen sind auch nicht das Gelbe vom Ei...

    Also, mein Tipp: md5 --> Datenbank, wenn verloren --> neues PW per Mail...

    Gruss
    Lemmy