Wachtwoordsterkte

Systemen die wachtwoorden gebruiken voor authenticatie, moeten een manier hebben om elk ingevoerd wachtwoord te controleren om toegang te krijgen. Als de geldige wachtwoorden eenvoudigweg worden opgeslagen in een systeembestand of database, zal een aanvaller die voldoende toegang tot het systeem krijgt, alle gebruikerswachtwoorden verkrijgen, waardoor de aanvaller toegang krijgt tot alle accounts op het aangevallen systeem en mogelijk tot andere systemen waar gebruikers hetzelfde of vergelijkbare wachtwoorden. Een manier om dit risico te verkleinen, is door alleen een cryptografische hash van elk wachtwoord op te slaan in plaats van het wachtwoord zelf. Standaard cryptografische hashes, zoals de Secure Hash Algorithm (SHA) -serie, zijn erg moeilijk om te keren, dus een aanvaller die de hashwaarde in handen krijgt, kan het wachtwoord niet rechtstreeks herstellen. Door de hashwaarde te kennen, kan de aanvaller snel gissingen offline testen. Programma’s voor het kraken van wachtwoorden zijn overal verkrijgbaar die een groot aantal proefwachtwoorden testen tegen een gestolen cryptografische hash.

Verbeteringen in de computertechnologie zorgen ervoor dat de snelheid waarmee geraden wachtwoorden kunnen worden getest, steeds hoger wordt. In 2010 ontwikkelde het Georgia Tech Research Institute bijvoorbeeld een methode om GPGPU te gebruiken om wachtwoorden veel sneller te kraken. Elcomsoft vond het gebruik van gewone grafische kaarten uit voor sneller wachtwoordherstel in augustus 2007 en diende al snel een overeenkomstig patent in de VS in. In 2011 waren er commerciële producten beschikbaar die beweerden de mogelijkheid te hebben om tot 112.000 wachtwoorden per seconde te testen op een standaard desktopcomputer, met behulp van een geavanceerde grafische processor voor die tijd. Zo’n apparaat zal in één dag een wachtwoord van 6 letters uit één hoofdletter kraken. Merk op dat het werk over veel computers kan worden verdeeld voor een extra versnelling die evenredig is met het aantal beschikbare computers met vergelijkbare GPU’s. Er zijn speciale hashes voor het oprekken van sleutels beschikbaar die relatief veel tijd nodig hebben om te berekenen, waardoor de snelheid waarmee kan worden geraden afneemt. Hoewel het als best practice wordt beschouwd om key-stretching te gebruiken, doen veel gangbare systemen dat niet.

Een andere situatie waarin snel raden mogelijk is, is wanneer het wachtwoord wordt gebruikt om een cryptografische sleutel te vormen. In dergelijke gevallen kan een aanvaller snel controleren of een geraden wachtwoord versleutelde gegevens met succes heeft gedecodeerd. Een commercieel product beweert bijvoorbeeld 103.000 WPA PSK-wachtwoorden per seconde te testen.

Als een wachtwoordsysteem alleen de hash van het wachtwoord opslaat, kan een aanvaller vooraf hash-waarden berekenen voor veelgebruikte wachtwoordvarianten en voor alle wachtwoorden die korter zijn dan een bepaalde lengte, waardoor het wachtwoord zeer snel kan worden hersteld zodra de hash is verkregen. Zeer lange lijsten met vooraf berekende wachtwoord-hashes kunnen efficiënt worden opgeslagen met behulp van regenboogtabellen. Deze aanvalsmethode kan worden verijdeld door een willekeurige waarde op te slaan, een cryptografisch zout genaamd, samen met de hash. Het salt wordt gecombineerd met het wachtwoord bij het berekenen van de hash, dus een aanvaller die een regenboogtabel vooraf berekent, zou voor elk wachtwoord zijn hash met elke mogelijke salt-waarde moeten opslaan. Dit wordt onhaalbaar als het zout een voldoende groot bereik heeft, zeg maar een 32-bits getal. Helaas gebruiken veel authenticatiesystemen die algemeen worden gebruikt geen salts en zijn regenboogtabellen beschikbaar op internet voor verschillende van dergelijke systemen.

Entropie als een maat voor wachtwoordsterkte Bewerken

