Quanto velocemente SHA-1 può essere forzato bruto se usato con un segreto?

0

Nel mio codice calcolo gli hash per i codici noti e un segreto con SHA-1:

SHA-1(code + secret) = hash

Un utente malintenzionato può eseguire analisi statistiche sul database e ad esempio supporre che il codice 03220 generi un output specifico.

SHA-1(03220 + secret) = f24647f6573032838969db0934c63f6aa99c6173

Il segreto è lungo 120 bit e ad esempio Wqj5ASoan1iCjnjLeO6fL .

La mia domanda è: quanto tempo ci vuole per un hacker per forzare il segreto, quando conosce il codice utilizzato e l'output dell'hash? È sicuro?

    
posta John Smith 18.10.2016 - 08:23
fonte

2 risposte

4

È possibile eseguire la forza bruta con 7 Giga SHA1 al secondo su un buon sistema. Quando supponiamo che il tuo "segreto" sia effettivamente generato casualmente (come sembra) ed è lungo 120 bit, possiamo indovinare il tempo necessario per trovare una corrispondenza:

  possibleCombinations = 2 ^ bitsOfPassword
  expectedTimeInSeconds = (possibleCombinations / triesPerSecond) / 2

Questo rende circa 3E18 anni, quindi la forza bruta è chiaramente fuori questione. Come accennato, questo si applica solo ai "segreti" veramente casuali. Se solo gli hash SHA1 sono memorizzati nel database, non ci dovrebbe essere modo di indovinare la "chiave".

Mi chiedo quale sia la tua intenzione anche se, ci sono modi migliori per combinare una chiave con un token (HMAC), o è usata nel contesto della memorizzazione della password?

    
risposta data 18.10.2016 - 09:22
fonte
-1

Risposta rapida:

NON è sicuro. SHA-1 è stato deprecato non solo per essere abbastanza semplice per i computer moderni alla forza bruta (anche di più con l'ASIC sviluppato per il calcolo delle operazioni SHA), ma per alcune debolezze matematiche che lo hanno reso più vulnerabile e più facile da interrompere.

Leggi: link

Puoi anche leggere questo articolo scritto NEL 2012 : link

In cui si vede che era già considerato debole, non dal forzante bruto, ma dai punti deboli che rendono questo algoritmo più facile da rompere (trovare le collisioni è molto più facile che provare a usare la forza bruta).

Da quest'anno, molti ASIC (Circuito integrato specifico per applicazione) sono stati sviluppati per calcolare gli hash SHA più rapidamente (usati principalmente per l'estrazione in criptovalute come Bitcoin).

    
risposta data 18.10.2016 - 08:43
fonte

Leggi altre domande sui tag