Forza bruta HMAC SHA256 (HS256) equivale a interrompere la firma del token Web JSON?

1

Il formato del token Web JSON è:

codificato (intestazione). codificati (payload). firma con un segreto (ad esempio, usa sha256 per firmare).

In caso di JWT hmac sha256 (HS256), se il segreto non è lungo e abbastanza complesso (ad esempio "abc123"):

  1. È possibile forzare bruscamente questa firma di token? (non considerare il limite superiore della firma errata)

  2. Qual è la difficoltà di eseguire la brute-force sh256?

  3. In JWT, break SH256 secret = replica con successo la firma? (non considerare ulteriore crittografia)

posta Li Dong 23.02.2017 - 09:43
fonte

2 risposte

3

Sì. Se crack la chiave segreta utilizzata nella firma SHA256 puoi creare JWT arbitrari da solo. La firma è un HMAC SHA256, che esegue tre due operazioni SHA256, quindi sarebbe un po 'più del doppio rispetto a cracking semplice SHA256 . Su hardware di base puoi fare nell'ordine di 10 tentativi al secondo.

    
risposta data 23.02.2017 - 09:49
fonte
0

Domanda 1: è possibile forzare la forza con questa firma di token?

In teoria, sì. MA due cose che devi prendere in considerazione prima di provare a usare la forza bruta:

Primo: Il segreto cambia per ogni token Web? Se sì, allora i tuoi tentativi di cracking sono validi solo per quel token. Il token contiene informazioni così preziose che desideri spendere giorni o anni di potere computazionale per scomporlo? Chiedi questo a te stesso.

Secondo: Qual è la lunghezza del tuo "codificato (header) .encoded (payload) .signature con un segreto" ? Se hai accesso a una potenza di elaborazione illimitata o a una quantità di denaro illimitata, ti suggerisco di leggere questo post per capire quanto costoso, sarà quello di rompere il tuo hash.

Domanda 2: In che modo è difficile applicare la forza bruta a sha256?

Fare riferimento alla seconda considerazione della risposta alla domanda 1.

Domanda 3: In JWT, break sha256 secret = replica con successo la firma?

Non sono un esperto di JWT. Tuttavia, se ritieni che le risposte alle domande precedenti siano accettabili, ciò significa che capisco il concetto. Quindi, per rispondere alla tua domanda: fai riferimento alla prima considerazione della risposta alla domanda 1. Se i tuoi cambiamenti segreti per ogni token Web, non puoi replicare la firma per riprodurre una transazione. A meno che, se il cambiamento segreto è banale da prevedere, come una sequenza numerata. Se il segreto rimane costante, allora sì, puoi replicare la firma.

    
risposta data 23.02.2017 - 11:26
fonte

Leggi altre domande sui tag