← Blog
Guide · 10 min read · Updated April 2026

Come funziona la verifica SMS — Spiegazione tecnica

Come funziona la verifica SMS — Spiegazione tecnica

Passaggio 1: Generazione OTP

Quando una piattaforma necessita di verificare il tuo numero di telefono, genera una Password Monouso (OTP). Ecco cosa succede lato server:

  1. L'utente invia il numero di telefono — Il backend della piattaforma riceve il numero e ne valida il formato (prefisso internazionale, numero di cifre, prefisso valido).
  2. Viene generato l'OTP — Viene creato un codice casuale crittograficamente sicuro, solitamente di 4-6 cifre. La maggior parte delle implementazioni utilizza HMAC-SHA1 o HMAC-SHA256 con un seed basato sul tempo o su un contatore (standard TOTP/HOTP da RFC 6238/RFC 4226).
  3. L'OTP viene memorizzato — Il codice viene salvato lato server con un timestamp di scadenza (solitamente 60-300 secondi) e associato al numero di telefono.
  4. Viene applicato il rate limiting — La piattaforma verifica quanti OTP sono stati richiesti per questo numero di recente. La maggior parte dei servizi consente 3-5 tentativi per numero all'ora.
  5. Viene attivata la chiamata all'API SMS — La piattaforma invia una richiesta al suo provider SMS con il numero di telefono e il contenuto del messaggio.

L'OTP stesso è tipicamente solo un numero casuale. Le piattaforme non incorporano l'OTP in forma hash nel messaggio — viene inviato in chiaro nel corpo dell'SMS. Questa è una delle debolezze di sicurezza fondamentali della verifica SMS.

Passaggio 2: L'Ecosistema SMS A2P

A2P sta per Application-to-Person — messaggi inviati da un'applicazione software a un telefono umano. Questo è distinto dalla messaggistica P2P (Person-to-Person). L'ecosistema A2P ha la sua infrastruttura:

Aggregatori SMS

La maggior parte delle piattaforme non invia SMS direttamente tramite gli operatori. Invece, utilizzano aggregatori SMS — aziende che mantengono connessioni con centinaia di operatori in tutto il mondo. I principali aggregatori includono:

Quando Instagram ti invia un OTP, il messaggio probabilmente passa attraverso Twilio o un aggregatore simile prima di raggiungere il tuo operatore. L'aggregatore gestisce l'instradamento, la negoziazione con gli operatori e la conferma di consegna.

Instradamento SMS

L'aggregatore determina il percorso ottimale per la consegna dell'SMS. Per un numero statunitense, questo potrebbe significare:

  1. Chiamata API della piattaforma → Aggregatore (es. Twilio)
  2. Aggregatore → Gateway dell'operatore (es. AT&T, T-Mobile)
  3. Gateway dell'operatore → SMSC (Short Message Service Center)
  4. SMSC → MSC (Mobile Switching Center)
  5. MSC → Stazione base → Telefono dell'utente

I messaggi internazionali aggiungono complessità. Un OTP da una piattaforma con sede negli Stati Uniti a un numero indiano potrebbe passare attraverso 2-3 operatori intermedi prima di raggiungere la destinazione. Ogni passaggio aggiunge latenza e una piccola possibilità di errore.

Vuoi vederlo in azione?

Prova VerifySMS Gratis →

Ottieni numeri virtuali e ricevi OTP in tempo reale

Passaggio 3: SS7 e il Livello di Segnalazione

SS7 (Signaling System No. 7) è la suite di protocolli che controlla come comunicano le reti telefoniche. Sviluppato negli anni '70, è ancora la spina dorsale della telefonia globale. Quando viene inviato un SMS, SS7 gestisce:

Problemi di Sicurezza SS7

SS7 è stato progettato in un'epoca in cui solo operatori di telecomunicazioni fidati avevano accesso alla rete. Oggi, l'accesso SS7 è disponibile per migliaia di entità, creando vulnerabilità di sicurezza:

Queste vulnerabilità sono il motivo per cui gli esperti di sicurezza raccomandano di abbandonare la 2FA basata su SMS a favore di autenticatori basati su app (TOTP) o chiavi hardware (FIDO2). Tuttavia, per la verifica iniziale dell'account (dimostrare di avere accesso a un numero), SMS rimane lo standard del settore perché ha la più ampia copertura.

Passaggio 4: Come i Numeri Virtuali Ricevono SMS

