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

One option is to use open source password management software such as KeePassX to generate a random, long, alphanumeric password (with symbols too, if they are permitted for the particular password), and then save it in your own encrypted password database. If you trust the other layers of your system, this is a fairly robust option.

Furthermore, this is a good way to store multiple complicated passwords for multiple accounts, with KeePassX also having entry fields for URLs, account names and comments for each password stored, so you can securely store all the information you need. The random passwords generated are unmemorable, which fulfils a security function in itself. However, KeePassX allows you to easily copy and paste passwords from the database, so you don’t even have to type them.

There is some debate as to how good such programs are at effectively randomising, but the human brain is pretty awful at randomising too, so it remains one of the best options we currently have.

You will need to create a master password for KeePassX, which must be very strong. You should aim to store this password only in your own head. In an article in The Verge of December 2017, it is explained why it is also important to activate adblockers, as they nowadays use scripts that can trace usernames and passwords when they are auto-filled. This makes the use of KeePassX in theory safer than LastPass.

Het gebruik van KeePassX (wachtwoordmanager)

KeePassX is a password manager that stores usernames and passwords in a local encrypted database, protected by a master password. It also comes with PWGen, a strong random password generator. You will find KeePassX in Applications > Accessories > KeePassX. à Accessories à KeePassX.

To create a new password database:
File → New database.
File > New database. Create a strong master password that will protect your password database. You can then name your database file and choose the location where it will be saved. Groups > New groups (e.g. ‘Jabber’ group, for your Jabber usernames and passwords – more on Jabber in chapter 6).

To add a new password: Click on a group → Entries → Add new entry. Here you have the option of entering a password, or generating a random one (click ‘Gen’). If you click on the eye icon, you can see the text of the password – otherwise, it will remain obscured.

To retrieve a password: When you have added a password to a group, you can right click on the desired password and select ‘copy password to clipboard’. You can then paste it in to a login form.

Schneier-scheme to memorise passwords

You should use manually created passwords to encrypt your whole system, any encrypted USB stick or highly important file (e.g. source documents), and your password manager. These important passwords should be stored in your human memory only, and therefore need to be memorable.

Of course, to minimalise any damage should a password be compromised, you should avoid re-using passwords. To manually create a password, we recommend the ‘Schneier scheme’, a method advocated by Bruce Schneier, the internationally renowned cryptographer and security expert.

Schneier advises taking a memorable sentence and initialising, symbolising, and numbering the words to turn it into a password. For example, "This little piggy went to market" might become "tlpWENT2m". That nine-character password won't be in anyone's dictionary. Choose your own sentence - something personal, but not obviously related to you through public data.

Here are some examples (do not reuse):

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.