Er bestaat niet één universeel overeengekomen ‘minimale’ entropie voor een veilig wachtwoord. Beveiliging is altijd een afweging tussen bruikbaarheid en bescherming, en het ‘juiste’ antwoord hangt sterk af van de context en het dreigingsmodel.
Hier volgt echter een overzicht van veelvoorkomende aanbevelingen en overwegingen:
Algemene richtlijnen:
* 80 bits entropie is een algemeen aanbevolen basislijn voor sterke wachtwoordbeveiliging. Dit is een goed startpunt voor de meeste applicaties en services. Waarom? Omdat het bruut forceren van het wachtwoord voor de meeste aanvallers onbetaalbaar wordt.
* Minstens 11 tekens met een sterke willekeur: Dit vertaalt zich vaak in ongeveer 50 bits entropie met behulp van een sterke wachtwoordgenerator met een grote tekenset (hoofdletters, kleine letters, cijfers, symbolen). Hoewel het beter is dan niets, wordt het door veel beveiligingsexperts als voldoende beschouwd en kan het kwetsbaar zijn voor meer geavanceerde aanvallen, vooral als het proces voor het maken van wachtwoorden gebrekkig is of als gebruikers voorspelbare keuzes maken.
Factoren die de entropievereisten beïnvloeden:
* De waarde van de beschermde gegevens: Als u zeer gevoelige informatie (bijvoorbeeld bankrekeningen, overheidsgeheimen) beschermt, heeft u een aanzienlijk hogere entropie nodig. Denk aan 100 bits of meer.
* De bronnen van de aanvaller: Nationale actoren of grote criminele organisaties beschikken over de middelen om wachtwoorden te kraken die voor de gemiddelde gebruiker als ‘sterk’ worden beschouwd.
* Het gebruikte hash-algoritme: Een modern, sterk hash-algoritme (zoals Argon2, bcrypt of scrypt) is cruciaal. Als u een ouder, zwakker algoritme gebruikt (zoals MD5 of SHA1), kunnen zelfs wachtwoorden met een hoge entropie kwetsbaar zijn. Het hash-algoritme verhoogt de kosten van een aanval, waardoor het een essentiële verdedigingslaag wordt.
* Zout: Een unieke, willekeurig gegenereerde salt moet *altijd* worden gebruikt bij het hashen van wachtwoorden. Salts voorkomen dat aanvallers vooraf berekende tabellen met wachtwoord-hashes (regenboogtabellen) gebruiken.
* Vereisten voor wachtwoordcomplexiteit: Hoewel complexiteitsvereisten (bijvoorbeeld "moet één hoofdletter, één cijfer en één symbool bevatten") vaak worden geïmplementeerd, kunnen ze averechts werken. Gebruikers hebben de neiging om voorspelbare wachtwoorden te maken die aan de vereisten voldoen, wat de entropie *reduceert*. Het is beter om *lengte* en *willekeurigheid* aan te moedigen.
* Wachtwoord hergebruiken: Hergebruik van wachtwoorden op meerdere sites is een *groot* beveiligingsrisico. Als één dienst wordt gecompromitteerd, worden alle accounts die hetzelfde wachtwoord gebruiken kwetsbaar.
* Wachtwoordbeheerders: Het gebruik van een gerenommeerde wachtwoordbeheerder om sterke, unieke wachtwoorden voor elke site te genereren en op te slaan, wordt ten zeerste aanbevolen. Wachtwoordbeheerders kunnen eenvoudig wachtwoorden maken en beheren met 128 bits entropie of hoger.
* Meervoudige authenticatie (MFA): Het inschakelen van MFA voegt een tweede beveiligingslaag toe, zelfs als het wachtwoord zwak of gecompromitteerd is. Dit verhoogt de moeilijkheidsgraad voor een aanvaller aanzienlijk.
Entropie schatten:
Entropie wordt meestal gemeten in *bits*. Elke bit vertegenwoordigt een vermindering van de onzekerheid met 50%. Hoe hoger de entropie, hoe moeilijker het is om het wachtwoord te raden of te kraken.
* Tekensetgrootte: Het aantal mogelijke tekens dat u in uw wachtwoord kunt gebruiken (hoofdletters, kleine letters, cijfers, symbolen).
* Wachtwoordlengte: Het aantal tekens in uw wachtwoord.
De formule voor het benaderen van entropie is:
`Entropie (bits) ≈ Lengte * log2 (tekensetgrootte)`
`log2(x)` is de logaritme met grondtal 2 van `x`. Je kunt het benaderen met `log10(x) / log10(2) ≈ log10(x) / 0,301`.
Voorbeeld:
Stel dat u een wachtwoord heeft dat 12 tekens lang is en gebruikmaakt van hoofdletters, kleine letters, cijfers en algemene symbolen (in totaal ongeveer 95 tekens).
* Lengte =12
* Tekensetgrootte =95
Entropie ≈ 12 * log2(95) ≈ 12 * (log10(95) / 0,301) ≈ 12 * (1,978 / 0,301) ≈ 12 * 6,57 ≈ 78,84 bits
Aanbevelingen:
* Streef naar minimaal 80 bits entropie. Dit is voor veel toepassingen een goede balans tussen beveiliging en bruikbaarheid.
* Geef prioriteit aan de lengte van het wachtwoord boven de complexiteitsvereisten. Een lang, willekeurig wachtwoord is veel moeilijker te kraken dan een kort, complex wachtwoord.
* Gebruik een sterk algoritme voor het hashen van wachtwoorden met een unieke salt.
* Schakel waar mogelijk meervoudige authenticatie in.
* Het gebruik van wachtwoordmanagers aanmoedigen (of zelfs afdwingen).
* Controleer en update het wachtwoordbeleid regelmatig.
* Informeer gebruikers over best practices voor wachtwoordbeveiliging.
Samenvattend is 80 bits een goed uitgangspunt, maar de ideale minimale entropie hangt af van de specifieke context. Houd altijd rekening met de waarde van de beschermde gegevens, de potentiële aanvallers en de beschikbare beveiligingsmaatregelen. |