2009-06-16 5 views
7

Tout d'abord, ma question ne concerne pas le hachage des mots de passe, mais le cryptage des mots de passe. Je construis une application de bureau qui doit authentifier l'utilisateur à un service tiers. Pour accélérer le processus de connexion, je souhaite donner à l'utilisateur la possibilité de sauvegarder ses informations d'identification. Depuis que j'ai besoin du mot de passe pour l'authentifier au service, il ne peut pas être haché.Comment stocker de manière réversible un mot de passe avec Python sous Linux?

Je pensais que l'utilisation du module pyCrypto et sa mise en œuvre 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 être une solution très efficace.

Je me demandais comment, sous Linux, vous mettre en œuvre des clés spécifiques ou spécifiques à l'utilisateur du système pour augmenter le mot de passe de stockage de sécurité.

Si vous avez une meilleure solution à ce problème que d'utiliser des touches spécifiques pyCrypto et système/utilisateur, ne pas hésiter à partager. Comme je l'ai déjà dit, le hachage n'est pas une solution et je sais que le cryptage des mots de passe est vulnérable, mais je veux donner l'option à l'utilisateur. L'utilisation de Gnome-Keyring n'est pas non plus une option, car beaucoup de gens (y compris moi-même) ne l'utilisent pas. Password Safe est conçu par Bruce Schneier et open source.

+0

Darn. J'allais dire gnome-keyring :( – Zifre

Répondre

5

Le cryptage des mots de passe n'offre pas vraiment plus de protection que le stockage en clair. Toute personne capable d'accéder à la base de données a probablement un accès complet aux machines de votre 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 je l'utiliserais. Évidemment stocker cette clé aussi sûrement que possible (verrouillé les autorisations de fichiers, etc). Utiliser une seule clé intégrée dans la source n'est pas une bonne idée - il n'y a aucune raison pour que les installations séparées aient les mêmes clés.

0

C'est pour Windows, mais vous devriez être capable de voir ce qu'ils font et éventuellement le réutiliser.

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

http://passwordsafe.sourceforge.net/

Lire ceci: If you type A-E-S into your code, you're doing it wrong.

+0

que le dernier lien (« Si vous tapez ... ») retourne un 404. –

+0

Ils ont déplacé le blog - –

+0

mis à jour Aaaaand il est cassé à nouveau un peu de googler trouve reflété dans. quelques endroits, mais ils semblent tous manquer les images. – TRiG

5

Essayez d'utiliser PAM. Vous pouvez créer un module qui décompose 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.

Questions connexes