Token casuale e chiave di conferma per email di 10 caratteri sufficienti?

3

Ho una funzione che restituisce chiavi casuali non gestibili con i seguenti caratteri: a-z A-Z 0-9.

Ho impostato la lunghezza della chiave su 10 e la sto usando per i miei token modulo per prevenire CRSF e userò la stessa funzione anche per generare le chiavi di conferma dell'email.

La mia domanda è se sarà abbastanza sicura da usare?

I token modulo verranno associati a una sessione utente e le chiavi di conferma dell'email verranno archiviate fino a 24 ore prima della distruzione. Oltre a questo non terrò un registro di loro.

Ho notato che ci sono molti siti che usano chiavi di conferma estremamente lunghe con una lunghezza di circa 30-40 caratteri. Ai miei occhi sembra eccessivo.

    
posta Kid Diamond 22.04.2014 - 19:54
fonte

2 risposte

1

Se aggiungi un periodo di validità limitato (come 20 minuti) per queste chiavi (csrf, conferma email), allora direi che è sufficiente.

Anche supponendo che tu non conservi alcuna cronologia delle chiavi.

    
risposta data 22.04.2014 - 20:05
fonte
1

"Sicuro abbastanza da usare" - abbastanza sicuro da usare per cosa? Sei una banca? Sito Web di assistenza sanitaria?

La domanda "abbastanza sicuro" richiede il contesto e la comprensione del tuo appetito per il rischio. Se vendi $ 2 widget e sei un temerario, allora 10 carte vanno bene. Se stai eseguendo qualcosa di più sensibile e un token di 10 caratteri ti terrà sveglio la notte, non è sufficiente.

L'altra cosa che non capisco è perché 20 (o 40 (o 80)) è troppo. Non sono un fan del design di sicurezza basato sull'estetica. I byte sono praticamente gratis, chi non ci guadagna? Se stai operando alle dimensioni in cui 10 vs 20 sta per creare problemi di ridimensionamento per te, allora varrebbe la pena esaminarlo.

Ricorda che i progressi della tecnologia. Indovinare un valore di 10 caratteri potrebbe essere lento oggi, ma fattibile tra 3 anni. Vai alla grande e proteggiti dall'information sempre più veloce e più economica (che ha sempre).

    
risposta data 22.07.2014 - 00:55
fonte

Leggi altre domande sui tag