2010-09-15 9 views
47

¿Sería una buena o mala idea usar localStorage para datos confidenciales (asumiendo las implementaciones HTML5 actuales)?HTML5 localStorage security

¿Qué métodos puedo usar para proteger los datos de modo que no puedan leerlos una persona que tenga acceso a la computadora del cliente?

+0

Publiqué [una respuesta a una pregunta similar] (http://stackoverflow.com/a/24677597/19212) que también puede ser esclarecedor. –

Respuesta

54

Mala idea.

  1. Alguien con acceso a la máquina siempre podrá leer el Almacenamiento local, no hay mucho que pueda hacer para evitarlo. Simplemente escriba 'localStorage' en la consola Firebug, y obtendrá todos los pares clave/valor muy bien en la lista.
  2. Si tiene una vulnerabilidad XSS en su aplicación, cualquier cosa almacenada en localStorage está disponible para un atacante.
  3. Puede intentar encriptarlo, pero hay una trampa. Cifrarlo en el cliente es posible, pero significa que el usuario debe proporcionar una contraseña y. Depende de las implementaciones de criptografía javascript no tan bien probadas.
  4. Encriptando en el lado del servidor es posible, pero el código del cliente no puede leerlo o actualizarlo, por lo que ha reducido localStorage a una cookie glorificada.

Si necesita ser seguro, es mejor no enviarlo al cliente. Lo que no está bajo tu control nunca puede ser seguro.

+3

Lo secundaré. Mala práctica. https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet#Local_Storage_.28a.ka_Offline_Storage.2C_Web_Storage.29 –

+7

Sin embargo, un buen punto es que un script de un dominio puede leer 'localStorage' establecido por ese dominio ** solo ** –

-2

La criptografía de clave pública se puede aplicar para evitar cualquier tipo de intrusión. Además, las comprobaciones de la integridad de los datos (como CRC o hash) pueden utilizarse para garantizar que el servidor valida los datos.

+4

No. PKI no ayuda en todos los casos. Además, si el atacante puede cambiar el contenido, también puede cambiar fácilmente los hashes. Sin embargo, los hashes podrían ayudar a detectar cambios involuntarios ("corrupción"). – Olli

Cuestiones relacionadas