I numeri di telefono virtuali funzionano sostituendo la SIM fisica e i componenti radio con software. Ecco come un numero virtuale riceve un OTP:

  1. Assegnazione del numero — Il provider di numeri virtuali affitta blocchi di numeri dagli operatori. Si tratta di numeri di telefono reali con registrazioni valide presso gli operatori.
  2. SIM bank o soft SIM — Il provider gestisce schede SIM fisiche in hardware (SIM bank con centinaia o migliaia di SIM) o utilizza integrazioni software a livello di operatore per ricevere messaggi.
  3. L'SMS arriva all'operatore — Il messaggio OTP viene consegnato all'operatore associato al numero virtuale, proprio come qualsiasi altro SMS.
  4. Il messaggio viene inoltrato — La SIM bank o l'integrazione dell'operatore cattura l'SMS in arrivo e lo inoltra al backend del provider tramite API.
  5. L'utente vede il codice — La dashboard o l'API del provider visualizza l'SMS ricevuto all'utente.

L'intuizione chiave: dal punto di vista della piattaforma mittente, un numero virtuale appare identico a un telefono fisico. L'SMS segue lo stesso percorso di instradamento. La differenza è nell'ultimo miglio — invece di essere visualizzato sullo schermo di un telefono, il messaggio viene catturato dal software.

Passaggio 5: Verifica Lato Piattaforma

Dopo che l'utente riceve l'OTP e lo inserisce sulla piattaforma, avviene la verifica lato server:

  1. Confronto codici — La piattaforma confronta il codice inviato con l'OTP memorizzato.
  2. Controllo scadenza — Se l'OTP è scaduto (solitamente 60-300 secondi), la verifica fallisce.
  3. Conteggio tentativi — La maggior parte delle piattaforme consente 3-5 tentativi errati prima di bloccare la verifica.
  4. Classificazione del numero — Alcune piattaforme controllano il numero rispetto a database di numeri VoIP/virtuali per segnalare un potenziale uso improprio.
  5. Successo o fallimento — Se il codice corrisponde e non è scaduto, il numero di telefono viene contrassegnato come verificato.

Come le Piattaforme Rilevano i Numeri Virtuali

Alcune piattaforme tentano di bloccare i numeri virtuali. I metodi che utilizzano:

Metodo di RilevamentoCome FunzionaEfficacia
Ricerca tipo numeroInterroga i database degli operatori per verificare se il numero è mobile, fisso o VoIPMedia — molti numeri virtuali sono registrati come mobili
Controllo database operatoriConfronta il numero con intervalli noti di provider VoIPMedia — funziona per i grandi provider, manca quelli più piccoli
Ricerca HLRInterroga l'Home Location Register per i dettagli della scheda SIMAlta per rilevare numeri solo software, inferiore per numeri da SIM bank
Analisi comportamentaleTraccia quanti account sono stati creati con numeri dallo stesso intervalloAlta nel tempo, ma richiede l'accumulo di dati

I provider di numeri virtuali contrastano questi rilevamenti utilizzando numeri di livello carrier registrati come linee mobili, mantenendo pool di numeri diversificati e ruotando frequentemente i numeri. Il ciclo di evasione del rilevamento è in corso.

Perché la Verifica SMS Persiste Nonostante i Suoi Difetti

La verifica SMS ha debolezze di sicurezza ben note, eppure rimane il metodo dominante. Le ragioni sono pratiche:

L'industria si sta lentamente muovendo verso alternative. Passkey (FIDO2), TOTP basati su app e notifiche push stanno guadagnando adozione. Ma per la verifica iniziale del telefono — dimostrare che un utente controlla un numero di telefono — SMS rimane lo standard.

Il Ruolo dei Numeri Virtuali in Questo Ecosistema

I numeri virtuali occupano una nicchia specifica: forniscono accesso a livello di numero di telefono senza richiedere un dispositivo fisico. Questo è utile per scenari legittimi, tra cui:

Da un punto di vista tecnico, i numeri virtuali funzionano perché sfruttano il fatto che la verifica SMS dimostra solo il controllo di un numero — non che il numero sia su un telefono fisico in tasca a qualcuno. Finché il numero è valido e può ricevere messaggi A2P, la verifica ha successo.

Avanzato: Ottimizzazione della Consegna OTP

Se sei uno sviluppatore che implementa la verifica SMS, ecco considerazioni tecniche per una consegna affidabile:

Vedi la verifica SMS dal lato ricevente

Prova VerifySMS Gratis →

150+ paesi · Attivazione istantanea · $0.10/numero

Altri articoli in italiano

Tutti gli articoli del blog in italiano →

>Articoli correlati