2010-11-19 3 views
0

Mes connaissances en matière de sécurité sont un peu limitées, mais je pourrais apprendre quelque chose.
Je prévois de créer une application ajax où je crypte/décrypte les mots de passe côté client avec un mot de passe maître en utilisant une bibliothèque javascript AES, puis d'envoyer/récupérer les données cryptées depuis/vers Google App Engine (utilisateur authentifié).
En fait, j'ai trouvé un projet avec la même idée: http://code.google.com/p/safety-vault/Considérations de sécurité pour mon gestionnaire de mot de passe personnel

Dans mon esprit tant que je garde mon ordinateur local sécurisé (keyloggers) cela devrait être assez sécurisé ou ai-je raté quelque chose?

+0

Avez-vous essayé http://security.stackexchange.com/? –

+0

@Graham Hm, un autre site que je ne connaissais pas ... La duplication de la question est-elle la bonne chose à faire? – amoeba

+0

dépend si vous obtenez une réponse satisfaisante ici vraiment ;-) –

Répondre

1

Tant que vous utilisez SSL pour la webapp, cela devrait aller. Sans SSL, un attaquant pourrait modifier la page pour insérer du Javascript qui lui envoie votre mot de passe lorsque vous le tapez. Cependant, vous pourriez vouloir reconsidérer votre modèle de menace. Avez-vous confiance au serveur? Si ce n'est pas le cas, vous ne devriez pas lui faire confiance pour ne pas vous envoyer une page qui capture votre mot de passe principal lorsque vous l'entrez. Si vous le faites, vous ne devriez pas avoir de scrupules à envoyer votre mot de passe principal au serveur.

+0

Vrai, eh bien je ne fais confiance à personne pour que je puisse essayer cela [approche de contrôle] (http://www.clipperz.com/security_privacy/security_code_review/checksums) – amoeba

0

Il y a un problème ici, car je suppose qu'à un moment donné, vous devrez envoyer votre mot de passe principal au client du navigateur. Si vous avez le mot de passe principal, alors vous pouvez déchiffrer le flux que vous envoyez ...

Utilisez le protocole HTTPS, c'est pour cela qu'il a été conçu.

+0

Ce n'est pas un remplacement pour HTTPS, je vais stocker le mot de passe principal dans ma tête et le taper pour déchiffrer les données dans le client. – amoeba

+0

@amoeba - Ah, ok, c'est juste pour toi seulement, pas pour quelqu'un d'autre. Mon malentendu. – Paddy

0

Vous faites en effet confiance aux employés de Google App Engine et, transitoirement, à toute la chaîne de confiance qui se cache derrière eux, pour ne pas voler vos mots de passe. Crypter le côté client ne veut rien dire si vous exécutez du code JavaScript que le serveur vous envoie, et si vous n'avez pas implémenté correctement HTTPS, il est trivial pour quelqu'un de faire un homme dans l'attaque du milieu et de voler vos mots de passe. Il suffit de stocker les mots de passe localement ou de les chiffrer avec un outil bien connu comme GPG et de les télécharger.

Questions connexes