Naar de content

Een wachtwoordmanager in je hoofd

Arnout Jaspers voor NEMOKennislink

Het blijkt verrassend makkelijk om een procedure uit je hoofd te leren, waarmee je tientallen sterke wachtwoorden kunt onthouden. Volgens computer wetenschapper Samira Samadi is dat een stuk veiliger dan al je wachtwoorden in een wachtwoordmanager stoppen, of maar één wachtwoord gebruiken voor al je logins.

7 oktober 2016
Safe Passwords: nu ook on line instructie

De mentale algoritmes om sterke wachtwoorden te maken en te reproduceren zijn sinds 2016 door Samadi en haar collega’s verder ontwikkeld en getest op menselijke proefpersonen. Sinds juli 2018 is er ook een website die je stap voor stap zulke algoritmes aanleert. Dit vergt slechts een paar minuten. Je kunt kiezen uit drie methodes: de Three Word Strategy” (een variant van Methode 1 in het artikel hieronder), de Letter Code Strategy (Methode 2 hieronder) en een nieuwe methode, de Counting Strategy.

Hoeveel sleutels op digitale sloten kan een normaal mens onthouden?

Arnout Jaspers voor NEMOKennislink

Twintig wachtwoorden

Wachtwoorden vergeten is een van de plagen van het digitale tijdperk. De doorsnee burger heeft een stuk of twintig wachtwoorden nodig voor de websites en apparaten die hij met enige regelmaat gebruikt. Idealiter zijn dat twintig totaal verschillende, schijnbaar willekeurige reeksen letters, cijfers en speciale tekens. Maar wie kan dat onthouden?

Daarom gebruiken veel mensen voor meerdere websites hetzelfde wachtwoord, eventueel met kleine variaties. Hopelijk ben jij niet zo iemand die voor álles – online bankieren, DigiD, e-mailaccount, webwinkels – bijna hetzelfde wachtwoord gebruikt. Als je wachtwoord dan ook nog voorkomt in de zeer omvangrijke lijsten van veel gebruikte of al gehackte wachtwoorden die onder hackers circuleren, ben je vroeg of laat aan de beurt voor je hoogstpersoonlijke digitale armageddon.

Samira Samadi is een Iraanse computer wetenschapper die aan het Georgia Institute of Technology in de Verenigde Staten onderzoek doet naar ‘mentale algoritmes’ om wachtwoorden te onthouden. Schertsend wordt dat ook wel het ‘Naakte man in de woestijn’-probleem genoemd: verzin een procedure waarmee je uit het blote hoofd, zonder enig hulpmiddel, een stuk of twintig willekeurige wachtwoorden kan reconstrueren. Het idee voor deze tak van onderzoek komt van Turing Award winnaar Manuel Blum van Carnegy Mellon University, met wie ze nauw samenwerkt, net als met Santosh Vempala, computerwetenschapper aan Georgia Tech.

Verzinnen en onthouden

“Gelukkig ben ik nu eens een keer bezig met een onderwerp dat iedereen kan begrijpen,” zegt Samadi tijdens een lunch op het Heidelberg Laureate Forum, waar zij een van de jonge onderzoekers is die was uitgenodigd om de grote prijswinnaars in de wiskunde te ontmoeten. “De wiskunde erachter is ingewikkeld, maar iedereen moet wachtwoorden verzinnen en onthouden.”

Eh… daar hebben we tegenwoordig toch wachtwoordmanagers als LastPass of Dashlane voor, handige apps die al je wachtwoorden beheren, beveiligd met één master wachtwoord? Samadi: “Het probleem met wachtwoordmanagers is dat mensen er afhankelijk van worden, want ze weten al hun andere wachtwoorden niet meer. Dus moeten ze die app op al hun apparaten installeren. Er zijn genoeg voorbeelden bekend van mensen wier master wachtwoord gehackt is, waarna al hun wachtwoorden op straat lagen.”

In sommige gevallen wordt de wachtwoordmanager gehackt omdat iemand een makkelijk te raden master wachtwoord koos. Of iemand kijkt simpelweg over je schouder mee wanneer je het wachtwoord intikt. Hoe weet je zeker dat dit niet gebeurd is in die overvolle spitstrein of tijdens dat popfestival afgelopen weekend?

