De kans bestaat dat u, net als veel anderen, geïrriteerd bent over het feit dat overal een wachtwoord wordt gevraagd. En dat u voor de veiligheid overal een ander wachtwoord zou moeten gebruiken en deze regelmatig moet veranderen. Maar het is bijna niet te doen om tientallen complexe wachtwoorden te onthouden, toch? Men zou verwachten dat er, meer dan vijftig jaar na de uitvinding van het wachtwoord op de computer, een betere oplossing zou moeten zijn om het probleem van authenticatie op te lossen.
Er wordt al lang vermeld dat wachtwoorden ‘dood’ zijn. Van Bill Gates in 2004 op de RSA conferentie, tot meer recentelijk Jonathan LeBlanc van PayPal op zijn ‘Kill All Passwords’ presentatie. Toch blijven wachtwoorden de dominante vorm van authenticatie op het internet. Enkele van de redenen dat wachtwoorden zo populair zijn, is dat ze makkelijk in gebruik zijn, ze zijn eenvoudig en goedkoop te implementeren en gebruikers weten hoe het werkt en wat er van hen wordt verwacht.
Waarom geen wachtwoorden meer?
Wachtwoorden hebben het inherente probleem dat ze onthouden moeten worden door mensen. Wanneer we mensen de vrije keuze over hun wachtwoord geven is de complexiteit hiervan in het algemeen vrij laag. Soms kan het voor een aanvaller kinderlijk eenvoudig zijn om wachtwoorden simpelweg te raden. Dit wordt duidelijk wanneer we naar de top 10 wachtwoorden uit 2014 kijken:
- 123456
- password
- 12345
- 12345678
- qwerty
- 123456789
- 1234
- baseball
- dragon
- football
Wanneer men kan inloggen op een website, dan wordt het wachtwoord in het algemeen niet in een leesbare vorm opgeslagen, maar enkel een zogenaamde ‘hash’ gemaakt met een algoritme zoals PBKDF2 of Argon2.
Wanneer een hacker toegang krijgt tot een database van ‘gehashte’ wachtwoorden, dan kunnen eenvoudige wachtwoorden, afhankelijk van het gebruikte hash-algoritme, binnen korte tijd worden achterhaald. Een hacker zal dan proberen op een zelfde manier als de website hashes te genereren van gebruikelijke wachtwoorden. Hetzelfde wachtwoord resulteert namelijk altijd in dezelfde hash.
Zo slaagde het ‘CynoSure Prime’-team erin om in tien dagen meer dan 11 miljoen wachtwoorden van de recent gelekte Ashley Madison-database te kraken.
Standaard wachtwoordeisen
De meest voorkomende wachtwoordeisen die men tegenwoordig tegenkomt op websites, die veiligheid relatief serieus nemen, zijn als volgt: acht tekens, ten minste één cijfer en één speciaal teken. Deze eisen maken het voor een aanvaller al moeilijker om een wachtwoord te achterhalen, maar leiden niet altijd tot sterke wachtwoorden. Wanneer men bijvoorbeeld een cijfer en speciaal teken moet kiezen zullen veel gebruikers de tekens ‘1!’ of dergelijke eenvoudige combinaties aan hun 6-letterige wachtwoord toevoegen.
Hackers zijn hiervan ook op de hoogte en zullen hun wachtwoordkraakmachines hierop afstellen. De onderstaande strip van xkcd geeft mooi weer hoe we gebruikers hebben aangeleerd om wachtwoorden te gebruiken die computers eenvoudig kunnen kraken en ook nog eens moeilijk te onthouden zijn. Het wachtwoord ‘w@Chtw$0rD!’ ziet er ingewikkeld uit, maar is voor een computer eenvoudiger te kraken dan het wachtwoord ‘EetbaarGradatieVochtvrijBudelsbier’.
Recentelijk is zelfs een elfjarig meisje uit New York in het nieuws geweest dat een bedrijf is begonnen met het versturen van dit soort wachtwoorden.
Wachtwoordkluizen
Tegenwoordig zijn de wachtwoordkluizen in opkomst. Voorbeelden hiervan zijn LastPass, Dashlane, KeePass en 1Password. Deze wachtwoordkluizen maken het eenvoudig om voor iedere website een uniek, lang en willekeurig wachtwoord te genereren.
Bij de meest gebruiksvriendelijke versie is één enkel wachtwoord om de wachtwoordkluis te ontsleutelen het enige wat een gebruiker hoeft te onthouden. Het probleem hierbij is dat de gebruiker al zijn wachtwoorden moet toevertrouwen aan een derde partij. Ook genereert dit een zogenaamde `Single point of failure’: wanneer het ene hoofdwachtwoord uitlekt liggen direct alle wachtwoorden op straat.
Daarom zijn deze wachtwoordkluizen gewilde targets voor hackers. Zo heeft er bij LastPass in juni 2015 een datalek plaatsgevonden waarbij persoonsdata en de hashes van de hoofdwachtwoorden zijn uitgelekt. In dit geval ging het over zeer goede hashes van het hoofdwachtwoord en zullen deze niet zijn gekraakt voordat gebruikers hun wachtwoord moesten veranderen. Maar dit laat zien dat deze aanbieders niet honderd procent veilig zijn.
Ook wanneer men het bedrijf dat de wachtwoordkluizen beheert kan vertrouwen, schuilen er andere technische gevaren. Gebruikers voelen zich automatisch veiliger wanneer een wachtwoordmanager de gegevens invult. Immers, deze controleert of men de juiste website heeft bezocht. Maar waar veel gebruikers zich niet van bewust zijn is dat de controle van deze wachtwoordkluizen hier ophoudt. Als de website bijvoorbeeld kwetsbaar is voor cross-site-scripting, dan kan een hacker tamelijk eenvoudig logingegevens naar zijn eigen systeem laten sturen. Neem bijvoorbeeld de zeer eenvoudige webpagina hiernaast (links).
Hier is de id-parameter kwetsbaar voor cross-site scripting, zoals uit de code van de pagina blijkt. Zie de afbeelding hiernaast (rechts).
Hier wordt de url-parameter id direct opgenomen in de pagina. Een hacker zou nu bijvoorbeeld het volgende script willen laten uitvoeren (zie afbeelding links).
Als dit script wordt uitgevoerd dan wordt het formulier met onze inloggegevens verzonden naar http://evil.website in plaats van http://good.website. Dit script wordt uitgevoerd wanneer de hacker een gebruiker de volgende link kan laten bezoeken (zie afbeelding rechts).
Zoals we in de afbeelding hier links zien heeft onze wachtwoordkluis geen probleem met het feit dat onze login-gegevens naar de verkeerde server zullen worden gestuurd, en vult deze dan ook gewoon in.
De conclusie hiervan is dat ook het gebruik van een goede wachtwoordkluis de gebruiker niet overal tegen kan beschermen en misschien zelfs een vals gevoel van veiligheid geeft. Het is natuurlijk wel zo dat gebruikers hun wachtwoorden minder zullen hergebruiken. Dit komt de veiligheid ten goede.
Alternatieven
Yahoo
Bedrijven zijn bezig om wachtwoorden zo veel mogelijk uit te bannen, voor meer gebruiksvriendelijke en ‘veiligere’ alternatieven. Zo heeft Yahoo recentelijk de ‘Account key’ feature geïntroduceerd. Hiermee is het voor een gebruiker mogelijk om zijn gebruikersnaam in te vullen en dan op zijn mobiele telefoon op een push-notificatie te drukken, in plaats van een wachtwoord in te vullen.
Dit streven van Yahoo om wachtwoorden uit te bannen lijkt nobel, maar voegt het nu veel toe? De gebruiksvriendelijkheid voor de gebruiker is beter, mits deze altijd zijn mobiele telefoon bij de hand heeft. Wat betreft veiligheid verandert de aanvalsvector. In plaats van iets aan te vallen dat de gebruiker ‘weet’, het wachtwoord, valt men iets aan dat de gebruiker ‘heeft’, de mobiele telefoon. De tijd zal leren of deze vormen van authenticatie zich zullen bewijzen in de toekomst.
Biometrische gegevens
Een van de andere alternatieven van wachtwoorden is het gebruik van biometrische gegevens. Sensortechnologie wordt goedkoper, en camera’s, bewegingssensoren en vingerafdrukscanners komen voor in steeds meer apparaten. Gebruikelijke biometrische authenticatiemethoden omvatten onder andere het afnemen van vingerafdrukken, irisscans of bewegingen. Sommige bedrijven willen zelfs verder gaan, en technologie onderdeel maken van iemands lichaam, zoals PayPal in 2015 heeft gepresenteerd.
Het idee achter het gebruik van biometrische authenticatie is prachtig: men gebruikt een onderdeel van iemands lichaam, dus men is er zeker van dat het om de juiste gebruiker gaat. Helaas gaat dit niet altijd op. Zo is op de CCC-conferentie in 2014 gedemonstreerd dat een vingerafdruk van de Duitse minister van defensie, Ursula von der Leyden, kon worden nagemaakt met behulp van een foto die tijdens een persconferentie is genomen.
Dit brengt ons bij het volgende probleem van biometrische gegevens. Het veranderen van biometrische eigenschappen is moeilijk. Wanneer je wachtwoord uitlekt kun je simpelweg een nieuw wachtwoord gebruiken. Ursula von der Leyden kan haar uitgelekte vingerafdruk nooit meer veranderen zonder iets aan haar lichaam te veranderen. Ook hier verandert de aanvalsvector. Daarbij kan iemands fysieke lichaam in gevaar komen. Waar het bij wachtwoorden ging over iets wat de gebruiker ‘weet’, bij het Yahoo over iets dat de gebruiker ‘heeft’ gaat het nu over iets dat de gebruiker ‘is’.
Conclusie
Meer dan vijftig jaar na de uitvinding van het wachtwoord hebben we nog steeds geen perfecte oplossing. Wachtwoorden zullen de komende jaren nog grootschalig worden gebruikt. Er zijn alternatieven voor authenticatie, maar deze komen met hun eigen nadelen en zijn elk geschikt voor een specifieke niche van gebruik.
Wie zich echt veiliger wil voelen zal gebruik moeten maken van twee of meer factoren van authenticatie. Het is voor een hacker namelijk veel moeilijker om op grote schaal authenticatie-gevens te verzamelen wanneer deze bestaan uit iets dat de gebruiker ‘weet’, ‘heeft’ en misschien ook ‘is’.
Dag Ben, mooi volledig betoog met veel details voorbeelden een aanvullingen, daarnaast is het nog goed te lezen ook en zonder teveel een mening op te dringen.
Zelf gebruik ik vrij veel 2 staps authenticatie in combinatie met LastPass als password manager. Als het goed is -maar zeker weten kan feitelijk niet- weet LastPass zelf mijn wachtwoord niet. Daarom vond ik het ook erg vermakelijk dat na de hack op LastPass er eigenlijk niet heel veel toe deed. De security experts sprongen er niet bovenop en dat gaf me een goed gevoel. Alleen irritant dat heel websites LastPass gebruik moeilijker maken door bijvoorbeeld te dwingen om een wachtwoord 2 keer in te typen (hallo Eneco).
Daarnaast wil ik je betoog nog aanvullen met wat details.
Zo krijg je bij Facebook en Google een melding van iedere keer dat er op een nieuw apparaat wordt ingelogd en worden onwaarschijnlijke inlogs geblokkeerd of vereisen spontaan twee traps autheticatie via een SMS pf pushbericht. Erg goed!
Een andere simpele aanvullende beveiliging die ik sterk vind is dat je een plaatje bij je account kiest. Bij het inloggen zal altijd dat plaatje getoond worden. Zie je het plaatje niet? Dan is het phishing.
Zelf kan ik nu redelijk leven met al dat wachtwoord geneuzel en dat dus vooral door gebruik van LastPass. Het geeft me een goed gevoel voor iedere website een ander wachtwoord te hebben en ook de integratie mogelijkheden op smartphones wordt steeds eenvoudiger. Juist door ook op LastPass 2 factor authenticatie te gebruiken is het niet alleen mijn master password die mijn kluis beschermt.
Dan als laatste ding wat ik nog mis aan je betoog is het steeds vaker voorkomende OAUTH2.0 authenticatie. Dus dat je met je Facebook of Google of OpenId (bijv. Yahoo!) account in kunt loggen. Dat doe je dan met een authenticatie pop-up van betreffende provider. Dat klinkt super, maar in de praktijk vind ik het één groot beveiligingslek! Ten eerste; je geeft hiermee met bepaalde mate toegang tot je gegevens bij die provider die verder gaat dan je profiel naam. Zo willen de “vragende” sites vaak toegang tot je contacten of zelfs je bestanden!
Zo wilde ik eens IFTTT gebruiken om een spreadsheet bestand op te bouwen van al mijn ontvolgers, daarvoor verleen je in feite TOTALE toegang tot jouw Google Drive. Kijk je in de voorwaarden van IFTTT dan beroepen ze zich op dat zijn een experimentele dienst zijn!
Dus ook het gebruiken van een centraal account van bijvoorbeeld Google kan leiden tot nare gevolgen. Stel dat IFTTT zijn zaakjes niet op orde heeft en gehackt of overgenomen word dan is de impact veel groter dan alleen je gegevens bij IFTTT.
Ja, wachtwoorden zijn niet genoeg en missen gebruiksvriendelijkheid en het overgrote deel van de mensheid gebruikt eenzelfde gebruikersnaam / wachtwoord voor meerdere diensten. Toch zie ik voorlopig niet dat we zonder kunnen en zouden moeten.
Iedere dag moeten we ook boterhammen smeren, deuren achter ons dichtdoen, aankleden en veters strikken en onthouden om melk mee naar huis te nemen. Stel dat dat allemaal niet meer nodig is…. dan zouden we ons rot vervelen met al die tijd die we over hadden…
Maar dank voor je artikel! Ik waardeer hem 🙂
Mooi artikel. Dat gedeelte over standaard wachtwoorden ben ik het niet helemaal mee eens. Ik heb eerder die xkcd strip gezien, maar het doet 2 dingen fout.
Foutieve aanname 1: Een ingewikkeld wachtwoord moet de speciale tekens achterin hebben.
Foutieve aanname 2: Een ingewikkeld wachtwoord mag maar 8 tekens lang zijn.
Foutieve aanname 3: Een lang wachtwoord met alleen hoofdletters en kleine letters is beter.
Als cijfers en speciale tekens niet worden meegenomen, wordt het aantal combinaties minder. Feitelijke aantal combinaties 52 tot de macht van het aantal tekens. Ik denk dat bruteforce programma’s het daar een stuk makkelijker mee gaan hebben.