Quel est exactement l'intérêt du SECRET_KEY
dans django? J'ai fait quelques recherches sur Google et vérifié la documentation ( https://docs.djangoproject.com/en/dev/ref/settings/#secret-key ), mais je cherchais une explication plus approfondie à ce sujet, et pourquoi il est nécessaire.
Par exemple, que pourrait-il se passer si la clé était compromise / d'autres savaient ce que c'était? Je vous remercie.
python
django
security
encryption
David542
la source
la source
Réponses:
Il est utilisé pour faire des hachages. Regardez:
la source
SECRET_KEY
», par opposition à «votreSALT
est une clé secrète que vous devez garder pour vous».SECRET_KEY
doivent être gardés en sécurité. L'utilisation de laSECRET_KEY
s'apparente beaucoup plus à l'utilisation d'une clé dans un hachage signé tel que HMAC (qui, si les performances n'étaient pas une considération, serait probablement utilisée à la place).La documentation Django pour la signature cryptographique couvre les utilisations du paramètre 'SECRET_KEY':
(Cette section est également référencée dans la documentation Django pour le paramètre 'SECRET_KEY' .)
L'API de signature cryptographique de Django est disponible pour n'importe quelle application pour des signatures cryptographiquement sécurisées sur des valeurs. Django lui-même l'utilise dans diverses fonctionnalités de niveau supérieur:
Signature de données sérialisées (par exemple, documents JSON).
Jetons uniques pour une session utilisateur, demande de réinitialisation de mot de passe, messages, etc.
Prévention des attaques intersites ou par réexécution en ajoutant (et en attendant) des valeurs uniques pour la demande.
Générer un sel unique pour les fonctions de hachage.
Donc, la réponse générale est: il y a beaucoup de choses dans une application Django qui nécessitent une signature cryptographique, et le paramètre 'SECRET_KEY' est la clé utilisée pour ceux-ci. Il doit avoir une forte quantité d'entropie cryptographiquement (difficile à deviner pour les ordinateurs) et unique entre toutes les instances de Django.
la source
SECRET_KEY
paramètres distincts ?Selon la documentation Django sur
SECRET_KEY
:la source
SECRET_KEY
est tourné. +1