HTML5 localStorage sécurité

Serait une bonne ou une mauvaise idée d'utiliser localStorage pour les données sensibles (en supposant les implémentations HTML5 actuelles)?

Quelles méthodes puis-je utiliser pour sécuriser les données afin qu'elles ne puissent pas être lues par une personne ayant accès à l'ordinateur client?

47
demandé sur Om Shankar 2010-09-15 18:00:06

2 réponses

Mauvaise idée.

  1. Quelqu'un ayant accès à la machine sera toujours capable de lire le localStorage, il n'y a rien de grand que vous pouvez faire pour l'empêcher. Il suffit de taper 'localStorage' dans la console firebug, et vous obtenez toutes les paires clé/valeur bien répertoriées.
  2. Si vous avez une vulnérabilité XSS dans votre application, tout ce qui est stocké dans localStorage est disponible pour un attaquant.
  3. Vous pouvez essayer de le chiffrer, mais il y a un hic. Le chiffrer sur le client est possible, mais signifierait l'utilisateur doit fournir un mot de passe et vous devez dépendre d'implémentations javascript de cryptographie pas si bien testées.
  4. le cryptage côté serveur est bien sûr possible, mais le code client ne peut pas le lire ou le mettre à jour, et vous avez donc réduit localStorage à un cookie glorifié.

S'il doit être sécurisé, il est préférable de ne pas l'envoyer au client. Ce n'est pas sous votre contrôle ne peut jamais être sûr.

55
répondu Sripathi Krishnan 2010-09-15 15:50:33

La cryptographie à clé publique peut être appliquée pour empêcher tout type d'intrusion. En outre, des contrôles d'intégrité des données (tels que CRC ou hachages) peuvent être utilisés pour s'assurer que les données sont validées par le serveur.

-2
répondu dashersw 2011-11-01 18:38:54