Wachtwoordcomplexiteitscontrole en de compilatie ervan. Nieuw algoritme voor het controleren van de sterkte van wachtwoorden. Welk wachtwoord kan betrouwbaar worden genoemd?


Iedereen weet dat wachtwoorden moeilijk en niet erg complex kunnen zijn. Bijvoorbeeld, alpine- niet echt complex wachtwoord, en het instellen als root-wachtwoord op een miljoen apparaten met internetverbinding is op zijn minst onredelijk. 7_U] Ah "C integendeel, het wachtwoord is behoorlijk complex. Elke gevorderde internetgebruiker zal dit aan u bevestigen, en sommigen zullen zelfs kunnen uitleggen waarom. Ze zeggen dat het langer is, en er zitten veel verschillende symbolen in: hier heb je hoofdletters en kleine letters, en allerlei speciale symbolen. Over het algemeen is het moeilijk, en zeker moeilijker dan een wachtwoord. alpine.

Hoe vergelijk je de complexiteit van twee wachtwoorden als het verschil niet zo duidelijk is? Welk wachtwoord is bijvoorbeeld moeilijker: 7_U] Ah "C of xrmdCawGZ? Hoewel het tweede wachtwoord, zo lijkt het, uit een kleinere verscheidenheid aan tekens bestaat - letters van verschillende hoofdletters - is het één teken langer. Is dit genoeg om de schaarste van het alfabet te compenseren?

Alfabet wordt de set tekens genoemd waaruit een wachtwoord kan bestaan. In ons voorbeeld is het wachtwoord 7_U] Ah "C bestaande uit een alfabet met de volgende tekens:

  • Latijnse letters in beide gevallen: a-z, A-Z(26 * 2 = 52 st.)
  • Nummers: 0-9 (10 stuks.)
  • Speciale symbolen: ! , " , # , $ , % ... (32 st.)
De grootte van zo'n alfabet is M = 52 + 10 + 32 = 94, en de complexiteit van een wachtwoord van acht (N = 8) tekens wordt berekend met de formule M ** N = 94 ** 8.

De complexiteit van het wachtwoord (of crypto-sleutel) wordt uitgedrukt in de zogenaamde. de coëfficiënt van de complexiteit van het cijfer(werkfactor). De meest voorkomende uitleg van de essentie van KTSh klinkt als volgt: dit is de tijd en computerbronnen vereist om een ​​wachtwoord met brute kracht te kraken ( brute kracht) al zijn mogelijke opties... Uit combinatoriek weten we dat het aantal combinaties van M (alfabetgrootte) tot N (wachtwoordlengte) gelijk is aan M ** N (M tot de macht N).

De complexiteit van het wachtwoord wordt gewoonlijk aangeduid als: beet... Dat wachtwoord zeggen K-bit, bedoelen we dat de complexiteit ervan vergelijkbaar is met de complexiteit van een wachtwoord van K nullen en enen (een alfabet van slechts twee tekens: 0 en 1). Bijvoorbeeld, 7_U] Ah "C - 52-bits wachtwoord: K = log2 (94 ** 8) = log2 (6095689385410816) ~ 52 .

Wachtwoord xrmdCawGZ een bescheidener alfabet: uit Latijnse letters in beide registers blijkt het totaal 26*2 = 52 symbool. De complexiteit is respectievelijk M ** N = 52 ** 9 = 2779905883635712, en gebit - K = log2 (2779905883635712 ) ~ 51 . Daarom is het eerste wachtwoord ongeveer twee keer zo complex als het tweede, wat over het algemeen geen voordeel is.

De vraag rijst, waarom hebben we dan alfabetten nodig van al deze aanhalingstekens, haakjes en andere kronkels? Is het niet makkelijker om gewoon lange wachtwoorden te verzinnen van bekendere karakters? Het antwoord is simpel: niet waarom. Het is beter en betrouwbaarder om een ​​lange wachtwoordzin te onthouden, zelfs als deze geen exotische tekens bevat. Momenteel wordt de wachtwoordzin van bitness 128 en hoger als betrouwbaar beschouwd. Dat wil zeggen, een zin van 20 letters is voldoende.

Veel sites proberen gebruikers te helpen bij het instellen van complexere wachtwoorden. Hiervoor worden basisregels opgesteld, waarvoor meestal minimaal één hoofdletter, een kleine letter, één cijfer enzovoort. De regels zijn meestal zo primitief:

