Wat een wachtwoord is, en waarom we het al zestig jaar mis hebben

Gepubliceerd op door David Carrero

Een wachtwoord is het antwoord op een heel oude vraag: hoor je bij ons?

De informatica heeft het niet uitgevonden. Polybius beschrijft in de tweede eeuw v. Chr. hoe het Romeinse leger elke nacht een woord liet rondgaan op een houten tablet — de tessera — dat van eenheid naar eenheid ging en terugkeerde naar het commando. Wie het kende, hoorde erbij. Wie niet, niet.

Tweeduizend jaar later doen we precies hetzelfde. Alleen wie het vraagt is veranderd, en hoe snel diegene het antwoord kan proberen te raden.

1961 het wachtwoord komt in de computer

In november 1961 demonstreerde het MIT CTSS (Compatible Time-Sharing System), onder leiding van Fernando Corbató. Een nieuw idee: één heel dure computer, gedeeld door meerdere mensen tegelijk.

En daar dook het probleem op. Als de machine van iedereen is, moeten de bestanden van ieder van hem blijven. De computer had een manier nodig om te weten wie er zat te typen. De oplossing was de meest voor de hand liggende — en de meest Romeinse die er is: geef elke gebruiker een eigen woord.

Laten we het precies zeggen: Corbató heeft het wachtwoord niet uitgevonden. Hij vond het wachtwoord per gebruiker op een multi-usercomputer uit, en dat is iets anders. Op leeftijd zei hij zelf dat het geheel «een nachtmerrie» was geworden.

1962 het eerste lek, en het ging om machinetijd

Een jaar later had Allan Scherr, promovendus aan datzelfde MIT, een heel alledaags probleem: hij kreeg vier uur computertijd per week toegewezen en had meer nodig voor zijn proefschrift.

Dus vroeg hij het systeem om het wachtwoordbestand af te drukken. Meer niet. Het lag daar, in platte tekst, en niemand had bedacht dat iemand erom zou vragen. Met de afdruk in de hand gebruikte hij andermans accounts om door te werken.

Het interessante is niet de truc. Het is het motief: het eerste wachtwoordlek uit de geschiedenis was niet het werk van een crimineel, maar van iemand die door wilde werken. Zestig jaar later ontstaan de meeste beveiligingsgaten nog steeds zo: redelijke mensen die de korte weg zoeken.

1979 iemand beseft dat je ze niet moet opslaan

Bijna twee decennia lang bewaarden veel systemen wachtwoorden zoals ze waren. Las iemand het bestand, dan had die alles.

In 1979 publiceerden Robert Morris en Ken Thompson in Communications of the ACM een artikel getiteld «Password Security: A Case History», over wat ze in Unix hadden gedaan. Twee ideeën die vandaag alles dragen:

  • Sla het wachtwoord niet op, sla de hash ervan op. Het systeem hoeft niet te weten wat je wachtwoord is; het hoeft alleen te kunnen controleren of wat je net typte hetzelfde resultaat geeft.
  • Het zout: voeg aan elk wachtwoord een willekeurige waarde toe vóór het hashen, zodat twee mensen met hetzelfde wachtwoord niet dezelfde hash hebben en niemand een tabel kan voorberekenen om ze allemaal in één klap te kraken.

Als we vandaag zeggen dat een dienst «je wachtwoord niet zou moeten kennen», citeren we een artikel uit 1979.

2003 de regels die we allemaal leerden, en waar ze vandaan kwamen

In 2003 schreef Bill Burr bij het Amerikaanse NIST het document dat zou gaan bepalen hoe de halve wereld om wachtwoorden vroeg: SP 800-63. Daaruit komt alles wat je meteen herkent:

Minstens één hoofdletter, één cijfer en één symbool. Wijzig het elke 90 dagen.

Het klonk als wetenschap. Dat was het niet. Burr had geen goede gegevens over echte wachtwoorden — die waren er nauwelijks — dus leunde hij op wat er was en redeneerde naar wat verstandig leek: meer tekenvariatie, meer combinaties, meer veiligheid.

Het probleem is dat mensen geen willekeurige generatoren zijn. Vraag om een hoofdletter en die komt vooraan. Vraag om een cijfer en het komt achteraan. Vraag om een symbool en het is een !. En dwing je een wijziging elke drie maanden, dan wordt Zomer2024! gewoon Herfst2024!.

Het resultaat was een hele generatie wachtwoorden die er complex uitzien en triviaal zijn, en uitgeputte gebruikers die ze overal hergebruiken omdat ze het niet meer trekken.

2017 het NIST komt erop terug, en Burr ook

In 2017 publiceerde het NIST SP 800-63B en draaide bijna alles terug:

  • Lengte telt zwaarder dan complexiteit.
  • Geen gedwongen rotatie, tenzij er aanwijzingen van compromittering zijn.
  • Controleer het wachtwoord tegen lekkenlijsten, in plaats van symbolen te eisen.

Datzelfde jaar zei Burr tegen de Wall Street Journal dat hij spijt had van een groot deel van wat hij had geschreven. Het is een van de eerlijkste correcties die de informatiebeveiliging heeft opgeleverd — en nog steeds eisen duizenden formulieren een symbool vanwege een document dat de auteur zelf heeft verworpen.

Waarom dit geen oude geschiedenis is

Dit alles heeft een heel concreet gevolg, en je kunt het hier zien.

Onze eigen wachtwoord-checker draaide tot voor kort op de logica van 2003: hij telde hoofdletters, cijfers en symbolen. Hij gaf Contraseña1! — letterlijk het Spaanse woord voor «wachtwoord» — 92 % «Zeer sterk», en een willekeurige zin van vijf woorden, die onvergelijkbaar beter is, 0 % «Zeer zwak».

Hij beloonde precies het verkeerde. We hebben hem vervangen: hij zoekt je wachtwoord nu op in woordenboeken van woorden, namen, steden en toetsenbordpatronen, en zegt hoe lang het écht standhoudt.

En daarom laat de generator je entropie-bits zien in plaats van een percentage. Een percentage betekent niets. Bits wel: het is hoe vaak iemand die niets van je weet het zou moeten proberen.

Wat te doen, in twee regels

  • Lang wint van gewrongen. Vier of vijf willekeurige woorden verslaan P@ssw0rd met vele ordes van grootte.
  • Overal een ander, en in een manager. Het is de enige regel uit 2003 die nog overeind staat, en degene waar we ons het minst aan hielden.

De vraag is dezelfde als in het Rome van de tweede eeuw: hoor je bij ons? Wat veranderd is, is dat wie het vraagt nu een miljard antwoorden per seconde kan proberen. Het jouwe kan maar beter niet in het woordenboek staan.


Bronnen: F. J. Corbató en CTSS (MIT, 1961) · Allan Scherrs eigen relaas over 1962 · R. Morris en K. Thompson, «Password Security: A Case History», Communications of the ACM, 1979 · NIST SP 800-63 (2003) en SP 800-63B (2017) · uitspraken van Bill Burr in de Wall Street Journal, augustus 2017.

← Terug naar de blog