Een sterk wachtwoord, hoe werkt dat?

De vingerafdruk: een biometrisch wachtwoord waarvan je zeker weet dat je die nooit kunt veranderen (en in Nederland zelfs verplicht moet gebruiken om te ontgrendelen). Niet veilig.

Alle systemen, programma’s en tools die in dit boek zijn beschreven, maken gebruik van wachtwoorden om geautoriseerde gebruikers te identificeren en te beveiligen tegen ongeautoriseerde toegang. Sterke wachtwoorden zijn de sleutel in beveiliging op alle niveaus van informatiebeveiliging.

Ook hier: versleuteling is key

Dus, ook al is het gebruik van sterke wachtwoorden online-accounts verstandig, de wachtwoorden die je systeem (versleuteling harddisk) en je versleutelingsprogramma’s beschermen zijn veel belangrijker.

Je moet daarbij wel in gedachten houden dat wachtwoorden tot online-accounts vooral een be­vei­li­gings­middel zijn tegen hackers die niet in opdracht van de overheid werken. Ook deze hebben steeds vaker de beschikking over uitgekiende commerciële programma’s die wachtwoorden kunnen kraken. Op overheidsniveau kan men soms toegang tot je online-accounts krijgen via een achterdeur, waardoor een wachtwoord onbelangrijk wordt. Daarom is het goed om je e­‑mail­berichten te versleutelen. Je kunt nog zo’n sterk Gmail-wachtwoord hebben, maar dat houdt inlichtingen­diensten niet tegen om Google te dwingen je e-mails te overhandigen (of waarschijnlijker: ze onderscheppen en verzamelen je berichten in het geheim). Als je e‑mails versleuteld zijn, kan jouw onlinedienst alleen een berg code overhandigen die (tot nu toe) niet te kraken is.

Risico’s:

  • vergeten of kwijtraken van wachtwoorden;
  • wachtwoorden omzeilen door het gebruik van achterdeurtjes (online-accounts);
  • gehackt worden (relatief eenvoudig hacken van wachtwoorden);
  • kraken van wachtwoorden (verfijnd);
  • keylogger die toetsaanslagen vastlegt;
  • gedwongen worden om een wachtwoord vrij te geven.

Infobeveiliging-acties:

  • leer hoe je sterke wachtwoorden kunt maken;
  • gebruik de KeePassX-wachtwoordmanager (als je je systeem vertrouwt). KeePassX is een opensource-wachtwoordmanager die gebruikersnamen en wachtwoorden kan genereren en opslaan in een versleutelde, lokale database. De toegang wordt beschermd door een hoofdwachtwoord. KeePassX-manager is beschikbaar voor Windows, Mac, Linux en Tails;
  • bewaar de belangrijkste wachtwoorden alleen in je geheugen;
  • gebruik verborgen volumes voor belangrijke versleutelde bestanden.

Kraken van wachtwoorden: het risico begrijpen

Als je systeem onveilig is, is het niet moeilijk om er een gerichte aanval op uit te voeren om wachtwoorden te kraken. Een kwaadwillende kan fysiek of op afstand een keylogger in je systeem aanbrengen, om zo alle toetsaanslagen vast te leggen. Dat betekent dat een tegenstander alles kan zien wat je typt, waaronder je wachtwoorden. Zo’n aanval is niet erg moeilijk, maar het haalt alle andere beveiligingsmaatregelen onderuit.  Daarom is het belangrijk om je systeem van tevoren te beveiligen, zoals eerder beschreven in hoofdstuk 1 en 2.

Een kwaadwillende kan geen keyloggers gebruiken mits je systeem goed is beveiligd. In dat geval zal de aanvaller proberen de wachtwoorden van je systeem, software en accountants te kraken. Dat kan via een grote aanval op duizenden gebruikers of via een gerichte aanval op een individu. Programma’s waarmee wachtwoorden kunnen worden gekraakt, worden wereldwijd door autoriteiten gebruikt, maar er zijn ook uitstekende commerciële kraakprogramma’s verkrijgbaar. Zo’n programma kan automatisch ten minste acht miljoen wachtwoorden per seconde proberen en kan dagen achterelkaar draaien, zelfs op verschillende machines tegelijk. Voor een doelwit met een hoog risiconiveau zou men het programma bijvoorbeeld maandenlang op verschillende machines kunnen draaien.

Werking wachtwoordkraakprogramma

Wachtwoordkraakprogamma’s proberen eerst de meest gebruikelijke wachtwoorden. Een gemiddeld wachtwoord bestaat uit een basis en een toevoeging. De basis is niet per se een woord uit het woordenboek, maar het is meestal een woord dat je kunt uitspreken. Een toevoeging is meestal een achtervoegsel/suffix (in 90% van de gevallen), soms een voorvoegsel/prefix (in 10% van de gevallen). Een kraakprogramma begint met een woordenboek waarin ongeveer 1.000 veelgebruikte wachtwoorden staan, zoals “welkom”, “letmein,” “temp,” “123456,” etc. om deze vervolgens te testen met ongeveer 100 gebruikelijke achtervoegsels zoals “1,” “4u,” “69,” “abc,” “!,” etc. Men schat dat ongeveer een kwart van alle wachtwoorden kunnen worden gekraakt met slechts 100,000 combinaties.

