Come ottenere la password TOTP con hmac sha 512 come funzione di hashing?

5

Ive non ha mai imparato prima la sicurezza di javascript e della rete, ma ultimamente mi sono occupato di qualche sfida di programmazione, ma devo inviare il link del mio progetto tramite http post request, e devo capire la password, l'autenticazione usa TOTP con hmac sha 512 come funzione di hashing con una determinata chiave segreta, da qualche giorno sto cercando di capire di cosa si tratta come totp hotp hmac ecc, e ho l'idea di dover convertire la chiave segreta secondo l'algoritmo, vero? Ma l'algoritmo è molto nuovo per me e confondo cosa dovrei fare per generare la password, qualcuno potrebbe aiutarmi? O almeno spiegami cosa dovrei fare?

    
posta gilang 17.03.2016 - 20:17
fonte

1 risposta

4

C'è una bella RFC che descrive il TOTP: RFC 6238 , che menziona anche l'uso di SHA-512. L'ho fatto nella mia implementazione del token OTP in Javascript. Ma anche la RFC ha esempi di codice in Java (come FreeOTP).

L'algoritmo è fondamentalmente lo stesso per tutti gli hash. L'idea di base è quella di prendere tempo (arrotondato al limite di 30 secondi per impostazione predefinita) e generare l'HOTP di questo valore (anziché il contatore per HOTP).

HOTP in seguito è fondamentalmente HMAC con segreto codificato in esadecimale e con il contatore (da sopra - ora per TOTP) riempito con una quantità specifica di cifre. Dall'hash risultante, si prende solo una parte specifica secondo RFC.

Per giocare, ci sono diverse applicazioni web / jsfiddle che possono generare il TOTP al volo, ma sono certamente non per l'utilizzo nel mondo reale.

    
risposta data 17.03.2016 - 20:33
fonte

Leggi altre domande sui tag