Ook ik heb er eigenlijk nooit zin in, maar het is verstandig om na te denken over de risico's die je loopt en dat af en toe te herhalen.
Alle risico's kunnen overzien is maar voor weinigen weggelegd, een alternatief is zoeken naar logisch klinkende opsommingen van risico's.
In het geval van wachtwoorden ken ik de volgende overwegingen (vul mij svp aan als je aanvullende info hebt):
1) Zelfverdediging?
Gaat het bij een wachtwoord om de beveiliging van iets dat "zichzelf kan verdedigen", meestal met een (tijdelijke) account lockout, en eventueel wissen na x aantal mislukte pogingen? De reden dat een pincode volstaat voor bijvoorbeeld een bankpas, is dat deze na een klein aantal foute pogingen geblokkeerd wordt. Bij een wachtwoorddatabase moet je er echter van uitgaan dat dit
niet het geval is.
Indien een aanvaller straffeloos een groot of zelfs ongelimiteerd aantal pogingen kan doen en de verwachte waarde van de buit na het kraken hoog genoeg is, zul je extra hard je best moeten doen om het aanvallers zo moeilijk mogelijk te maken.
Nb. het komt zelden voor dat een aanvaller ergens (bijv. een gekopiejatte wachtwoorddatabase) aan kan zien hoe lang jouw wachtwoord is. Ook is er bijna nooit een indicatie "je bent warm" als een wachtwoord
bijna goed is; in nagenoeg alle gevallen moet een wachtwoord
exact kloppen, zo niet dan krijgt de aanvaller dezelfde foutmelding ongeacht hoever hij/zij "ernaast" zit.
2) Zwak wachtwoord
Hoe sneller een aanvaller een wachtwoord kan "achterhalen", hoe zwakker dat wachtwoord is. Meestal bestaan daar verschillende "aanvliegroutes" voor:
- Jijzelf gebruikt hetzelfde wachtwoord voor méér dan één toepassing, en van één daarvan is jouw wachtwoord (in combinatie met identificerende gegevens, zoals een e-mailadres) in verkeerde handen gevallen (je hoeft zelf niet te weten dat dit is gebeurd). In zo'n geval maakt het niet uit hoe lang en complex dat wachtwoord is. Mogelijk is dit het eerste dat een aanvaller probeert, of maakt hij/zij een lijstje met kleine variaties op dat wachtwoord en probeert die allemaal.
- De aanvaller probeert te achterhalen wie jij bent; bij een Lastpass database is dat een eitje want daarin zijn, naar verluidt, alleen de wachtwoorden versleuteld. Daarna kan de aanvaller online zoeken naar gegevens over jou, zoals adres, postcode, namen van partner en kinderen, geboortedata en dergelijke: veel mensen gebruiken dat soort gegevens in hun wachtwoorden. Ook allerlei "slimme" combinaties daarvan kan de aanvaller toegoegen aan diens "probeerlijstje".
- Als de aanvaller jouw e-mailadres of telefoonnummer kent (grote kans bij LastPass), kan zij/hij jou een phishingbericht sturen met een link naar een site die als twee druppels op Lastpass lijkt. Eigenlijk is er geen sprake van een zwak wachtwoord als je daar intrapt, maar in de praktijk blijkt dit vaak erg effectief te zijn.
- De aanvaller gaat aan de slag met een "dictionary", een lijst met eerder gelekte wachtwoorden. Een bekende lijst is RockYou2021 (daarop klikken downloadt die lijst nog niet) met daarin 8,4 miljard wachtwoorden. De vraag hierbij is hoeveel tijd het kost om één wachtwoord uit die lijst te proberen (indien het juiste wachtwoord voorkomt in die lijst, zul je gemiddeld genomen de halve lijst moeten proberen). Zie verderop.
- De aanvaller start een brute force aanval (al dan niet geoptimaliseerd op bijv. veel gebruikte letters en cijfers of combinaties daarvan). Hoe langer het wachtwoord en hoe meer karakters er mogelijk zijn, hoe langer zo'n aanval duurt.
Details over LastPass
Wladimir Palant heeft al jaren stevig onderbouwde kritiek op LastPass. Al in 2018
schreef hij dat LastPass
PBKDF2 gebruikt als "hash" functie.
Nb. Gewone cryptografische hashfuncties zijn geen goed idee om wachtwoorden mee te hashen,
omdat ze ontworpen zijn om snel te zijn. Moderne grafische kaarten kunnen zó snel hashen, dat ook het tig keer "nesten" (herhalen) te weinig vertraagt (PBKDF2 is ook alweer achterhaald, variaties van
Argon2 worden sterker geacht).
Probleem bij LastPass: standaard werd er van een relatief klein aantal PBKDF2 iteraties gebruik gemaakt. Wladimir Palant
schreef daarover in 2018:
So, what kind of protection do 5,000 PBKDF2 iterations offer? Judging by these numbers, a single GeForce GTX 1080 Ti graphics card (cost factor: less than $1000) can be used to test 346,000 guesses per second. That’s enough to go through the database with over a billion passwords known from various website leaks in barely more than one hour.
Eind 2022
schreef Wladimir Palant:
Update (2022-12-23): While LastPass changed the default in 2018, it seems that they never bothered changing the settings for existing accounts like I suggested. So there are still LastPass accounts around configured with 5,000 PBKDF2 iterations.
Overigens schreef Wladimir Palant
al in sept. 2023, onder de tweede "Update (2023-09-26)", dat LastPass wachtwoorden van minstens 12 karakters gaat eisen.
Elke keer dat je jouw wachtwoord invoert hebben bedrijven zoals LastPass de mogelijkheid om over te stappen op een andere "KDF" (Key Derivation Function) en/of de instellingen daarvan aan te passen aan de snelheid van actuele hardware. Als zij dat niet doen zegt dat m.i. iets over zo'n bedrijf.
Conclusie
Feit blijft wel dat trucs als PBKDF2 en Argon2 een zwak wachtwoord niet gegarandeerd sterker maken (zie de eerste bullets onder punt 2 hierboven), en vaak heb je geen idee hoe sterk het gebuikte "één-weg afgeleide" algoritme is.
Voldoende wachtwoord
lengte heb je nodig als wapen tegen brute force aanvallen, maar een
voldoende lang wachtwoord biedt an sich nog geen enkele garantie.
Essentieel is dat aanvallers jouw (master) wachtwoord niet kunnen "raden" op basis van wat zij over jou kunnen vinden op Internet (of door jou of jouw familieleden/bekenden te misleiden en/of informatie af te troggelen). Steeds meer browsers kunnen checken of door jou gebruikte wachtwoorden vóórkomen in dictionaries: sla dat soort waarschuwingen niet in de wind.
Aanvulling 5 jan. 11:55, na de
berichtgeving op Tweakers van vanochtend en op
ARS Technica gisteravond: "
ripeadmin" is natuurlijk een zwak wachtwoord omdat dit geraden kan worden, maar in dit geval had het niets uitgemaakt als het iets als "
&Z4f*9'sRb$#3fL+x@" geweest was; het was gelekt in combinatie met het e-mailadres. Zie
dit plaatje in het ARS artikel. Een wachtwoord is pas sterk als het
op géén enkele manier zwak is.
[Reactie gewijzigd door Anoniem: 1576590 op 22 juli 2024 13:56]