Ich versuche herauszufinden, wie man benutzergenerierten Text sicher in einer Datenbank speichern kann (so dass nur der Benutzer auf seinen gespeicherten Text zugreifen kann). Ich könnte Rails verschlüsseln und entschlüsseln die Texteinträge des Benutzers mit dem Passwort des Benutzers als Schlüssel, aber wenn der Benutzer jemals ihr Passwort vergessen würde dort keine Möglichkeit, ihren vorherigen Inhalt / Text jemals entschlüsseln (da die Rails App verwendet BCrypt nur speichern ein Hash des Passwortes).
Weiß jemand, wie das gemacht werden könnte? Es sieht so aus, als ob Dropbox so etwas macht: "Alle Dateien, die auf Dropbox-Servern gespeichert sind, sind verschlüsselt (AES-256) und sind ohne Ihr Konto-Passwort nicht zugänglich." (http://www.dropbox.com/help/27) Sie erlauben Ihnen jedoch, Ihr Passwort zurückzusetzen, und ich gehe davon aus, dass Sie Ihr Klartext-Passwort nirgendwo speichern.
Was vermisse ich? Irgendwelche Vorschläge würden sehr geschätzt werden. Danke!
Bauen Sie auf Gintautas 'Option 1 mit einem zweizinkigen Verschlüsselungsplan auf:
Diese "statische Sicherheit" von Teil 2 schützt vor einem Eindringling im System, der Zugriff auf die Datenbankdateien erhält. Vielleicht nicht 100% genau die Sicherheit, die Sie suchen, aber näher kommen.
Logic diktiert, dass es nur zwei Optionen gibt:
Es ist klar, dass Dropbox (1) aus der Tatsache gewählt hat, dass sie erlauben, Ihr Passwort zurückzusetzen.
Tags und Links ruby security ruby-on-rails encryption