Dit filmpje maakt veel duidelijk:

De kraakprogramma’s maken gebruik van verschillende woordenboeken: Engelse woorden, namen, buitenlandse woorden, fonetische patronen etc. voor de basiswoorden en twee cijfers, datums, losse symbolen etc. voor achtervoegsel. De woordenboeken draaien met raadstrategieën waarbij verschillende posities van hoofdletter en algemene vervangingen zoals “$” for “s”, “@” for “a,” “1” for “l”, etc. worden gebruikt. Deze raadstrategieën kraken al snel zo’n twee derde van alle wachtwoorden.

Een goed programma test ook namen en adressen uit het telefoonboek (postcodes worden vaak gebruikt als toevoeging), belangrijke datums en willekeurige andere persoonlijke informatie. De aanvaller kan bovendien de persoonlijke informatie van het doelwit die hij tot zijn beschikking heeft, in het programma invoeren als extra hulpmiddel.

Een bijzonder slimme aanval kan worden uitgevoerd als je hardware onvoldoende is beveiligd (dit is de basis van alle problemen!). Een aanvaller kan de harde schijf van het doelwit indexeren en zo een woordenboek maken waarin alle strings inclusief verwijderde bestanden worden opgenomen. Als je je wachtwoord ooit in een bestandje ergens hebt opgeslagen of je programma heeft het op enig moment in het geheugen opgeslagen, dan wordt het in dit proces opgepikt om te helpen het wachtwoordkraakproces te voltooien.

Zo maak je een sterk wachtwoord

Een sterk wachtwoord is een wachtwoord dat niet wordt opgepikt via het hiervoor beschreven kraakproces. Een sterk wachtwoord is vooral lang en uniek. Dat sluit voor de meeste risiconiveaus meteen biometrische wachtwoorden als vingerafdruk of retinascan uit. Zo’n beveiliging is weliswaar uniek, maar in verhouding gemakkelijk te verkrijgen en – ook niet onbelangrijk – nauwelijks te wijzigen. In dit filmpje wordt helder uitgelegd waarom een lang wachtwoord veiliger is, terwijl het niet per se moeilijk te onthouden hoeft te zijn.

Wachtwoordmanager

Een optie om sterke wachtwoorden te genereren is het gebruik van software voor wachtwoord­management zoals KeePassX. Zo’n programma kan een willekeurig, lang, alfanumeriek wachtwoord maken (met symbolen, als deze zijn toegestaan voor het specifieke wachtwoord). De wachtwoorden worden bewaard in je eigen versleutelde wachtwoorddatabase. Als je je systeem vertrouwt, dan is het gebruik van deze software een redelijk robuuste optie.

Met een wachtwoordprogramma kun je bovendien verschillende moeilijke wachtwoorden voor verschillende accounts opslaan. Bijvoorbeeld KeePassX heeft een invoerveld voor het onthouden van de bijbehorende URL’s, het invoeren van commentaar en het onthouden van de accountnamen. Je kunt dus alle informatie die je nodig hebt veilig opslaan. De gegenereerde, willekeurige wachtwoorden die het programma aanmaakt, zijn te moeilijk om uit het hoofd te leren, en dat is een al een veiligheidsfunctie op zichzelf. Maar je kunt de wachtwoorden wel gemakkelijk kopiëren en plakken vanuit de database waardoor je ze niet hoeft over te typen.

Er is wel enige discussie over hoe effectief programma’s als KeePassX een willekeurig wachtwoord kunnen maken, maar daar staat tegenover dat de mens er in ieder geval niet erg goed in is. Hierdoor blijft een wachtwoordgenerator een van de beste opties die er op het moment zijn om een sterk wachtwoord aan te maken.

Voor KeePassX moet je een sterk hoofdwachtwoord aanmaken dat je wél kunt onthouden en verder nergens bewaart. In een artikel van The Verge van december 2017 wordt uitgelegd dat het ook belangrijk is om adblockers te activeren, omdat die tegenwoordig soms ook scriptjes gebruiken waarmee gebruikersnamen en wachtwoord via formulieren in browsers worden opgepikt als je de autofill gebruikt. Dat maakt KeePassX in theorie een veiliger kluis dan LastPass.

Het gebruik van KeePassX (wachtwoordmanager)

Toelichting: KeePassX is een wachtwoordmanager dat gebruikersnamen en wachtwoorden in een lokale database bewaart met encryptie, beschermd door een hoofdwachtwoord. Tails bevat ook PWGen, een sterke wachtwoordgenerator. Je vindt KeePassX in Applications à Accessories à KeePassX.

