GreenSprite
Benutzer
- Beiträge
- 11
Hallo zusammen -> dieselbe Frage habe ich gestellt hier: Verschlüsselte Daten weiterhin auslesbar trotz geändertem Benutzerkennwort - php.de
Hi zusammen. Für ein Projekt speichere ich sensible Daten in verschlüsselter Form in einer Tabelle. Ver- und Entschlüsselt wird erstens mit "openssl_encrypt" und "openssl_decrypt", weiterhin wird zum Verschlüsseln das Benutzerpasswort verwendet. Läuft alles bisher prima und alle Daten können im Klartext angesehen werden, wenn der User das richtige Passwort verwendet.
Nun überlege ich wegen folgendem Szenario: Der Benutzer ändert sein Passwort. Ab diesem Tag sind schlagartig keine Daten mehr entschlüsselbar und alles ist nur noch Datensalat.
Nun müsste ich bei einer Passwortänderung entweder 1) oder 2) machen:
Möglichkeit 1) Ich durchsuche sämtliche Tabelleneinträge nach verschlüsselten Daten, entschlüssele diese mit dem alten Userpasswort, verschlüssele diese mit dem neuen Userpasswort und schreibe den neu verschlüsselten String wieder zurück. Da gibt es teilweise Tabellen mit 100.000 Rows, wird also nicht im Millisekundenbereich zu schaffen sein.
Möglichkeit 2) Eine Passworthistorie oder sowas in der Art anlegen? Wird aber schwer, da ich immer nur password_hash und nicht den Klartext speichere.
Welche Vorgehensweise wäre ideal, damit der User nach erfolgter Kennwortänderung trotzdem wieder an seine Daten kommt?
LG!
Sprite
Hi zusammen. Für ein Projekt speichere ich sensible Daten in verschlüsselter Form in einer Tabelle. Ver- und Entschlüsselt wird erstens mit "openssl_encrypt" und "openssl_decrypt", weiterhin wird zum Verschlüsseln das Benutzerpasswort verwendet. Läuft alles bisher prima und alle Daten können im Klartext angesehen werden, wenn der User das richtige Passwort verwendet.
Nun überlege ich wegen folgendem Szenario: Der Benutzer ändert sein Passwort. Ab diesem Tag sind schlagartig keine Daten mehr entschlüsselbar und alles ist nur noch Datensalat.
Nun müsste ich bei einer Passwortänderung entweder 1) oder 2) machen:
Möglichkeit 1) Ich durchsuche sämtliche Tabelleneinträge nach verschlüsselten Daten, entschlüssele diese mit dem alten Userpasswort, verschlüssele diese mit dem neuen Userpasswort und schreibe den neu verschlüsselten String wieder zurück. Da gibt es teilweise Tabellen mit 100.000 Rows, wird also nicht im Millisekundenbereich zu schaffen sein.
Möglichkeit 2) Eine Passworthistorie oder sowas in der Art anlegen? Wird aber schwer, da ich immer nur password_hash und nicht den Klartext speichere.
Welche Vorgehensweise wäre ideal, damit der User nach erfolgter Kennwortänderung trotzdem wieder an seine Daten kommt?
LG!
Sprite