[PHP][MYSQl] Datensicherheit

  • Hey,


    bevor man das Passwort in der Datenbank speichert, sollte man es zuvor verschlüsseln bzw. hashen. Meine Frage ist nun, ob mal dann nicht eigentlich alle Daten verschlüsseln sollte, bevor man diese abspeichert, denn im Endeffekt sind das meistens persönliche Daten von Nutzern. Macht das Sinn? Wenn ja, mit was würdet ihr das ganze verschlüsseln? Ist das zu viel Arbeit für nichts? Und wenn es sinnlos ist, warum?


    Gruss

    Crazy :)

  • Hey,


    nehmen wir als Beispiel eine Registration.


    Bei der Registration müssen die User folgende Daten angeben um sich auf deiner Seite zu registrieren:

    • Vor- und Nachname
    • Geburtsdatum
    • Geschlecht
    • Benutzername
    • Passwort


    Von diesen Daten musst du aufjedenfall das Passwort verschlüsseln, bzw. hashen mit der password_hash() - Funktion. Dazu kannst du PASSWORD_DEFAULT verwenden. Dazu kannst du dem Passwort vor dem hashen auch ein extra String hinzufügen. Diesen nennt man Pepper. Die anderen Daten brauchst du nicht zu hashen. Das wäre sinnlos. Weil was möchte ein Angreifer ohne das Passwort anstellen? Ohne Passwort geht nix. Und da du dem Password noch das Pepper hinzufügst, ist es für die Angreifer noch schwieriger das Passwort in Chars umzuwandeln. Wenn du jedoch das Passwort einfach so abspeicherst, dann ist das eine sehr gefährliche Sache. Denn so hat der Angreifer nach dem hacken der Datenbank sofort alle Passwörter in Klartext.


    Siehe auch: loginpasswort-richtig-hashen


    Gruß,

    Stef

  • Hey,


    vielen Dank für deine Antwort! Das Passwort habe ich bereits gehasht und im Endeffekt hast du recht, er kann mit den Daten nichts anfangen...


    Gruss

    Zipity :)

  • coolio, vielen Dank für die Hinweise!


    mfg