"wachtwoord" => ["vereist", "bevestigd", "min: 8", "regex: / ^ (? = \ S *) (? = \ S *) (? = \ S * [\ d]) \ S * $ / ",];
Helaas, zulke eenvoudige regels betekent dat het Abcd1234-wachtwoord als goed en van goede kwaliteit wordt beschouwd, net als Password1. Aan de andere kant wordt het mu-icac-of-jaz-doad-wachtwoord niet gevalideerd.

Dit zijn de eerste twee wachtwoorden.

En hier zijn twee wachtwoorden die de sterktetest niet zullen doorstaan.

Wat te doen? Misschien moet u het gebruik van speciale tekens niet forceren en alle nieuwe regels invoeren, zoals het verbieden van het herhalen van meerdere tekens achter elkaar, het gebruik van niet één, maar twee of drie speciale tekens en cijfers, het verhogen van de minimale wachtwoordlengte, enz. .

In plaats van dit alles is het voldoende om te doen simpel ding- makkelijk te installeren minimale entropiebeperking wachtwoord, en dat is het! U kunt hiervoor de kant-en-klare evaluator zxcvbn gebruiken.

Er zijn andere oplossingen dan zxcvbn. Vorige week, op de ACM Computer and Communications Security-conferentie, werd een wetenschappelijke paper (pdf) gepresenteerd door beveiligingsexperts van de onderzoeksafdeling van Symantec Research en de Franse onderzoeksinstituut Eurecom. Ze ontwikkelden nieuw programma voor het testen van de wachtwoordsterkte, die het geschatte aantal brute-force-pogingen schat dat nodig is met behulp van de Monte Carlo-methode. De voorgestelde methode onderscheidt zich doordat deze een minimale hoeveelheid computerbronnen op de server vereist, geschikt is voor: een groot aantal probabilistische modellen en tegelijkertijd behoorlijk nauwkeurig. De methode is getest op wachtwoorden uit de Xato-database van 10 miljoen wachtwoorden, die zich in het publieke domein bevinden (kopie op Archive.org) - hij toonde goed resultaat... Toegegeven, deze studie van Symantec Research en Eurecom is meer theoretisch van aard, volgens minstens, ze hebben hun programma niet geüpload naar vrije toegang in elke aanvaardbare vorm. Toch is de betekenis van het werk duidelijk: in plaats van heuristische regels voor het controleren van wachtwoorden, is het raadzaam dat websites een entropiecontrole implementeren.

Wachtwoorden zijn de sleutels tot uw virtuele opslag gegevens op internet - van een e-mailaccount, Online spelletjes, persoonlijke pagina op sociale netwerken, enz. Uiteraard moet het 100% voldoen aan criteria als betrouwbaarheid. Dat wil zeggen, het moet bestand zijn tegen inbraak of selectie. Helaas zijn veel gebruikers eenvoudig, maar verplichte eis naar wachtwoorden worden genegeerd. En als gevolg daarvan worden ze in de regel het slachtoffer van indringers. Ze verliezen geld, vertrouwelijke gegevens, gameplay-prestaties, enz.

Het is bekend dat 1% van de netwerkgebruikers, hetzij vanwege luiheid of nalatigheid, bij het registreren de voorkeur geeft aan primitieve combinaties die in 3-4 pogingen kunnen worden opgepikt. Voorbeelden zijn "123456", "qwerty", "mijnwachtwoord". Dit is zeker heel dom. Een "light"-toets voor de gebruiker is ook "light" voor de aanvaller.

Dit artikel vertelt je hoe je moet componeren sterke wachtwoorden en hoe u deze kunt testen op inbraakwerendheid.

Wat is een sterk wachtwoord?

Goede sleutels van rekening hebben de volgende kenmerken:

1. De lengte is niet minder dan 10-15 tekens (de meest stabiele combinaties zijn zelfs meer - 20-35 tekens).

2. Symbolen: grote en kleine Engelse letters, cijfers, speciale tekens.

3. De combinatie mist woordenboekwoorden (parol, kod, vhod), persoonlijke gegevens (telefoonnummer, naam, e-mail, enz.), logische reeksen van letters en cijfers (1234, 246810, abcdefg).

Hoe complexer en betrouwbaarder de combinatie, hoe moeilijker het is om een ​​keuze te maken. Het kan meer dan 1,5 miljoen jaar duren om een ​​door de gebruiker gemaakte reeks van 12 tekens tot stand te brengen.

Complexe sleutelcreatie

Gewone internetgebruikers en beveiligingsspecialisten hebben al veel juiste antwoord-oplossingen gevonden op de vraag "Hoe maak je een sterk wachtwoord?" In dit artikel zullen we je door drie van de meest praktische manieren leiden.