Het is gebruikelijk in de computerindustrie om wachtwoordsterkte te specificeren in termen van informatie-entropie die wordt gemeten in bits en een concept is uit de informatietheorie. In plaats van het aantal gissingen dat nodig is om het wachtwoord met zekerheid te vinden, wordt de logaritme met grondtal 2 van dat getal gegeven, wat gewoonlijk het aantal “entropiebits” in een wachtwoord wordt genoemd, hoewel dit niet precies hetzelfde aantal is. als informatie-entropie. Een wachtwoord met een entropie van 42 bits die op deze manier wordt berekend, zou zo sterk zijn als een reeks van 42 bits die willekeurig wordt gekozen, bijvoorbeeld door een eerlijke toss. Anders gezegd, een wachtwoord met een entropie van 42 bits zou 242 (4,398,046,511,104) pogingen vereisen om alle mogelijkheden tijdens een brute force-zoekopdracht uit te putten. Dus door de entropie van het wachtwoord met één bit te verhogen, verdubbelt het aantal vereiste gissingen, waardoor de taak van een aanvaller twee keer zo moeilijk wordt. Gemiddeld zal een aanvaller de helft van het mogelijke aantal wachtwoorden moeten proberen voordat hij de juiste kan vinden.

Willekeurige wachtwoorden Bewerken

Hoofdartikel: Willekeurige wachtwoordgenerator

Willekeurige wachtwoorden bestaan uit een reeks symbolen met een gespecificeerde lengte, ontleend aan een reeks symbolen met behulp van een willekeurige selectie proces waarin de kans even groot is dat elk symbool wordt geselecteerd. De symbolen kunnen afzonderlijke tekens zijn uit een tekenset (bijvoorbeeld de ASCII-tekenset), lettergrepen die zijn ontworpen om uitspreekbare wachtwoorden te vormen, of zelfs woorden uit een woordenlijst (en zo een wachtwoordzin vormen ).

De sterkte van willekeurige wachtwoorden hangt af van de feitelijke entropie van de onderliggende nummergenerator; deze zijn echter vaak niet echt willekeurig, maar pseudo-willekeurig.Veel openbaar beschikbare wachtwoordgeneratoren gebruiken willekeurige nummergeneratoren die te vinden zijn in programmeerbibliotheken die beperkte entropie bieden. De meeste moderne besturingssystemen bieden echter cryptografisch sterke generatoren van willekeurige getallen die geschikt zijn voor het genereren van wachtwoorden. Het is ook mogelijk om gewone dobbelstenen te gebruiken om willekeurige wachtwoorden te genereren. Zie sterkere methoden. Willekeurige wachtwoordprogramma’s hebben vaak de mogelijkheid om ervoor te zorgen dat het resulterende wachtwoord voldoet aan een lokaal wachtwoordbeleid; bijvoorbeeld door altijd een combinatie van letters, cijfers en speciale tekens te produceren.

Voor wachtwoorden die zijn gegenereerd door een proces dat willekeurig een reeks symbolen van lengte, L, selecteert uit een reeks van N mogelijke symbolen, de Het aantal mogelijke wachtwoorden kan worden gevonden door het aantal symbolen te verhogen tot de macht L, dus NL. Als u L of N verhoogt, wordt het gegenereerde wachtwoord versterkt. De sterkte van een willekeurig wachtwoord zoals gemeten door de informatie-entropie is slechts de logaritme met grondtal 2 of log2 van het aantal mogelijke wachtwoorden, ervan uitgaande dat elk symbool in het wachtwoord onafhankelijk wordt geproduceerd. Dus de informatie-entropie van een willekeurig wachtwoord, H, wordt gegeven door de formule:

H = log 2 ⁡ NL = L log 2 ⁡ N = L log ⁡ N log ⁡ 2 {\ displaystyle H = \ log _ {2} N ^ {L} = L \ log _ {2} N = L {\ log N \ over \ log 2}}

waarbij N het aantal mogelijke symbolen is en L het aantal symbolen in het wachtwoord. H wordt gemeten in bits. In de laatste uitdrukking kan log naar elke basis zijn.

