Ankündigung

Einklappen
Keine Ankündigung bisher.

DoubleHash verifizieren?

Einklappen

Neue Werbung 2019

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

  • DoubleHash verifizieren?

    Hallo Community,
    ich möchte gerne meine aktuelles Projekt ein wenig umbauen und mit dem WCF erweitern.

    Da ich bei dem Login in mein Projekt auch die Passwörter des WCF prüfen möchte, muss ich ja prinzipiell das Passwort verifizieren.
    Die Passwörter sind mit einem double salted bcrypt hash verschlüsselt.

    Wären sie einfach verschlüsselt, wäre es ja mit
    PHP-Code:
    password_verify($password$hash
    getan.

    Kann mir jemand erleutern, ob man mittels verify auch die double salted hashs herausfinden kann?

    Gruß.

  • #2
    Was ist WCF? Und was soll ein double salted bcrypt hash sein?

    Kommentar


    • #3
      Woltlab Community Framework ist WCF

      Ein DoubleSaltedHash

      PHP-Code:
      password_hash(password_hash($passwordPASSWORD_BCRYPT), PASSWORD_BCRYPT
      Also auf gut deutsch, 2x gehashed

      Kommentar


      • #4
        Also auf gut deutsch, 2x gehashed
        Da hat sich wohl jemand gedacht: Doppelt hält besser ... und es dabei gründlich vermasselt.

        Da is nix zu machen, den Hash kannst du nicht verifizieren (weil du nicht mehr an das erste Salt kommst). Aber frag nochmal bei WCF nach, wie die sich das gedacht haben.

        Kommentar


        • #5
          Hab ich mir schon irgendwie gedacht, aber irgendwie muss das ja funktionieren, sonst würde der login bei denen auch nicht funktionieren.

          Werde mich mal dorthin wenden. Gruß.

          Kommentar


          • #6
            https://github.com/WoltLab/WCF/blob/....php#L122-L149
            "Software is like Sex, it's best if it's free." - Linus Torvalds

            Kommentar


            • #7
              password_hash(password_hash
              Ich habe mal in einem sehr ausführlichen Artikel gelesen das sowas die Sicherheit nur vermindert, weil durch das erste Hashing die Ausgangsbasis für das zweite Hashing vermindert wurde. Fand den Artikel schlüssig finde ihn aber gerade nicht mehr.
              The string "()()" is not palindrom but the String "())(" is.

              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                Steht doch wieder mal die Frage im Raum, wieso was bvesser zu machen zu versuchen, als es eine recht stabile Lösung schon geschafft hat.

                eine simple iteration bringts nicht, bcrypt durchläuft desingbedingt schon mehre, die kann man hochschrauben, wenn es der rechner zulässt:
                https://security.stackexchange.com/q...a256/3993#3993
                https://stackoverflow.com/questions/...terations-cost


                https://stackoverflow.com/questions/...ashing-it-once

                Wen es interressiert.

                Kommentar


                • #9
                  Da gibts es übrigens (vermutlich eh bekannt) von PHP selbst eine FAQ/Empfehlung für sicheres Password-Hashing: http://php.net/manual/de/faq.passwords.php
                  The string "()()" is not palindrom but the String "())(" is.

                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    Das erklärt einiges (z.B. wird daraus klar, dass zweimal der gleiche Salt verwendet wird, im Gegensatz zur Annahme in Post #3) ... und wie erschreckend wenig Ahnung von Kryptographie dort vorhanden ist.

                    Kommentar

                    Lädt...
                    X