2FA: waarom sms de slechtste van de goede is

Gepubliceerd op door David Carrero

De tweede factor via sms aanzetten is een van de beste beslissingen die je vandaag kunt nemen. Het is ook de eerste die je zult moeten herzien.

Allebei waar, tegelijk, en daar zit het hele ongemak. De discussie zakt meestal af naar twee kampen die er even hard naast zitten: zij die sms voor echte beveiliging aanzien en zij die het afdoen als toneelstuk. Sms is enorm veel beter dan niets en tegelijk de zwakste van de gangbare tweede factoren. Dat is geen tegenspraak. Het is een ladder, en sms is de eerste sport — ver boven de grond.

Wat sms goed doet

Zonder tweede factor hangt je account aan één geheim dat al jaren kan rondgaan in een gelekte database zonder dat jij het weet. Iemand pakt zo’n lijst, probeert hem bij de ene dienst na de andere en als je je wachtwoord hergebruikt hebt, is hij binnen. Hij heeft jou niet uitgekozen: jouw regel kwam voorbij in een spreadsheet.

Sms hakt dat bij de wortel om. Zodra er een tweede factor is, houdt aanvallen op te zijn een automatische handeling en wordt het werk dat op jou gericht is. Iemand moet weten wie je bent, welk nummer je gebruikt en wie dat nummer levert. Voor de meesten loont dat niet: er zijn makkelijkere accounts. Dus als een dienst alleen sms aanbiedt, is het antwoord ja, zonder nuance. De nuances komen daarna.

De fout zit niet in je telefoon

Je stelt je voor dat sms breken neerkomt op signalen onderscheppen, een chip klonen of een toestel besmetten. Niets van dat alles is nodig. De aanval die werkelijk accounts omver trekt, en die keer op keer terugkomt in de bekende zaken, is SIM swapping, en die is veel saaier dan je denkt: iemand belt je provider, zegt dat hij zijn simkaart kwijt is, beantwoordt een paar controlevragen en vraagt een vervangende kaart aan. Vanaf dat moment komen jouw sms’jes bij hem binnen.

Let op wat er níét gebeurd is. Er is geen versleuteling gebroken. Niemand heeft je telefoon aangeraakt. Jij hebt niets fout gedaan — en je hebt er ook niets van gemerkt, behalve dat je lijn ineens stil valt, en dat kan, als je ligt te slapen, even duren voor het je opvalt. SIM swapping is geen technische aanval op jou: het is social engineering tegen je provider. De schakel die breekt is een medewerker van de klantenservice die betaald wordt om meldingen snel af te handelen en aan wie net een volstrekt geloofwaardig verhaal is verteld, want een simkaart kwijtraken overkomt mensen elke dag. De zaken zijn uitgebreid gedocumenteerd en het patroon herhaalt zich met een eentonigheid die niemand meer verbaast.

Het vervelende is dat jij daar niets in te zeggen hebt: jouw beveiliging hangt af van de verificatieprocedure van een bedrijf dat je niet daarom hebt uitgekozen. En er is een tweede gebrek, stiller: je telefoonnummer is geen geheim. Je hebt het aan de tandarts gegeven, aan je energieleverancier en aan elke webshop die om een bezorg-sms vroeg. Een kenmerk dat je vrijwillig rondstrooit speelt hier voor inloggegeven.

De tweede sport: een app

De volgende trede is TOTP — de codes van zes cijfers die elke dertig seconden verspringen in een app zoals die van Google, Aegis, 1Password of Bitwarden.

Het mechanisme is elegant: de dienst en jouw app delen één keer een geheim, bij het instellen, en vanaf dan berekenen ze allebei dezelfde code uit dat geheim en de tijd. Er wordt niets verstuurd. En daar zit het hele verschil: als er niets reist, valt er niets om te leiden. Geen provider, geen nummer, niemand om te bellen voor een vervangende kaart. SIM swapping heeft er geen ingang.

Het is een grote sprong en hij kost vijf minuten. Maar het einde is het ook niet, want TOTP houdt een heel menselijke blinde vlek: de code tik jij zelf in bij wie erom vraagt. Sta je te typen op een pagina die op je bank lijkt maar het niet is, dan vangt de aanvaller hem op en speelt hem door naar de echte site, in de seconden die de code nog te leven heeft. Je app maakt een getal aan; waar je het plakt weet hij niet.