Methode nummer 1: vervanging van letters

Helemaal niet eerst mobieltjes de Russische taal werd ondersteund en hun eigenaren stuurden sms met behulp van transliteratie. Dat wil zeggen, ze schreven in Latijnse letters in het Russisch en de ontbrekende letters werden vervangen door symbolen. Bijvoorbeeld: "h" - "4". De zin "Wat ben je aan het doen?" leek op "4to delaesh?" Hetzelfde principe ligt ten grondslag deze methode toetsen samenstellen.

Neem een ​​woord of zin en schrijf het op met behulp van een "lastige" notatie. In plaats van spaties kunt u alle speciale tekens "~", "/", "." Als scheidingstekens gebruiken. etc. Je kunt bijvoorbeeld de volgende combinatie bedenken:

Laten we de "gevarenzone" schrijven als "onACHA9I # 3OHA".

Zoals u kunt zien, hebben we de woorden in Latijnse letters opgeschreven en bovendien enkele Russische letters vervangen. In plaats van "n" - "n", "i" - "9I", "z" - "3" (nummer "drie"). En we plaatsen een "#" scheidingsteken tussen de woorden. Dat is genoeg moeilijke optie... Om dit soort symbolische combinaties te ontrafelen, zullen computerschurken hun best moeten doen.

Om te helpen, een tabel met symbolische aanduidingen van Russische letters:

Methode nummer 2: een "leesbare" sleutel maken in de generator

1. Open de online dienst in uw browser - http://genpas.peter23.com/.

2. Klik in de optie "Bedrijfsmodus" op het keuzerondje "Gesproken wachtwoord ...".

3. Schakel bovendien tekensets voor toetscombinaties in/uit en stel de lengte ervan in.

4. Klik op de knop Genereren.

5. Kies de meeste de beste optie uit gegenereerde reeksen.

6. Breek het gekozen wachtwoord in fragmenten van 2-3 karakters en geef elk fragment een bepaalde betekenis. In zo'n "logische keten" is het heel gemakkelijk om het meest te onthouden een moeilijke combinatie... Laten we als voorbeeld eens kijken naar de sleutel die in deze generator is gegenereerd:

Xoh) ohfo1koh

  • Xoh) - kan worden gelezen als "Hoh" + "smiley";
  • Oh Oh";
  • fo1 - laat het een soort mysterieuze afkorting zijn;
  • koh - koh - weer een variatie op de eerste lettergreep.

Methode nummer 3: speciale tekens toevoegen aan eenvoudige woorden

1. Neem als basis elk woord dat je goed kent:

ruimte2017

2. Bedenk een combinatie van speciale karakters van 2 of 3 karakters.

«+_&»

3. Voeg een combinatie toe aan het begin en aan het einde van het woord in het spiegelbeeld.

+ _ & ruimte2017 & _ +

4. U ontvangt hierdoor een voldoende "sterke" sleutel. Het kan natuurlijk niet de meest stabiele worden genoemd, maar het is gemakkelijk te onthouden en is niet primitief van structuur.

Aandacht! Voordat u een wachtwoord aanmaakt, moet u de vereisten lezen van de service waarbij u zich registreert. Het Cyrillische alfabet (Russische letters) kan bijvoorbeeld niet worden gebruikt op de Mail.ru-portal.

De sleutel controleren op betrouwbaarheid

U kunt de stabiliteit van de geselecteerde combinatie op speciale services analyseren.

Biedt de gebruiker gedetailleerde analyse de gespecificeerde combinatie (tekensets, lengte), en schat ook de complexiteit ervan in procenten.

Geeft aan hoe lang het duurt om te selecteren de opgegeven sleutel... Waarschuwt voor ongeldige (primitieve) tekenreeksen.

Gebruik alleen sterke wachtwoorden! Ze zijn de sleutel tot uw online veiligheid.

Experts op computer beveiliging van de Universiteit van Cambridge analyseerde de structuur van meer dan 70 miljoen wachtwoorden. En we kwamen erachter dat de meest complexe wachtwoorden ter wereld worden gemaakt door gebruikers uit Duitsland en Korea. En ze doen het natuurlijk en natuurlijk, zonder speciale training. En het geheim van de stabiliteit van de combinaties ligt in de bijzonderheden van hun taal. Ze passen hetzelfde toe Latijnse karakters, dezelfde nummers, maar nemen als basis hun eigen "moeilijke" woorden - namen, plaatsnamen, termen, enz. Bijvoorbeeld Annaberg-Buchholz # 122. Het is gemakkelijk om deze opties te bedenken en te onthouden, maar het kiezen van een grootteorde is moeilijker in vergelijking met de woordenschatwoorden van andere talen.

