2008-11-11 3 views
2

Je cherche à protéger le code de mon extension Firefox car il y a des appels de serveur qui ne constitueraient pas un risque de sécurité si quelqu'un pouvait les faire en dehors de l'extension. Des suggestions sur la façon de le chiffrer?Protéger le code Javascript dans une extension FF

+0

Bonne question, ce qui me fait me demander pourquoi mozilla conserve toutes les extensions qui ne sont pas protégées l'une de l'autre de toute façon? ..... et l'utilisateur d'eux;) – humanityANDpeace

Répondre

1

Si cela doit être exécuté côté client, sans aucun secret, alors vous avez définitivement une faille de sécurité.

Il est difficile de suggérer des façons de contourner cela sans en savoir un peu plus sur votre extension. Une suggestion évidente serait de demander un nom d'utilisateur/mot de passe, authentifier (sur HTTPS) avec le serveur et recevoir un jeton limité dans le temps, et ensuite présenter ce jeton avec la demande "douteuse". Cela n'arrêtera personne avec le bon nom d'utilisateur et mot de passe si ...

6

Ceci est fondamentalement impossible. Vous voulez donner un code exécutable à un client non fiable qui a des appels "secrets", mais ne pas laisser le client savoir les secrets? Comment, alors, va-t-il exécuter le code?

À un certain point, il doit être déchiffré. Ce qui signifie que le client dispose de tout ce dont il a besoin pour effectuer le décryptage, ce qui signifie qu'un utilisateur peut le faire et créer une version malveillante de votre extension. Le seul choix que vous avez est de repenser de telle sorte que les services vulnérables ne soient pas exposés publiquement.

0

Vous pouvez utiliser xauth, qui est une variante d'OAuth conçue pour résoudre ce type de problème. Twitter utilise xauth: http://dev.twitter.com/pages/xauth

En outre, vous pourriez obscurcir votre code Javascript, ou même l'écrire en C (comme un plugin NPAPI).