🔢

Generatore e Validatore OTP

Genera password monouso basate su tempo o contatore, verifica codici 2FA e analizza algoritmi SHA-1/SHA-256/SHA-512 con finestra temporale configurabile.

configuration
Tipo di OTP:
TOTP (basato sul tempo)
Algoritmo HMAC:
SHA1
Cifre:
Periodo (secondi) (TOTP):
Chiave segreta:
Genera codice
Valida codice
Inserisci il codice da testare:

Cos'è un codice OTP

Gli OTP (One-Time Password) sono codici temporanei basati su HMAC che rafforzano l'autenticazione a due fattori. Ogni codice è valido per una sola richiesta, riducendo il rischio di riuso dopo furto di credenziali.

Funzionalità principali

⏱️

Supporto TOTP/HOTP

Genera OTP basati sul tempo con sincronizzazione automatica ogni 30 secondi oppure basati su contatore con incremento manuale.
🔐

Algoritmi flessibili

Scegli tra SHA-1, SHA-256 e SHA-512, personalizza la lunghezza del codice (6-8 cifre) e il periodo di validità.
🔍

Validazione immediata

Inserisci codice e segreto per verificare l'OTP contro la tua implementazione server e monitorare finestra di tolleranza.
📈

Analisi finestre temporali

Visualizza il tempo residuo, prova la deriva di orologio, sposta il contatore HOTP e confronta con app 2FA reali.

📋Guida rapida

1️⃣
Imposta la chiave segreta
Incolla la chiave Base32 fornita dal provider 2FA o generane una nuova per i test.
2️⃣
Seleziona tipo e algoritmi
Scegli TOTP o HOTP, l'algoritmo HMAC, il numero di cifre e il periodo/contatore richiesto dalla tua applicazione.
3️⃣
Genera il codice
Premi "Genera" per ottenere l'OTP corrente. Per HOTP aumenta il contatore ad ogni richiesta per mantenere la sincronizzazione.
4️⃣
Valida implementazioni
Inserisci un codice generato da app esterne e verifica la corrispondenza. Usa i risultati per calibrare tolleranza e sincronizzazione.

📚Approfondimento tecnico

📘RFC 4226 & 6238

L'algoritmo HOTP (RFC 4226) usa un contatore e HMAC per generare OTP; TOTP (RFC 6238) deriva da HOTP sostituendo il contatore con l'ora Unix/periodo, garantendo codici sincronizzati temporalmente.

🔑HMAC e Base32

La chiave segreta condivisa viene codificata in Base32, decodificata localmente e usata per calcolare l'HMAC con l'algoritmo selezionato senza mai inviare il segreto all'esterno.

📏Troncamento dinamico

Il risultato HMAC viene troncato dinamicamente (mod 2^31) e ridotto al numero di cifre desiderato (6-8) per produrre il codice finale conforme alle specifiche IETF.

🛡️Tolleranza e sicurezza

La validazione supporta finestre di tolleranza configurabili per gestire ritardi di rete e leggeri drift, mantenendo al contempo un'elevata sicurezza e audit trail degli scarti.

Domande frequenti

Qual è la differenza tra TOTP e HOTP?

TOTP genera codici basati sull'ora corrente e scade dopo ogni periodo (es. 30 s). HOTP usa un contatore incrementale condiviso: ogni codice è valido finché il contatore non avanza.
💬

Quali parametri devo allineare con l'app 2FA?

Chiave segreta Base32, algoritmo (spesso SHA-1), numero di cifre (6) e periodo (30 s). Differenze in uno di questi valori portano a codici diversi.
🔍

Come gestire la deriva dell'orologio?

Sincronizza server e client con NTP e, lato validazione, accetta una finestra di ±1 periodo per compensare piccoli scarti temporali.
💡

È sicuro incollare qui la chiave segreta?

Lo strumento elabora i dati solo localmente e non li invia ai server AnyTools. Tuttavia, evita di testare segreti di produzione su dispositivi non protetti.

💡Suggerimenti pratici

🕒

Sincronizzazione oraria

Per TOTP la deriva di orologio è critica: sincronizza l'ora del server con NTP e prevedi una finestra di ±1 periodo.
🔁

Gestione contatore HOTP

Con HOTP conserva server-side l'ultimo contatore accettato e accetta un range di pochi step avanti per evitare desincronizzazioni.
📱

Test con app 2FA

Scannerizza il QR generato dalla tua applicazione con Google Authenticator o Authy e confronta i codici con quelli dello strumento.
🔐

Protezione dei segreti

Non loggare né trasmettere chiavi in chiaro. Usa variabili d'ambiente e ruota i segreti periodicamente per ridurre il rischio.

User Comments

0 / 2000
Loading...