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