Question

Premièrement, ma question ne concerne pas le hachage de mot de passe, mais le cryptage de mot de passe. Je construis une application de bureau qui doit authentifier l'utilisateur auprès d'un service tiers. Pour accélérer le processus de connexion, je souhaite donner à l'utilisateur la possibilité de sauvegarder ses informations d'identification. Comme j'ai besoin du mot de passe pour l'authentifier auprès du service, il ne peut pas être haché.

J'ai pensé utiliser le module pyCrypto et son implémentation Blowfish ou AES pour chiffrer les informations d'identification. Le problème est où stocker la clé. Je sais que certaines applications stockent la clé directement dans le code source, mais comme je code une application open source, cela ne semble pas une solution très efficace.

Je me demandais donc comment, sous Linux, vous mettriez en œuvre des clés propres à l'utilisateur ou au système pour augmenter la sécurité du stockage du mot de passe.

Si vous avez une meilleure solution à ce problème que d'utiliser pyCrypto et des clés spécifiques au système / utilisateur, n'hésitez pas à le partager. Comme je l'ai dit précédemment, le hachage n'est pas une solution et je sais que le chiffrement de mot de passe est vulnérable, mais je souhaite donner l'option à l'utilisateur. Utiliser Gnome-Keyring n’est pas une option non plus, car beaucoup de gens (y compris moi-même) ne l’utilisent pas.

Était-ce utile?

La solution

Le cryptage des mots de passe ne vous procure pas vraiment plus de protection que de stocker du texte en clair. Toute personne capable d’accéder à la base de données a probablement également un accès complet à vos machines de serveur Web.

Cependant, si la perte de sécurité est acceptable et que vous en avez vraiment besoin, je générerais un nouveau fichier de clés (à partir d'une bonne source de données aléatoires) dans le cadre du processus d'installation et l'utiliserais. Évidemment, stockez cette clé de manière aussi sécurisée que possible (autorisations de fichiers verrouillées, etc.). Utiliser une seule clé intégrée dans la source n’est pas une bonne idée. Il n’ya aucune raison pour que des installations séparées aient les mêmes clés.

Autres conseils

Essayez d’utiliser PAM . Vous pouvez créer un module qui déchiffre automatiquement la clé lorsque l'utilisateur se connecte. C'est en interne que fonctionne GNOME-Keyring (si possible). Vous pouvez même écrire des modules PAM en Python avec pam_python .

Password Safe est conçu par Bruce Schneier et open source. C’est pour Windows, mais vous devriez pouvoir voir ce qu’ils font et éventuellement le réutiliser.

http://www.schneier.com/passsafe.html

http://passwordsafe.sourceforge.net/

Lisez ceci: Si vous tapez AES dans votre code, vous le faites mal.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top