Abo
  1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › PHP 5.5: Sichere…

Salt?

Anzeige
  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


  1. Salt?

    Autor: andi_lala 13.09.12 - 12:58

    Wie läuft das hier mit dem Salt, wenn er ja zufällig generiert wurde, aber nirgends mitgespeichert wird?
    Oder ist der Salt für die ganze PHP-Instanz einheitlich?
    Ich bin da leicht verwirrt, denn ich war der Ansicht, dass man den Salt schon auch separat mitspeichern muss, damit man ihn dann beim Verifizieren wieder mitangeben kann.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  2. Re: Salt?

    Autor: Netspy 13.09.12 - 13:00

    https://gist.github.com/3707231

    > Remember: The salt and algorithm are part of the hash, so you don't need to provide them separately.

    Wobei ich jetzt nicht ganz verstehe, was ein Salt bringt, der zusammen mit dem Hash gespeichert wird.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  3. Re: Salt?

    Autor: Schattenwerk 13.09.12 - 13:00

    Das übernimmt PHP für dich. Es wird der Salt mit im Passwort integriert.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  4. Re: Salt?

    Autor: Schattenwerk 13.09.12 - 13:02

    Netspy schrieb:
    --------------------------------------------------------------------------------
    > gist.github.com
    >
    > > Remember: The salt and algorithm are part of the hash, so you don't need
    > to provide them separately.
    >
    > Wobei ich jetzt nicht ganz verstehe, was ein Salt bringt, der zusammen mit
    > dem Hash gespeichert wird.


    Das ist der typische Verständnisfehler.
    Ein Salt soll nur bewirken, dass das Passwort nicht über eine Rainbow-Table einfach gematcht werden kann.

    Wenn du den Hash und den Salt hast, bringt es dir nichts ;)

    Benutzer wird von Ihnen ignoriert. Anzeigen

  5. Re: Salt?

    Autor: andi_lala 13.09.12 - 13:09

    Netspy schrieb:
    --------------------------------------------------------------------------------
    > gist.github.com
    >
    > > Remember: The salt and algorithm are part of the hash, so you don't need
    > to provide them separately.

    Vielen Dank!
    Jetzt ist es klar!
    Hätt mich ansonsten ziemlich gewundert, wenn der dann nicht mitgespeichert wird.

    Salt wird dafür gebraucht um Rainbow-Tables auszuschalten, weil diese nicht für so lange Passwörter generiert werden können (mit vernünftigen/realistischen Aufwand versteht sich)

    Benutzer wird von Ihnen ignoriert. Anzeigen

  6. Re: Salt?

    Autor: Netspy 13.09.12 - 13:09

    Wieso bringt das nichts? Wenn ich den Salt habe, kann ich wieder einfach mittels Wörterbuch testen. Das ist doch genau das, was der Salt verhindern soll.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  7. Re: Salt?

    Autor: Schattenwerk 13.09.12 - 13:13

    Netspy schrieb:
    --------------------------------------------------------------------------------
    > Wieso bringt das nichts? Wenn ich den Salt habe, kann ich wieder einfach
    > mittels Wörterbuch testen. Das ist doch genau das, was der Salt verhindern
    > soll.

    Nein, genau dies verhindert ein Salt nicht. Gegen ein Angriff per Wörterbuch oder Bruteforce schützt auch kein Salt.

    Ein Salt schützt effektiv nur vor Rainbow-Tables, weil diese nicht für ein Passwort mit Salt existieren.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  8. Re: Salt?

    Autor: Netspy 13.09.12 - 13:13

    Ok, verstanden. Aber sicherer wäre es doch, wenn der Salt nicht direkt mitgespeichert werden würde. So wird zumindest ein Wörterbuch-Angriff möglich.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  9. Re: Salt?

    Autor: Netspy 13.09.12 - 13:16

    Wie willst du deinen Angriff mittels Wörterbuch machen, wenn du den Salt nicht kennst?

    Benutzer wird von Ihnen ignoriert. Anzeigen

  10. Re: Salt?

    Autor: Schattenwerk 13.09.12 - 13:16

    Netspy schrieb:
    --------------------------------------------------------------------------------
    > Ok, verstanden. Aber sicherer wäre es doch, wenn der Salt nicht direkt
    > mitgespeichert werden würde. So wird zumindest ein Wörterbuch-Angriff
    > möglich.

    Ich weiß nicht, was du mit deinem Wörterbuch hast.

    Ein Salt muss in der Regel mitgespeichert werden weil - wenn man es richtig macht - jedes Passwort seinen eigenen Salt hat. Wenn man einen allgemeinen Salt wählt, dann ist die Technik witzlos.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  11. Re: Salt?

    Autor: andi_lala 13.09.12 - 13:20

    Nein. Der Salt schützt nur davor, dass man mittels Rainbow-Tables im Vorhinein auf viele Stellen alle möglichen Kennwörter (im Bruteforce und nicht Dictionary) generiert und dann einfach den Hash matched um das original Kennwort zu finden.
    Da das matchen logischerweise recht schnell geht (ich glaube der Aufwand dürfte log(n) sein, wenn n die Anzahl Kennwörter ist), kann so mit wenig Aufwand das original Kennwort ermittelt werden.
    Mit einem Salt geht das nicht mehr, weil dann die Kennwörter sehr lang werden und die Rainbow-Tables dadurch viel zu Aufwändig zum berechnen wären (auch der Speicherplatz der Rainbow-Tables wäre viel zu groß).
    Deshalb ist es völlig egal, ob der Salt bekannt ist, oder nicht. Dadurch schützt man sich nämlich nur von den Rainbow-Tables. Normale Bruteforce- oder Dictionary-Attacks werden damit zwar auch etwas erschwert, aber das ist nicht das Ziel von Salts und bringt auch keinen richtigen Sicherheitsvorteil, vorallem wenn der Algorithmus bekannt ist, der die Salts verarbeitet. Das wär dann eher ein Effekt der Security By Obscurity zuzuschreiben ist.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  12. Re: Salt?

    Autor: Netspy 13.09.12 - 13:20

    Ok, ich glaube ich hab es jetzt gerafft. Ich gehe mal davon aus, dass für jeden Hash ein neuer zufälliger Salt erzeugt wird. Damit ist natürlich auch kein effektiver Angriff über Wörterbücher mehr möglich, da ja jeder Hash einen anderen Salt hat und count(Wörterbuch) × count(Passwörter) Berechnungen nötig wären.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  13. Re: Salt?

    Autor: Schnarchnase 13.09.12 - 13:21

    Netspy schrieb:
    --------------------------------------------------------------------------------
    > Wie willst du deinen Angriff mittels Wörterbuch machen, wenn du den Salt
    > nicht kennst?

    Die Eingabe erfolgt immer im Klartext ohne Salt. Da Bruteforce-Attacken die Eingabemaske oder -schnittstelle nutzen, ist das Salt für diese Art von Angriff vollkommen uninteressant.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  14. Re: Salt?

    Autor: Netspy 13.09.12 - 13:23

    Angriffe über Eingabemasken sind doch in der Praxis eher unwahrscheinlich, da wohl jedes Login-System nach x falschen Zugriffen (zeitlich) sperrt.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  15. Re: Salt?

    Autor: Netspy 13.09.12 - 13:23

    Sieh meine Antwort an mich selbst. Das mit dem unterschiedlichen Salt pro Hash hatte ich nicht bedacht aber so macht es natürlich Sinn.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  16. Re: Salt?

    Autor: Schnarchnase 13.09.12 - 13:25

    Netspy schrieb:
    --------------------------------------------------------------------------------
    > Angriffe über Eingabemasken sind doch in der Praxis eher unwahrscheinlich,
    > da wohl jedes Login-System nach x falschen Zugriffen (zeitlich) sperrt.

    Worüber willst du sonst gehen, wenn du keinen Zugriff auf die Datenbank hast? Die Loginschnittstelle ist in der Regel die einzige Angriffsfläche, wenn du nicht eh schon in das System eingedrungen bist.

    Und genau den zeitlichen Faktor berücksichtigt Bcrypt auch, indem die Berechnung des Hashes absichtlich verlangsamt wird.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  17. Re: Salt?

    Autor: andi_lala 13.09.12 - 13:28

    Schnarchnase schrieb:
    --------------------------------------------------------------------------------
    > Die Eingabe erfolgt immer im Klartext ohne Salt. Da Bruteforce-Attacken die
    > Eingabemaske oder -schnittstelle nutzen, ist das Salt für diese Art von
    > Angriff vollkommen uninteressant.

    Nein nicht unbedingt.
    Wenn der Hacker an den Hash gelangt, kann er versuchen ihn offline zu hacken. Das wird ja auch bei Rainbow-Tables gemacht.
    Wenn er nun aber den Salt nicht hat, dann kann er Dictionary-Attacks vergessen (und Bruteforce werden auch sehr aufwändig). Das Problem das ich hier sehe ist, aber eher, dass wenn ein Hacker bereits an den Hash gelangt, dann kann man auch davon ausgehen, dass er an den Salt gelangen kann, weshalb es theoretisch nicht wirklich was bringt. Praktisch gesehen wäre ein Salt, welcher beispielsweise in der PHP-Instanz übergreifend zusätzlich gespeichert würde (als Ergänzung und nicht Ersatz von den zufälligen Salts), könnte dies schon ein Zusatzschutz darstellen.
    Das Problem seh ich hier eher in der Handhabbarkeit, da man wieder einen zusätzlichen Hash hat, welcher nicht in der DB gespeichert werden sollte.
    Ich würd das eher zu Security By Obscurity einordnen, aber vermutlich wird es in der Praxis sogar etwas bringen.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  18. Re: Salt?

    Autor: andi_lala 13.09.12 - 13:32

    Schnarchnase schrieb:
    --------------------------------------------------------------------------------
    > Worüber willst du sonst gehen, wenn du keinen Zugriff auf die Datenbank
    > hast? Die Loginschnittstelle ist in der Regel die einzige Angriffsfläche,
    > wenn du nicht eh schon in das System eingedrungen bist.
    Er könnte zum Beispiel auf die Datenbank kommen und dann das Original-Kennwort rausfinden, was viel heftiger wäre, denn dann könnte er vielleicht auch auf anderen Seiten den User anmelden. Außerdem kann es sein, dass die Website gewisse Dienste nur zulässt, wenn man angemeldet ist, wie zum Beispiel in einem Shop. Da nützt mir der Lesezugriff auf die DB nichts (beim Vollzugriff wärs was anderes, da könnt ich dann mein eigenes Kennwort setzen)

    > Und genau den zeitlichen Faktor berücksichtigt Bcrypt auch, indem die
    > Berechnung des Hashes absichtlich verlangsamt wird.
    Das ist egal, wenn ichs lokal ausführe brauch ich kein Bcrypt um den Hash zu knacken.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  19. Re: Salt?

    Autor: Netspy 13.09.12 - 13:36

    Ähhhh, nein. Das Problem ist im Allgemeinen, dass ein Hacker irgendwo eine Datenbank mit Password-Hashes erbeutet und er daraus wieder Klartext-Passwörter erzeugen kann. Genau das soll verhindert bzw. erschwert werden.

    Wenn man über das Login-System geht, ist einem der verwendete Hash, Salt, etc. sowieso egal.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  20. Re: Salt?

    Autor: Schattenwerk 13.09.12 - 13:37

    andi_lala schrieb:
    --------------------------------------------------------------------------------
    > Praktisch gesehen wäre
    > ein Salt, welcher beispielsweise in der PHP-Instanz übergreifend zusätzlich
    > gespeichert würde (als Ergänzung und nicht Ersatz von den zufälligen
    > Salts), könnte dies schon ein Zusatzschutz darstellen.

    Technisch aber nicht sinnvoll sobald man mehrere PHP-Instanzen hat. Dies hast du z.B. bei mehreren Servern mit Load-Balancer ;)

    Benutzer wird von Ihnen ignoriert. Anzeigen

  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


