woensdag 18 februari 2026

Lengte loont

Klik op de afbeelding voor een grote versie

Deze week is de Security (b)log er iets eerder vanwege een paar vrije dagen

Precies een jaar geleden stelde collega Alexander een vraag. Sommige onderwerpen liggen wat langer te rijpen. De vraag gaat over wachtwoorden en de wenselijkheid om die lekker ingewikkeld te maken. Hij stuurde een bekend schema mee dat bedoeld is om inzichtelijk te maken hoe snel wachtwoorden kunnen worden gekraakt. Ik zal het schema voor je ontleden, want het bevat veel interessante informatie.

Ik begin met de kop. Daarin is de term ‘brute force aanval’ van belang: letterlijk een aanval met brute kracht. Maar waarop dan? Kijk, een systeem waarop jij wilt inloggen, heeft een bestand waarin alle accounts staan. Het systeem moet immers kunnen controleren of je erin mag. Tenzij de ontwerper van zo’n systeem onder een steen heeft gelegen, staat het wachtwoord daar niet leesbaar in. Want dan zou iemand, die het bestand met accounts weet te bemachtigen, vrij spel hebben. Nee, de wachtwoorden zijn versleuteld opgeslagen. Als jij inlogt, dan wordt het wachtwoord, dat jij invult, eveneens versleuteld. Zo kan het toch vergeleken worden met het opgeslagen wachtwoord.

Een aanvaller heeft veel pogingen nodig om je wachtwoord te kraken. Als hij gewoon maar begint om op een website met jouw account in te loggen, wordt je account bij de meeste systemen na een aantal foute pogingen vergrendeld (‘gelockt’). Dat is dus een beveiligingsmaatregel tegen brute forcing. Dat schiet niet op voor die aanvaller. Hij wil dan ook liefst het complete wachtwoordbestand in handen krijgen, zodat hij er offline rustig op los kan proberen zonder telkens gelockt te worden. Daarvoor moet hij natuurlijk wel eerst even inbreken op zijn doelwit.

Laten we ervan uitgaan dat hij het bestand heeft weten te bemachtigen. Hij gebruikt vervolgens een krachtige computer om de accounts in dat bestand aan te vallen. Het schema geeft aan hoeveel tijd daarvoor nodig is. Verticaal loopt de lengte van de wachtwoorden op van vier naar achttien. Horizontaal loopt het aantal verschillende tekens, waaruit het wachtwoord kan bestaan, steeds verder op. In de eerste kleurrijke kolom zijn er slechts tien verschillende tekens: de cijfers nul tot en met negen. In de volgende kolom zijn het er al 26, vervolgens 52 en dan 62. In de laatste kolom, die staat voor alle mogelijk  tekens – cijfers, hoofd- en kleine letters, symbolen (! @ # $ % ^ & * ( ) - _ = + enz.) – hebben we het meestal over 94 tekens (‘printable ASCII’).

Linksboven zie je dat een wachtwoord dat uit vier cijfers bestaat geen weerstand biedt. Er zijn slechts duizend verschillende wachtwoorden mogelijk, wat betekent dat de aanvaller gemiddeld vijfhonderd pogingen moet doen. Een fluitje van een cent. Rechtsonder vind je het andere uiterste: achttien tekens lang, gekozen uit 94 tekens. Daarmee kun je 3,28 x 1035 verschillende wachtwoorden maken – dat is grofweg een drie met 35 nullen. Die krachtige hackcomputer doet er volgens de tabel 463 triljoen jaar over om het te kraken. Een triljoen is duizend miljard; het universum is slechts 13,8 miljard jaar oud.

Wat ik veel interessanter vind, is dat er in de tabel verticaal meer gebeurt dan horizontaal. Met andere woorden: lengte is veel belangrijker dan het aantal mogelijke tekens. Als je een wachtwoord van alleen cijfers vier keer zo lang maakt, dan heeft de boef al tweeduizend jaar nodig. Daarentegen heeft uitbreiding van het aantal mogelijke tekens (bij gelijke lengte) geen noemenswaardig op de kraaksnelheid. En als je kijkt naar de regel van vijftien karakters, dan zie je dat het kraken van een wachtwoord, dat alleen uit kleine letters bestaat, al bijna een half miljard jaar duurt (en wat mij betreft had dat vakje gerust groen mogen zijn).

Conclusie: als een wachtwoord lekker lang is, dan hoef je je niet druk te maken over de complexiteit ervan. Met andere woorden: veel systemen eisen dat je minimaal 1 cijfer, 1 kleine letter, 1 hoofdletter en 1 symbool gebruikt, maar dat is niet nodig, mits je wachtwoord lang genoeg is. Die lange wachtwoorden laat je comfortabel genereren en beheren door je password manager. Wachtwoorden, die je daar niet in kwijt kunt – bijvoorbeeld het hoofdwachtwoord van je password manager kies je zo, dat jij ze wel kunt onthouden, maar iemand anders ze niet gemakkelijk kan raden. Bijvoorbeeld ‘Mijn wachtwoord hack je niet’ of ‘iz2bbsodw1wtewbw’ (ik zag 2 beren broodjes smeren…).

 

En in de grote boze buitenwereld …

 

Geen opmerkingen:

Een reactie posten