PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘bcrypt’ tag

Hilfe, ich habe unsichere Passwörter in meiner Datenbank!

with 4 comments

Seit einigen Monaten sollte jedem, der die IT-Nachrichten und sogar die Mainstream-Presse etwas verfolgt, klargeworden sein dass es keine besonders kluge Idee ist, Passwörter von Kunden im Klartext zu speichern. Hashing ist nach wie vor eine gute Idee, wenn man den richtigen Algorithmus verwendet. Hashes sollten nur noch eingesetzt werden wenn man einen Salt mit einbaut, aber auch dan gibt es noch große Unterschiede zwischen alten Verfahren wie MD5/SHA und neueren Algorithmen wie bcrypt. Dank Artikeln zum Thema bcrypt von Oliver sollte auch jedem mindestens eine Lösung bekannt sein die man heutzutage einsetzen sollte. Doch wie macht man das in der Praxis, wie migriert man die bestehenden Daten zum neuen bcrypt Verfahren? Darauf möchte ich hier etwas eingehen.

Ein neues Projekt

Wenn ein neues Projekt gestartet und auf der grünen Wiese begonnen wird ist alles sehr einfach. Neue Kunden- bzw. Benutzerpasswörter werden einfach mittels bcrypt gehasht und dann in einer Datenbank gespeichert. Man kann natürlich auch Textdateien, Arbeitsspeicher oder etwas anderes nehmen, Hauptsache man hat das gehashte Passwort zur Hand wenn sich der Benutzer einloggen möchte und kann das eingegebene Passwort gegen das Gespeicherte prüfen.

Passwörter aus einem bestehenden System nutzen

Weiterlesen »

Written by Michael Kliewe

Oktober 2nd, 2012 at 10:59 am

Schöner hashen mit bcrypt

with 94 comments

Gastartikel von Oliver Sperke.

Ich bin 34 Jahre alt und seit 10 Jahren selbständiger Webentwickler. Mein Fokus liegt dabei auf der Erstellung, Beratung und Optimierung in den Bereichen High Performance, Usability und Sicherheit in den gängisten Internetsprachen: PHP, HTML, Javascript und CSS.

Bei meinem vorherigem Gastbeitrag wurde ich direkt im ersten Kommentar aus meiner heilen Welt geworfen. Dort stand nämlich folgender „erschütternder Kommentar“ zu lesen:

Das du Salting und Mehrfachhashing predigst, während der Rest der Welt schon einen Schritt weiter zu bcrypt geht… Traurig.

Nun ja, dazu möchte ich drei Dinge sagen.

  1. Ich predige nicht (Ausnahme: „Es heißt Standard, verdammt, nicht Standart!“).
  2. Ach, wenn die Welt schon mal auf dem Stand des einfachen md5 wäre …
  3. Bcrypt verdient einen eigenen Beitrag.

Natürlich hatte der Autor völlig recht. Über Hashfunktionen im Web zu schreiben und bcrypt nicht zu erwähnen ist fast schon schändlich. Also bcrypt ist eine Hashfunktion, die auf Langsamkeit optimiert wurde. Um genauer zu sein, es ist nicht mal ein richtiger Hashalgorithmus, sondern eine Blowfish Verschlüsselung, bei der am Ende „die Schlüssel weggeworfen werden“, daher lässt sich das Ergebnis nicht mehr entschlüsseln. bcrypt ist eine Weiterentwicklung der „Traditional DES Scheme“ Funktion aus der Unixwelt. Obwohl dieses Verfahren 30 Jahre lang (!) gute Dienste geleistet hat, stellen sich so langsam „Alterserscheinungen“ ein. Der Zahn der Zeit nagt auch hier in Form von gestiegener Rechenleistung.

Kurze Rückschau

Weiterlesen »

Written by Oliver

Juli 18th, 2011 at 8:56 am

Posted in Linux,PHP

Tagged with , , , ,