Importanza della forza della password con elemento sicuro?

1

Comunità di sicurezza di Greetings SE.

Sfondo: ho un numero di elementi come certificati, database e file system crittografati che richiedono chiavi private. Per evitare di avere duplicati di queste chiavi sui diversi sistemi che li usano, vorrei tenerli tutti in una posizione portatile sicura, come un'unità flash crittografata. Osservando le opzioni per le unità flash crittografate con hardware, ho notato che tutti (esclusi i modelli basati sull'autenticazione biometrica) avevano password / passphrase / PIN di lunghezza massima relativamente breve. Tendevano a limitare a 16 caratteri, alcuni anche più bassi; poiché sono abituato a applicazioni come TrueCrypt e KeePass (che hanno una password e opzioni di lunghezza della chiave molto elevate), ciò sembrava insicuro.

Domanda: quando si utilizza un elemento sicuro per la crittografia basata su hardware che è effettivamente sicura e non fattibile da manomettere; e supponendo che l'alimentazione indaga sul dispositivo causerà la distruzione dei dati dopo un numero molto piccolo di tentativi errati (per esempio 10); e che la password scelta non è facilmente immaginabile (un compleanno, il nome dell'animale domestico, ecc.); quanto è importante avere una password la cui lunghezza e / o complessità lo renda impossibile da computare?

Versione semplice: La password utilizzata per autenticare un token hardware deve essere strong, o un avversario non sarà mai in grado di provare a scoppiarlo comunque?

    
posta YouAreTheHat 26.07.2014 - 02:11
fonte

1 risposta

2

I soliti calcoli sull'entropia delle password avvengono nel contesto di un attacco di dizionario , in particolare un attacco di dizionario offline , in cui l'attaccante può provare le password a piacimento senza bloccare nulla . Quando è presente un hardware anti-manomissione con blocco automatico, il contesto cambia.

Vista concettuale: ci sono N possibili password (per semplificare l'esposizione, suppongo che le possibili password siano equiprobabili). L'autore dell'attacco può realisticamente provare K di queste password. La probabilità di successo dell'attaccante è quindi K / N . La sicurezza è assicurata quando tale probabilità è sufficientemente bassa da non consentire all'aggressore di valerne la pena. Impostiamo arbitrariamente questa soglia a 1/1000: se la probabilità di successo dell'attaccante, dopo (diciamo) una settimana di tentativi di cracking, è ancora solo una su mille, allora deciderà di trascorrere il suo tempo su qualcos'altro (ad esempio l'acquisto di una lotteria biglietti).

Quando l'utente malintenzionato può ottenere una versione hash della password, K varierà da milioni (se è stata utilizzata una buona funzione di hashing della password come bcrypt, con iterazioni sufficienti) a milioni di miliardi (se è stata utilizzata una scarsa funzione di hashing della password, ad esempio una singola chiamata SHA-1). Per raggiungere la nostra soglia 1/1000, N deve essere compreso nell'intervallo (almeno) di miliardi.

Con un dispositivo che si blocca dopo 10 tentativi errati, K = 10. La soglia viene raggiunta con N = 10000, che è uno spazio molto piccolo di possibili password; lo ottieni con un codice di quattro cifre. Questo è il modo in cui una tale funzione di autolock rende le password piccole / facili in modo soddisfacente.

Le carte di credito con chip lo fanno (di solito con K = 3).

    
risposta data 26.07.2014 - 02:43
fonte

Leggi altre domande sui tag