Sms-2FA beschermt niets meer: wat u in plaats daarvan moet gebruiken

NIST bestempelt sms-2FA als beperkte authenticator. SIM-swapping, het SS7-lek, realtime phishing en waardoor u het concreet moet vervangen.

|

Leestijd: 13 minuten

Sms-2FA beschermt niets meer: wat u in plaats daarvan moet gebruiken

Op 9 januari 2024 kondigde het officiële X-account van de Securities and Exchange Commission, de Amerikaanse toezichthouder op de financiële markten, de goedkeuring van Bitcoin-ETF’s aan, een besluit waar de markt al maanden op wachtte. Binnen enkele minuten won Bitcoin meer dan 1.000 dollar per stuk. Daarna sprak de SEC het tegen: het account was gehackt. De koers zakte met meer dan 2.000 dollar terug.

Wat de zaak leerzaam maakt is niet de omvang van de koersbeweging, maar hoe alledaags het middel was. Volgens het persbericht van het Amerikaanse ministerie van Justitie printte Eric Council Jr., 26 jaar, een vals identiteitsbewijs met een draagbare kaartprinter, liep een AT&T-winkel binnen en overtuigde een medewerker om het bij het account horende telefoonnummer over te zetten naar een simkaart die hij beheerde. Hij ontving de resetcodes voor het wachtwoord per sms en gaf ze door aan zijn medeplichtigen. Op 16 mei 2025 werd hij veroordeeld tot 14 maanden cel.

Eén precisering is nodig, die de lezing van de zaak verandert zonder de les te ondermijnen. Volgens de officiële verklaring van de SEC was de multifactorauthenticatie op dat account in juli 2023 uitgeschakeld, op verzoek van de medewerkers zelf. Sms diende ten tijde van de feiten dus niet als tweede factor, maar als herstelkanaal. En precies dat maakt het voorbeeld bruikbaar: tweede factor of achterdeur, het telefoonnummer blijft het punt waar de ketting bezwijkt.

Wat een tweede factor zou moeten garanderen

Het principe past in één zin. Een wachtwoord alleen is iets wat u weet; daar komt iets wat u heeft bij (een telefoon, een fysieke sleutel) of iets wat u bent (een vingerafdruk). Wie uw wachtwoord uit een datalek steelt, beschikt daarmee nog niet over uw fysieke voorwerp.

De redenering rust op een aanname die zelden wordt uitgesproken: dat de tweede factor werkelijk gebonden is aan een voorwerp in uw bezit, en dat het tonen ervan iets bewijst over de plek waar u inlogt. Sms faalt op beide punten.

Sms is geen bezitsfactor

Een code per sms ontvangen bewijst niet dat u een apparaat bezit, maar dat een telefoonnummer, toegekend door een provider en door diezelfde provider te wijzigen, naar een toestel verwijst. Dat is niet hetzelfde. Drie vectoren buiten dat gat uit, en ze worden niet op dezelfde manier gedicht.

SIM-swapping

Dit is de aanval uit de SEC-zaak, en hij berust op geen enkel technisch lek. De aanvaller verzamelt persoonlijke gegevens over het doelwit, vaak al beschikbaar uit openbare datalekken, en benadert vervolgens de provider terwijl hij zich voordoet als die persoon: telefoon kwijt, graag het nummer overzetten naar een nieuwe simkaart. Is hij overtuigend, of werkt een medewerker mee, dan wisselt het nummer van hand en komen alle sms’jes bij hem binnen. Het IC3-jaarverslag 2024 van de FBI telt alleen al voor dat jaar 982 meldingen van SIM-swapping en bijna 26 miljoen dollar aan opgegeven schade, en rekent daarbij alleen slachtoffers mee die aangifte deden. Geen enkele software-update dicht deze vector: hij richt zich niet op software, maar op een menselijk bedrijfsproces.

Onderschepping via SS7

Signaling System 7 is het protocol waarmee telefoonnetwerken wereldwijd met elkaar praten: een gesprek routeren, roaming afhandelen, een sms van de ene provider bij de andere afleveren. Het werd in 1975 ontworpen, toen de club van operators gesloten en klein was en iedereen de anderen per constructie vertrouwde. Het bevat dan ook geen enkele native authenticatie tussen netwerken: een verzoek dat er legitiem uitziet, wordt als legitiem behandeld.

Dit is geen theoretische zwakte. In december 2014 demonstreerden de Duitse onderzoekers Tobias Engel en Karsten Nohl het publiekelijk op het Chaos Communication Congress: een abonnee lokaliseren en zijn sms’jes onderscheppen op basis van alleen het telefoonnummer. In 2017 werd echte uitbuiting bevestigd: de Duitse provider O2-Telefónica erkende dat klanten hun bankrekening leeggehaald hadden zien worden, nadat de aanvallers toegang hadden gekregen tot het netwerk van een buitenlandse operator en sms-doorschakeling hadden ingesteld om de bevestigingscodes van de bank te onderscheppen.

Realtime phishing

De derde vector is de belangrijkste, omdat hij van geen enkel telecomlek afhangt en alles overleeft wat je in de twee vorige zou repareren.

Een nepsite bootst de inlogpagina van een dienst perfect na. U voert daar uw gebruikersnaam en wachtwoord in, die de nepsite meteen doorstuurt naar de echte, waarna die een sms naar uw telefoon stuurt. De sms bereikt u daadwerkelijk, en hij is echt. U typt de code in op de nepsite, die hem op zijn beurt binnen enkele seconden doorstuurt. De sessie opent, en het is de aanvaller die hem in handen heeft.

Dit heet een adversary-in-the-middle-aanval. Hij is geïndustrialiseerd: tools als Evilginx, een in 2017 opgedoken reverse proxy, of kits die per maand worden verkocht, maken hem toegankelijk zonder bijzondere kennis. Wat er trouwens wordt gestolen is niet alleen de code, maar de sessiecookie, die het daarna mogelijk maakt ingelogd te blijven zonder nog enige authenticatie te doorlopen.

Het punt is architectonisch. De per sms verzonden code bevat geen enkele informatie over de site die hem heeft opgevraagd. Hij kan echt dus niet van vals onderscheiden: hij is geldig overal waar hij wordt ingetypt.

Dit is geen mening meer, dit is een officieel standpunt

Het sterkste argument tegen sms komt niet van leveranciers van oplossingen, maar van de instellingen die de standaarden schrijven.

In juli 2025 publiceerde het Amerikaanse NIST de definitieve versie van SP 800-63B-4, Digital Identity Guidelines: Authentication and Authenticator Management. De tekst schept een uitdrukkelijke categorie beperkte authenticators, voorbehouden aan mechanismen waarvan de weerbaarheid met de evolutie van de dreigingen is afgenomen. Paragraaf 3.1.3.3 plaatst daar het gebruik van het geschakelde telefoonnetwerk onder, dus codes verstuurd per sms of via een spraakoproep: “Use of the PSTN for out-of-band verification is restricted as described in this section and SHALL satisfy the requirements of Sec. 3.2.9.” Concreet moet een dienst die er nog gebruik van maakt een niet-beperkt alternatief bieden, zijn gebruikers over het risico informeren en over een migratieplan beschikken.

In december 2024 had CISA, het Amerikaanse cyberveiligheidsagentschap, zijn Mobile Communications Best Practice Guidance gepubliceerd, na de spionagecampagne Salt Typhoon, waarbij aan de Chinese staat gelieerde actoren waren doorgedrongen tot meerdere Amerikaanse telecomoperators. De formulering laat geen ruimte voor interpretatie: “Do not use SMS as a second factor for authentication. SMS messages are not encrypted”, en verderop, zonder omhaal: “Only FIDO authentication is phishing-resistant.” Het document beveelt uitdrukkelijk hardwarematige FIDO-sleutels aan, met Yubico en Google Titan bij naam, en stelt dat zodra FIDO is ingeschakeld sms moet worden uitgezet, omdat het anders als exploiteerbare terugvaloptie blijft bestaan.

Authenticator-apps: echte vooruitgang, een gedeeltelijke oplossing

TOTP-apps, van Time-based One-Time Password, genereren een code van zes cijfers die elke dertig seconden verandert, lokaal berekend uit een bij de activering gedeeld geheim en de actuele tijd. Er gaat niets over het telefoonnetwerk.

De winst is meteen merkbaar: SIM-swapping wordt zinloos omdat het nummer niet meer meespeelt, en SS7-onderschepping ook, omdat er geen bericht wordt vervoerd. Overstappen op een authenticator-app is de moeite waard bij elk account dat niet verder kan gaan.

Maar de derde vector blijft volledig overeind. Een TOTP-code die op een nepsite wordt ingetypt, gaat precies zoals een sms-code door naar de echte site. De app weet niet waar u inlogt: hij toont een getal, en dat getal is geldig bij iedereen die het binnen het venster van dertig seconden aanbiedt. CISA zegt het in dezelfde bewoordingen: authenticatorcodes zijn beter dan sms maar blijven kwetsbaar voor phishing.

TOTP is een eerlijke tussenstap, geen eindbestemming.

Waarom een FIDO2-sleutel de aard van het probleem verandert

Een FIDO2/WebAuthn-hardwaresleutel maakt de aanval niet alleen moeilijker, hij ontneemt hem de mechanische mogelijkheid.

Bij registratie bij een dienst genereert de sleutel een cryptografisch sleutelpaar dat aan die dienst is gewijd. De publieke helft gaat naar de dienst, de private helft verlaat de chip nooit en is niet exporteerbaar of leesbaar. Geen gedeeld geheim dat gekopieerd kan worden, geen code van zes cijfers om te onderscheppen.

Dan volgt het beslissende mechanisme, de binding aan de origin. Bij het inloggen geeft de browser de sleutel de echte domeinnaam van de getoonde pagina door. Die informatie zit in de ondertekende gegevens, en de browser dwingt haar af: het JavaScript van de pagina kan haar noch wijzigen noch vervalsen.

Een FIDO2-sleutel maakt phishing niet moeilijker te laten slagen. Hij maakt het resultaat van phishing onbruikbaar.

Neem de adversary-in-the-middle-aanval opnieuw, nu met een sleutel. De nepsite is perfect, het slachtoffer merkt niets en raakt de sleutel aan. De browser geeft het echte domein van de pagina door, dat van de frauduleuze site. De sleutel stelt vast dat er voor dat domein geen paar bestaat, of tekent ervoor en produceert daarmee een handtekening die de echte dienst zal weigeren. In beide gevallen krijgt de aanvaller niets bruikbaars.

Daar zit het verschil in aard. Bij sms of TOTP rust de beveiliging uiteindelijk op de oplettendheid van de gebruiker, op zijn vermogen een vervalst domein in een adresbalk te herkennen, op een moment dat hij haast heeft en de pagina er normaal uitziet. Bij FIDO2 wordt die controle door een machine gedaan, stelselmatig, zonder afhankelijk te zijn van iemands aandacht. Die verschuiving van verantwoordelijkheid telt zwaarder dan de cryptografische sterkte.

Het effect is meetbaar. Google maakte de sleutels begin 2017 verplicht voor zijn medewerkers en verklaarde in 2018 geen enkele accountcompromittering te hebben vastgesteld onder meer dan 85.000 mensen.

De echte grenzen van hardwaresleutels

Ze als perfect voorstellen zou oneerlijk zijn, en nutteloos om de beslissingen voor te bereiden die er echt toe doen.

De kosten bestaan. Reken op 25 tot 60 euro afhankelijk van het model, meer voor biometrische versies, en maal twee.

Een sleutel verliezen is het echte risico. Eén sleutel op een kritiek account is een ontwerpfout. Er moeten er twee geregistreerd staan op elk belangrijk account, waarvan er één elders wordt bewaard, bij een naaste of in een kluis. De tweede is geen comfort, hij is wat de eerste zonder angst bruikbaar maakt.

De dekking is onvolledig. Veel diensten, met name banken in Europa, ondersteunen FIDO2 nog niet, vandaar de prioritering hieronder.

Een sleutel kan gestolen worden. Vandaar de noodzaak een pincode op de sleutel in te stellen, of een model met vingerafdruk te kiezen: zonder dat volstaat het voorwerp alleen voor wie het opraapt.

De terugvaloptie blijft de zwakke schakel. FIDO2 inschakelen zonder sms uit te schakelen beschermt nergens tegen: een aanvaller neemt gewoon de route die openbleef. De migratie is pas klaar wanneer het oude mechanisme uit het account is verwijderd, herstelopties inbegrepen.

Wat de hardware betreft: de YubiKey-reeks dekt het breedste spectrum aan protocollen, Google Titan is goedkoper en beperkt zich tot FIDO, Nitrokey en SoloKeys bieden alternatieven met open, controleerbare firmware, en Token2 maakt modellen met ingebouwd toetsenblok waarbij de pincode op de sleutel zelf wordt ingevoerd in plaats van op het toetsenbord. Er is geen verkeerde keuze onder de FIDO2-gecertificeerde sleutels: het protocol is hetzelfde en alleen de nevenfuncties verschillen.

Waar te beginnen als u niet alles kunt veranderen

De volgorde van migratie is geen kwestie van voorkeur, ze volgt uit de afhankelijkheden tussen uw accounts.

  1. Eerst de hoofdmailbox. Die ontvangt de herstellinks van bijna al het andere. Een aanvaller die haar beheerst, neemt de overige accounts een voor een over, zonder er ook maar één rechtstreeks aan te vallen. Niets verdient het eerder beveiligd te worden.
  2. De wachtwoordmanager. Die bundelt de eerste factor van al uw toegangen, dus zijn bescherming moet gelijk zijn aan die van het best beschermde account dat hij bevat. Dit is het moment om de kwaliteit van het hoofdwachtwoord te controleren, een onderwerp dat we uitwerken in ons artikel over entropie en de wetenschap achter uw veiligheid.
  3. Financiële accounts en cryptoplatforms. Doelwitten van directe waarde, waar een compromittering binnen minuten een onomkeerbaar verlies wordt.
  4. Sociale accounts met bereik. De SEC-zaak laat zien wat het woord van een gevolgd account waard is, en de schade treft niet altijd de eigenaar.
  5. De rest kan wachten, met een TOTP-app in plaats van sms. Een forum of een streamingdienst rechtvaardigt niet dezelfde inspanning.

Voor accounts die FIDO2 nog niet ondersteunen: overstappen op TOTP waar dat kan, en uw provider vragen om een blokkade op nummerportabiliteit, bij de meeste een gratis optie.

Wat dit zegt over de aanpak van Arpokrat

Dit dossier beschrijft een probleem dat alleen bestaat omdat een identificator in het midden van het systeem is gezet. Het telefoonnummer is nooit bedoeld als identiteitsbewijs: het werd uit gewoonte de ruggengraat van online authenticatie, en alle drie de hierboven beschreven aanvallen buiten precies dat oneigenlijke gebruik uit.

Dat is de redenering achter het ontwerp van het protocol van Arpokrat Messenger: geen telefoonnummer, geen e-mailadres, geen account. De gebruiker bestaat als een verzameling cryptografische sleutels die op zijn eigen apparaat blijven, en contact verloopt via uitnodigingslinks voor eenmalig gebruik. De logica is die van FIDO2, een trede hoger: wat een derde niet in handen heeft, kan hem niet worden ontfutseld, niet door social engineering tegen een provider en niet door een vordering. Deze samenhang met de Zero-Knowledge-architectuur werken we uit in ons artikel over nu verzamelen, later ontsleutelen.

Een hardwaresleutel die tekent zonder zijn geheim ooit prijs te geven, is overigens ook hoe een offline cryptowallet werkt, uitgewerkt in onze complete cold wallet-gids: het geheime deel in een eigen voorwerp houden en er niets anders uit laten komen dan een handtekening.

Conclusie

Sms-2FA was niet slecht ontworpen. Toen het rond het begin van de jaren tien gemeengoed werd, was het een aanzienlijke stap vooruit ten opzichte van het wachtwoord alleen, en het had de enige eigenschap mee die op schaal telt: iedereen had al een telefoon.

Het probleem is niet de uitvinding, maar het voortbestaan. De SS7-demonstraties dateren van 2014, de echte bancaire uitbuiting van 2017, de industrialisering van realtime phishing van het einde van dat decennium. CISA schreef in 2024 dat het niet meer gebruikt moest worden, NIST legde de beperking in 2025 vast. Ongeveer tien jaar zit er tussen het moment waarop de lekken op schaal exploiteerbaar werden en het moment waarop instellingen het opschreven. En sms blijft bij de meeste consumentendiensten de standaard tweede factor.

Die kloof is de echte informatie in dit dossier. Beveiligingsmechanismen verdwijnen niet wanneer ze ophouden te werken, maar wanneer iets even eenvoudigs ze komt vervangen, en dat duurt veel langer. De vraag is dus niet of u sms zou moeten opgeven, dat is al jaren beslecht. De vraag is welke andere beschermingen die u vanzelfsprekend vindt zich al, zonder dat iemand het heeft opgeschreven, in dezelfde situatie bevinden.

Bronnen