4 votes

Chiffrement des données sensibles côté client

Nous construisons une application web hors ligne qui utilise indexedDb pour le stockage des données côté client. Les données seront stockées hors ligne et, lorsqu'il y aura du réseau, elles seront synchronisées avec un serveur.

Problème

Nous utilisons aes pour crypter les données dans la base indexée mais nous ne savons pas comment gérer la clé de cryptage côté client. Il semble qu'il n'y ait aucun moyen de maintenir une clé de cryptage en javascript sans qu'elle soit accessible à quiconque peut utiliser les outils de développement. Nous ne pouvons pas compter sur le serveur car l'application pourrait ne pas être en mesure de se connecter au serveur pendant des semaines.

Quelqu'un a-t-il une idée de la manière dont nous pouvons gérer en toute sécurité cette clé de cryptage du côté du client ?

1voto

Unknown Points 210

AFAIK, il n'y a pas de sécurité à 100 % pour les informations stockées hors ligne. Mais vous pouvez donner du fil à retordre aux hackers/crackers en minifiant et en obscurcissant vos fichiers JavaScript.

Exemple :
http://dean.edwards.name/packer/
http://www.danstools.com/javascript-obfuscate/index.php

Si vous ne voulez pas soumettre votre algorithme précieux en ligne, essayez de rechercher des outils de minification/obfuscation qui fonctionnent hors ligne.

J'espère que cette réponse vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X