De sport die zich niet laat foppen

De fysieke sleutel — de FIDO/U2F-standaard, een usb- of nfc-sleutel, of je telefoon zelf als authenticator — lost precies dat op. Bij registratie maakt hij een sleutelpaar dat vastzit aan de origin: aan het concrete domein van die dienst. Bij het inloggen vertelt de browser voor welk domein een handtekening wordt gevraagd, en de sleutel ondertekent een uitdaging met dat domein erin. Is de pagina een kopie die ergens anders staat, dan komt het domein niet overeen en rolt er geen handtekening uit die de echte dienst accepteert.

Anders gezegd: de sleutel is niet slimmer dan jij; hij vertrouwt gewoon jouw oordeel niet. Hij kijkt niet naar het slotje, leest de URL niet, weegt niet af of die mail er echt uitzag. Hij vergelijkt de ene tekenreeks met de andere. Het is de enige schakel die je niet met een goed verhaal overtuigt — en je hebt inmiddels wel door dat goede verhalen nu juist het probleem zijn.

“Beperkt” is niet “verboden”

Het NIST rangschikt in SP 800-63B de out-of-bandverificatie via het telefoonnetwerk — sms dus — als restricted, beperkt. Het loont de moeite bij dat woord stil te staan, want die nuance is het hele stuk. Beperkt is niet verboden: het is een tussencategorie, en een bewuste. Je mag het blijven gebruiken, maar wie het gebruikt neemt verplichtingen op zich: het risico beoordelen, gebruikers waarschuwen dat dat kanaal een bekende zwakte heeft, en een plan hebben om naar iets beters over te stappen.

Dat is een verstandiger houding dan een verbod, en het verklaart waarom sms nog overeind staat. Een middelmatig middel dat mensen gebruiken beschermt meer dan een uitstekend middel dat niemand aanzet. Werd het morgen overal verboden, dan zou een flink deel van die accounts geen sport hoger komen: die bleven achter met alleen het wachtwoord, en dat is de grond.

Wat je moet doen, op volgorde

  • Biedt een dienst alleen sms, zet het aan. Vandaag. De eerste sport levert de meeste hoogte op.
  • Biedt hij TOTP, stap over op TOTP en haal sms weg als reserve, als dat mag. Je beveiliging is die van de zwakste methode die je toelaat, want de aanvaller kiest zelf waar hij binnenkomt.
  • Bij wat er echt toe doet — mail, bank, wachtwoordmanager — leg je een fysieke sleutel neer. Aan je mail hangen de “ik ben mijn wachtwoord vergeten” van je hele leven.
  • Staat je provider een pincode of een porteringsblokkade toe, zet die aan. Het lost de kern niet op, maar het maakt de vervangende simkaart lastiger voor wie belt.
  • En vergeet de eerste factor niet. 2FA is een tweede grendel, geen kwijtschelding voor de eerste: een lang, uniek wachtwoord dat uit de generator komt, en twijfel je aan een wachtwoord dat je al gebruikt, haal het dan even door de checker.

De conclusie is saai en daarom zegt bijna niemand hem: sms deugt niet, en je zou het moeten gebruiken als je niets beters hebt. Echte beveiliging bestaat bijna nooit uit de perfecte optie kiezen, maar uit weten welke de slechtste van de goede is, die gebruiken zolang het moet, en hem nooit verwarren met klaar zijn.


Bronnen: NIST SP 800-63B, dat out-of-bandverificatie via het openbare telefoonnetwerk (sms of spraak) als restricted methode aanmerkt, met de verplichtingen tot risicobeoordeling, waarschuwing aan gebruikers en migratieplan die die categorie met zich meebrengt · de FIDO/U2F- en WebAuthn-specificaties, en hun controle van de origin (het domein) op het moment van ondertekenen · RFC 6238 (TOTP) · publieke gevallen van SIM swapping, uitgebreid gedocumenteerd in de pers en in gerechtelijke procedures.

← Terug naar de blog