Projet

Général

Profil

Bug #13263

ne pas utiliser la SECRET_KEY de django pour le chiffrement des mots de passe

Ajouté par Serghei Mihai il y a plus de 7 ans. Mis à jour il y a plus de 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
21 septembre 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Car la valeur de la clé pour le cryptage doit avoir une longueur particulière:

  File "/usr/lib/python2.7/dist-packages/Crypto/Cipher/AES.py", line 59, in __init__
    blockalgo.BlockAlgo.__init__(self, _AES, key, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/Crypto/Cipher/blockalgo.py", line 141, in __init__
    self._cipher = factory.new(key, *args, **kwargs)
ValueError: AES key must be either 16, 24, or 32 bytes long

et ce n'est pas le cas de la clé générée par Django.


Fichiers

Révisions associées

Révision f56e7786 (diff)
Ajouté par Serghei Mihai il y a plus de 7 ans

use secret key's hash to encrypt user passwords (#13263)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 7 ans

Faire un sha256 et garder 16 octets.

#2

Mis à jour par Serghei Mihai il y a plus de 7 ans

Ok

#4

Mis à jour par Benjamin Dauvergne il y a plus de 7 ans

  • Utiliser directement sha256().digest() qui renvoit une chaîne de 32 octets adaptée pour AES (16, 24 ou 32 octets).
  • Ne pas utiliser un vecteur d'initialisation à '0000000' (IV) mais une chaîne générée par SystemRandom de 16 octets, encodé ensuite en base64 et préfixé au chiffré avec un caractère '$' entre les deux.

Tu peux aussi copier directement le code d'authentic sur ce sujet: http://git.entrouvert.org/authentic.git/tree/src/authentic2/crypto.py

#5

Mis à jour par Serghei Mihai il y a plus de 7 ans

  • Fichier 0001-use-secret-key-s-hash-to-encrypt-user-passwords-1326.patch ajouté

Ok

#6

Mis à jour par Serghei Mihai il y a plus de 7 ans

  • Fichier 0001-use-secret-key-s-hash-to-encrypt-user-passwords-1326.patch supprimé
#8

Mis à jour par Josué Kouka il y a plus de 7 ans

Ack, le test passe

#9

Mis à jour par Serghei Mihai il y a plus de 7 ans

  • Statut changé de En cours à Résolu (à déployer)
commit f56e7786012f1152ea69d5a54a06a2e5c83d175d
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Wed Sep 21 18:46:20 2016 +0200

    use secret key's hash to encrypt user passwords (#13263)
#10

Mis à jour par Benjamin Dauvergne il y a plus de 7 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF