Ich weiß nichts über Kryptographie. Ich frage mich, was das Sitzungsgeheimnis ist.
Ich sehe folgenden Code:
app.use(express.session({
store: mongoStore({
url: app.set('db-uri')
}),
secret: 'topsecret'
}));
Was ist das Geheimnis und soll ich es ändern?
topsecret
. Das Geheimnis sollte eine zufällige Zeichenfolge sein. Idealerweise würden Sie es auch regelmäßig ändern, falls es entdeckt wurde. Dies erfordert jedoch Unterstützung für die geheime Rotation, damit Sie vorhandene Sitzungen nicht sofort ungültig machen. Das heißt, zwei Sitzungsgeheimnisse sollten gleichzeitig als gültig betrachtet werden. Meines Wissens unterstützt Express derzeit keine rotierenden Geheimnisse.res.cookie('name', 'value', {signed: true})
Das Geheimnis wird verwendet, um die Sitzung mit HMAC zu hashen:
https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L256
Die Sitzung wird dann vor Sitzungsentführungen geschützt, indem der Fingerabdruck mit dem Geheimnis gegen den Hash überprüft wird:
https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L281-L287
quelle
Geheimschlüssel, der hauptsächlich zum Verschlüsseln von Daten in einer Sitzung verwendet wird
quelle