Entschuldigung, nur registrierte Benutzer dürfen in diesem Forum schreiben. Klicken Sie hier um sich einzuloggen


Anzeige
  1. Manager Entwicklung Internet / Interactive (m/w)
    OSRAM GmbH, München
  2. Frontend-Entwickler (m/w) E-Commerce
    LIDL Stiftung & Co. KG, Neckarsulm, Berlin
  3. IT-Security Engineer (m/w)
    Haufe Gruppe, Freiburg im Breisgau
  4. Projektmanager/in Digitale Medien
    GRÄFE UND UNZER VERLAG GmbH, München

Detailsuche



Anzeige


Haben wir etwas übersehen?

E-Mail an news@golem.de


Ubuntu on Windows im Test: Eine neue Hassliebe auf der Kommandozeile
Ubuntu on Windows im Test
Eine neue Hassliebe auf der Kommandozeile
  1. Subsystem für Linux Microsoft entschlackt den Kernel für Ubuntu on Windows
  2. Windows 10 Neue Insider-Preview verbessert Stift-Unterstützung
  3. Windows 10 Insider Build Vorschau mit dem Windows Subsystem for Linux ist da

850 Evo v2 im Test: Samsungs neue SSDs sind kleiner und doch gleich groß
850 Evo v2 im Test
Samsungs neue SSDs sind kleiner und doch gleich groß
  1. Z410 Sandisk packt planaren TLC-Flash in seine Client-SSDs
  2. PNY CS2211 XLR8 im Test Überarbeiteter Controller trifft 15-nm-MLC-Flash
  3. MX300 Crucial bringt erste 3D-Flash-basierte SSDs noch im April

