2010-09-15 10 views
47

Byłby dobry lub zły pomysł, aby użyć localStorage dla poufnych danych (przy założeniu, że obecne implementacje HTML5)?HTML5 localStorage security

Jakie metody można użyć do zabezpieczenia danych, aby uniemożliwić ich odczytanie przez osobę mającą dostęp do komputera klienckiego?

+0

Napisałem [odpowiedź na podobne pytanie] (http://stackoverflow.com/a/24677597/19212), które może również oświetlać. –

Odpowiedz

54

Zły pomysł.

  1. Ktoś, kto ma dostęp do urządzenia, będzie zawsze mógł odczytać plik localStorage, nie można nic zrobić, aby temu zapobiec. Po prostu wpisz "localStorage" w konsoli firebug, a otrzymasz wszystkie dobrze wymienione pary klucz/wartość.
  2. Jeśli masz lukę XSS w swojej aplikacji, wszystko przechowywane w localStorage jest dostępne dla atakującego.
  3. Możesz spróbować zaszyfrować, ale jest pewien haczyk. Szyfrowanie go na kliencie jest możliwe, ale oznaczałoby to, że użytkownik musi podać hasło: i. Musisz polegać na niezbyt dobrze przetestowanych implementacjach javascript kryptografii.
  4. Szyfrowanie po stronie serwera jest oczywiście możliwe, ale kod klienta nie może go odczytać ani zaktualizować, a więc zmniejszyło się obciążenie lokalne do gloryfikowanego pliku cookie.

Jeśli musi być bezpieczny, najlepiej nie wysyłać go do klienta. To, co nie jest pod Twoją kontrolą, nigdy nie będzie bezpieczne.

+3

Wezmę to. Zła praktyka. https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet#Local_Storage_.28a.ka_Offline_Storage.2C_Web_Storage.29 –

+7

Jednak dobrym punktem jest to, że skrypt z domeny może odczytywać "localStorage" ustawiony przez tę domenę ** tylko ** –

-2

Kryptografia klucza publicznego może być stosowana w celu zapobiegania wszelkiego rodzaju ingerencji. Ponadto sprawdzanie integralności danych (takie jak CRC lub skróty) może być używane do sprawdzania poprawności danych przez serwer.

+4

Nie. PKI nie pomaga w każdym przypadku. Ponadto, jeśli osoba atakująca może zmienić zawartość, może również łatwo zmienić hasze. Hashe mogą jednak pomóc w wykryciu niezamierzonych zmian ("korupcji"). – Olli

Powiązane problemy