Als u, beste lezer, geen Koreaans of Duits kent, betekent dit natuurlijk niet dat u complexe wachtwoorden moet negeren. Ze zijn de sleutel tot de beveiliging van uw gegevens op internet (in online betalingssystemen, op sites, forums). Dit artikel zal u vertellen waar de accounttoegangssleutel aan moet voldoen (wat het zou moeten zijn) en hoe u deze kunt maken.

Bepaling van complexiteit

Sleutelcomplexiteit is een maat voor weerstand tegen selectie op symbolisch niveau door middel van handmatige en geautomatiseerde methoden (logische berekening, woordenboekselectie). Het wordt bepaald door het aantal pogingen van de cracker, dat wil zeggen, hoe lang het duurt voordat hij de door de gebruiker gemaakte combinatie heeft berekend.

De volgende factoren zijn van invloed op de complexiteit van wachtwoorden:

  • Het aantal tekens in de sleutel. Hoe meer karakters in de reeks, hoe beter. De combinatie van 5 karakters heeft Grote kans snel hacken. Maar de selectie van een reeks van 20 karakters kan jaren, decennia en zelfs eeuwen duren.
  • Afwisselend hoofdletters en kleine letters. Voorbeelden: dfS123UYt-sleutel met hoofdletter hoofdletters een orde van grootte ingewikkelder dan dezelfde combinatie, maar alleen met kleine letters - dfs123uyt.
  • Karakter sets. De verscheidenheid aan karaktertypes vergroot de veerkracht. Als je een sleutel maakt van klein en grote letters, cijfers en speciale tekens 15-20 tekens lang, er is praktisch geen kans om het op te pikken.

Hoe maak je stabiele combinaties?

De volgende methoden zullen u helpen een zeer complexe symbolische sleutel te bedenken die gemakkelijk te onthouden is.

1. Creëer visuele contouren geometrische vorm of een object op het toetsenbord van uw computer. En typ vervolgens de tekens waarlangs de lijnen lopen.

Aandacht! Vermijd eenvoudige "constructies" zoals lijnen, vierkanten of diagonalen. Ze zijn gemakkelijk te voorspellen.

2. Maak een complexe zin die de logica tart. Met andere woorden, een soort woordspeling:

Bijvoorbeeld: Vaska de kat ving een snoek op Jupiter.

Neem dan de eerste 2-3 letters van elk woord uit de zin die je verzint:
Kat + VA + Na + Ja + st + snoek

Typ de lettergrepen in Latijnse letters:
Rjn + Df + Yf +> g + ek + oer

Voeg na transliteratie enkele bekende cijfers tussen de lettergrepen in: geboortedatum, lengte, gewicht, leeftijd, laatste of eerste cijfers van het telefoonnummer.
Rjn066Df 45Yf 178> g 115ek1202oer

Dat is alles! Zoals je kunt zien, is dit een behoorlijk "sterke" combinatie. Om het snel te onthouden, heb je alleen de sleutel (bedoelde woordspeling) en de gebruikte cijfers nodig.

3. Neem 2 memorabele dates als basis. Bijvoorbeeld twee verjaardagen (die van jou en die van je geliefde).
12.08.1983 05.01.1977

Verdeel de dag, maand en jaar met enkele speciale tekens:
12|08/1983|05\01|1977

Vervang nu de nullen in de datums door de kleine letter "o".
12 | o8 / 1983 | o5 \ o1 | 1977

Het blijkt een nogal ingewikkelde sleutel te zijn.

4. Maak een speciale tabel: rangschik verticaal en horizontaal van de matrix Latijnse letters en cijfers, en in de lijnen en kolommen - de symbolen in een chaotische volgorde.

Om een ​​sleutel te genereren, neem een ​​paar simpele woorden opgenomen Engelse letters bijv. mijn wachtwoord erg sterk

Neem de eerste paar letters. In ons geval is dit "mijn". Zoek "m" in de verticale lijst, in de horizontale "y". Op het snijpunt van de lijnen ontvangt u het eerste teken van het wachtwoord.

Op dezelfde manier, via volgende paren, zoek de rest van de sleutelsymbolen.

Als u uw wachtwoord bent vergeten, gebruik dan de eenvoudige trefwoord en een tafel.

Hoe de wachtwoordsterkte te controleren?

De weerstand van een symbolische combinatie tegen selectie is te vinden op speciale webservices. Laten we de meest populaire bekijken:

