Scenario
- La chiave master viene immessa al momento dell'accesso, quindi crittografata con
$server_key
- La chiave master è ora memorizzata come variabile
$_COOKIE['encrypted_key']
per la persistenza (quindi l'utente non deve inserirla ogni caricamento di pagina) -
$server_key
è memorizzato all'interno di un file di configurazione nel server dell'app - I dati vengono decodificati decifrando prima
$_COOKIE['encrypted_key']
(utilizzando$server_key
), quindi rivelando la chiave principale -
$_COOKIE['encrypted_key']
viene distrutto all'uscita del browser
Minaccia
Attaccante che ottiene l'accesso al dispositivo dell'utente / cookie e dati crittografati (ma non i file di configurazione del server delle app).
Domanda
Ha senso crittografare la chiave master con $server_key
e quindi memorizzare $server_key
all'interno di un file di configurazione nel server dell'app?
Ragionamento
Guadagnare solo $server_key
o solo $_COOKIE['encrypted_key']
non comprometterà nulla. L'attaccante deve ottenere entrambi.
Aggiorna
- Questo è in HTTPS
- Il dirottamento della sessione sarebbe difficile quando controlliamo l'impronta digitale della sessione per richiesta