2017-04-10 7 views
0

Ich arbeite an einer Anwendung, die einige vertrauliche Informationen im Browser des Benutzers (localstorage und IndexedDB) speichert, da die Anwendung auch im Offline-Modus ausgeführt wird.Vertrauliche Daten in indexedDB speichern?

Gibt es einen Weg, der sicherstellt, dass der Benutzer nicht in der Lage ist, die Daten in IndexedDB von Developer Tools zu bearbeiten.

Wir verwenden Verschlüsselung, um vertrauliche Daten in verschlüsselter Form zu speichern, aber ich freue mich auf eine Lösung, die jede Art von Bearbeitung vom Benutzer deaktiviert.

Antwort

2

Daten in indexedDB können jederzeit gelöscht werden. Die Daten sind an den Ursprung gebunden. Die Daten können jederzeit mit Hilfe von Entwicklungswerkzeugen im Klartext angezeigt werden.

Anstatt die Bearbeitung zu verhindern, können Sie zumindest Verschmutzungen erkennen und in einen Fehler verzweigen. Verwenden Sie ein verschlüsseltes Blob mit einer Prüfsummeneigenschaft, um die Integrität des Blobs zu überprüfen. Zum Beispiel crc32 (wie hier JavaScript CRC32). Sie können die Daten beim Speichern überprüfen, die Prüfsumme speichern und anschließend beim Laden der Daten die Prüfsumme neu erstellen und diese mit der gespeicherten Prüfsumme vergleichen. Wenn die beiden nicht übereinstimmen, sind die Daten schmutzig.

Verwandte Themen