Helemaal verontrustend is het als de producent van een wachtwoordmanager zelf gehackt wordt, zoals vorig jaar LastPass nog overkwam. Echt sterke wachtwoorden (die uit willekeurige toetsenbordtekens bestaan) boden ook na de hack nog goede beveiliging, maar mogelijk zijn grote aantallen zwakkere wachtwoorden (de naam van je kat met je huisnummer erachter) nu kwetsbaar geworden voor hackers.

Methode 1: een alfabet in woorden

Voorbereiding:

- Kies een willekeurige combinatie van een hoofdletter, cijfer en speciaal teken, bijvoorbeeld %H8.
Dit voorzetsel dient om aan de vaak voorkomende eis te voldoen dat een wachtwoord al deze categorieën tekens moet bevatten. Dit voorzetsel onthoud je, en zet je voor al je wachtwoorden.
- Kies vier of vijf sleutelwoorden die zoveel mogelijk letters van het alfabet bevatten.
Bijvoorbeeld: schermleraar, onderklasse, werktuig, poffertje, vazal. (alleen x,y en q komen hierin niet voor). Ook deze woorden moet je onthouden.

Toepassing:

Als je naar een website gaat waar je wilt inloggen, bijvoorbeeld www.gmail.com, let je alleen op de kale naam, gmail.
Zoek in gedachten de eerste g in je sleutelwoorden op, en neem de letter daarna. Dit is de p die na de g in werktuig komt (p is de eerste letter van het volgende woord, poffertje).
Zoek dan de letter na de m op, dit is de l in schermleraar.
Op dezelfde manier vind je voor de a, i en l respectievelijk de letters a, g en e (als een letter niet in je vijf sleutelwoorden voorkomt, sla je die over).
Je wachtwoord voor deze site is dus:
%H8plage

Als een app niet de oplossing is, hoe moet het dan wel? Om te beginnen adviseert Samadi, net als veel cryptografen, om je browser nooit automatisch wachtwoorden voor je in te laten vullen. Als je ze altijd zelf invult op websites waar je vaak komt, repeteer je ze telkens en onthoud je ze moeiteloos. Dit is geen permanente belasting voor je ongetwijfeld al druk bezette brein: iedereen onthoudt ook moeiteloos de namen en persoonlijke details van een stuk of vijftig vrienden, collega’s en mediapersonages.

Maar er zijn ook websites waar je minder vaak komt, en soms log je ergens voor de eerste keer in. Hoe maak je dan een sterk wachtwoord aan dat je toch makkelijk onthoudt? Samadi heeft van allerlei mentale algoritmes onderzocht hoe veilig ze zijn, en welk beslag ze leggen op je breincapaciteit.

Vijf sleutelwoorden

De beste mentale algoritmes gaan uit van de naam van de website zelf, en zetten die naam volgens makkelijk uit het hoofd te leren regels om in een wachtwoord. Dat kan bijvoorbeeld door een serie van vijf sleutelwoorden te onthouden (zie kader ‘Methode 1’), of een schema dat de letters van het alfabet willekeurig omzet in andere letters van het alfabet (zie kader ‘Methode 2’).

Elk mentaal algoritme vergt in het begin enige aandacht en inspanning, maar daarna is het maken en onthouden van wachtwoorden makkelijk. Samadi gaf in Heidelberg een workshop waar de deelnemers ter plekke volgens Methode 2 een random letter-lettercodering uit het hoofd leerden. Volgens haar lukt dat in twaalf minuten, dankzij handige ezelsbruggetjes. Uiteraard willen we dan weten: gebruikt Samadi zelf ook een mentaal algoritme voor al haar wachtwoorden? “Ja, ik gebruik een random letter-lettercodering. In het begin was het wel lastig, omdat ik al mijn bestaande wachtwoorden moest vernieuwen.”

Als je een bestaand woord als (deel van) een wachtwoord gebruikt, en meerdere van je wachtwoorden lijken op elkaar, dan maak je het hackers heel wat gemakkelijker. Woordenboeken in allerlei talen zitten namelijk in programma’s die volautomatisch enorme aantallen wachtwoorden uitproberen. Een hack in een webwinkel kan dan resulteren in het leeghalen van je bankrekening.

