Sto progettando un cookie per scopi di autenticazione. In caso di successo, questo entrerà in un'applicazione.
Ecco le cose che ho incluso in questo cookie:
- È per il web, naturalmente
- Include alcuni dati sull'utente autenticato, a fini di rendimento (UserId è il meno dati)
- Include un salt (dati extra) che è noto solo al server, per prevenire attacchi di contraffazione di cookie
- Il valore dell'intero cookie è crittografato tramite AES
- Aggiunge un token dai dati del client allo scopo di prevenire il dirottamento dei cookie (l'IP del client non è incluso a causa di ogni cambio di rete, un altro accesso diventerebbe obbligatorio). Infatti, include solo l'intestazione UserAgent
- È HttpOnly, per impedire agli attacchi XSS di accedere ai cookie (ma ancora vulnerabili a CSRF)
- La sua scadenza è impostata su un mese, a causa di una migliore UX (alle persone non piace accedere sempre dopo aver chiuso il browser)
Lo abbiamo fatto fino a qui, e testato e funziona perfettamente. Quali possibili attacchi sono ancora possibili attraverso questo design e come possiamo renderlo più sicuro?