Passwörter verschlüsseln - wie macht Ihr es

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Passwörter verschlüsseln - wie macht Ihr es

    hi

    wie veschlüsselt Ihr die Passwörter (oder macht ihr es überhaupt) wenn sich user bei einem Benutzer-Account anmelden. Verschlüsselt Ihr es mit md5 Browserseitig per javascript oder erst auf dem server mit md5. Und was ist wenn ein user das passwor vergessen hat?? Man kann das Passwort ja nicht wieder rückentschlüsseln.

    Würd mich freuen mal eure Methoden zu hören

    gruss

    Thommy
    www.unister.de

    what students want!

  • #2
    PWDs verschlüssele ich serverside. Eine Verschlüsselung bereits am Client bringt nichts, da auch dieser verschlüsselte Wert, soferne keine SSL-Verbindung besteht gesnifft werden kann. Ob jetzt ein eindeutiges Passwort im Klartext oder ein eindeutiger verschlüsselter wert wie etwa "f29e7548dbbd21bffecc25e6f040654d" übertragen wird ist ansich egal, denn dieser Wert kann genausogut gefaked werden, wenn ich einfach den Wert ""f29e7548dbbd21bffecc25e6f040654d" für das PWD einsetze.

    Diese serverside Verschlüsselung des PWDs dient primär der Sicherheit um im Falle eines Falles einem Eindringling nicht auf Anhieb dir Zugangsdaten zu präsentieren. Natürlich gibt es entsprechende BruteForce Methoden um diese Passworte zu knacken, das ist aber ein anderes Kapitel.

    Wenn jemand sein PWD vergessen hat, so wird Ihm ein neues gesetzt und ihm dieses per eMail (ich weiß, das ist eine sehr unsichere Methode) zugestellt. (Gültige eMail ist Bedingung zum Anlegen eines Account). Dieses gesetzte PWD muß beim ersten Login mit diesem vom User geändert werden.

    Ich habe rein numerische PWDs für System- Admin-Zwecke reserviert und lasse Benutzern nicht zu rein numerische PWDs zu verwenden, Nach Login mit einem numerischen PWD verlange ich prinzipiell eine PWD Änderung.

    Außerdem sollten PWDs ohnehin aus einer Kombination von Zahlen, Groß-, Klein-Buchstaben, sowie Sonderzeichen bestehen und mindestens 8 stellen lang sein.

    Zumindest die Übertragung der Login-Daten sollte verschlüsselt sein.

    Kommentar


    • #3
      recht hat hand ...

      am besten serverseitig mit md5 ...

      einfach
      PHP-Code:
      $encrypted md5 ($passwort); 
      ende .

      mfg DaPhreak
      If something's HARD to do,

      then it's not worth doing.
      (Homer J. (Jay) Simpson)

      Kommentar


      • #4
        Eine Frage zu MD5:

        Es wird ja immer ein String von 32 Zeichen zurückgegeben.
        Aber was ist wenn der zu verschlüsselnde String zB 100 Zeichen lang ist?

        Hab ich da was falsch verstanden oder geht es einfach nicht?

        Kommentar


        • #5
          Vielleicht nicht die beste Lösung ...
          Ich persönlich speichere die Passworte in 'ner MySQL-db mit encode() um die Kennworte zurückübersetzen zu können.

          Sämtliche Funktionen die für den Zugriff notwendig sind ( checkUser(), ... ) stehen in einer Funktionsbibliothek die mit dem ZendEncoder compiliert sind ... damit auf den Verschlüsselungskey nicht via get_defined_constants() zugegriffen werden kann wird dieser in die Funktion hard gecoded.

          Da alle Server eines Projekts entweder auf lokale oder zumindest über ein 2. lokales Netz in unseren Rechnerräumen auf die Daten zugreifen sollte es auch mit dem MySQL Sniffen nicht ganz einfach sein ...
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar

          Lädt...
          X