Jeg snublede rundt og skete på dette essay af Bruce Schneier og hævdede, at XKCD-adgangskodeskema var faktisk død.
Moderne adgangskodekrakere kombinerer forskellige ord fra deres ordbøger : […]
Dette er grunden til det ofte citerede XKCD-skema til generering af adgangskoder – stram sammen enkelte ord som ” correcthorsebatterystaple ” – er ikke længere et godt råd. Adgangskodekrakerne er ved med dette trick.
Angriberen indfører personlige oplysninger, som han har adgang til om adgangskodeskaberen, til adgangskodekrakerne. En god adgangskodeknækker vil teste navne og adresser fra adressebogen, meningsfulde datoer og alle andre personlige oplysninger, den har. […] hvis dit program nogensinde har gemt det i hukommelsen, vil denne proces få fat i det.
Hans påstand synes at være det, fordi det er kendt at folk måske konstruerer deres adgangskoder på en sådan måde, at det gør det muligt at angribe, men det ser ud til, at styrken ligger udelukkende i eksponenternes magt. Jeg antager, at han henviser til, at folk ikke vælger ordene virkelig tilfældigt, hvilket måske ikke er “t er helt uheldig, da jeg” har rullet et par gange for at få noget, der ikke er alle adverb og adjektiver. Imidlertid antager jeg, at det at sænke entropien med en faktor på 2-10 ikke er væsentlig (hvis ordlisten er fordoblet til 4000, ikke så hårdt, tabet er mere end inddrevet).
Den anden quip om ” hvis dit program nogensinde har gemt det i hukommelsen ” er dog en smule foruroligende … er ikke alle adgangskoder gemt i hukommelsen på et eller andet tidspunkt? At virker lidt bredt; hvad henviser han egentlig til til?
Kommentarer
Svar
Den hellige krig
Jeg tror, du vil opdage, at den rigtige måde at generere adgangskoder på kunne starte en hellig krig, hvor hver gruppe tror, den anden laver en meget enkel matematisk fejl eller mangler pointen. Hvis du får 10 computersikkerhedspersonale i et rum og spørger dem, hvordan man finder gode adgangskoder, får du 11 forskellige svar.
Misforståelsen
En af de mange grunde der er ingen konsekvente råd om adgangskoder er alt sammen et spørgsmål om trusselmodellering . Hvad forsøger du nøjagtigt at forsvare dig mod?
For eksempel: forsøger du at beskytte dig mod en angriber, der specifikt målretter mod dig og kender dit system til at generere adgangskoder? Eller er du bare en af millioner af brugere i en lækket database? Forsvarer du mod GPU-baseret adgangskodebrydning eller bare en svag webserver? Er du på en vært inficeret med malware [1]?
Jeg synes, du skal antage, at angriberen kender din nøjagtige metode til at generere adgangskoder og bare målretter mod dig. [2] Xkcd-tegneserien antager i begge eksempler, at alle detaljerne i generationen er kendte.
Matematikken
Matematikken i xkcd-tegneserien er korrekt, og den vil ikke ændre sig .
For adgangskoder skal jeg skrive og huske, at jeg bruger et python-script , der genererer xkcd-adgangskoder, der er virkelig tilfældige. Jeg har en ordbog med 2 ^ 11 (2048) almindelige, let at stave, engelske ord. Jeg kunne give den fulde kildekode og en kopi af min ordliste til en angriber, der vil stadig være 2 ^ 44 mulige adgangskoder.
Som tegneserien siger:
1000 gætter / sek Plausibelt angreb på en svag fjernwebtjeneste. Ja, det er hurtigere at knække en stjålet hash , men det er ikke, hvad den gennemsnitlige bruger skal bekymre sig om.
Det er en god balance mellem let at huske og svært at knække.
Hvad hvis vi forsøgte mere magt ?
Sikker på, at 2 ^ 44 er ok, men GPU-krakning er hurtig, og det bliver kun hurtigere. Hashcat kunne knække en svag hash [3] af den størrelse på et antal dage, ikke år. Også, jeg har hundredvis af adgangskoder at huske. Selv xkcd-stil bliver det hårdt efter et par.
Det er her adgangskodeadministratorer kommer ind, jeg kan godt lide KeePass men der er mange andre, der stort set er de samme. Derefter kan du generere bare en længere xkcd pass-sætning, som du kan huske (sig 10 ord). Derefter opretter du en unik 128-bit virkelig tilfældig adgangskode til hver konto (hex eller base 64 er god). 128-bit vil være stærk nok til en lang tid. Hvis du vil være paranoid, gå større, er det ikke noget ekstra arbejde at generere 256-bit hex-adgangskoder.
[1] Det er her, y ting kommer ind, hvis du er på en kompromitteret vært, du har mistet. Det betyder ikke noget, om du skriver det eller bruger et program som KeePass til at kopiere og indsætte det, hvis en angriber kan nøgle-logge / læse hukommelse.
[2] I stedet for den svagere (men mere sandsynligt) antagelse om, at angriberen netop har torrent en ordbog, der hedder ” Top Passw0rdz 4realz 111! “.
[3] Sikker på, at vi alle skulle bruge PBKDF2 osv … men mange steder er stadig på SHA1. (Og de er de gode)
Kommentarer
- @ Dick99999 moderne GPUer kan have 6 GB hukommelse på et enkelt kort (selvom det ville tage 2 pladser) og kan nemt gemme en ordbog med et par tusinde ord.
- @NateKerkhofs Dette er skræmmende og fantastisk på samme tid. Min første (programmerbare) maskine havde 1mHz og 64kb ram, og du taler om 6GB videohukommelse …
- ” 128-bit virkelig tilfældig adgangskode … ” Virkelig tilfældigt? Er det ikke ‘ t det stadig pseudorandom?
- Dette burde være accepteret svar, hvis det ikke er andet end den hellige krigsdel.
- @Doorknob Når du vælger meningsfulde kombinationer, forsvinder det meste af entropien. Jeg vandt ‘ ikke at estimere, hvor mange sætninger du kunne vælge, men dette er sandsynligvis tættere på en ud af en milliard end en ud af 2 ^ 44.
Svar
Schneier skriver dette:
Dette er grunden til det ofte citerede XKCD-skema til generering af adgangskoder – strengning af individuelle ord som “correcthorsebatterystaple” – er ikke længere et godt råd. Adgangskodekrakerne er ved med dette trick.
men nøglen til at forstå, hvad han virkelig søger, er lidt længere i sit essay:
Der er stadig et skema, der fungerer. Tilbage i 2008 beskrev jeg “Schneier-skemaet “
så det er det. Ole “Bruce vil hævde, at hans ordningen er den eneste, den bedste, vinderen, den ultimative ordning. Derfor er han nødt til at sige nedsættende ting om” konkurrenterne “, uanset om sådanne påstande er videnskabeligt sunde eller ej.
I dette tilfælde har det altid været antaget at metoden til generering af adgangskode er kendt af angriberen. Det er hele punktet med entropi-beregninger ; se analysen . At angribere er “på dette trick” ændrer slet ingenting (når en angriber kender metoden til generering af adgangskode, beskriver entropi-beregningen nøjagtigt adgangskodestyrken; når angriberen er inkompetent og kender ikke metoden til generering af adgangskode, adgangskodestyrken er kun højere med et beløb, som det næsten ikke er muligt at kvantificere).
Quip om “adgangskoder i hukommelsen” er bare mere usammenhængende vandringer. Adgangskoder går nødvendigvis til RAM på et eller andet tidspunkt, uanset om du skriver dem eller kopierer dem fra en adgangskodesikker eller noget lignende.
Mit gæt er, at Bruce var fuld.
Opdater : Schneier blev specifikt bedt om at kommentere sin fordømmelse af adgangskode i en Reddit AMA , der fandt sted 2. august 2016. Han fortsatte med at fortaler for sit adgangskodesystem som overlegen alternativ til tilfældige ordadgangssætninger. Schneier sagde, at hans skema “giver dig mere entropi pr. Mindeværdig karakter end andre metoder”, hvilket er sandt sammenlignet med tegn, der udgør ord. Men dette er også irrelevant, når et system er afhængig af at huske ord i stedet for tegn, og du har tilladelse til at kombinere nok ord til at generere passende “entropi” til din adgangssætning som helhed.
Kommentarer
- Ja, jeg syntes, hans kommentarer var en underlig afvigelse fra hans typiske gode råd.Hans anbefalede skema er sandsynligvis ikke ‘ t dårligt, men er ikke ‘ t blevet udsat for meget faktisk testning. Adgangssætningsmetoden er ret let at teste i sammenligning, og du ‘ tror, det ville appellere til kryptografen i ham. Måske skumrede han bare over nyhederne om at knække naturlige sprogadgangssætninger og så ‘ ikke en skelnen mellem disse og tilfældige ordadgangssætninger.
- Dit argument om, at han skulle nedværdigelse af konkurrencen mislykkes, da han straks efter at have beskrevet hans skema siger ” Endnu bedre er at bruge tilfældige uminnelige alfanumeriske adgangskoder (med symboler, hvis siden tillader dem), og en adgangskodeadministrator som Password Safe for at oprette og gemme dem “.
- @wfaulk Password Safe er Bruce Schneier ‘ s oprettelse, så hans argument om konkurrencen står stadig. Dit mislykkede udsagn mislykkes 😉
- @AviD: Det vidste jeg ikke helt. 😳
- Hvad du ‘ mangler, og tilsyneladende også Schneier, er at der ikke er noget ” trick ” til ” fang på “. Sikkerheden ved Diceware forudsætter allerede, at angriberen kender ordningen , faktisk antager den, at selve ordbogen er kendt. Det betyder ikke ‘, om angriberen har din nøjagtige ordbog og antallet af ord: der er simpelthen for mange kombinationer til at gennemføre for at foretage nogen form for vellykket angreb, før solen eksploderer.
Svar
[Oplysning: Jeg arbejder for AgileBits, skaberne af 1Password]
En af grundene til, at jeg talte for en XKCD-lignende ordning (før det blev kaldt det) i Mod bedre masteradgangskoder tilbage i 2011 er netop fordi dens styrke gør ikke stole på, at angriberen ved, hvilket skema du har brugt. Hvis jeg må citere mig selv
Det fantastiske ved Diceware er, at vi ved nøjagtigt, hvor sikkert det er, endog forudsat at angriberen kender det anvendte system. Sikkerheden kommer fra den ægte tilfældighed ved at kaste terningerne. Brug af fire eller fem ord bør være tilstrækkelig mod de sandsynlige angreb i løbet af de næste par år givet observeret hastighed for adgangskodekrakere [mod 1Password Master Password]
Hvad XKCD-tegneserien ikke kommunikerer effektivt, er at udvælgelsen af ord skal være (ensartet) tilfældig . Hvis du beder mennesker om at vælge ord tilfældigt, får du en tung bias for konkrete navneord. Sådanne forstyrrelser kan og vil blive udnyttet.
Hvor meget styrke du vil have
I en perfekt verden vil vi gerne styrke vores adgangskode for at være så stærk som de nøgler, vi beskytter med det. Sig 128 bits. Men på trods af disse teknikker vil mennesker ikke opnå det. Så lad os se realistisk på angreb og hvad vi kan få vores dårlige hjerner til at gøre.
Med den originale Diceware-ordliste med 7776 poster, du får cirka 12,9 bits pr. ord, som du bruger. Så hvis du vil have mindst 64 bits til din adgangskode, så vil fem ord gøre det.
Gætte adgangskoder er langsommere end gætte nøgler
I dette afsnit kommer jeg til en meget ru ryg i konvolutten estimerer, at det for et konstant beløb på dollars er 2 ^ 13 gange langsommere at teste en adgangskode, end det er at teste en AES-nøgle.
Bemærk, at test af en adgangskode er meget langsommere end at teste en nøgle. Hvis de rigtige slags adgangskodeshash-ordninger bruges, er det muligt at holde de fleste angribere nede på under 100.000 gæt per sekund. Så selvom vi måske aldrig vil bruge 50 bit nøgler, kan brug af 50 bit adgangskoder stadig give mening.
Hvis vi ikke vil begrænse os til at kaste terninger som i Arnold Reinhold “s originale Diceware-ordning fra 1995, så kan vi bruge en længere liste med ord. Den stærke adgangskodegenerator i 1Password til Windows bruger en liste med 17679 engelske ord mellem 4 og 8 bogstaver inklusive (frataget tabuord og ord, der involverer en apostrof eller bindestreger). Dette giver ca. 14 bits pr. Ord. Så fire af disse giver dig 56 bits, fem giver dig 70.
Igen skal du være opmærksom på revnerhastigheder. Deep Crack tilbage i 1997 var i stand til at køre 92 milliarder DES-tests pr. sekund. Forudsat at en high-end specialiseret pc kan udføre en million gæt pr. Sekund mod en rimeligt velhashet adgangskode kan gøre 1 million gæt per sekund, så er adgangskoder i dag ca. 16 bit sværere at knække end DES-nøgler var i 1997.
Så lad os se på dette Stack Exchange estimat for en dual core 3,8 GHz processor: 670 millioner nøgler pr. sekund.Hvis vi skulle antage $ 5000 i hardware, kan vi nemt overstige 10 milliarder nøgler pr. Sekund. Så med en lignende hardwareomkostning er nøgleknækkelse stadig mere end 2 ^ 13 gange hurtigere end adgangskodeknækning.
Reviderede mål for adgangskodestyrke
Arbejder på mit skøn, at det er 2 ^ 13 gange dyrere at teste et velhashet kodeord, end det er at teste en AES-nøgle, skal vi betragte et rimeligt godt hashet kodeord som 13 bit stærkere end dets faktiske entropi med hensyn til revner. Hvis vi ønsker at opnå 90 bit “effektiv styrke”, skal 77 bit adgangskodestyrke gøre det. Dette opnås med en Diceware-adgangskode på seks ord (77,5-bit) fra den oprindelige liste og 84,6 bits med seks ord trukket fra en liste med 17679 ord.
Jeg forventer ikke, at de fleste bruger adgangskoder, der lang. Jeg forventer, at folk vil bruge ting, der er 4 eller 5 ord lange. men hvis du virkelig er bekymret for, at NSA følger dine adgangskoder, bør seks ord være tilstrækkelige, forudsat at du bruger en ordentlig adgangskodeshash-ordning.
Kun meget grove skøn
Jeg brugte ikke meget tid på at undersøge omkostninger og benchmarks. Der er mange ting i mine skøn at skænke med. Jeg forsøgte at være konservativ (pessimistisk med hensyn til den ordning, som jeg går ind for). Jeg har også været vag over “godt hashede adgangskoder”. Igen er jeg meget konservativ med hensyn til adgangskodeshashing i 1Password. (For vores nye dataformat er angribere blevet holdt under 20.000 gæt per sekund, og for vores ældre dataformat har de nået 300.000 gæt per sekund for multi -GPU-maskiner. I mine estimater her har jeg “valgt 1 million gæt per sekund for en” rimeligt velhashet adgangskode “.)
Et par flere historiske noter
Det samlede idé til “XKCD-lignende” adgangskoder går mindst lige så langt tilbage som S / Key engangskodeord fra begyndelsen af 1980erne. Disse brugte en liste med 2048 en gennem fire bogstavsord. En S / Key-adgangskode på seks ord fik dig 66 bits. Jeg ved ikke, om denne idé om at bruge tilfældigt valgte ord fra en liste til en adgangsfrase forud for S / Key.
I 1995 , Arnold Reinhold foreslog Diceware . Jeg ved ikke, om han var opmærksom på S / Key på det tidspunkt. Diceware blev foreslået i forbindelse med udvikling af adgangssætninger til PGP. Det var også før de fleste computere havde kryptografisk passende tilfældige talgeneratorer. Så det involverer faktisk terningkast. (Selvom jeg stoler på CSPRNGerne på de maskiner, jeg bruger, nyder jeg stadig “at rulle en ny adgangskode op”).
I juni 2011 genoplivede jeg interessen for Diceware i Mod bedre masteradgangskoder med nogle yderligere ændringer. Dette resulterede i mine 15 minutters berømmelse. Efter at XKCD-tegneserien kom ud, producerede jeg en nørdudgave der gik gennem noget af matematikken.
I juli 2011 havde Randall Monroe hentet Diceware-lignende ordninger og offentliggjort sine nu tegneserie . Da jeg ikke er opfinderen af ideen, har jeg slet ikke noget imod at blive sat op af tegneserien. Som jeg sagde i min opfølgningsartikel
Hvad tog mig næsten 2000 ord at sige i ikke-tekniske termer, Randall Monroe var i stand til at opsummere i en tegneserie. Dette viser bare kraften i matematik …
Men der er én ting ved, hvordan tegneserien er blevet fortolket, der bekymrer mig. Det er klart for mig og folk, der allerede har forstået ordningen, at ordene skal vælges gennem en pålidelig ensartet tilfældig proces. At vælge ord “tilfældigt” ud af dit hoved er ikke en pålideligt ensartet proces .
Kommentarer
- Fantastisk at du nævner Diceware i et historisk perspektiv og samtidig anerkender det store marketingjob XKCD gjorde for adgangssætninger. Om dit ændrede skema, forklares hvor som helst, hvorfor ord på 3 eller 2 bogstaver ikke er inkluderet i disse ordlister? se blog.agilebits.com/2013/04/16/… . Er det fordi ordene som ‘ off ‘ og ‘ linje ‘ kunne også blive angrebet af 1 ord offline? Se mine kommentarer til Raestloz indlæg. Den originale Diceware-liste indeholder mange ord på 1, 2 og 3 bogstaver.
- Fremragende spørgsmål! Min (muligvis fejlagtige) tænkning på det tidspunkt var, at jeg også ville have adgangssætninger til at være mindst mulig. Jeg ville være sikker på, at hvis nogen brugte en tre ords adgangskode, ville den overstige mindst 12 tegn. Jeg bemærker, at S / Key også tillader ord på 1, 2 og 3 bogstaver.
- Jeg tjekkede hurtigt ordlisterne, som min SimThrow-adgangsfrasegenerator og tester bruger.Den oprindelige Diceware-liste har mindst 1400 af disse kollisioner som ‘ enhver ‘ ‘ hvordan ‘ og ‘ under alle omstændigheder ‘. Det kan nedbryde en sætning på 4 ord til 3 ord, hvis der ikke bruges nogen separator. Det ‘ er et højt kollisionsnummer, fordi listen indeholder alle bogstaver og to bogstavkombinationer. Så det ser ud til, at du har valgt det rigtige ikke at medtage ord på 2 bogstaver. Diceware anbefaler en minimums sætningslængde på 17. Min generator estimerer både ord- og tegnbaseret gendannelsestid for at klare websteder, der kun tillader korte adgangskoder (20).
- Jeg kontrollerede også følgende ordlister. S / Key : > 93 kollisioner, udvidede dicelister USA : > 190 og min nederlandske liste: > 750. En måde at håndtere dette på er at anbefale at inkludere et skilletegn mellem ordene i en sætning.
- Pas på at kaste terninger ikke er tilfældigt. forbes.com/sites/davidewalt/2012/09/06/… Og insidescience.org/blog/2012/09/12/…
Svar
XKCD-adgangskodeskemaet er lige så godt som det nogensinde var. Sikkerheden stammer ikke fra, at det er ukendt, men fra at det er en god måde at generere mindeværdige adgangskoder fra et stort søgerum. Hvis du vælger de ord, der skal bruges i stedet for at generere dem tilfældigt, er denne fordel dog tabt – mennesker er ikke god til at være tilfældig.
Biten om hukommelse er dårligt angivet, men det er en bekymring: hvis adgangskodestjæling af malware nogensinde kommer på din computer, vil den “ll feje alt tekstlignende op fra RAM og harddisken til brug i et rettet angreb på dine konti.
Kommentarer
- +1 Jeg don ‘ Jeg tror ikke XKCD-teknikken er død – den ‘ er ikke ‘ et trick ‘ at crackere ‘ er på ‘. Du kan kende teknikken udad, men det gør det ikke ‘ gør det ikke mere knækbart, hvis det ‘ er tilfældigt nok.
- @PiTheNumber hvis du ‘ bruger ikke nok ord eller en lille ordbog, så ‘ t anvender xkcd-teknikken overhovedet; men nej, selv i xkcd-tegneserien er det ‘ klart, at du IKKE mister din fordel, hvis du fortæller alle ” hej, jeg ‘ m ved hjælp af korrekthorsebatterystaple-stiladgangskode ” – mængden af veriations / entropi bits er højere end de fleste normale adgangskoder, selvom metoden er kendt.
- Forudsat at du ikke ‘ t også bruger XKCD ‘ s tilfældige talgenerator (jeg vandt ‘ t link, alle ved det).
- @PiTheNumber begrebet ‘ Ægte tilfældigt kodeord med 11 bogstaver ‘ er irrelevant, da det ikke er et rimeligt alternativ til adgangssætninger. Adgangssætninger er alternative til huskelige adgangskoder, og de er nøjagtigt så svage som xkcd beskriver. Sikker på, at hvis du bruger en adgangskode, der er gemt i en adgangskodeadministrator, så passer helt tilfældige adgangskoder, men i så fald ‘ er i det væsentlige ikke ‘ dit kodeord ‘ som i noget, som du vil bruge eller se, men snarere en ‘ autogenereret tilfældig nøgle token ‘ svarer til ssh-nøgler.
- @PiTheNumber Ordene er ikke menneskelige, de vælges tilfældigt. Ordbogen, hvorfra ordene er valgt, er selv valgt af mennesker, men det er en anden sag. Der er ingen “mest sandsynlige” – matematikken i xkcd-tegneserien er korrekt.
Svar
Som andre Når det er sagt, er det angreb, som Bruce Schneier beskriver, effektivt, når brugeren vælger flere ord selv / ikke selv ved hjælp af et værktøj. Schneier skriver normalt til et offentligt publikum, hvilket sandsynligvis ikke vil forstå forskellen mellem selvvalgte “tilfældige” ord og programvalgte tilfældige ord.
Jeg tilføjer, at selvom du bruger et script eller andet værktøj til tilfældigt at vælge ord fra en ordbog, skal du bruge den første rækkefølge, det giver dig . Hvis du beslutter dig, ” Jeg kan ikke lide den ene “og kører den igen, indtil du kan lide den, den er ikke længere en tilfældig adgangssætning den er valgt af mennesker.
Også selvom du bruger et script, og selvom du ikke skader tilfældigheden ved at vælge din favorit af flere sekvenser, er der stadig muligheden for, at en angriber kan udnytte din PRNG (pseudo-tilfældig nummergenerator). Hvis angriberen kan lære, hvornår du oprettede adgangskoden, og hvilken PRNG du brugte, og måske andre oplysninger om din PRNG, såsom netværkstrafik, der blev produceret ved hjælp af din PRNG omkring samme tid, kan det reducere den effektive entropi af din tilfældige adgangssætning.
Måske lidt esoterisk, men hvis din PRNG kan udnyttes, vil figuren 2 ^ 44 ikke blive fuldt ud realiseret. (Og hvis du antager “ingen vil prøve at udnytte min PRNG”, hvorfor er du ligeglad med at bruge en virkelig sikker adgangssætning?)
Kommentarer
- +1 Interessant vinkel. Udnyttelse af PRNG er indlysende i forbindelse med kryptering nøgler – det ‘ er interessant, at det ser ud til at være næsten en eftertanke her. Jeg gætter typiske adgangskoder er så dårlige at PRNGer føler sig sikre ved sammenligning. Formentlig, hvis en angriber kan stjæle en liste over hashede adgangskoder, ville det være trivielt at finde pwdChangedTime eller tilsvarende? En anden grund til at afslutte praksis med aldring med adgangskode?
- Hurtig bagside af konvolutten. Hvis du opdaterer adgangskoden inden for et minut efter generering af den, og den eneste kilde til entropi i din PRNG er systemtiden, kan du se på at skære ting ned så langt som 2 ^ 35 for nanosekundopløsning. Lyder det rimeligt?
- Antag, at jeg afviser en sætning, fordi jeg ikke ‘ ikke kan lide et ord og gør det 1000 gange. Så har jeg reduceret ordbogen med 1000 ord. Er valget fra den reducerede ordbog stadig tilfældigt? Hvis det stadig er, så giver en sætning på 4 ord fra en således reduceret 7776 ord Diceware-ordbog stadig (7776-1000) ^ 4 = 2.1E15 / 50.9 muligheder / entropibit ned fra 3.7E15 / 51,7 muligheder / entropibit for hele ordbog. Jeg er ikke i stand til at bedømme indflydelsen fra den tilfældige generator. Jeg bruger den fra www.random.org
- @ Dick99999 Jeg tror ikke ‘ det synes ‘ virkelig om antallet af tilbudte valg, du udelukker ved valg af en adgangskode. Det ‘ handler om mønsteret af hvilke sætninger du ville ekskluderer, hvis de præsenteres for dig. En angriber gætter måske på, at brugeren foretrækker kortere ord, ord, der er lettere at skrive på et QWERTY-tastatur, og ord uden store bogstaver eller tegnsætning. denne strategi kunne i høj grad mindske pladsen til adgangssætninger, der skal udforskes. Dybest set er det ‘ det samme problem som bare at gætte foretrukne sportshold, fødselsdage og børn ‘ navne.
- @wberry Jeg tror ikke ‘ tror ikke matematikken fungerer på det. Antag at du afviser 1000 adgangssætninger, før du finder en, du kan lide. Så er det ‘ et rimeligt skøn, at du kun kan lide 1/1000 af den mulige adgangskodeplads. Antag nu, at en angriber er i stand til helt at gætte, hvilken 1/1000 af rummet, der er din favorit – det reducerer antallet af muligheder fra 2 ^ 44 til 2 ^ 34, hvilket er signifikant, men ikke så meget, at et ekstra ord kan ‘ t fjerne tabet. Desuden er det ikke nødvendigt, hvis du begrænser dine afvisninger.
Svar
Det afhænger. En ting, du skal forstå, er at dette ikke er sikkerhed ved uklarhed: entropiværdierne, der bruges i tegneserien, antager, at angriberen allerede kender, at du bruger denne metode . Hvis angriberen ikke ved, hvordan du genererer adgangssætningen, så entropien går massivt op.
Tricket til XKCD-metoden er, at du faktisk skal bruge en tilfældig talgenerator og en god ordliste: vælg aldrig ordene dig selv, ikke engang “tilfældigt” (i citater, fordi mennesker faktisk er rigtig dårlige til at vælge ting tilfældigt, hvorfor du ikke skal gøre det). Diceware har værktøjer til at hjælpe dig med at gøre dette og tager endda det tilfældige element ud af computerens rækkevidde ved hjælp af almindelige terninger.
Mod et bredt angreb – den slags ting, hvor en angriber fik en liste over adgangskoder fra et websted og ikke ved noget om, hvis adgangskoder er på listen – dette er så stærkt som det nogensinde var. Ligesom du siger, kommer dens styrke fra eksponenternes magt (og en god ordliste).
Schneiers angreb kan fungere, men kun i en helt anden sammenhæng. Hans angreb antager, at du specifikt målrettes mod en angriber, der allerede ved en hel del om dig .Dette virker måske ikke særlig bekymrende i starten, fordi den stereotype beslutsomme angriber er en efterretningsagent bag en skærm, og de fleste af os behøver ikke bekymre sig så meget om dem: der er kun så mange af dem, og hver enkelt kan kun har råd til at bekymre sig om så mange mennesker. Men det er faktisk mere et problem, end det måske først ser ud, takket være fremkomsten af sofistikeret malware. En malware-installation har råd til at bekymre sig om dig, selvom angriberen ikke gør det, og så du stadig ender med at stå over for en ekstremt målrettet angriber. Endnu mere bestemt end et menneske kunne faktisk være meget mindre kreativ.
Malware, der samler information om dig, giver ord, der synes vigtige for dig, meget høj prioritet i ordlisten. Det gør det, fordi de fleste vælger de “tilfældige” ord selv, men på den måde forspænder de faktisk ret stærkt over for de ord, der er vigtigst for dem: det kan stadig “føles” tilfældigt, men nogle ord er meget mere komme op end andre. At give disse ord høj prioritet resulterer derfor ofte i relativt hurtige hits, og dette er det “trick”, som Schneier taler om.
Dog du kan stadig forhindre Schneiers angreb ved at bruge ægte tilfældighed . Fangsten er, at dette kræver disciplin: alle beslutninger om, hvilke ord der skal bruges i din adgangssætning (bortset fra at vælge et godt ord liste) skal tages helt ud af dine hænder. Det er her ting som Diceware kan hjælpe dig.
Kommentarer
- @Gilles: Grunden til at entropien går ned, hvis angriberen ved, at metoden er, at den ændrer hele strukturen i adgangskoden. Hvis du ikke ‘ ikke kender metoden, så ” korrekt hestebatteri hæfteklammer ” ligner 216 symboler fra et 2-symbol alfabet: med andre ord 216 bits. Hvis du ved, at det ‘ s fire engelske ord (og kender XKCD
s ordliste), så ligner det 4 symboler fra et 2048-symbol alfabet. 2048 ^ 4 er stor, men den ‘ er mindre end 2 ^ 216, hvilket er hvor mange byte entropi en virkelig tilfældig bitstreng af den længde ville have. Men XKCD ‘ s krav tegner sig allerede for det: 2048 ^ 4 = 2 ^ 44.
Svar
Styrken matematik er ret simpelt, hvis ordvalg er tilfældigt: (antal ord i ordbogen) ^ (antal ord i sætningen), forudsat at angriberen kender antallet af i ordbogen. Så en sætning på 5 ord ved hjælp af en kendt ( af angriberen !) 7776 ord Diceware-ordbog: har 7776 ^ 5 = 2.8E19 eller 64 bit entropi.
Der er et element, der ikke er nævnt i skemaet: ved at tilføje kun 1 (tilfældigt) tegn på et tilfældigt sted i hele sætningen er styrken op med ca. 10 bit , se Diceware, valgfri ting .
Ovenstående matematik tager heller ikke højde for separatorsymbolet mellem ordene. Det kan tilføje yderligere 5 bits.
Kommentarer
- Pointen (eller mindst en af dem) i XKCD-tegneserien er, at tilføjelse af et tilfældigt tegn på et tilfældigt sted øger vanskeligheden at huske kodeordet mere, end det øger vanskeligheden ved at knække det.
- Sandt for at huske generelt, ikke sandt for et hovedadgangskode til en hvælving, tror jeg. Jeg ser ‘ let at skrive ‘ som den største fordel. Jeg støder på flere og flere situationer, hvor adgangskodeadministratorer ikke kan udfylde adgangskoden (apps, WifI-gæstenetværk), og jeg er nødt til at skrive dem.
- @Mark – de ekstra tilfældige (eller bare ikke-ordbog) tegn kunne være den samme på tværs af alle dine adgangskoder, hvilket betyder at du ikke har glemt det ‘. Du ‘ Tjen de ekstra bit entropi i det mindste indtil flere andre af dine adgangskoder er kompromitterede, på hvilket tidspunkt adgangskoden stadig er xkcd-styrke …
- @imsotiredicantsleep – Det er et meget interessant forslag. Har altid ledt efter en løsning, der gør denne styrkelsesteknik lettere at bruge. Det kunne kaldes sikkerhed ved uklarhed, fordi angriberen kan drage fordel af viden om den tilfældige karakter og positionen. En lille afvejning, jeg tænker mellem brugervenlighed og sikker.
- @ Dick99999 absolut, det ‘ er en afvejning. Men indtil den konstante komponent er kompromitteret, vil den besejre et na ï ve-ordbogangreb og forsinke betydeligt et mere sofistikeret. Jeg er ikke ‘ ikke enig i, at det ‘ er sikkerhed ved uklarhed, da jeg kan fortælle dig, at jeg bruger teknikken uden at miste den entropi, som de mulige værdier giver mig. Hovedsvagheden er, at når den konstante del er kendt, har du ofret adgangskode i fast ejendom , der kunne have været randomiseret.
Svar
Jeg vil også gerne tilføje et ja svar også, men for af andre grunde. Det er ikke et godt råd [generelt] på grund af længdebegrænsninger:
- Websteder som Skype, ING, eBay og i mit land begrænser Binckbank og KPN adgangskoder til 20 tegn. (Denne bankgrænse er 15, men den brugte autorisation med 2 faktorer)
- Med en gennemsnitlig længde på 4,5 tegn / ord for en kort ordbog på 3000-8000 ord, der kun tillader brug af 3-4 ordsætninger.
- Ved brug af store ordbøger kan gennemsnittet kun være 6-7: 3 ord
- Hvis webstedet insisterer på at bruge et symbol og et tal i adgangskoden, er der kun 18 tegn tilgængelige for sætningen.
Disse længder beskytter kun mod online angreb. For off-line-angreb afhænger af nøgledivation og hash-funktion, iterationstælling og cracking-hardware, der bruges af appwebstedet, om en sætning på 3-4 ord giver tilstrækkelig beskyttelse.
Kommentarer
- Websteder, der begrænser længden af adgangskoder, er ofte en god indikator for, at deres adgangskodelagringssystem er meget usikkert. Løb væk. Alt i alt har kravene til adgangskodestyrke tendens til at være mere skadelige end nyttige, IMO (både for sikkerhed og mindeværdighed).
- Føj Suntrust til listen over adgangskoder, der er begrænset til 15 tegn. Jeg spekulerer på, hvad der sker med den branche ..
- På bagsiden er det ‘ betydeligt lettere at skrive ‘ correcthorsebatterystaple ‘ på en smartphone end at skifte mellem små og store bogstaver, tal og tegnsætning.
- Lav adgangskodegrænse ikke ‘ t betyder bare usikre metoder til opbevaring af adgangskoder – de betyder, at adgangskoder gemmes i almindelig tekst eller er krypterede (ikke hashede). @ Á ngel Mine adgangskoder til alle Microsoft-relaterede konti er længere end det, så jeg ringer til BS. For alderen siden, før NTLM, var Windows-adgangskoder begrænset til 16 tegn, iirc. Det går forud for XP og er næppe relevant.
- @Zenexer Med hensyn til Microsoft-konti: Microsoft online-konti (live.com, Office 365 osv.) Er begrænset til 16 tegn (bogstaver, tal og nogle symboler er tilladt ).
Svar
Det er vigtigt at have den rigtige kontekst. xkcd comic sammenligner Tr0ub4dor&3
ved en antaget 28 bit entropi (selvom jeg beregner det som 34.6) til correcthorsebatterystaple
og dets antagne 44 bit entropi (en fire ord diceware kode er 51,7 bits … men et af disse ord er ikke noget diceware. Ved hjælp af en simpel staveordbog på 100.000 ord beregner jeg det til at være 66,4 bits).
Lad os først gøre det lettere at forstå. Der er 94 tegn, der kan udskrives. En adgangskode med et tegn har log₂(94) = 6.55
entropibit. To tegn har log₂(94²) = 13.10
entropibit.Du kan dele den endelige entropi af et adgangskodeskema med 6,55 for at bestemme den ækvivalente kompleksitet af et rent tilfældigt kodeord målt i tegn.
Derfor:
- 28 bits af entropi ≈ 4,3 tegn kodeord (meget dårlig!)
- 44 bit entropi ≈ 6,7 tegn kodeord (også dårlig)
- 66,4 bit entropi ≈ 10,1 tegn kodeord (okay for 2016)
Hvis du stoler på xkcds numre, kan du se, hvorfor Schneier var bekymret. Dette virker en smule overdrevet, da de fleste angribere stadig vil give op efter cirka ti tegn [citat behov] —Det skulle tage et par år for en stor klynge at bryde en 10-trins MD5-hashadgangskode – selvom selvfølgelig, hvis en god angriber kender dit skema, er den absolutte tegnlængde ikke et problem.
Den samlede kompleksitet af skemaet er vigtigst. Du må antage det værste tilfælde (at angriberen kender dit nøjagtige skema) . Det er en god ide at desuden sikre, at dit kodeord er over 11 tegn ( når det er tilladt ), men at det er en sekundær prioritet (og det kommer gratis med adgangssætninger ).
Opret adgangssætninger med fire ord plus en adgangskode
Her er mit råd til oprettelse af passfarse (med entropi-estimater):
- Lav en meningsløs “sætning” på 4+ ord på 4+ tegn hver (100.000⁴)
- Ingen af disse ord kan forbindes til jer –eller hinanden– på nogen måde
- Brug store bogstaver, mellemrum og mindst to symboler eller tegnsætningstegn (32²)
- Mindst et ord skulle mislykkes stavekontrol (f.eks. leetspeak, fremmede ord, hver 64)
- Inkluder mindst en anden “fejl” (stavning / grammatik / syntaks, entropi ukendt)
- Mellem to ord, tilføj en traditionel “tilfældig” adgangskode på 7+ tegn (92⁷)
Dette skal være mindst log₂(100000⁴ × 32 × 3 × 64 × 92⁵) = 112
bit entropi (som er meget stærk, ≈17 tegn). Jeg sprang over store bogstaver (jeg antager, at kun den første tegn er med store bogstaver) og et symbol (jeg antager, at det ender med .
, !
eller ?
, så det andet symbol har en kompleksitet på 3), og jeg antog også, at “tilfældig” ikke er tilfældig og beregnet koden som en ækvivalent med fem tegn (streng overholdelse af ovenstående formel giver dig 128+ bit entropi ved ≈20 tegn).
Det sidste punkt er værd at gentage:
Mennesker er meget dårlige til at generere tilfældighed
Meget meget få menneskeskabte “tilfældige” tegnadgangskoder, selv tilgang ægte tilfældighed. Der vil være mønstre i den koderelaterede til personens tastatur, yndlingsnumre og / eller en antagelse om, at et bestemt uklart ord er uoverskueligt.
Jeg designede denne ordning til at være robust mod folks iboende mangel på tilfældighed, idet man antager et begrænset ordforråd (sig de 2600 ord i Basi c Engelsk ), brug af relaterede ord (straffes ved kun at tælle tre ord) og en adgangskode, der er begrænset til kun entropien af seks alfanumerik, log₂(2600³ × 62⁶)
selv er stadig stærk på 70 bits (≈10,6 tegn).
Lad ikke dette vand ned i din adgangssætning! Dette afsnit er til stede for at demonstrere, at dette skema har en vis modstand mod den begrænsede entropi af mennesker valg, ikke for at tilskynde til dårlige valg.
Den eneste virkelige problemer kommer fra folk, der tager citater eller tekster som deres fire ord. Disse pass-sætninger er trivielt besejret, hvis citatet eller lyrikken kan gættes (sig ved at se på dine Facebook-likes) eller ellers ville have en entropi på omkring 6 tilfældige tegn på en cracktid på 30 sekunder (MD5) til 17 dage (PBKDF2) .
Du kan bruge min entropytabel til beregne entropien for dit adgangsudtryksskema.
(Vær ikke bekymret for det faktum, at adgangskoder kort lever i hukommelsen medmindre du er “en udvikler”
Kommentarer
- Det skal også bemærkes, at ikke- ASCII tegn er som sølvkugler og besejrer de fleste angreb automatisk. En adgangskode på
•••••••••
(ni punkttegn) er pinligt sikker (og ser den samme maskerede ud som maskeret!) På grund af længde og uklarhed, selvom den ‘ d være en forfærdelig idé, der faktisk er afhængig af netop denne kendsgerning. Sæt et ikke-ASCII-tegn i din adgangskode + 4word, og din kompleksitet skyrockets (for at beregne, brug dens unicode-værdi), men måske på bekostning af bærbarhed (hvad hvis du ‘ bruger en ven ‘ s smartphone?)
Svar
Nej, det tror jeg ikke.
Det egentlige råd i den xkcd-tegneserie er at bruge mnemonics, der er lette at huske og generer adgangskode, så længe du kan huske dem . Disse er grundlæggende råd om adgangskoder overalt og vil altid være sande (selv den citerede Schneiers metode bruger disse to grundlæggende fakta). Faktisk bruger tegneserien almindelige engelske ord, men din implementering behøver ikke at være eller gjorde det tegneserien indebærer, at du skal.
Selvfølgelig er de mest sikre adgangskoder helt tilfældige strenge som hvordan en MD5-streng ser ud, og du kan sandsynligvis bruge en adgangskodeadministrator til at gemme alle disse adgangskoder, men derefter hvilken adgangskode skal du bruge til den manager? ¯ \ (ツ) / ¯
Kommentarer
- ” Selvfølgelig er de mest sikre adgangskoder helt tilfældige strenge ” NEJ, se for en sammenligning da.wikipedia.org/wiki/Password_strength#Random_passwords
- Nej, at ‘ er ikke, hvad xkcd rådgiver, jeg foreslår, at du læser det igen – og analysen i det relevante spørgsmål her (linket ovenfor).
- Din signatur ” ¯ \ (ツ) / ¯ ” er en fremragende adgangskode: kort, let at huske, virkelig svært at bryde, svært at opdage som en adgangskode på en log.
- @Daniel Azuelos, … trivielt at føje til en liste over strenge i almindelig brug …
- @Raestloz En person, der taler et sprog, der ikke ‘ Brug ikke tegn, der ligger i ASCII-området, er ikke ‘, der ikke bruger en ASCII-adgangskode. Tror du, at alle disse mennesker i asiatiske lande bruger to tastaturer, et til hverdagsindtastning og et til adgangskoder? I modsætning til tredive år gamle operativsystemer, som DOS, håndterer alle moderne OS ‘ Unicode og andre tegnsæt / sider helt fint, og ethvert websted skal understøtte dem (så længe ‘ t koder formularen ved hjælp af et tilfældigt tegnsæt hver gang eller lader browseren vælge). Adgangskoder er bare bits, der betyder noget for mennesker.
correcthorsebatterystaple
, blev den nu meget mindre sikker!correcthorsebatterystaple
, skal du passe på, at du ikke ‘ ikke logger ind på et system, der stille afkorter det! En adgangskode somcorrecth
er sandsynligvis lettere at gætte endN#y;f8eR
.