Forum: Programmieren allgemein
by BUG,
21. Sep 2015
Was auch für SHA-1 und SHA-256 gelten kann ... wobei man SHA-1 im Zweifelsfall auch nicht mehr benutzen sollte.
PHP ist ja auch am meisten davon betroffen: viele Anfänger (neben den Profis :wink:) und die Software ist am Ende im Internet.
Forum: Programmieren allgemein
by BUG,
21. Sep 2015
Ja, es ist unsicher. Natürlich lässt sich abwägen, ob man das Risiko eingeht; aber abgesehen von Kompatibilität mit Legacy-Anwendungen: warum sollte man nicht eine der gut verfügbaren, sicheren Alternativen benutzen?
Forum: Programmieren allgemein
by BUG,
21. Sep 2015
Doch, genau das. Es gibt praktisch ausführbare Kollisionsangriffe: md5 ist bröckelig!
Mit der Argumentation brauchst du deine Passwörter auch gar nicht zu hashen. Deine Server sind anfällig, deine Türen stehen offen, jeder weiß bereits wie deine Frau nackt aussieht ... ähem, so langsam läuft das mit den Metaphern aus dem Ruder :stupid: :mrgreen:
Im Ernst, das sichere Verwalten von...
Forum: Programmieren allgemein
by BUG,
21. Sep 2015
Stimmt, das BSI ist nicht die letzte Autorität zu dem Thema; im Regelfall sind die eher zu gnädig bei Sicherheitssachen. Aber nicht nur das BSI warnt, eigentlich hört man das von allen Experten zu dem Thema.
Allerdings würde auch niemand bröckelige Ziegelsteine verbauen, wenn er genügend stabile Ziegelsteine hat.
Forum: Programmieren allgemein
by BUG,
21. Sep 2015
Our password hashing has no clothes tldr: "Normale" Hashes sind zu schnell und speichereffizient; und ermöglichen damit Brute-Force- und Wörterbuchattacken.
Abgesehen von Passwort-Hashing gibt es mittlerweile praktisch erfolgreiche Kollisionsattacken auf md5. Da das in Zukunft nicht besser wird, sollte man gleich einen heutigen Standard benutzen (SHA-2 oder SHA-3).
Forum: Programmieren allgemein
by BUG,
26. Feb 2015
Ich finde die Artikel von Troy Hunt zu dem Thema Passwort/Authentifizierung ganz informativ:
Our password hashing has no clothes
Everything you ever wanted to know about building a secure password reset feature
Forum: Programmieren allgemein
by BUG,
23. Feb 2015
Erst einmal: Das Salt sollte für jeden Hash unterschiedlich sein. Damit vermeidet man, dass ein Angreifer bei einer Wörterbuch-Attacke jedes Wort nur einmal Hashen muss und dann gegen die Datenbank vergleichen kann.
@himi: Die Runden erhöhen den Zeitaufwand des Angreifers.
Außerdem solltest du keine normale Hashfunktion verwenden, sondern eine Key-Derivation-Funktion wie bcrypt oder scrypt....