Online service van antivirus laboratorium Kaspersky. Bepaalt aan de hand van de tekenset en de lengte van de sleutel hoe lang het duurt om deze te kraken verschillende computers... Na analyse van de reeks tonen statistieken de tijd die nodig is om te zoeken op het ZX-Spectrum (de legendarische 8-bits machine uit de jaren 80), de Mac Book Pro (model van 2012), de Tianhe-2-supercomputer en het Conficker-botnetnetwerk.

Online hulpprogramma op het enorme serviceportaal 2IP.ru. Nadat de sleutel naar de server is verzonden, geeft deze zijn status (betrouwbaar, onbetrouwbaar) en de tijd die is besteed aan het kraken ervan.

Wachtwoordcontrole is nodig wanneer u niet zeker bent of twijfelt aan de complexiteit en voldoende beveiliging. Gelukkig zijn er hiervoor online diensten waarmee je kunt checken hoe veilig een bepaald wachtwoord is. Meer hierover.

Waarom de wachtwoordsterkte controleren?

Sterker nog, het controleren van een wachtwoord op sterkte is vooral nodig voor degenen die niet weten wat wachtwoorden moeten zijn. Het artikel gaf advies over het maken van complexe, praktisch onkraakbare wachtwoorden. De 3 online services die in dit artikel worden besproken, helpen je bij het maken van zo'n wachtwoord.

Hoe controleer ik de complexiteit van een wachtwoord?

Er zijn online services waarmee u de complexiteit van het wachtwoord kunt controleren, evenals hoe lang het duurt voordat aanvallers het kunnen raden. Vandaag zullen we 3 van dergelijke services bekijken die de meeste aandacht verdienen.

Servicenummer 1.

Deze service, zoals je misschien al geraden hebt, is waarschijnlijk van Kaspersky Lab, het heet - "Red de wereld met een woord." Deze service helpt bij het maken van sterke wachtwoorden door ze te controleren op complexiteit.

De service laat zien dat gegeven wachtwoord gehackt in 1 seconde. Inderdaad, zelfs met de hulp van brute force (een programma om wachtwoorden te raden), zal dit wachtwoord sneller brute force zijn dan je zegt "Au!"

En hier is een complexer wachtwoord met cijfers en letters van verschillende hoofdletters:

Zo'n wachtwoord zal erg moeilijk te raden zijn, in algemeen wachtwoord betrouwbaar en tot op zekere hoogte onbreekbaar (niet-kiesbaar).

Zoals je kunt zien, laat de service zien hoe lang het duurt om een ​​bepaald wachtwoord op verschillende computers te kraken, dit zijn ZX Spectrum (80s), Mac Book Pro (2012), Tianhe-2 (een supercomputer ontwikkeld in China), evenals met behulp van computernetwerken (botnet).

Servicenummer 2.

De volgende service voor het controleren van de wachtwoordsterkte van Microsoft. Het is gevestigd op dit adres.

Alles is hier eenvoudig, we gaan naar binnen vereist wachtwoord en het programma laat zien hoe betrouwbaar het is. Niets extra's. De mate van betrouwbaarheid wordt aangegeven door onderstaande 4 rechthoeken. Eén rechthoek is een heel eenvoudig wachtwoord en vier groene rechthoeken zijn een complex wachtwoord.

Servicenummer 3.

derde en laatste dienst voor vandaag. Dit is de naam van de site - "Hoe veilig is mijn wachtwoord? ".

De interface is in het Engels, maar dat geeft niet. In de regel "Wachtwoord" moet u een wachtwoord invoeren en de service zal ook laten zien hoe veilig het is, dit is uw wachtwoord.

In bovenstaand voorbeeld geeft de service aan dat het wachtwoord goed is (dit wordt aangegeven door de groene achtergrond van de site). Als de achtergrond van de site rood is, is het wachtwoord ook niet sterk.

Hieronder zie je nog ongeveer de tijd die nodig is voor een grove selectie (brute force). En ook, als het wachtwoord dat je hebt ingevoerd niet complex en veilig is, zal de service dit aangeven en advies geven over het maken van een veiliger wachtwoord.

Natuurlijk zijn er geen onkraakbare wachtwoorden, deze diensten laten alleen zien hoeveel een picker zal moeten kraken (met brute kracht). Maar er zijn tenslotte andere manieren om te hacken - social engineering, het gebruik van keyloggers zonder medeweten van de pc-gebruiker, enzovoort. Bewaar uw wachtwoorden daarom verstandig en geef ze aan niemand.