
Gestionnaire de mots de passe chiffré AES-256 avec dérivation de clé scrypt/SHA256, prenant en charge les opérations de création, modification, interrogation et changement de mot de passe principal avec effacement sécurisé des fichiers.
Ce script chiffre ou déchiffre de manière sécurisée des mots de passe sur disque dans un fichier de base de données personnalisé. Il offre également la possibilité de récupérer des mots de passe à partir d'un fichier de base de données précédemment généré. Ce script prend un mot de passe maître depuis l'entrée standard/la mémoire, hache le mot de passe en utilisant l'algorithme de hachage spécifié par le paramètre d'algorithme/-a (scrypt, sha256) et enfin chiffre/déchiffre les données du fichier avec AES-256 en utilisant le hachage de l'algorithme comme clé AES-256 (dérivation de clé). Lorsque l'argument 'scrypt' est fourni au paramètre d'algorithme, le script génère un sel scrypt personnalisé pour chaque création ou modification de fichier de base de données. Le sel généré de manière unique est encodé en base64 et ajouté au début des octets chiffrés de chaque fichier de base de données, séparé par des octets de retour chariot et de saut de ligne (pour l'analyse) en tant que métadonnées. Lors de l'utilisation du paramètre de changement de mot de passe/-cp, le script déchiffre les données du fichier de base de données en mémoire, écrit des octets aléatoires*WIPE_PASSES dans le fichier de base de données, tronque le fichier et enfin écrit les nouvelles données chiffrées avec AES-256 en utilisant le nouveau mot de passe maître haché dans le fichier de base de données. Cela rend la récupération/la forensique des données difficile.
Créer un fichier de base de données :
python3 aespasswd_store.py -a scrypt -c <nom_fichier>
Changer le mot de passe maître d'un fichier de base de données :
python3 aespasswd_store.py -a scrypt -cp <nom_fichier>
Modifier un fichier de base de données :
python3 aespasswd_store.py -a scrypt -e <nom_fichier>
Interroger les données du fichier de base de données :
python3 aespasswd_store.py -a scrypt -q <nom_fichier>
Exemples :
# Ajouter une entrée à la base de données / modifier des données existantes :
pass_id1=motdepasse
pass_id2=motdepasse
pass_id3=motdepasse
# Supprimer des données existantes :
pass_id1=supprimer
pass_id2=supprimer
# Paramètre -q : Interroger les données (ne rien saisir affiche toutes les données) :
pass_id1
pass_id3
# Appuyez sur ctrl+D (linux) ou ctrl+Z (windows) pour enregistrer les données depuis l'entrée standard.