Industrie 4.0: Wenn die Fracht dem Frachter Vertrauliches erzählt
Industrie 4.0
Wenn die Fracht dem Frachter Vertrauliches erzählt
  1. Industrie 4.0 Datendesigner dringend gesucht
  2. Studie zu Digitalisierung Das Milliardenpotenzial von Industrie 4.0
  3. Alpha-Go-Schock Südkorea investiert 760 Millionen Euro in KI-Förderung

  1. Quantum Break: 27-GByte-Patch deaktiviert das Upscaling
    Quantum Break
    27-GByte-Patch deaktiviert das Upscaling

    Remedy hat ein Update für Quantum Break veröffentlicht. Das erlaubt es, das interne Upscaling abzuschalten. Die Bildqualität verbessert sich leicht, die Framerate sinkt drastisch. Allerdings läuft das Spiel aufgrund einer Besonderheit gefühlt noch schlechter.

  2. Torsploit: Früheres Mitglied der Tor-Entwickler half dem FBI
    Torsploit
    Früheres Mitglied der Tor-Entwickler half dem FBI

    Operation Torpedo zum Aufspüren von Pädokriminellen im Tor-Netzwerk ist vor allem durch die Arbeiten eines früheren Tor-Mitglieds erfolgreich geworden. Im Jahr 2008 arbeitete er noch an Tor selbst, 2012 wurde er indirekt für die US-Bundespolizei FBI tätig.

  3. Emulation: Windows 95 auf der Apple Watch
    Emulation
    Windows 95 auf der Apple Watch

    Einem Entwickler ist es eigenen Angaben zufolge gelungen, Windows 95 auf einer Apple Watch zu installieren. Basis waren Vorarbeiten von Steven Troughton-Smith. Die Emulation braucht allerdings sehr lange zum Booten.


  1. 14:52

  2. 11:42

  3. 10:08

  4. 09:16

  5. 13:13

  6. 12:26

  7. 11:03

  8. 09:01