Risiken und Chancen

Ratgeber: HTML5 sicher einsetzen

Sicherheitsaspekte des localStorage-Objekts

Aus Sicherheitssicht gibt es derzeit zwei Hauptprobleme, weshalb Entwickler beim Einsatz des localStorage-Objekts vorsichtig sein müssen:

1. Alle Online-Daten werden auf dem Client unverschlüsselt gespeichert. Das bedeutet: Jeder, der Zugriff auf den Anwenderrechner besitzt, hat theoretisch auch Zugriff auf die Daten.

2. Wie schon erwähnt, bleiben die Online-Daten so lange auf dem Client, bis sie von der Applikation oder vom Nutzer explizit entfernt werden. Im Extremfall also für immer.

Beide Fakten erhöhen die Wahrscheinlichkeit für das Gelingen eines Hacker-Angriffs. Stellen Sie sich beispielsweise vor, Sie betreiben einen Webshop. Sie wollen die Performance der Applikation steigern, indem Sie Daten über getätigte Einkäufe mithilfe des localStorage-Objekts auf dem Client speichern - aus Sicherheitssicht ein Unding.

Vision: Der API-Entwurf SecureStore 1.0 soll eine verschlüsselte, sichere Nutzung des localStorage-Objekts unter HTML5 ermöglichen. Im Netz gibt es weitere Ideen dafür.
Vision: Der API-Entwurf SecureStore 1.0 soll eine verschlüsselte, sichere Nutzung des localStorage-Objekts unter HTML5 ermöglichen. Im Netz gibt es weitere Ideen dafür.

Der Anwender bemerkt nicht, dass die Daten auch nach Beenden des Browsers auf seiner Festplatte verbleiben. Von dort kann sie theoretisch jeder abgreifen, der Zugang zum Client hat - direkt oder übers Netz. Deshalb sollte das localStorage-Objekt allenfalls für unkritische, öffentliche Daten genutzt werden - für das Speichern sensibler Daten ist es von Haus aus ungeeignet.

Allerdings lässt sich seine Sicherheit deutlich erhöhen. So existieren im Netz verschiedene Vorschläge für APIs, die eine verschlüsselte, sichere Nutzung des localStorage-Objekts ermöglichen sollen. Ein solcher Vorschlag verbirgt sich etwa hinter der Bezeichnung SecureStore 1.0. Die Idee basiert auf drei einfachen Sicherheitsregeln:

  • Nutzerdaten sollten niemals unverschlüsselt gespeichert werden.

  • Der Betreiber der Webapplikation muss den Verschlüsselungsalgorithmus und die zugehörigen Schlüssel selbst kontrollieren können.

  • Auch verschlüsselte Nutzerdaten sollten niemals ewig auf dem Client verbleiben.