2013-04-04 4 views
0

Je fais une extension qui a besoin de garder un profil de l'utilisateur afin qu'il puisse tirer les bonnes informations à partir de différents serveurs lorsque l'utilisateur se connecte àComment stocker les données utilisateur sous une forme cryptée?

Je trouve ce poste. Storage of passwords in Google Chrome Extension. Je ne trouve pas cela trop utile.

Je crois que si je pouvais stocker un hachage du mot de passe de connexion de l'utilisateur (unique à mon extension), je pourrais alors utiliser le mot de passe comme une clé pour crypter toutes leurs informations personnelles. Je suis préoccupé par le commentaire fait dans le post que j'ai référencé, disant que, ils pourraient lire le code source de l'extension et travailler sur le hachage.

Est-ce que mon idée est faisable? Et si oui, que devrais-je utiliser? Ou d'autres suggestions?

+1

Qu'essayez-vous d'accomplir? Toute information sur le côté client qui est cryptée est inutile pour vous ou l'utilisateur à moins que vous ne fournissiez également les moyens de le décrypter du côté client, ce qui va à l'encontre de l'objectif du cryptage. Stockez-le en toute sécurité sur le serveur et sécurisez votre connexion avec HTTPS. –

+0

Où allez-vous utiliser cette idée? Je veux dire le chiffrement. Pourquoi est-ce nécessaire dans le côté client? –

+0

@RobertHarvey c'est un profil contenant des abonnements pour les canaux de publicité. Je construis un prototype qui fait de l'analyse du côté client et met en cache les publicités. La raison pour garder le crypté sur le site est que je n'ai pas besoin d'un serveur de confiance, et donc l'information est toujours contrôlée par le client. Je suppose que je pourrais juste accepter que le client est confiance et alors accepter que seulement la bonne personne a accès à lui. – unixsnob

Répondre

0

Cela dépend de l'utilisation des mots de passe. Si ce sont des comptes bancaires, par exemple, il peut être intéressant pour un mauvais gars de regarder votre javascript et de savoir comment déchiffrer le fichier. C'est ce qu'il faudrait pour regarder le contenu chiffré.

Si le contenu est un mot de passe pour quelque chose de peu précieux, vous pouvez faire ce genre de chose.

Si le contenu est précieux, vous devez effectuer le cryptage sur un serveur quelque part et non dans le client à l'aide de javascript. Cela nécessite presque toujours que vous les stockiez également, bien qu'il soit possible de transmettre le cryptage sur le serveur et de stocker les données sur le client.

0

Vous ne devez pas stocker d'informations personnelles ou de mot de passe dans localStorage car toute personne ayant accès à l'ordinateur peut facilement accéder à ces informations. Même s'il est crypté, il peut être facilement déchiffré en inspectant le code source (le code source d'une extension peut être consulté facilement par n'importe qui).

Une solution consiste à stocker les informations sur un serveur et à utiliser une connexion tierce (Google, Facebook) pour authentifier l'utilisateur au lieu d'un mot de passe.

Questions connexes