UUID e Open_id nel cookie 'buono' abbastanza?

2

Sto usando Tomcat 7, jsp per costruire un piccolo sito web. Sono nuovo alla sicurezza ed è un progetto scolastico, quindi usare Spring Security non è un'opzione. Sto tentando di memorizzare UUID e Open_id nei cookie dei client per la funzionalità "Ricordami, accesso utente". Quindi basta controllare questi due id nel database, per vedere se esiste. È abbastanza sicuro per un sito Web di piccole dimensioni se anche https non è un'opzione? Qualche indicazione?

    
posta wtsang02 21.03.2013 - 03:27
fonte

1 risposta

2

Poiché il cookie non è crittografato, il sistema è più suscettibile all'attacco Man-in-the-middle (MITM). Il cookie può essere intercettato sulla rete e quindi utilizzato per accedere come utente. Mettere UUID e OpenID nel cookie senza firma (tramite HMAC-SHA1 salato) è sbagliato. In realtà, OpenID può e deve essere memorizzato nel database, mentre il cookie firmato conterrà solo "id utente" - si tratta di UUID o di un numero intero crescente monotonicamente, che è semplicemente un riferimento al record del database in users table. È come avviene nel "mondo reale": il modulo "accedi" imposta tale cookie, il modulo "disconnessione" lo rimuove (assicurati che funzionino entrambi solo su HTTP POST e non dimentichi la protezione CSRF).

Anche se l'attaccante sarà in grado di intercettare tale cookie firmato tramite l'attacco MITM, non sarebbe in grado di cambiarlo. Cioè, sarai in grado di rilevare tale manomissione e sarai in grado di rifiutare di accettare tale cookie.

L'uso di HTTPS mitigherà l'attacco MITM, quindi usa la firma del cookie HTTPS +.

    
risposta data 22.03.2013 - 11:21
fonte

Leggi altre domande sui tag