Entropie per symbool voor verschillende symbolensets
Symbolenset Symbool tel N Entropie per symbool H
Arabische cijfers (0-9) (bijv. PIN) 10 3.322 bits
hexadecimale cijfers (0–9, A – F) (bijv. WEP-sleutels) 16 4.000 bits
Hoofdletterongevoelig Latijns alfabet (a – z of A – Z) 26 4.700 bits
Hoofdletterongevoelig alfanumeriek (a – z of A – Z, 0–9) 36 5,170 bits
Hoofdlettergevoelig Latijns alfabet (a – z, A – Z) 52 5.700 bits
Hoofdletter gevoelige alfanumerieke tekens (a – z, A – Z, 0–9) 62 5.954 bits
Alle afdrukbare ASCII-tekens behalve spatie 94 6.555 bits
Alle Latin-1 supplementtekens 94 6.555 bits
Alle afdrukbare ASCII-tekens 95 6.570 bits
Alle uitgebreide afdrukbare ASCII-tekens 218 7,768 bits
Binair (0-255 of 8 bits of 1 byte) 256 8.000 bits
Diceware-woordenlijst 7776 12.925 bits per woord

Een binaire byte wordt meestal uitgedrukt met twee hexadecimale tekens.

Om de lengte, L, te vinden die nodig is om een gewenste sterkte H te bereiken, met een wachtwoord dat willekeurig wordt getrokken uit een set van N symbolen, berekent men:

L = H log 2 ⁡ N {\ displaystyle L = {H \ over \ log _ {2} N}}

afgerond tot het volgende grootste gehele getal.

In de volgende tabel wordt deze formule gebruikt om de vereiste lengte van echt willekeurig gegenereerde wachtwoorden te tonen om de gewenste wachtwoordentropieën voor gewone symbolensets te bereiken:

Lengtes L van echt willekeurig gegenereerde wachtwoorden die nodig zijn om een gewenste wachtwoord-entropie H te verkrijgen voor symbolensets die N symbolen bevatten
Gewenst wachtwoord
entropie H
Arabisch
cijfers
Hexadecimaal Case ongevoelig Hoofdlettergevoelig Alle ASCII Alles uitgebreid
ASCII
Diceware
woordenlijst
Latijns
alfabet
alfa-
numeriek
Latijns
alfabet
alfa-
numeriek
afdrukbare tekens
8 bits (1 byte) 3 2 2 2 2 2 2 2 1 woord
32 bits (4 bytes) 10 8 7 7 6 6 5 5 3 woorden
40 bits (5 bytes ) 13 10 9 8 8 7 7 6 4 woorden
64 bits (8 bytes) 20 16 14 13 12 11 10 9 5 woorden
80 bits (10 bytes) 25 20 18 16 15 14 13 11 7 woorden
96 bits (12 bytes) 29 24 21 19 17 17 15 13 8 woorden
128 bits (16 bytes) 39 32 28 25 23 22 20 17 10 woorden
160 bits (20 bytes) 49 40 35 31 29 27 25 21 13 woorden
192 bits (24 bytes) 58 48 41 38 34 33 30 25 15 woorden
224 bits (28 bytes) 68 56 48 44 40 38 35 29 18 woorden
256 bits (32 bytes) 78 64 55 50 45 43 39 33 20 woorden

Door mensen gegenereerde wachtwoorden Bewerken

Mensen zijn notoir slecht in het bereiken van voldoende entropie om bevredigende wachtwoorden te produceren. Volgens een onderzoek waarbij een half miljoen gebruikers betrokken waren, werd de gemiddelde wachtwoordentropie geschat op 40,54 bits. Sommige toneelgoochelaars maken op een kleine manier gebruik van dit onvermogen om zich te amuseren door veronderstelde willekeurige keuzes (van bijvoorbeeld getallen) gemaakt door toehoorders te onderscheiden.

Dus in één analyse van meer dan 3 miljoen wachtwoorden van acht tekens werd de letter “e” meer dan 1,5 miljoen keer gebruikt, terwijl de letter “f” slechts 250.000 keer werd gebruikt. Bij een uniforme verdeling zou elk teken ongeveer 900.000 keer zijn gebruikt. Het meest gebruikte nummer is “1”, terwijl de meest voorkomende letters a, e, o en r zijn.