Flickr.com

Resistent

De mentale algoritmes die Samadi bestudeert, hebben een bijzondere veiligheidseigenschap: ze zijn vrij resistent tegen gehackte wachtwoorden. Dat wil zeggen: als iemand een van je wachtwoorden ontdekt – bijvoorbeeld doordat hij over je schouder meekijkt als je inlogt op facebook – én hij weet welk algoritme je gebruikt, dan nog kan hij vrijwel zeker niet een van je andere wachtwoorden ontdekken.

Samadi: “We hebben dit getest met de vierhonderd meest gebruikte websites. We schreven een computerprogramma dat een groot aantal voorbeelden van letter-lettercoderingen maakte. Het blijkt dat je gemiddeld zes à zeven wachtwoorden moet stelen voordat je een ander wachtwoord kunt reconstrueren.”

Dit komt in wezen doordat elk wachtwoord maar vijf nieuwe letters bevat, en voor elke website zijn dat vijf andere letters. Als je wachtwoorden van vijftien letters zou gebruiken, is de kans veel groter dan één gehackt wachtwoord sommige andere wachtwoorden weggeeft, omdat de naam van een andere website toevallig grotendeels uit dezelfde letters kan bestaan. Stuk voor stuk bekeken, is een lang wachtwoord veiliger dan een kort wachtwoord. Maar dat is niet het enige wat van belang is. Samadi: “Er is altijd een trade-off tussen hoe veilig één wachtwoord is, en hoe veilig het hele systeem nog is als dat wachtwoord gehackt wordt.”

Ideale methode

Samadi bestudeert ook andere voorbeelden van mentale algoritmes. Ze is nog op zoek naar de ideale methode die niet alleen makkelijk te onthouden is, maar ook maximale veiligheid en resistentie biedt tegen gestolen wachtwoorden. Er is ook niks mis mee om voor persoonlijk gebruik je eigen mentale algoritme te bedenken. Dat kan een variant van Methode 1 of 2 zijn, of iets heel anders. Als je ook de methode geheimhoudt, geeft dat vanzelf extra veiligheid. Maar zorg er in ieder geval voor dat er geen makkelijk te ontdekken verband is tussen de naam van de website en je wachtwoord.

Methode 2: een random letter-lettercodering

Voorbereiding:

- Kies een willekeurige combinatie van een hoofdletter, cijfer en speciaal teken, bijvoorbeeld % H8.
Dit voorzetsel dient om aan de vaak voorkomende eis te voldoen dat een wachtwoord al deze categorieën tekens moet bevatten. Dit voorzetsel onthoud je, en zet je voor al je wachtwoorden.
- Schrijf het alfabet op, met onder elke letter een willekeurige medeklinker (sommige medeklinkers gebruik je dus meer dan één keer):
A B C D E F … Y Z
b k p k r c … d q

Je hebt nu iedere letter van het alfabet gekoppeld aan een medeklinker, en moet dat onthouden, maar hoe doe je dat? De truc is dat je voor iedere combinatie een woord bedenkt, dat begint met de eerste letter en als eerste medeklinker de gekoppelde letter heeft. Bijvoorbeeld: de koppeling A -> b associeer je met Abba, de koppeling B -> k met bakkerij, C->p associeer je met Cuyperstraat. Het blijkt verrassend makkelijk om deze associaties tussen 26 letters en zulke woorden te onthouden, veel makkelijker dan het onthouden van de 26 letterkoppelingen.

Toepassing:

Als je naar een website gaat waar je wilt inloggen, bijvoorbeeld www.marktplaats.nl, let je alleen op de kale naam, marktplaats. Gebruik je letter-letterkoppeling om de eerste vijf letters te coderen:
Stel bijvoorbeeld dat je voor m het woord mokka had, dan verandert m in k.
Voor a had je het woord Abba, dus a wordt b.
Zodoende codeer je de eerste vijf letters, zeg dat dit wordt kbtsz.
Met het voorzetsel is je wachtwoord voor deze site dus:
%H8kbtsz .

ReactiesReageer