Je développe une application Web JQuery qui sera exécutée localement à partir d'un DVD. L'application lira tout le contenu d'un fichier JSON.
Existe-t-il un moyen efficace de chiffrer ou de masquer le contenu JSON afin que seule l'application puisse le lire?
Si vous souhaitez simplement les empêcher de copier-coller, vous pouvez les stocker dans BSON au lieu de JSON. http://bsonspec.org/#/specification
Maintenant que seulement OBFUSCATE, et n'empêchera pas une personne bien informée de l'utiliser s'il le souhaite.
Vous pouvez également le chiffrer, mais vous rencontrez toujours le même problème, car vous stockeriez la clé de déchiffrement dans le javascript qui charge le Json chiffré.
Tous ceux qui veulent vraiment vos données vont pouvoir les obtenir. La plupart des navigateurs ont des débogueurs javascript qui vous permettent d'extraire ou d'afficher les données au moment de l'exécution.
Il s’agit donc essentiellement des efforts que vous souhaitez déployer pour rendre vos données difficiles à obtenir. Une personne très motivée pour accéder à vos données, peu importe ce que vous faites.
Si vous ne pouvez utiliser que JavaScript (pas de moteur de script, comme php), cette bibliothèque peut être utile: http://code.google.com/p/crypto-js/
Que diriez-vous de ceci: https://github.com/HazAT/jCryption ? Il utilise RSA pour l'échange de clés et AES pour le cryptage.
Je ne sais pas quelles langues sont prises en charge par votre plate-forme, mais regardez Silencio library que vous pouvez utiliser pour supprimer ou hacher des nœuds du fichier JSON. Vous pouvez décider quels nœuds doivent être transformés (vous pouvez vouloir masquer seulement certains tels que le mot de passe) et quel changement doit être appliqué (effacer le contenu, le hachage ou la personnalisation)