Sie befinden sich hier:
» 
» 
19.11.2014

Security-Betrachtung zu localStorage

In den vorherigen Blogbeträge habe ich mehr nebensächlich darauf hingewiesen, bei der Verwendung von localStorage auch auf die Datensicherheit zu achten. Diese Thematik möchte ich an dieser Stelle vertiefen.

Kann man Daten im localStorage sicher ablegen?

Diese Frage ist klar mit NEIN zu beantworten. Die Daten im localStorage werden im Browser gespeichert, d.h. am Client. Alle Daten, die am Client gespeichert werden, entziehen sich dem direkten Einfluss des Programmierers. Somit kann ihnen grundsätzlich nicht vertraut werden. Das mag vielleicht etwas paranoid klingen, doch leider können Sie sich nie sicher sein, ob die Daten, die Sie einst clientseitig gespeichert haben, zum Zeitpunkt der Wiederverwendung noch die Selben sind. Die Daten können zwischenzeitlich manipuliert worden sein.

Hilft eine verschlüsselte Ablage der Daten im localStorage?

Die Informationen verschlüsselt abzulegen, hilft nur bedingt. Um die Daten auch wieder nutzen zu können (zu entschlüsseln), müssen sie den entspr. Schlüssel ebenfalls clientseitig vorhalten. Das ist vergleichbar mit dem Umstand, dass Sie zwar Ihre Haustüre zuschließen, den Schüssel aber unter der Fußmatte verstecken. Jetzt können Sie zwar etwas mehr Aufwand in die Ver- und Entschlüsselung investieren, d.h. im übertragenen Sinne den Schlüssel nicht unter die Fußmatte legen, sondern vielleicht in der angrenzenden Garage zu deponieren. Letztendlich wird er aber auch dort gefunden, wenn man nur lange genug sucht.

Welche Daten sollten Sie keinesfalls im localStorage ablegen?

Persönliche Daten haben im localStorage nichts zu suchen. Weder Zugangsdaten (Username, Password), noch anderweitige Daten, aus denen Rückschlüsse auf die Person getroffen werden können, sollten im localStorage gespeichert werden. Dazu zählen natürlich auch Bankdaten etc. Des Weiteren würde ich keine Informationen clientseitig speichern, die für die Basisfunktion einer Applikation notwendig sind.

Welche Daten eignen sich zu Ablage im localStorage?

Für den localStorage eignen sich Daten, die zum performanten Betrieb einer Applikation wiederkehrend benötigt werden und bedenkenlos am Client vorgehalten werden können. Hierzu zählen z.B.:

  • Anwendungseinstellungen
  • Ressourcen (z.B. Maskentexte in der gewählten Sprachversion)
  • seitenübergreifende Informationen (z.B. innerhalb von Workflows)
  • Benutzereinstellungen
  • Spielstände

Denken Sie aber daran, vor der Wiederverwendung zu prüfen, ob die einst abgelegten Daten noch in Ihrem Ursprungszustand sind und nicht zwischenzeitlich manipuliert wurden. Verwenden Sie z.B. Prüfsummen, um Ihre Daten auf den Wahrheitsgehalt zu prüfen.

Fazit

LocalStorage ist ein nettes Feature, welches Sie in gewissen Szenarien effektiv einsetzen können. Überlegen Sie aber genau, welche Daten Sie wirklich im localStorage abspeichern wollen und welchen Einfluss es auf Ihre Applikation hat, falls sie manipuliert wurden. Bedenken Sie auch, dass ältere Browser dieses Feature nicht unterstützen oder User evtl. Javascript abgeschaltet haben. Für diese Fälle müssen Sie vermutlich ein Fallback zur Verfügung stellen.

Autor: Mein Name ist Harry Kämpf und ich bin seit vielen Jahren als Projekt Manager im Webumfeld tätig. Auf diesen Erfahrungen basieren die Tipps zur Webseitengestaltung. Ich schreibe gern über Webthemen, nehme aktuelle Trends auf und gebe bei Bedarf kompetente Beratung. Mehr Infos können Sie auf ueber-mich.html nachlesen.

83