Christian Kruse: Beispiel für Login

Beitrag lesen

Hallo TS,

[...]

Das würde bedueten, dass wir z. Zt. die Funktion password_hash() von PHP mit dem $algo-Argument PASSWORD_BCRYPT nutzen sollten und können?

Ja.

Die Einschränkung auf 60 Zeichen Output ist nicht (sooo) relevant?

Bcrypt ist derzeit auf 56 Byte lange Passwörter beschränkt. Das ist für die meisten Passwörter ausreichend; modernere Algorithmen haben das allerdings schon bedacht und haben diese Einschränkung nicht mehr (etwa Argon2), die müssen allerdings noch battle-tested werden.

Das Resultat ist immer 60 Zeichen lang (das Salt muss ja noch mit gespeichert werden). Das ist zur Zeit ausreichend sicher.

Wenn dir diese Einschränkungen nicht passen, verwende PBKDF2 oder, wenn du mutig bist, Argon2.

Ist crypt soviel löchriger?

Bei crypt() ist vor allem abhängig vom OS, welcher Hashing-Algorithmus dahinter steckt. Und je nach Salt wird auch noch ein Fallback auf schwächere Hashing-Algorithmen, etwa MD5, gemacht. Nein, besser password_hash() nutzen.

Wenn man bei der Anmeldung am System einen Session-Token erzeugt, ist es dann sinnvoll, für die Dauer der Session selber zusätzlich auch einen Fingerprint des Client zu speichern und bei jedem Request auf die Session zu vergleichen? Dann hätte man zumindest eine Chance, ein entführtes Session-Token zu erkennen, oder?

Das ist zwar ein ganz anderes Thema, aber von mir aus 😉

Gegen session hijacking helfen vor allem erstmal, Session-Cookies auf secure und httponly zu setzen. Damit sind die beiden grössten Angriffsvektoren, nämlich eine XSS-Lücke oder das ablauschen der Verbindung, schonmal beseitigt. Ausserdem generiert man nach einem erfolgreichen Login eine neue Session-ID, um zu verhindern, dass dem User eine manipulierte Session-ID untergeschoben wurde.

Session fingerprinting wird manchmal zwar auch benutzt, ist aber sehr kompliziert umzusetzen und sorgt oft dafür, dass der User aus der Session fliegt, weil der Browser irgendwas ändert, weil die SSL-Session erneuert wird, oder, oder, oder. Ich würde davon immer abraten, der Algorithmus ist zu fragil.

LG,
CK

0 90

HTML mit Passwort aber ohne User Eingabe!

Tazzi
  • html
  • php
  • programmiertechnik
  1. 0
    TS
    • html
    • php
    • sicherheit
    1. 0
      einsiedler
  2. 0
    Matthias Apsel
    1. 0
      Tazzi
      1. 1
        JürgenB
        1. 0
          TS
          1. 1
            JürgenB
            1. 0
              TS
              1. 0
                Camping_RIDER
                1. 0
                  TS
                  1. -1
                    Camping_RIDER
                    1. 1
                      1unitedpower
                      1. 0
                        Camping_RIDER
                        1. 1
                          Gunnar Bittersmann
                          • zitat
                          1. -1
                            Camping_RIDER
                  2. 1
                    Camping_RIDER
                    1. 2
                      JürgenB
                      1. 0
                        TS
                        • html
                        • php
                        • webstandards
                        1. 1
                          Camping_RIDER
                        2. 0
                          Camping_RIDER
            2. 0
              1unitedpower
              1. 0
                JürgenB
                1. 0
                  1unitedpower
  3. 0
    Tazzi
    1. 0
      TS
      1. 0
        Tazzi
      2. 0
        TS
        • html
        • korrektur
        • php
        1. 0
          Tazzi
          1. 0

            Beispiel für Login

            TS
            1. 0
              Tazzi
              1. 0
                Rolf B
                1. 0
                  TS
                  • formulare
                  • html
                  • php
                  1. 0
                    Rolf B
            2. 0
              1unitedpower
              1. -1
                pl
                1. 0
                  1unitedpower
                  1. 0
                    pl
                    1. 0
                      pl
                    2. 0
                      1unitedpower
                      1. 0
                        pl
                        1. 0
                          1unitedpower
                          1. 0
                            pl
                2. 0
                  Christian Kruse
                  1. 0
                    pl
                    1. 0
                      dedlfix
                      1. 0
                        TS
                        • apache
                        • php
                        • webserver
                        1. 0
                          dedlfix
                          • html
                          • php
                          • webserver
                      2. 0
                        pl
                    2. 0
                      Mitleser
                      1. -1
                        pl
                        1. 0
                          Mitleser
                          1. 0
                            pl
                            1. 0
                              Mitleser
                              1. 0
                                pl
                                1. 0
                                  Mitleser
                                  1. 0
                                    pl
                                    1. 0
                                      Mitleser
                                      1. 0
                                        pl
                                        1. 0
                                          Christian Kruse
                                          1. 0
                                            pl
                                            1. 0
                                              Mitleser
                                              1. 0
                                                pl
                                                1. 2
                                                  Tabellenkalk
                                                  1. 0
                                                    TS
                                                    • korrektur
                                                    • projekt
                                                  2. 0
                                                    Gunnar Bittersmann
                                                    • menschelei
                                            2. 0
                                              Christian Kruse
                                              1. 0
                                                pl
                                                1. 0
                                                  Mitleser
                                                  1. 0
                                                    pl
                                                    1. 0
                                                      Mitleser
                                                      1. 0
                                                        pl
                                                2. 0
                                                  Christian Kruse
                                    2. 0
                                      1unitedpower
                                      1. 0
                                        pl
                                      2. 1
                                        TS
                                        • fachbegriff
                                        1. 1
                                          1unitedpower
                                          1. 0
                                            TS
              2. 0
                Camping_RIDER
                1. 1
                  1unitedpower
                  1. 4
                    Christian Kruse
                    • programmiertechnik
                    • sicherheit
                    1. 0
                      TS
                      • php
                      • programmiertechnik
                      • sicherheit
                      1. 1
                        Christian Kruse
                  2. 0
                    Matthias Apsel
                    • sonstiges
                    1. -1
                      Camping_RIDER
                2. 0
                  TS
                  • datenbank
                  • php
                  • sicherheit
                  1. 0
                    Christian Kruse
                    1. 0
                      TS
                      1. 1
                        Christian Kruse
  4. 0
    pl