26.07.2017
  • Betrifft Modul
  •  
  • Meldezeitpunkt
  • Montag, 06.06.2016 18:35
  • Letzte Änderung
  • Sonntag, 26.06.2016 08:45
  • Status
  • Bestätigt
  • Bearbeiter
  • Noch nicht zugeordnet
  • Text
  • Lansuite Passworthashes sind nicht salted.
    Die genutzte Passwort-Hashfunktion MD5 wird mittlerweile als unsicher angesehen: https://en.wikipedia.org/wiki/MD5#Security

    Abhilfe:

    - Die PHP-Funktion `md5` sollte durch `crypt` (abwärtskompatibel) oder `password_hash` (ab 5.5) ersetzt werden, `crpyt` sieht auch Salting vor. http://php.net/manual/de/function.crypt.php
    - Die DB-Spalten müssen entsprechend erweitert werden, um die längsten Hashes (SHA512 oder Bcrypt) zuzulassen (siehe Beispiel)
    - Zum Überprüfen der Hashes sollten `password_verify` oder `hash_equals` (ab 5.6) verwendet werden.

    Migration bestehender Accounts:

    - Bestehende User müssen einen Einmallink zum Ändern ihres Passworts zugesandt bekommen, bestehende unsalted Passwörter weiterzuverwenden unterstützt `crypt` nicht.

Kommentare
     
    MaLuZ
    06.06.2016 23:27
    Hi,

    du hast meine volle Zustimmung.
    MD5 ohne Salt und ohne zusätzliche Iterationen ist nicht mehr zeitgemäß, selbst wenn es um Daten im Backend geht, an die man erst einmal gelangen muss.

    Würde folgende Implementierung vorschlagen:
    Crypt mit Blowfish verwenden, weil das schon ab PHP 5.3 verfügbar ist.
    Für password_verify und hash_equals Wrapper erstellen, so dass ein einfacher String-Vergleich verwendet wird, wenn das Modul nicht geladen ist
    Hash kann man dann auch als optionale Modulabhängigkeit zum Installer hinzufügen.

    Zur Migration:
    Es geht auch ohne Passwortwechsel.
    Beim Login haben wir das Benutzerpasswort im Klartext und können es verwenden, um einen neuen Hash zu generieren.
    Die User würden somit schrittweise migriert.
    Alternativ kann man auch die neue Funktion hinter das initiale MD5 packen, dann kann man das auch in einen einmaligen Update erledigen.

    Bleibt nur noch die Implementierung:
    Bin erstmal bis Ende Juli mit unserer Veranstaltung ausgelastet und habe schon ein paar Themen danach.
    Wenn du also Lust hast, dich daran daran zu versuchen, würde ich mich über die Hilfe freuen.
    quote
    1 Einträge
    • Hinweis:
      Bitte loggen dich ein, bevor du einen Kommentar verfasst
    • Hinweis:
      Es wurden keine Einträge gefunden