Calcolatore di sicurezza OTP.
Configura uno schema di password monouso (lunghezza, set di caratteri, scadenza e limite di tentativi) e visualizza lo spazio esatto delle combinazioni, l'entropia in bit, le probabilità di un tentativo corretto, la resistenza agli attacchi di forza bruta e un punteggio di sicurezza con consigli concreti per il rafforzamento. I calcoli sono precisi e vengono eseguiti interamente nel tuo browser.
Numero di cifre o caratteri nel codice (da 4 a 12).
Dimensione dell'alfabeto: 10
Per quanto tempo il codice rimane valido prima di essere ruotato o scadere.
Sono consentiti i tentativi di verifica prima che il codice venga bloccato o invalidato.
Tasso di probabilità presunto per il calcolo automatico. Utilizzato solo per stimare il tempo necessario per il calcolo con forza bruta: lasciare vuoto se sconosciuto.
Il limite di tentativi pone un limite al numero di tentativi consentiti a un attaccante reale di raggiungere 5: il blocco, non la frequenza, è il vincolo determinante.
- Molto forte: 1 su 1.000.000 o migliore (soddisfa l'obiettivo di riferimento del NIST)
- Forte — meglio di 1 su 100.000
- Discreto — migliore di 1 su 10.000
- Debole — peggiore di 1 su 10.000
Questa valutazione debole/discreta/forte/molto forte è un'euristica dello strumento stesso, non uno standard esterno. Valuta la probabilità di una risposta corretta entro il limite di tentativi rispetto alle soglie indicate di seguito. Lo spazio delle combinazioni, l'entropia e le probabilità sono calcoli matematici esatti.
- I codici OTP numerici sono lo standard per gli SMS e sono facili da usare, ma lo spazio limitato a disposizione fa sì che la sicurezza dipenda dalla limitazione della frequenza di invio e dalla breve scadenza, non dal codice stesso. È fondamentale che entrambi gli aspetti siano ben definiti.
- Implementare un blocco rigido lato server dopo alcuni tentativi falliti. Senza di esso, la "probabilità entro il limite di tentativi" di cui sopra è priva di significato e l'intero spazio diventa vulnerabile agli attacchi di forza bruta.
- Riduci il periodo di validità. Un codice valido per diversi minuti offre a un malintenzionato molto più tempo per tentare di indovinarlo rispetto a uno valido per 30-60 secondi.
- Per operazioni di alto valore come pagamenti o recupero dell'account, è consigliabile aggiungere l'associazione del dispositivo, l'autenticazione a più fattori o un secondo fattore di autenticazione. Un codice OTP da solo è un singolo segreto condiviso su un unico canale.
La risposta breve
Quanto è forte, in realtà, una coppia OTP?
La forza intrinseca di un codice OTP risiede semplicemente nel suo spazio di combinazioni: la dimensione dell'alfabeto elevata alla lunghezza del codice. Un codice numerico a 6 cifre ha un milione di combinazioni e circa 19,9 bit di entropia, un valore irrisorio per gli standard crittografici. Ciò che lo rende effettivamente sicuro non è il codice in sé, ma i controlli ad esso associati: un limite rigoroso di tentativi prima del blocco e una breve finestra di scadenza. Con un blocco dopo 5 tentativi, la probabilità di indovinare un codice a 6 cifre è di 5 su 1.000.000, ovvero circa 1 su 200.000. Rimuovendo il blocco, lo stesso codice può essere decifrato in pochi secondi. Questo strumento calcola sia i calcoli matematici che le probabilità pratiche, tenendo conto del blocco, in modo da poter comprendere esattamente da dove deriva la sicurezza del vostro sistema.
La matematica alla base della forza di una coppia OTP
Il numero totale di combinazioni è pari all'alfabeto moltiplicato per la lunghezza, calcolato esattamente con l'aritmetica dei numeri interi grandi, quindi anche gli spazi più grandi vengono visualizzati con la cifra decimale. L'entropia in bit è pari alla lunghezza × log₂(alfabeto); ogni carattere aggiuntivo aggiunge log₂(alfabeto) bit. La probabilità di una singola ipotesi casuale è 1 ÷ combinazioni. Con un limite di tentativi pari a N, la probabilità di almeno un successo è approssimativamente N ÷ combinazioni, che esprimiamo come un chiaro '1 su X' e una percentuale. Se si fornisce una frequenza di attacco ipotizzata, il tempo necessario per provare ogni codice è combinazioni ÷ frequenza, e il tempo medio per un successo è la metà di questo valore, ma un vero attaccante viene fermato prima da quale dei due eventi si verifica per primo: il blocco dei tentativi o la scadenza del codice.
Cosa dice la norma NIST 800-63B
La pubblicazione speciale NIST 800-63B considera un codice OTP breve come un segreto a bassa entropia la cui sicurezza dipende dalla limitazione dei tentativi, non dalla lunghezza. Indica ai verificatori di limitare la frequenza dei tentativi di autenticazione falliti e raccomanda di mantenere la probabilità di un tentativo online riuscito, per tutta la durata di vita dell'autenticatore, al di sotto di circa 1 su 1.000.000. In altre parole, un codice a 6 cifre è accettabile solo se il verificatore limita i tentativi e fa scadere rapidamente il codice: la sola lunghezza non è ciò che lo rende sicuro. Il livello "molto forte" in questo strumento è allineato con l'obiettivo di 1 su 1.000.000; le etichette dei livelli sono frutto di una nostra euristica, non di una classificazione NIST.
Confronto tra i comuni schemi OTP
Cifre precise per configurazioni tipiche, ipotizzando un blocco dopo 5 tentativi. Codici più lunghi o con lettere più grandi offrono un margine di sicurezza, ma il limite di tentativi è ciò che conta di più.
| Schema | Combinazioni | Entropia | Possibilità su 5 tentativi |
|---|---|---|---|
| Numerico a 4 cifre | 10,000 | 13.3 pezzi | 1 in 2,000 |
| Numerico a 6 cifre | 1,000,000 | 19.9 pezzi | 1 in 200,000 |
| Numerico a 8 cifre | 100,000,000 | 26.6 pezzi | 1 in 20,000,000 |
| Alfanumerico a 6 caratteri | 2,176,782,336 | 31.0 pezzi | 1 in 435,356,467 |
| A 8 caratteri case-sensitive | 218,340,105,584,896 | 47.6 pezzi | 1 in 43,668,021,116,979 |
Domande frequenti
Un codice OTP a 6 cifre è sicuro?
Di per sé, no: un codice numerico a 6 cifre ha solo un milione di combinazioni e circa 19,9 bit di entropia. La sua sicurezza, in pratica, si ottiene grazie a un limite rigoroso di tentativi e a una breve scadenza: con un blocco di 5 tentativi, la probabilità di indovinarlo è di circa 1 su 200.000. Rimuovendo il blocco, diventa facilmente violabile con la forza bruta in pochi secondi. La sicurezza deriva dai controlli, non dalle cifre.
Come viene calcolata l'entropia dell'OTP?
L'entropia in bit è pari alla lunghezza del codice moltiplicata per il logaritmo in base 2 della dimensione dell'alfabeto. Un codice numerico a 6 cifre è pari a 6 × log₂(10) ≈ 19,9 bit; un codice alfanumerico a 8 caratteri, sensibile alle maiuscole/minuscole, è pari a 8 × log₂(62) ≈ 47,6 bit. Ogni carattere aggiunto contribuisce con log₂(alfabeto) bit in più.
Perché il limite di tentativi è più importante della lunghezza?
Poiché le OTP online vengono indovinate una richiesta alla volta, non calcolate offline, se il sistema di verifica blocca l'account dopo 5 tentativi errati, un malintenzionato ha al massimo 5 possibilità di successo contro l'intero sistema, indipendentemente dalla velocità con cui invia le richieste. Questo singolo controllo trasforma un codice con un milione di combinazioni in un codice con una probabilità di successo di circa 1 su 200.000. Senza di esso, lo stesso codice non offre praticamente alcuna protezione.
Un codice più lungo o alfanumerico può essere d'aiuto?
Aumenta l'entropia e riduce la probabilità di indovinare, il che è utile per flussi di alto valore o quando la limitazione della frequenza è debole. Tuttavia, penalizza anche l'usabilità: i codici più lunghi e con lettere maiuscole e minuscole sono più difficili da digitare e più soggetti a errori tramite SMS o chiamate vocali. Per la maggior parte dei flussi, un codice numerico a 6 cifre con un blocco rigoroso e una scadenza breve rappresenta il giusto compromesso; riservate i codici più lunghi alle azioni ad alto rischio.
Cosa significa l'indice di resistenza?
Si tratta di un'euristica proprietaria dello strumento, non di uno standard esterno. Valuta la probabilità di una risposta corretta entro il limite di tentativi configurato: 1 su 1.000.000 o superiore è considerata "molto forte" (in linea con l'obiettivo di riferimento del NIST), superiore a 1 su 100.000 è "forte", superiore a 1 su 10.000 è "discreta" e qualsiasi valore inferiore è considerato "debole". Lo spazio delle combinazioni, l'entropia e le probabilità sottostanti sono calcolati con precisione matematica.
Questo strumento invia la mia configurazione da qualche parte?
No. Ogni calcolo viene eseguito nel tuo browser utilizzando l'aritmetica dei numeri interi di grandi dimensioni per lo spazio delle combinazioni. Nulla viene trasmesso, registrato o memorizzato. Puoi disconnetterti dalla rete e continuerà a funzionare.
Integrare l'OTP nel tuo prodotto?
BroadNet fornisce codici monouso tramite SMS e voce, con controlli di limitazione, scadenza e consegna che rendono sicuri i codici brevi. Contatta il nostro team per discutere del tuo flusso di verifica.