Was genau ist der Sinn des SECRET_KEY
Django? Ich habe ein paar Google-Suchen durchgeführt und die Dokumente überprüft ( https://docs.djangoproject.com/en/dev/ref/settings/#secret-key ), aber ich suchte nach einer ausführlicheren Erklärung dafür. und warum es erforderlich ist.
Was könnte zum Beispiel passieren, wenn der Schlüssel kompromittiert wurde / andere wussten, was er war? Danke dir.
python
django
security
encryption
David542
quelle
quelle
Antworten:
Es wird zur Herstellung von Hashes verwendet. Aussehen:
quelle
SECRET_KEY
", als "deineSALT
ist ein geheimer Schlüssel, den du für dich behalten solltest".SECRET_KEY
müssen sicher aufbewahrt werden. Die Verwendung vonSECRET_KEY
ähnelt viel eher der Verwendung eines Schlüssels in einem signierten Hash wie HMAC (der, wenn die Leistung nicht berücksichtigt würde, wahrscheinlich stattdessen verwendet würde).Die Django-Dokumentation für die kryptografische Signatur behandelt die Verwendung der Einstellung 'SECRET_KEY':
(Auf diesen Abschnitt wird auch in der Django-Dokumentation für die Einstellung 'SECRET_KEY' verwiesen .)
Die kryptografische Signatur-API in Django steht jeder App für kryptografisch sichere Signaturen von Werten zur Verfügung. Django selbst nutzt dies in verschiedenen übergeordneten Funktionen:
Signieren serialisierter Daten (z. B. JSON-Dokumente).
Eindeutige Token für eine Benutzersitzung, eine Anforderung zum Zurücksetzen des Kennworts, Nachrichten usw.
Verhinderung von standortübergreifenden oder Wiederholungsangriffen durch Hinzufügen (und Erwarten) eindeutiger Werte für die Anforderung.
Generieren eines einzigartigen Salzes für Hash-Funktionen.
Die allgemeine Antwort lautet also: Es gibt viele Dinge in einer Django-App, die eine kryptografische Signatur erfordern, und die Einstellung 'SECRET_KEY' ist der Schlüssel, der für diese verwendet wird. Es muss eine kryptografisch starke Entropie aufweisen (für Computer schwer zu erraten) und zwischen allen Django-Instanzen eindeutig sein.
quelle
SECRET_KEY
Einstellungen haben sollte, wenn ich 3 Webserver habe, auf denen dieselbe Django-App hinter einem Load Balancer ausgeführt wird ?Laut der Django-Dokumentation über
SECRET_KEY
:quelle
SECRET_KEY
gedreht wird. +1