OTP e Autenticazione
28 ago 2024
La guida completa per SMS OTP
Man mano che le aziende e i consumatori si spostano sempre più online, la necessità di garantire la sicurezza degli account e delle informazioni online degli utenti è diventata cruciale per le aziende. E la soluzione più popolare può essere scritta in appena sei lettere: SMS OTP.
Ma cos'è esattamente l'SMS OTP e come funziona? In questa guida, esamineremo tutto ciò che devi sapere sull'SMS OTP, inclusi i suoi vantaggi e come implementarlo in modo efficace.
Cos'è SMS OTP?
L'SMS OTP (per One-Time Password), è una password temporanea e sicura inviata via SMS (Short Message Service) al telefono cellulare di un utente. Funziona come misura di sicurezza per autenticare l'identità di un utente.
L'OTP generalmente assume la forma di un codice di 4-8 cifre generato casualmente. Può essere utilizzato solo una volta e scade dopo un periodo molto breve (spesso solo pochi minuti).
Le aziende utilizzano gli SMS OTP per migliorare la sicurezza nei loro sistemi di autenticazione a due fattori (2FA).
Come funziona SMS OTP?
Consideriamo un'app di incontri che mira a proteggere la privacy dei suoi utenti (soprattutto coloro che non vogliono rivelare le loro battute più sdolcinate al pubblico).
Quando uno dei loro utenti attiva un'azione che richiede un OTP, come un tentativo di login su un nuovo dispositivo, ecco cosa succede:
L'app non riconosce il dispositivo. Suggerisce di inviare un codice di verifica via SMS per confermare l'identità dell'utente.
L'app richiede automaticamente al suo fornitore di SMS OTP di generare e inviare un OTP al numero di cellulare dell'utente.
L'algoritmo del fornitore di SMS OTP genera un codice casuale di 4 cifre e lo invia al telefono dell'utente.
L'utente inserisce l'OTP nell'app di incontri. L'algoritmo del generatore di SMS OTP valida il codice immediatamente se è corretto.
E voilà! L'utente può tornare al gioco degli appuntamenti sul suo nuovo dispositivo.
E la parte migliore è che è tutto avvenuto automaticamente, in meno di un minuto. Tutti sono felici: l'utente perché i suoi dati sono chiaramente protetti e l'app di incontri perché è al sicuro dagli hacker.
Esempio di SMS OTP
Gli SMS OTP seguono solitamente lo stesso schema:
{{Codice}} è il tuo codice di verifica per {{Nome dell'app}}.
Al alcune aziende vorranno personalizzare il loro messaggio per allinearlo con la loro identità di marca e rendere questa notifica parte dell'esperienza complessiva dell'utente. Ad esempio, il cliente di Prelude e app sociale BeReal, utilizza il loro slogan alla fine del messaggio OTP:
“7860 è il tuo codice di verifica per BeReal. I tuoi amici per davvero.”

TOTP o HOTP: Qual è la differenza?
Gli SMS OTP rientrano solitamente in due diverse categorie, a seconda dell'algoritmo utilizzato per generarli: HOTP (Password Usa-Una-Sola-Volta Basata su HMAC) e TOTP (Password Usa-Una-Sola-Volta Basata sul Tempo).
La principale differenza tra questi due è il fattore di movimento che cambia ogni volta che un codice viene generato dall'algoritmo.
Il HOTP è basato su contatore. Il contatore aumenta ogni volta che viene richiesto un OTP. Questo significa che il codice rimane valido fino a quando non viene utilizzato o il contatore non aumenta.
Il TOTP è basato sul tempo, valido solo per un intervallo specifico. Una volta trascorso l'intervallo, può essere generato un nuovo OTP.
Leggi di più su questo argomento nel nostro post del blog: TOTP vs HOTP: Qual è la differenza (e quale è meglio)?
I (molti) casi d'uso di SMS OTP per le aziende
Le aziende possono utilizzare gli SMS OTP in molti modi per migliorare la sicurezza e la fiducia dei loro utenti. I casi d'uso più comuni includono:
Registrazione degli utenti: Verifica l'identità e il numero di telefono dei tuoi nuovi utenti durante il processo di creazione dell'account.
Autenticazione a due fattori: Aggiungi un ulteriore livello di sicurezza al processo di login con nome utente e password.
Reimpostazioni della password: Assicura il processo di reimpostazione di una password dimenticata o compromessa per impedire che i tuoi utenti vengano esclusi dai loro account.
Autenticazione di nuovi dispositivi: Quando gli utenti accedono da nuovi dispositivi o dispositivi non riconosciuti, la richiesta di un SMS OTP può aiutare a garantire che siano autorizzati a farlo.
Autenticazione senza password: Se vuoi consentire ai tuoi utenti di registrarsi utilizzando solo il loro numero di cellulare, l'invio di un OTP ti aiuta a garantire la loro autenticazione.
Verifica delle transazioni: Per qualsiasi transazione, come un bonifico o un pagamento online, invia un SMS OTP per verificare la validità della transazione.
Cambio dei dettagli dell'account: Quando un utente desidera cambiare informazioni sensibili dell'account, come il proprio indirizzo email o password, verifica la sua autenticità con un OTP.
Attivazione delle carte di pagamento bancarie: Le carte bancarie emesse di recente richiedono spesso l'attivazione tramite OTP per garantire che siano in possesso del legittimo proprietario. Questo aggiunge un ulteriore livello di sicurezza e assicura che solo il titolare della carta possa attivarla e utilizzarla.
Potremmo menzionare molti altri casi d'uso, come garantire l'accesso ai file o integrare terze parti, ma ormai dovresti aver compreso che praticamente qualsiasi azione sensibile attivata dal comportamento di un utente potrebbe beneficiare di un ulteriore livello di sicurezza grazie a un SMS OTP.
Quanto è sicuro l'SMS OTP?
Gli SMS OTP sono molto efficaci nel mitigare i rischi, grazie alla loro casualità.
Per un codice casuale di quattro cifre, un truffatore dovrebbe indovinare ogni numero correttamente in meno di cinque minuti. Ci sono 10 possibilità, quattro volte. Matematicamente, questo si traduce in una possibilità su 10.000 di ottenere correttamente un OTP.
Aggiungendo a questa casualità il fatto che un OTP è valido solo una volta ed è sensibile al tempo. È come cercare un ago in un pagliaio, tranne che l'ago si muove in un altro pagliaio ogni minuto!
Ma dobbiamo affrontare l'elefante nella stanza: l'SMS OTP non è infallibile.
A causa del loro supporto, gli SMS OTP possono essere soggetti a potenziali minacce. Lo scambio di SIM, le vulnerabilità del protocollo SS7 e l'ingegneria sociale sono tutte tattiche ben note usate dagli hacker che possono indebolire gli SMS OTP come fattore di autenticazione forte.
È un rischio che le aziende possono mitigare educando i loro utenti, ma soprattutto implementando un fornitore OTP sicuro che previene attivamente le frodi.
💡 Ad esempio, in Prelude, blocchiamo il 99% delle truffe e degli attacchi di spam per i nostri clienti utilizzando un punteggio di rischio cross-signal per identificare lo spam con la migliore accuratezza. Il nostro Watch API analizza dozzine di segnali digitali, inclusa la portabilità della scheda SIM, per prevenire attacchi SIM swap mirati ai tuoi utenti. Il nostro obiettivo finale è che i nostri clienti possano inviare OTP solo a utenti reali, senza dover ricorrere a bloccare interi paesi.
I vantaggi dell'SMS OTP
Sicurezza migliorata e riduzione delle frodi
Come discusso in precedenza, gli SMS OTP forniscono un vitale livello di sicurezza utilizzando un codice non indovinabile e sensibile al tempo. Questo aiuta le aziende a combattere le frodi e proteggere gli account e le informazioni degli utenti da accessi non autorizzati riducendo i rischi associati al fare affidamento esclusivamente sulle password degli utenti.
Costruire fiducia nei clienti
Oltre il 25% degli utenti online ha abbandonato le transazioni a causa di preoccupazioni riguardo alla sicurezza di un'app o di un sito web. Implementare gli SMS OTP nel tuo sistema di autenticazione a due fattori può aiutare ad eliminare queste barriere alla conversione rassicurando i clienti che i loro dati e le loro informazioni finanziarie sono al sicuro con la tua azienda.
Accessibile a tutti i tuoi utenti
L'SMS è il tipo di 2FA più utilizzato in tutto il mondo. È facilmente accessibile a tutti gli utenti con un telefono, poiché non richiede ulteriori app o tecnologia, e sfrutta un supporto con cui gli utenti già hanno familiarità.
L'SMS è universalmente supportato dagli operatori di rete mobile, il che lo rende il canale ideale per raggiungere gli utenti su scala globale.
Autenticazione istantanea degli utenti
Con tassi di consegna e apertura elevati, gli SMS consentono ai tuoi utenti di ricevere e utilizzare i loro OTP istantaneamente, facilitando un'esperienza di autenticazione utente fluida.
Facilità di implementazione
Implementare SMS OTP nei tuoi sistemi è semplice e non richiede significative modifiche all'infrastruttura o risorse estese. In Prelude, abbiamo assistito a aziende che hanno lanciato i loro sistemi OTP in meno di un'ora con solo un membro del team!
Scalabilità
L'SMS essendo un canale mondiale, le tue esigenze di OTP possono crescere con la stessa velocità con cui cresce la tua azienda. Puoi espanderti in nuovi mercati senza dover fare affidamento su nuovi fornitori o canali, specialmente se lavori con un servizio OTP che integra già più fornitori.
Come implementare SMS OTP nella tua applicazione?
Ora che sei convinto che la tua azienda ha bisogno di SMS OTP, quali sono i prossimi passi? Implementare un tale servizio può essere in realtà molto veloce e semplice.
1. Scegli il tuo fornitore di servizi OTP
In un articolo precedente, abbiamo elencato le caratteristiche da cercare in un fornitore di SMS OTP.
Per scegliere il migliore per la tua azienda, devi avere in mente un elenco chiaro di funzionalità indispensabili, che si tratti di velocità e affidabilità, facilità di implementazione, integrazioni o prezzi.
Assicurati anche di controllare se il fornitore offre SDK per il tuo linguaggio di programmazione preferito, per semplificare il processo di integrazione! Ad esempio, Prelude fornisce SDK per molti linguaggi popolari come Node, Go o Python.
2. Integra l'API SMS del fornitore
Una volta che hai fatto la tua scelta, puoi utilizzare l'API SMS del tuo fornitore per integrare la funzionalità OTP nella tua applicazione. Il tuo fornitore dovrebbe condividere con te una chiave API o un token, in modo da poter configurare il servizio.
3. Testa l'integrazione
Prima di andare a colpo sicuro con il tuo fornitore, assicurati di testare l'integrazione. Puoi farlo utilizzando numeri di telefono di prova per verificare che i messaggi vengano ricevuti correttamente e poi monitorando i registri nella dashboard del tuo fornitore per assicurarti che i tuoi utenti ricevano i loro OTP.
4. Monitora e scala
Una volta che tutto funziona senza problemi per i tuoi utenti, dedica un po' di tempo a monitorare i costi e il volume di SMS inviati per tenere traccia delle tue prestazioni di acquisizione. Alcuni fornitori come Prelude offrono ai loro clienti l'accesso a dashboard e analytics in tempo reale in modo che possano comprendere meglio i loro KPI di autenticazione degli utenti e le opportunità.

Inizia con SMS OTP con Prelude Verify
Puoi inviare e verificare un codice in 2 minuti e 3 semplici passaggi integrando l'API Prelude Verify da qualsiasi linguaggio per iniziare a inviare messaggi OTP ai tuoi utenti in tutto il mondo utilizzando più canali di messaggistica.
Passo 1: Registrati e ottieni la tua chiave API
Per utilizzare i servizi di verifica di Prelude, hai bisogno di una chiave API:
Crea un account su Prelude.
Vai alla sezione Chiavi nelle tue Impostazioni.
Genera una nuova chiave API e conservala in modo sicuro.
La tua chiave API è necessaria per autenticare le richieste e deve essere mantenuta privata.
Passo 2: Invio di un codice di verifica
Per verificare un numero di telefono, il primo passo è inviare una password usa-una-sola-volta (OTP). Utilizza l'/v2/verification
endpoint per attivare l'invio di un messaggio con un codice di verifica. Puoi vedere tutti i diversi parametri personalizzabili, come la dimensione del codice o l'ID del mittente, nella nostra documentazione.
Esempio di richiesta:
Esempio di risposta:
Passo 3: Controllo del codice di verifica
Una volta che l'utente riceve l'OTP, lo inserisce nella tua app. Successivamente, verifichi il codice utilizzando l'/v2/verification/check
endpoint.
Esempio di richiesta:
Esempio di risposta:
In caso di errori, come numero di telefono non valido o richiesta non valida, scopri come risolverli qui.
Passo 4: Invio di segnali di frode
Siete già a posto con Prelude! Questo ultimo passo è facoltativo (ma altamente consigliato) poiché ti aiuterà a sfruttare al meglio la nostra API abilitando il suo funzionamento per mitigare gli attacchi di frode come il pumping SMS.
Puoi inviare oltre 50 segnali utente (modello di dispositivo, versione dell'app, livello della batteria e altro) a Prelude tramite i nostri SDK mobili (per iOS, Android e React Native) per il filtraggio più preciso possibile. Maggiori informazioni qui.
Puoi anche iniziare ad aprire nuovi paesi e nuovi canali di messaggistica (come WhatsApp, RCS o Viber) a seconda delle tue esigenze di verifica degli utenti.
Le migliori pratiche per SMS OTP
Come puoi assicurarti che il tuo OTP favorisca le conversioni anziché perdere utenti? Ecco alcune buone pratiche che raccomandiamo ai nostri clienti, basate sulla nostra esperienza nell'invio di milioni di OTP ogni mese.
Mantienilo breve e conciso: il tuo SMS dovrebbe iniziare con il codice, permettendo agli utenti di inserirlo direttamente nella tua app senza dover aprire il messaggio. Se vuoi aggiungere un tuo tocco al contenuto del messaggio, puoi farlo dopo che il codice è stato menzionato.
Implementa opzioni di ripiego: se il tuo utente ha un cattivo ricezione della rete cellulare, è sempre meglio avere opzioni di ripiego come WhatsApp o Viber per inviare il tuo OTP. Punta a un fornitore OTP che possa farlo automaticamente per te.
Consenti nuove richieste per OTP: gli utenti che non ricevono o non usano il loro OTP in tempo dovrebbero poter chiedere un nuovo codice.
Come superare le sfide degli SMS OTP?
In Prelude, abbiamo notato che i nostri clienti si rivolgono a noi quando affrontano una delle due sfide comuni degli SMS OTP:
bollette elevate dai loro fornitori di OTP a causa di addebiti di frode,
o la necessità di servizi di verifica SMS accessibili mentre sviluppano le loro app.
Affrontiamo queste questioni con un modello di prezzo che può ridurre i costi di verifica SMS del 30-40% e migliorare i tassi di conversione. I nostri servizi includono costi inferiori per la protezione dalle frodi, opzioni di multi-routing e una dashboard trasparente che mostra i dettagli dei costi degli SMS e i risparmi.
Con rilevamenti avanzati delle frodi e analytics in tempo reale, i nostri clienti possono ora connettersi efficacemente con utenti genuini riducendo al minimo le spese.
Eleva il tuo processo di verifica SMS prenotando una demo della nostra API o provando oggi stesso!
Articoli Recenti