2009-10-11 5 views
4

Je traite avec un groupe particulièrement paranoïaque des utilisateurs qui pourraient vouloir leur contribution à mon site web à signer (par exemple avec une clé GPG) avant de le soumettre.JavaScript de signature cryptographique basé?

Pendant que je pouvais leur montrer un « extrait » pour copier et coller dans leur outil de GPG, ayant le navigateur faire serait certainement plus agréable. Avec les performances JS des navigateurs récents, je ne suis pas sûr que cette requête soit aussi bête que cela puisse paraître.

Y at-il une solution existante pour ce ou pouvez-vous nommer de bonnes raisons contre une telle approche en général?

Répondre

4
+0

Voir aussi JavaScrypt (http://www.fourmilab.ch/javascrypt/) pour les algorithmes symétriques. – erickson

+0

C'est une implémentation plutôt incomplète: pas de signature, pas de remplissage, pas de gestion des clés. Ce sera difficile de faire ce travail avec GPG. – Accipitridae

-1

Raisons contre alors

  1. Vous devez déverrouiller la clé privée - vous ne pouvez pas le faire avec JavaScript
  2. Vous auriez besoin ensuite de charger la clé privée dans le navigateur. Qui, même si vous le pouviez, présenterait un risque énorme, car le JavaScript pourrait alors l'envoyer ailleurs
  3. Le cryptage est lourd en termes de calcul. JavaScript est assez lent comme il est. Les scripts intersite et l'injection JSON signifient que s'il y a une vulnérabilité dans votre site Web, votre code JavaScript pourrait être remplacé. Ainsi, même si votre code se comportait, les attaquants pourraient être en mesure d'injecter un script qui ne se comporte pas.

Raisons pour

Non, ne peut pas penser à tout.

+1

[CSP] (https://wiki.mozilla.org/Security/CSP/Spec) permet de résoudre les numéros 2 et 4. En outre, le numéro 1 est invalide. –

+0

S'il veut l'intégration avec GPG alors javascript ne va pas parler GPG. La solution de Mozilla est seulement pour mozilla, et symétrique n'est pas pour les utilisateurs paranoïaques qui voudront que leurs propres clés soient émises, et n'est pas assez sécurisé pour ce genre de chose. – blowdart

Questions connexes