Gebruikers maken zelden volledig gebruik van grotere tekensets bij het vormen van wachtwoorden. Hackingresultaten verkregen met een MySpace phishing-programma in 2006 onthulden bijvoorbeeld 34.000 wachtwoorden, waarvan slechts 8,3% verschillende hoofdletters, cijfers en symbolen gebruikte.

De volledige sterkte van het gebruik van de volledige ASCII-tekenset ( cijfers, hoofdletters en speciale tekens) wordt alleen bereikt als elk mogelijk wachtwoord even waarschijnlijk is. Dit lijkt te suggereren dat alle wachtwoorden tekens uit elk van de verschillende tekenklassen moeten bevatten, misschien hoofdletters en kleine letters, cijfers en niet-alfanumerieke tekens. In feite is zo’n vereiste een patroon bij de wachtwoordkeuze en kan naar verwachting de “werkfactor” van een aanvaller verminderen (in de termen van Claude Shannon). Dit is een vermindering van de “sterkte” van het wachtwoord. Een betere vereiste zou zijn om een wachtwoord te verplichten dat GEEN woord in een online woordenboek of een lijst met namen of een kentekenpatroon uit een staat (in de VS) of land (zoals in de EU) bevat. Als patroonkeuzes vereist zijn, zullen mensen deze waarschijnlijk op voorspelbare manieren gebruiken, zoals een hoofdletter geven aan een letter, een of twee cijfers toevoegen en een speciaal teken. Deze voorspelbaarheid betekent dat de toename van de wachtwoordsterkte gering is in vergelijking met willekeurige wachtwoorden.

NIST Special Publication 800-63-2Edit

NIST Special Publication 800-63 van juni 2004 (revisie 2) stelde een schema voor om de entropie van door mensen gegenereerde wachtwoorden te benaderen:

Bij gebruik van dit schema wordt geschat dat een door mensen gekozen wachtwoord van acht tekens zonder hoofdletters en niet-alfabetische tekens OF met een van de twee tekensets 18 bits entropie heeft. De NIST-publicatie geeft toe dat er ten tijde van de ontwikkeling weinig informatie beschikbaar was over de selectie van wachtwoorden in de echte wereld. Later onderzoek naar door mensen geselecteerde wachtwoord-entropie met behulp van nieuw beschikbare gegevens uit de echte wereld heeft aangetoond dat het NIST-schema geen geldige metriek biedt voor entropieschatting van door mensen geselecteerde wachtwoorden. De revisie van SP 800-63 (Revisie 3) van juni 2017 laat deze benadering vallen.

Overwegingen voor bruikbaarheid en implementatie Bewerken

Omdat nationale toetsenbordimplementaties variëren, kunnen niet alle 94 afdrukbare ASCII-tekens worden gebruikt overal. Dit kan een probleem vormen voor een internationale reiziger die op een extern systeem wil inloggen met een toetsenbord op een lokale computer. Zie toetsenbordindeling. Veel draagbare apparaten, zoals tabletcomputers en smartphones, vereisen complexe ploegvolgordes of het wisselen van toetsenbordapps om speciale tekens in te voeren.

Authenticatieprogramma’s variëren in welke tekens ze in wachtwoorden toestaan. Sommige herkennen hoofdletterverschillen niet (bijv. De hoofdletter “E” wordt als equivalent beschouwd aan de kleine letter “e”), andere verbieden enkele van de andere symbolen. In de afgelopen decennia hebben systemen meer tekens in wachtwoorden toegestaan, maar er bestaan nog steeds beperkingen. Systemen variëren ook in de maximale lengte van toegestane wachtwoorden.

In de praktijk moeten wachtwoorden zowel redelijk als functioneel zijn voor de eindgebruiker en sterk genoeg voor het beoogde doel. Wachtwoorden die te moeilijk te onthouden zijn, worden mogelijk vergeten, waardoor de kans groter is dat ze op papier worden geschreven, wat volgens sommigen een beveiligingsrisico vormt. Anderen voeren daarentegen aan dat het dwingen van gebruikers om wachtwoorden te onthouden zonder hulp alleen zwakke wachtwoorden kan opvangen en dus een groter veiligheidsrisico vormt. Volgens Bruce Schneier zijn de meeste mensen goed in het beveiligen van hun portemonnee of tas, wat een “geweldige plek” is om een geschreven wachtwoord op te slaan.

Leave a Reply

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *