Hi,
ich möchte ein Projekt auf die Beine stellen, welches in der Datenbank relativ sensible Daten enthält. Da ich mich vor einem Datenbank-Klau absichern möchte, würde ich gern die sensiblen Daten per AES verschlüsseln. Das Passwort für die Verschlüsselung sollte dann am besten das Passwort des Users sein und nicht in der Applikation hinterlegt sein, damit der Dieb auch beim Diebstahl der gesamten DB nichts in der Hand hat.
Ich möchte also on-the-fly, wenn der User eingeloggt ist, seine Daten entschlüsseln und ihm zur Verfügung stellen. Aber wie? Er soll ja nicht bei jeder Detail-Seite (es gibt recht viele Datensätze pro User) sein Passwort neu eingeben müssen. Und das Passwort in die Session zu schreiben wäre riskant, da beim Bruch der Applikation zumindest die Passwörter aller aktuell eingeloggten User offen darliegen.
Würde es hier Sinn machen, das User-Passwort in ein Cookie zu schreiben. Ich erhöhe damit zwar immens das Risiko einer XSS-Attacke, dafür aber nur für den einen User. Alle anderen Datensätze wären in dem Fall trotzdem sicher.
Und das Passwort hätte noch den Nachteil, dass, wenn der User sein Passwort ändern will, ich alle seine Daten neu verschlüsseln müsste.
Wie würdet ihr das machen?
Viele Grüße,
Christoph
ich möchte ein Projekt auf die Beine stellen, welches in der Datenbank relativ sensible Daten enthält. Da ich mich vor einem Datenbank-Klau absichern möchte, würde ich gern die sensiblen Daten per AES verschlüsseln. Das Passwort für die Verschlüsselung sollte dann am besten das Passwort des Users sein und nicht in der Applikation hinterlegt sein, damit der Dieb auch beim Diebstahl der gesamten DB nichts in der Hand hat.
Ich möchte also on-the-fly, wenn der User eingeloggt ist, seine Daten entschlüsseln und ihm zur Verfügung stellen. Aber wie? Er soll ja nicht bei jeder Detail-Seite (es gibt recht viele Datensätze pro User) sein Passwort neu eingeben müssen. Und das Passwort in die Session zu schreiben wäre riskant, da beim Bruch der Applikation zumindest die Passwörter aller aktuell eingeloggten User offen darliegen.
Würde es hier Sinn machen, das User-Passwort in ein Cookie zu schreiben. Ich erhöhe damit zwar immens das Risiko einer XSS-Attacke, dafür aber nur für den einen User. Alle anderen Datensätze wären in dem Fall trotzdem sicher.
Und das Passwort hätte noch den Nachteil, dass, wenn der User sein Passwort ändern will, ich alle seine Daten neu verschlüsseln müsste.
Wie würdet ihr das machen?
Viele Grüße,
Christoph
Kommentar