Sinnigkeit der Abspeicherung von Hashes statt Klartext
Jan K.
- sonstiges
Hallo zusammen,
ich baue momentan an einem Web-Projekt für mich als Zusatz für meine Bewerbungen und als Ort wo ich mit meinen Freunden Daten und Infos tauschen kann (nicht jeder darf alles sehen, der Inhalt wird in Sichtbarkeitsstufen eingelteilt).
Da ich für den Bewerbungszusatz gerne sämtliche Zeugnisse und auch ansonsten für meine Freunde viele Fotos und Medien reinstellen möchte, lege ich besonderen Wert auf den Sicherheitsaspekt.
Mit der Zeit sind mir so einige Sicherheitsrelevante Dinge über den Weg gelaufen, angefangen von der Eingabefilterung von GET und POST, Session-hijacking oder die verschlüsselte Verbindung mit SSL. Bisher habe ich relativ darauf gepfiffen, aber nun möchte ich meine sensiblen Daten doch so gut wie möglich schützen.
Mein registrierungs/login PHP-Script bezieht die Passwörter nun als md5-Hashes (ohne Salt dafür müssen Passwörter mind. 12 Stellen lang sein - in irgendeiner der letzten ct`s war mal ein Artikel das ab 11 Stellen Länge das knacken (praktisch)unmöglich wird).
Aber wenn jemand schon unbegrenzten Zugriff auf meine Datenbank hat, bedeuted das ja auch das er vermutlich schon die Rechte hat um die zu schützenden Daten direkt einzusehen.
Daher verstehe ich nicht recht welchen Vorteil das Abspeichern von Hashes statt Klartext hat. Es macht das Ableiten des Klartextes schon schwerer, aber das eigentliche Sicherheitsproblem liegt dann doch woanders?
Ansonsten wäre ich auch dankbar über ein paar Sicherheitsrelevante Tipps die ihr mir geben könntet, bisher beschränken sich meine Sicherheitsbemühungen auf folgendes:
Mein registrierungs/login PHP-Script bezieht die Passwörter nun als md5-Hashes (ohne Salt dafür müssen Passwörter mind. 12 Stellen lang sein - in irgendeiner der letzten ct`s war mal ein Artikel das ab 11 Stellen Länge das knacken (praktisch)unmöglich wird).
Daher verstehe ich nicht recht welchen Vorteil das Abspeichern von Hashes statt Klartext hat. Es macht das Ableiten des Klartextes schon schwerer, aber das eigentliche Sicherheitsproblem liegt dann doch woanders?
Ja, dein Sicherheitsproblem besteht darin, dass du das Passwort für das Login per GET benötigst. mit "Hash fürs Login" ist vermutlich gemeint, dass die Session als Hash vorliegt und mit dieser eingeloggt wird - nicht mittels User/Password.
Mahlzeit,
malso gefragt: Wie gut kennst Du Deinen Provider? Vertraust Du ihm? Und den Betreibern der Netze (Backbone, Kabel, Router, Switche...) die zwischen Servern und Endgeräten liegen, kennst Du die auch alle? Vertrauen?
Hotte
Hi Jan!
Aber wenn jemand schon unbegrenzten Zugriff auf meine Datenbank hat, bedeuted das ja auch das er vermutlich schon die Rechte hat um die zu schützenden Daten direkt einzusehen.
Das ist dein Problem.
Schlimmer (für mich) wäre, wenn man auch die Passwörter lesen könnte.
Wenn du die Passwörter deiner registrierten Nutzer im Klartext in der Datenbank speicherst und jemand (auch du) Zugriff auf die Klartext-Passwörter hätte, wäre das für mich ein K.O.-Kriterium für die Seite.
Zwar wird immer empfohlen, für jede Webseite ein anderes Passwort zu nutzen, allerdings entspricht diese Empfehlung noch lange nicht der Realität.
MfG H☼psel