Een nieuwe database voor wachtwoorden maken
File → New database.
Maak een sterk hoofdwachtwoord aan waarmee je de wachtwoordendatabase kunt openen. Vervolgens geef je het databasebestand een naam en je kiest de locatie waar de database moet worden opgeslagen: Groups → New groups (‘Jabber’ group, voor je Jabber-gebruikersnamen en –wachtwoorden, meer over Jabber vind je in hoofdstuk 6).

Een wachtwoord toevoegen – Klik op een groep → Entries → Add new entry. Hier kun je zelf een wachtwoord invoeren of een willekeurig wachtwoord genereren (klik ‘Gen’ voor genereren). Als je op het icoontje met het oogje klikt kun, je de tekst van het wachtwoord zien. Doe je dat niet dan blijft het verborgen; de karakters worden als puntjes weergegeven.

Een wachtwoord opzoeken – Als je een wachtwoord aan een groep hebt toegevoegd, kun je met je rechtermuisknop klikken op het wachtwoord dat je nodig hebt. Vervolgens selecteer je ‘copy password to clipboard’. Vervolgens kun je het plakken in een inlogformulier.

Schneier-schema om wachtwoorden te onthouden

Om je systeem, versleutelde USB-stick of zeer belangrijk bestand (zoals brondocumenten) te beveiligen, moet je handmatig aangemaakte wachtwoorden gebruiken die je nergens bewaart of opschrijft, maar alleen onthoudt. Daarnaast moet je voorkomen dat je een wachtwoord voor verschillende onderdelen hergebruikt, omdat je daarmee voorkomt dat een kwaadwillende toegang tot meer onderdelen krijgt als dat ene wachtwoord bekend wordt.

Zo’n wachtwoord moet dus ingewikkeld zijn, maar ook te onthouden. Om dit te bereiken, raden we de methode van het ‘Schneier-schema’ aan. Dit is een methode die is ontwikkeld en wordt aangeraden door Bruce Schneier, een gerenommeerde, internationaal bekende cryptograaf en security-expert.

Schneier adviseert om een zin te kiezen die je kunt onthouden, die je kunt initialiseren, symboliseren en waarin je de woorden kunt nummeren om er zo een sterk wachtwoord van te maken. Bijvoorbeeld, “This little piggy went to market” kan worden “tlpWENT2m”. Zo’n wachtwoord met negen karakters staat in geen enkel woordenboek. Kies je eigen zin, iets persoonlijks maar niet iets dat duidelijk aan je publieke gegevens is gerelateerd.

Hier zijn een aantal voorbeelden:

WIw7,mstmsritt… = When I was seven, my sister threw my stuffed rabbit in the toilet

Wow…doestcst = Wow, does that couch smell terrible

Ltime@go-inag~faaa! = Long time ago in a galaxy not far away at all!

uTVM,TPw55:utvm,tpwstillsecure = Until this very moment, these passwords were still secure

Natuurlijk moet je geen van de bovenstaande voorbeelden gebruiken, want nu ze als voorbeeld zijn gegeven, zijn ze niet meer geschikt als optie voor een sterk wachtwoord.

bron: xkcd

Als je gedwongen wordt een wachtwoord te geven

Laten we hopen dat je nooit in de situatie terechtkomt dat je gedwongen wordt om je wachtwoord te verstrekken. Maar, stel dat een kwaadwillende groep of dienst je heeft betrapt met een versleutelde USB-stick (met je belangrijkste bestanden of brondocumenten) en ze zijn bereid om het uiterste te doen om het wachtwoord te verkrijgen om je bestanden te kunnen ontsleutelen. Wat moet je dan doen?

In zo’n situatie kan het helpen dat je een verborgen volume op de USB-stick hebt. Dit volume is niet zichtbaar en lijkt ook geen ruimte op de stick in te nemen, waardoor het niet te detecteren is (maar ook gemakkelijk kan worden overschreven). Het zichtbare, versleutelde volume kan als afleiding werken die ontkenning dat er meer is redelijk aannemelijk maakt. In het zichtbare volume kun je bestanden opslaan die een bepaalde mate van beveiliging en versleuteling nodig lijken te hebben en dit volume heeft zijn eigen wachtwoord. Het verborgen volume bevindt zich echter wel, onopgemerkt, binnen het zichtbare volume en het heeft een ander wachtwoord.

Je kunt zo’n verborgen volume maken met VeraCrypt (zie hoofdstuk 4). Deze methode met het gebruik van een verborgen volume kan helpen om de belangrijkste informatie te beveiligen tegen onderschepping, maar niet tegen verlies. Het volume kan gemakkelijk worden vernietigd of overschreven, dus je moet altijd zorgen voor een back-up van belangrijke bestanden.

Dank aan Bruce Schneier

Veel van dit hoofdstuk is overgenomen van Bruce Schneier’s blog, https://www.schneier.com/. We bedanken de heer Schneier hartelijk voor de toestemming om zijn suggesties hier over te nemen.