Hoe SMS-verificatie werkt — Technische uitleg
Stap 1: OTP Generatie
Wanneer een platform uw telefoonnummer moet verifiëren, genereert het een eenmalig wachtwoord (OTP). Dit is wat er aan de serverzijde gebeurt:
- Gebruiker dient telefoonnummer in — De backend van het platform ontvangt het nummer en valideert het formaat (landcode, aantal cijfers, geldige prefix).
- OTP wordt gegenereerd — Een cryptografisch willekeurige code wordt aangemaakt, meestal 4-6 cijfers. De meeste implementaties gebruiken
HMAC-SHA1ofHMAC-SHA256met een op tijd gebaseerde of op teller gebaseerde seed (TOTP/HOTP-standaarden uit RFC 6238/RFC 4226). - OTP wordt opgeslagen — De code wordt aan de serverzijde opgeslagen met een vervaldatum (meestal 60-300 seconden) en gekoppeld aan het telefoonnummer.
- Rate limiting wordt toegepast — Het platform controleert hoeveel OTP's recentelijk voor dit nummer zijn aangevraagd. De meeste diensten staan 3-5 pogingen per nummer per uur toe.
- SMS API-aanroep wordt geactiveerd — Het platform stuurt een verzoek naar zijn SMS-provider met het telefoonnummer en de berichtinhoud.
De OTP zelf is doorgaans slechts een willekeurig getal. Platforms embedden de OTP niet in een gehashte vorm in het bericht — het wordt als platte tekst in de SMS-body verzonden. Dit is een van de fundamentele beveiligingszwaktes van SMS-verificatie.
Stap 2: Het A2P SMS Ecosysteem
A2P staat voor Application-to-Person — berichten verzonden vanaf een softwareapplicatie naar de telefoon van een mens. Dit is anders dan P2P (Person-to-Person) messaging. Het A2P-ecosysteem heeft zijn eigen infrastructuur:
SMS Aggregators
De meeste platforms verzenden SMS niet rechtstreeks via providers. In plaats daarvan gebruiken ze SMS-aggregators — bedrijven die verbindingen onderhouden met honderden providers wereldwijd. Grote aggregators zijn onder andere:
- Twilio — De grootste SMS API-provider. Gebruikt door Uber, Airbnb, Stripe en duizenden anderen.
- Vonage (Nexmo) — Populair voor internationale SMS-routering.
- Sinch — Sterk in enterprise OTP-levering.
- MessageBird — Op Europa gerichte aggregator.
- Infobip — Grote speler in opkomende markten.
Wanneer Instagram u een OTP stuurt, passeert het bericht waarschijnlijk via Twilio of een vergelijkbare aggregator voordat het uw provider bereikt. De aggregator regelt routering, provideronderhandelingen en leveringsbevestiging.
SMS Routering
De aggregator bepaalt de optimale route voor het leveren van de SMS. Voor een Amerikaans nummer kan dit betekenen:
- Platform API-aanroep → Aggregator (bv. Twilio)
- Aggregator → Provider gateway (bv. AT&T, T-Mobile)
- Provider gateway → SMSC (Short Message Service Center)
- SMSC → MSC (Mobile Switching Center)
- MSC → Basisstation → Telefoon van gebruiker
Internationale berichten voegen complexiteit toe. Een OTP van een Amerikaans platform naar een Indiaas nummer kan via 2-3 tussenliggende providers worden gerouteerd voordat het de bestemming bereikt. Elke hop voegt latentie en een kleine kans op falen toe.
Wilt u dit in actie zien?
Probeer VerifySMS Gratis →Ontvang virtuele nummers en ontvang OTP's in realtime
Stap 3: SS7 en de Signaallaag
SS7 (Signaling System No. 7) is de protocolsuite die bepaalt hoe telefoonnetwerken communiceren. Ontwikkeld in de jaren '70, is het nog steeds de ruggengraat van de wereldwijde telefonie. Wanneer een SMS wordt verzonden, regelt SS7:
- Nummer lookup (HLR-query) — De verzendende provider bevraagt het Home Location Register om te bepalen tot welke provider en welk netwerk het bestemmingsnummer behoort.
- Berichtroutering — SS7-signalen bepalen het pad dat het bericht door het netwerk neemt.
- Leveringsbevestiging — De ontvangende SMSC stuurt een leveringsbewijs terug via SS7-signalering.
SS7 Beveiligingsproblemen
SS7 is ontworpen in een tijdperk waarin alleen vertrouwde telecomoperators netwerktoegang hadden. Tegenwoordig is SS7-toegang beschikbaar voor duizenden entiteiten, wat beveiligingskwetsbaarheden creëert:
- SMS-onderschepping — Een aanvaller met SS7-toegang kan SMS-berichten omleiden naar hun eigen apparaat. Dit is aangetoond in real-world aanvallen op bank 2FA.
- Locatietracking — SS7-queries kunnen de fysieke locatie van een telefoon onthullen.
- Nummer spoofing — SS7 maakt het mogelijk om berichten te verzenden die afkomstig lijken te zijn van een ander nummer.
Deze kwetsbaarheden zijn de reden waarom beveiligingsexperts aanbevelen om af te stappen van SMS-gebaseerde 2FA naar app-gebaseerde authenticators (TOTP) of hardware sleutels (FIDO2). Echter, voor initiële accountverificatie (bewijzen dat u toegang heeft tot een nummer), blijft SMS de industriestandaard omdat het het breedste bereik heeft.
Stap 4: Hoe Virtuele Nummers SMS Ontvangen
Virtuele telefoonnummers werken door de fysieke SIM en radio-componenten te vervangen door software. Hier is hoe een virtueel nummer een OTP ontvangt:
- Nummer toewijzing — De provider van virtuele nummers huurt nummerblokken van providers. Dit zijn echte telefoonnummers met geldige providerregistraties.
- SIM-bank of soft SIM — De provider beheert fysieke SIM-kaarten in hardware (SIM-banken met honderden of duizenden SIM's) of gebruikt software-integraties op providerniveau om berichten te ontvangen.
- SMS arriveert bij provider — Het OTP-bericht wordt geleverd aan de provider die geassocieerd is met het virtuele nummer, net als elke andere SMS.
- Bericht wordt doorgestuurd — De SIM-bank of provider-integratie onderschept de inkomende SMS en stuurt deze via API door naar de backend van de provider.
- Gebruiker ziet de code — Het dashboard of de API van de provider toont de ontvangen SMS aan de gebruiker.
Het belangrijkste inzicht: vanuit het perspectief van het verzendende platform ziet een virtueel nummer er identiek uit als een fysieke telefoon. De SMS volgt hetzelfde routeringspad. Het verschil zit in de laatste stap — in plaats van op een telefoonscherm te worden weergegeven, wordt het bericht onderschept door software.
Stap 5: Platform-Side Verificatie
Nadat de gebruiker de OTP heeft ontvangen en deze op het platform heeft ingevoerd, vindt de verificatie aan de serverzijde plaats:
- Codevergelijking — Het platform vergelijkt de ingediende code met de opgeslagen OTP.
- Vervaldatumcontrole — Als de OTP is verlopen (meestal 60-300 seconden), mislukt de verificatie.
- Pogingen tellen — De meeste platforms staan 3-5 incorrecte pogingen toe voordat de verificatie wordt geblokkeerd.
- Nummer classificatie — Sommige platforms controleren het nummer tegen VoIP/virtuele nummerdatabases om mogelijk misbruik te markeren.
- Succes of mislukking — Als de code overeenkomt en niet is verlopen, wordt het telefoonnummer gemarkeerd als geverifieerd.
Hoe Platforms Virtuele Nummers Detecteren
Sommige platforms proberen virtuele nummers te blokkeren. De methoden die ze gebruiken:
| Detectiemethode | Hoe het werkt | Effectiviteit |
|---|---|---|
| Nummertype lookup | Bevraagt providerdatabases om te controleren of het nummer mobiel, vast of VoIP is | Medium — veel virtuele nummers zijn geregistreerd als mobiel |
| Provider database check | Vergelijkt het nummer met bekende VoIP-providerbereiken | Medium — werkt voor grote providers, mist kleinere |
| HLR lookup | Bevraagt het Home Location Register voor SIM-kaartgegevens | Hoog voor het detecteren van alleen-software nummers, lager voor SIM-bank nummers |
| Gedragsanalyse | Volgt hoeveel accounts zijn aangemaakt met nummers uit dezelfde reeks | Hoog na verloop van tijd, maar vereist gegevensaccumulatie |
Providers van virtuele nummers counteren deze detecties door nummers van carrier-kwaliteit te gebruiken die zijn geregistreerd als mobiele lijnen, diverse nummerpools te onderhouden en nummers frequent te roteren. De cyclus van detectie-ontwijking is voortdurend.
Waarom SMS-verificatie Blijft Bestaan Ondanks de Gebreken
SMS-verificatie heeft bekende beveiligingszwaktes, toch blijft het de dominante methode. De redenen zijn praktisch:
- Universeel bereik — Elke telefoon kan SMS ontvangen. Geen app-installatie nodig. Dit dekt de miljarden gebruikers op feature phones en oudere apparaten.
- Gebruikersbekendheid — Iedereen begrijpt "voer de code in die we hebben gestuurd." Geen uitleg nodig.
- Lage implementatiekosten — SMS API's zijn goedkoop. Twilio rekent ongeveer $0.0075 per SMS in de VS. Op schaal zijn dit centen per verificatie.
- Accepterenabele beveiligingsoverweging — Voor de meeste gebruiksscenario's (aanmeldingen voor sociale media, accounts voor maaltijdbezorging) biedt SMS voldoende wrijving om geautomatiseerd misbruik te ontmoedigen zonder dat hardware beveiligingssleutels nodig zijn.
De industrie beweegt langzaam naar alternatieven. Passkeys (FIDO2), app-gebaseerde TOTP en pushmeldingen winnen aan populariteit. Maar voor initiële telefoonverificatie — het bewijzen dat een gebruiker een telefoonnummer beheert — blijft SMS de standaard.
De Rol van Virtuele Nummers in Dit Ecosysteem
Virtuele nummers nemen een specifieke niche in: ze bieden toegang op telefoonnummerniveau zonder dat een fysiek apparaat nodig is. Dit is nuttig voor legitieme scenario's, waaronder:
- Privacybescherming — Uw echte nummer niet delen met platforms die uw gegevens mogelijk verkopen. Zie onze VerifySMS vs Gratis SMS-sites (receive-smss.com) — Waarom betaald beter is voor waarom privacy hier belangrijk is.
- Multi-accountbeheer — Bedrijven die meerdere accounts op hetzelfde platform beheren, hebben voor elk een uniek nummer nodig.
- Internationale toegang — Accounts verifiëren op platforms in Virtuele telefoonnummers in de VS — Non-VoIP nummers zonder lokale SIM-kaarten te hebben.
- Ontwikkeling en testen — QA-teams die OTP-flows testen, hebben veel nummers nodig zonder fysieke apparaten te beheren.
Vanuit technisch oogpunt werken virtuele nummers omdat ze profiteren van het feit dat SMS-verificatie alleen controle over een nummer bewijst — niet dat het nummer op een fysieke telefoon in iemands zak zit. Zolang het nummer geldig is en A2P-berichten kan ontvangen, slaagt de verificatie.
Geavanceerd: OTP Leveringsoptimalisatie
Als u een ontwikkelaar bent die SMS-verificatie implementeert, zijn hier technische overwegingen voor betrouwbare levering:
- Gebruik sender ID's verstandig — In landen die alfanumerieke sender ID's ondersteunen, gebruikt u uw merknaam. In de VS gebruikt u een speciale short code of 10DLC (10-Digit Long Code) voor de beste leveringspercentages.
- Implementeer fallback-routering — Gebruik meerdere SMS-aggregators, zodat als een route mislukt, het bericht opnieuw wordt geprobeerd via een andere.
- Houd berichten kort — OTP-berichten moeten minder dan 160 tekens bevatten (één SMS-segment). Berichten met meerdere segmenten hebben hogere faalkansen.
- Stel geschikte time-outs in — 120 seconden is de ideale tijd. Te kort veroorzaakt valse fouten; te lang laat onderschepte codes worden gebruikt.
- Log leveringsbewijzen — Houd bij of berichten zijn geleverd, in behandeling zijn of zijn mislukt. Deze gegevens helpen bij het identificeren van provider-specifieke problemen.
Zie SMS-verificatie vanaf de ontvangende kant
Probeer VerifySMS Gratis →150+ landen · Directe activering · $0.10/nummer
