Není již “ často citované schéma XKCD […] dobrou radou ”?

Klopýtal jsem a narazil jsem na tento esej od Bruce Schneiera, který tvrdí, že Schéma hesla XKCD bylo skutečně mrtvé.

Moderní crackery hesel kombinují různá slova ze svých slovníků : […]

To je důvod, proč často citované schéma XKCD pro generování hesel – spojujte jednotlivá slova jako “ correcthorsebatterystaple “ – již není dobrá rada. Tento trik používá crackery hesel.

Útočník přenese do crackerů hesla všechny osobní údaje, které má o tvůrci hesla. Dobrý cracker hesel otestuje jména a adresy z adresáře, významná data a jakékoli další osobní údaje, které má. […] pokud jej váš program někdy uložil do paměti, tento proces ji uchopí.

Jeho tvrzení se zdá být takové, protože je známo že lidé si mohou vytvořit svá hesla takovým způsobem, aby to umožnilo útok, ale zdá se, že síla spočívá čistě v moci exponentů. Předpokládám, že naráží na lidi, kteří si slova nevybírají opravdu náhodně, což snad není „Není to naprosto falešné, protože jsem několikrát přešel, abych získal něco, co není ve všech příslovcích a adjektivech. Předpokládám však, že snížení entropie o faktor 2–10 není opravdu významné (pokud je seznam slov se zdvojnásobí na 4000, ne tak těžké, ztráta je více než obnovena).

Další vtip o „, pokud jej váš program někdy uložil do paměti “ je však trochu znepokojující … nejsou všechna hesla uložená v paměti najednou? To se zdá trochu přehnané; na co vlastně odkazuje do?

Komentáře

  • Diskuse se 123 komentáři k tomu je na reddit.com/r/technology/comments/1yxgqo/ …
  • Při přejetí myší název obrázku odhalí – “ komukoli, kdo rozumí informacím teorie a bezpečnosti a je v rozzuřeném sporu s někým, kdo to neudělá (možná se jedná o smíšený případ), upřímně se omlouvám. “ To by vám pomohlo :))
  • Tato přednáška TED obsahuje zajímavý výzkum různých schémat vytváření hesel, včetně xkcd: ted.com/talks/…
  • Pouze pro informaci: Pokud vaše heslo skutečně bylo correcthorsebatterystaple, nyní je mnohem méně zabezpečené!
  • Pokud používáte heslo jako correcthorsebatterystaple, dávejte pozor, abyste se ‚ nepřihlásili do systému, který jej tiše zkrátí! Heslo jako correcth je pravděpodobně uhodnutelnější než N#y;f8eR.

odpověď

Svatá válka

Myslím, že zjistíte, že správný způsob generování hesel by mohl zahájit svatou válku, kde si každá skupina myslí, že ta druhá dělá velmi jednoduché matematické chyby nebo chybějící bod. Pokud v místnosti dostanete 10 profesionálů v oblasti počítačové bezpečnosti a zeptáte se jich, jak přijít s dobrými hesly, získáte 11 různých odpovědí.

Nedorozumění

Jedním z mnoha důvodů je žádná konzistentní rada ohledně hesel nespočívá jen v problému modelování hrozeb . Proti čemu se přesně snažíte bránit?

Například: snažíte se chránit před útočníkem, který se na vás konkrétně zaměřuje a zná váš systém pro generování hesel? Nebo jste jen jedním z milionů uživatelů v nějaké uniklé databázi? Bráníte se proti prolomení hesla na základě GPU nebo jen slabému webovému serveru? Jste na hostiteli infikovaném malwarem [1]?

Myslím, že byste měli předpokládat, že útočník zná vaši přesnou metodu generování hesel a pouze na vás cílí. [2] Komiks xkcd předpokládá v obou příkladech, že jsou známy všechny podrobnosti generace.

Matematika

Matematika v komiksu xkcd je správná a nebude se měnit .

U hesel musím psát a pamatovat, že používám pythonovský skript , který generuje hesla ve stylu xkcd, která jsou skutečně náhodná. Mám slovník 2 ^ 11 (2048) běžných, snadno hláskovatelných, anglických slov. Mohl bych dát útočníkovi celý zdrojový kód a kopii mého seznamu slov, stále bude 2 ^ 44 možných hesel.

Jak říká komiks:

1000 odhadů / s Pravděpodobný útok na slabou vzdálenou webovou službu. Ano, rozluštění ukradeného hashu je rychlejší , ale průměrný uživatel by se toho neměl bát.

Tím se dosáhne pěkné rovnováhy mezi snadno zapamatovatelnou a obtížně prolomitelnou.

Co kdybychom zkusili více energie ?

Jistě 2 ^ 44 je v pořádku, ale crackování GPU je rychlé a jen se zrychlí. Hashcat by mohl rozbít slabý hash [3] této velikosti za několik dní, ne let. Také si musím pamatovat stovky hesel. Dokonce i styl xkcd se po několika ztvrdne.

Zde přicházejí správci hesel, líbí se mi KeePass , ale existuje mnoho dalších, které jsou v zásadě stejné. Pak můžete vygenerovat pouze jednu delší frázi xkcd, kterou si můžete zapamatovat (řekněme 10 slov). Poté vytvoříte jedinečné 128bitové skutečně náhodné heslo pro každý účet (hex nebo base 64 jsou dobré). 128 bitů bude dostatečně silný pro dlouho. Chcete-li být paranoidní, zvětšujte se, není třeba nijak generovat 256bitová hexadecimální hesla.


[1] Zde si pamatujete Pokud přijdete na kompromitovaného hostitele, ztratili jste. Nezáleží na tom, jestli jej napíšete nebo použijete ke kopírování a vložení programu, jako je KeePass, pokud útočník dokáže zaznamenat klíč / číst paměť.

[2] Spíše než slabší (ale pravděpodobnější) předpoklad, že útočník právě torrentoval slovník s názvem “ Top Passw0rdz 4realz 111! „.

[3] Určitě bychom všichni měli používat PBKDF2 atd., Ale spousta stránek je stále na SHA1. (A jsou to ty dobré)

Komentáře

  • @ Dick99999 moderní GPU mohou mít na jedné kartě 6 GB paměti (i když by to trvalo 2 sloty) a mohou snadno uložit slovník několika tisíc slov.
  • @NateKerkhofs To je děsivé a úžasné zároveň. Můj první (programovatelný) stroj měl 1 MHz a 64 kB RAM a mluvíte o 6 GB video paměti …
  • “ 128bitové skutečně náhodné heslo … “ Skutečně náhodné? Není to ‚ stále pseudonáhodné?
  • Toto by měl být přijatá odpověď, pokud z jiného důvodu než části Svaté války.
  • @Doorknob Jakmile zvolíte smysluplné kombinace, většina entropie zmizí. Neusiluji se ‚ pokusit se odhadnout, kolik vět můžete vybrat, ale toto je pravděpodobně blíže jedné miliardě než jedné ve 2 ^ 44.

Odpověď

Schneier píše toto:

Proto často citované schéma XKCD pro generování hesel – spojování jednotlivých slov jako „correcthorsebatterystaple“ – již není dobrá rada. Pro tento trik se používají crackery hesel.

, ale klíč k pochopení toho, o co vlastně jde, je v jeho eseji trochu dále:

Stále existuje jedno funkční schéma. V roce 2008 jsem popsal Schneierovo schéma „

takže je to. Ole „Bruce chce tvrdit, že jeho režim je Jediný, nejlepší, vítěz, konečný režim. Proto musí říkat pohrdavé věci o„ konkurentech “, bez ohledu na to, zda takový tvrzení jsou vědecky správná nebo ne.

V tomto případě se vždy předpokládalo , že útočník zná metodu generování hesla. To je celý bod výpočtu entropie ; viz analýza . To, že útočníci jsou „na tento trik“, nezmění vůbec nic (když útočník zná metodu generování hesla, výpočet entropie popisuje přesně sílu hesla; když je útočník nekompetentní a nezná metodu generování hesla, síla hesla je pouze vyšší, o množství, které je téměř nemožné vyčíslit).

Výrok o „heslech v paměti“ je jen nekoherentní rambling. Hesla nutně v určitém okamžiku přejdou do paměti RAM, ať už je napíšete nebo zkopírujete a vložíte z bezpečného hesla, nebo čehokoli podobného.

Myslím, že Bruce byl opilý.

Aktualizovat : Schneier byl konkrétně požádán, aby komentoval své odsouzení hesla v Reddit AMA , které se konalo 2. srpna 2016. Pokračoval v prosazování svého systému pro vytváření hesel jako vynikající alternativa k náhodným heslovým frázím. Schneier řekl, že jeho schéma „vám dává více entropie na zapamatovatelnou postavu než jiné metody“, což je pravda ve srovnání s postavami, které tvoří slova. Ale to je také irelevantní, když se systém spoléhá na memorování slov, nikoli znaků, a máte povoleno kombinovat dostatek slov k vytvoření adekvátní „entropie“ pro vaši přístupovou frázi jako celek.

Komentáře

  • Jo, myslel jsem, že jeho komentáře byly zvláštním odklonem od jeho typické dobré rady.Jeho doporučené schéma pravděpodobně není ‚ t špatné, ale nebylo ‚ t podrobeno mnoha skutečným testům. Přístupová fráze je ve srovnání poměrně snadno otestovatelná a ‚ si myslíte, že by to kryptografa v něm oslovilo. Možná jen prošel zprávami o prolomení přístupových frází přirozeného jazyka a ‚ neviděl rozdíl mezi těmi a náhodnými heslovými frázemi.
  • Váš argument o něm je třeba znevažování soutěže selhalo, protože bezprostředně po popisu svého schématu říká “ Ještě lepší je použít náhodná nepamatovatelná alfanumerická hesla (se symboly, pokud to stránka umožňuje), a správce hesel, jako je Password Safe, aby je vytvořil a uložil „.
  • @wfaulk Password Safe je Bruce Schneier ‚ s tvorbou, takže jeho argument o konkurenci stále trvá. Vaše prohlášení o selhání selže 😉
  • @AviD: To jsem úplně nevěděl. 😳
  • To, co vám ‚ chybí a zjevně také Schneier, je to, že neexistuje žádný “ trik “ až “ chytit „. Zabezpečení Diceware již předpokládá, že útočník ví o schématu , ve skutečnosti předpokládá, že je známý samotný slovník. Nezáleží na tom ‚, zda má útočník váš přesný slovník a počet slov: je prostě příliš mnoho kombinací, které musíte projít, abyste mohli provést jakýkoli druh úspěšného útoku, než exploduje slunce.

Odpověď

[Zveřejnění: Pracuji pro AgileBits, tvůrce 1Password]

Jedním z důvodů, proč jsem se v roce 2011 v Směrem k lepším heslům v roce 2011 zasazoval o schéma podobné XKCD, je právě proto, že jeho síla nespoléhejte na to, že útočník bude vědět, jaké schéma jste použili. Pokud mohu citovat sám sebe

Skvělá věc na Diceware je, že přesně víme, jak bezpečná je, dokonce za předpokladu, že útočník zná použitý systém. Zabezpečení pochází ze skutečné náhodnosti házení kostkami. Použití čtyř nebo pěti slov by mělo v následujících několika letech stačit proti věrohodným útokům vzhledem k pozorované rychlosti crackerů hesel [proti hlavnímu heslu 1Password]

To, co komiks XKCD efektivně nekomunikuje, je to, že výběr slov musí být (jednotně) náhodný . Pokud požádáte lidi, aby náhodně vybírali slova, získáte silnou odchylku pro konkrétní podstatná jména. Takové předsudky mohou a budou využity.

Kolik síly chcete

V dokonalém světě bychom chtěli, aby síla našeho hesla byla stejně silná jako klíče, kterými chráníme to. Řekněte 128 bitů. Ale navzdory těmto technikám to lidé nedosáhnou. Pojďme se tedy realisticky podívat na útoky a na to, co můžeme nechat udělat svým malým mozkům.

S původním seznamem slov Diceware s 7776 položkami získáte přibližně 12,9 bitů na slovo, které používáte. Pokud tedy chcete pro své heslo alespoň 64 bitů, udělá to pět slov.

Hádání hesel je pomalejší než hádání klíčů

V této části se dostávám k velmi hrubému zádům odhadu obálky, že pro konstantní množství dolarů je 2 ^ 13krát pomalejší testování hesla než testování klíče AES.

Všimněte si, že testování hesla je mnohem pomalejší než testování hesla klíč. Pokud jsou použity správné druhy schémat hašování hesel, je možné udržet většinu útočníků pod 100 000 odhadů za sekundu. Takže když možná nikdy nebudeme chtít použít 50bitové klíče, používání 50bitových hesel může mít smysl.

Pokud se nebudeme omezovat na házení kostkami jako v původní schéma Diceware z roku 1995, pak můžeme použít delší seznam slov. Generátor silných hesel v 1Password pro Windows používá seznam 17679 anglických slov o délce 4 až 8 písmen (zbavených tabuizovaných slov a slov, která obsahují apostrof nebo pomlčky). To dává asi 14 bitů na slovo. Čtyři z nich vám tedy dávají 56 bitů, pět vám dává 70.

Opět musíte věnovat pozornost rychlosti praskání. Deep Crack v roce 1997 dokázal spustit 92 miliard testů DES za sekundu. Za předpokladu, že špičkový specializovaný počítač dokáže provést jeden milion odhadů za sekundu proti přiměřeně dobře hašovanému heslu, by mohl udělat 1 milion odhadů za sekundu, je dnes hesla o 16 bitů těžší prolomit než u klíčů DES v roce 1997.

Podívejme se tedy na tento odhad Stack Exchange pro dvoujádrový procesor 3,8 GHz: 670 milionů klíčů za sekundu.Pokud bychom měli předpokládat 5 000 $ v hardwaru, můžeme snadno překročit 10 miliard klíčů za sekundu. Takže při podobných nákladech na hardware je prolomení kláves stále více než 2 ^ 13krát rychlejší než prolomení hesla.

Upravené cíle týkající se síly hesla

Práce na mém odhadu, že je to 2 ^ 13 krát nákladnější na testování dobře hashovaného hesla než na testování klíče AES, měli bychom považovat rozumně dobře hashované heslo jako o 13 bitů silnější než jeho skutečná entropie, pokud jde o crackování. Pokud chceme dosáhnout 90 bitů „efektivní síly“, mělo by to udělat 77 bitů síly hesla. Toho je dosaženo šestislovným heslem pro Diceware (77,5 bitů) z původního seznamu a 84,6 bitů se šesti slovy čerpanými ze seznamu 17679 slov.

Neočekávám, že většina lidí použije hesla, která dlouho. Očekávám, že lidé budou používat věci o délce 4 nebo 5 slov. ale pokud se skutečně obáváte, že by NSA šlo po vašich heslech, mělo by stačit šest slov za předpokladu, že používáte slušné schéma hašování hesel.

Pouze velmi hrubé odhady

Nestrávil jsem spoustu času zkoumáním nákladů a referenčních hodnot. V mých odhadech je spousta věcí, se kterými se hádám. Snažil jsem se být konzervativní (pesimistický vůči schématu, které obhajuji). Také jsem byl nejasný ohledně „dobře hashovaných hesel“. Znovu jsem velmi konzervativní, pokud jde o hašování hesel v 1Password. (U našeho nového datového formátu byli útočníci omezeni na méně než 20 000 odhadů za sekundu a pro náš starší datový formát dosáhli 300 000 odhadů za sekundu pro více – Stroje GPU. Podle mých odhadů jsem zde vybral „odhad za milion“ za „přiměřeně dobře hašované heslo“.)

Několik dalších historických poznámek

Celková Myšlenka na hesla podobná „XKCD“ sahá přinejmenším do minulosti než jednorázová hesla S / Key z počátku 80. let. Tato hesla používala seznam 2048 hesel. prostřednictvím čtyřpísmenných slov. Šestislovné heslo S / Key vám přineslo 66 bitů. Nevím, jestli tato myšlenka použití náhodně vybraných slov ze seznamu pro přístupovou frázi předchází S / Key.

V roce 1995 , Arnold Reinhold navrhl kostky . Nevím, zda v té době věděl o S / Key. Diceware byl navržen v kontextu vývoje přístupových frází pro PGP. Bylo to také dříve, než většina počítačů měla kryptograficky vhodné generátory náhodných čísel. Takže to vlastně zahrnuje házení kostkami. (I když důvěřuji CSPRNG na strojích, které používám, stále mě baví „vyhrnout nové heslo“).

V červnu 2011 jsem oživil zájem o Diceware v Směrem k lepším hlavním heslům s nějakou další úpravou. Výsledkem bylo mých 15 minut slávy. Poté, co vyšel komiks XKCD, jsem vytvořil geek vydání , které prošly některými matematikami.

V červenci 2011 se Randall Monroe rozhodl pro schémata podobná Diceware a publikoval svou nyní slavnou komik . Jelikož nejsem vynálezcem nápadu, vůbec mi nevadí, že mě komiks naštve. Ve skutečnosti, jak jsem řekl ve svém navazujícím článku

Co mě téměř zabralo Randall Monroe, který netechnicky vyjádřil 2 000 slov, dokázal shrnout do komiksu. To jen ukazuje sílu matematiky …

Existuje však jedna věc, jak byl komiks interpretován, což mě znepokojuje. Mně a lidem, kteří již tomuto schématu porozuměli, je jasné, že slova musí být volena spolehlivě jednotným náhodným postupem. Vybírání slov „náhodně“ z hlavy není spolehlivě jednotný proces .

Komentáře

  • Skvělé, že jste zmínili Diceware v historické perspektivě a zároveň ocenili skvělou marketingovou práci, kterou XKCD pro přístupová hesla udělala. Je u vašeho upraveného schématu kdekoli vysvětleno, proč nejsou v těchto seznamech slov zahrnuta 3 nebo 2 písmenná slova? viz blog.agilebits.com/2013/04/16/… . Je to proto, že slova jako ‚ off ‚ a ‚ line ‚ může být také napadeno 1 slovem offline? Podívejte se na mé komentáře k příspěvku Raestloz. Původní seznam Diceware obsahuje mnoho 1, 2 a 3 písmenných slov.
  • Skvělá otázka! Moje (možná chybné) myšlení v té době bylo, že jsem také chtěl, aby přístupové fráze byly minimální délky. Chtěl jsem se ujistit, že pokud někdo použije tříslovnou přístupovou frázi, překročí minimálně 12 znaků. Všiml jsem si, že S / Key také umožňuje 1, 2 a 3 písmenná slova.
  • Rychle jsem zkontroloval seznamy slov, které používá generátor přístupové fráze SimThrow a tester.Původní seznam Diceware obsahuje nejméně 1400 těchto kolizí, například ‚ libovolný ‚ ‚ jak ‚ a ‚ jakkoli ‚. To může degradovat čtyřslovnou větu na 3 slova, pokud není použit oddělovač. Je to ‚ s vysokým počtem kolizí, protože tento seznam obsahuje všechna písmena a kombinace dvou písmen. Zdá se tedy, že jste se rozhodli správně a nezahrnovali dvoupísmenná slova. Diceware doporučuje minimální délku věty 17. Můj generátor odhaduje dobu zotavení podle slov i znaků, aby si poradil s weby, které povolují pouze krátká hesla (20).
  • Také jsem zkontroloval následující seznamy slov. S / Key : > 93 kolizí, rozšířené seznamy kostek USA : > 190 a můj nizozemský seznam: > 750. Způsob, jak to vyřešit, je doporučit zahrnout oddělovací znak mezi slovy fráze.
  • Pozor, házení kostkami není úplně náhodné. forbes.com/sites/davidewalt/2012/09/06/… A insidescience.org/blog/2012/09/12/…

odpověď

Schéma hesla XKCD je stejně dobré jako kdykoli předtím. Zabezpečení nevyplývá z toho, že je neznámé, ale z toho, že je dobrým způsobem, jak vygenerovat zapamatovatelná hesla z velkého vyhledávacího prostoru. Pokud však slova vyberete k použití namísto náhodného generování, tato výhoda je ztracena – lidé „Není dobré být náhodný.

Trochu paměti je špatně uvedeno, ale je to znepokojení: pokud se do vašeho počítače někdy dostane malware, který ukradne heslo, bude zametejte vše podobné textu z RAM a pevného disku, který použijete k přímému útoku na vaše účty.

Komentáře

  • +1 nemám div id = „6e65ee70d3“>

si nemyslí, že je technika XKCD mrtvá – ‚ to není ‚ trik ‚ že sušenky ‚ jsou na ‚. Techniku můžete znát naruby, ale to ne ‚ nezvládne to, pokud je to ‚ dostatečně náhodné.

  • @PiTheNumber pokud ‚ nepoužíváte málo slov nebo malý slovník, pak ‚ vůbec nepoužíváte techniku xkcd; ale ne, i v komiksu xkcd je ‚ výslovně jasné, že NENÍ ztrácíte výhodu, když to řeknete všem “ hej, ‚ m používám správné heslo ve stylu hashsebatterystaple “ – množství veriace / entropie bitů je vyšší než u většiny běžných hesel, i když je metoda známa.
  • Pokud však ‚ nepoužíváte také XKCD ‚ (nevyhrál jsem ‚ t odkaz, každý to ví).
  • @PiTheNumber koncept ‚ 11 písmen skutečně náhodné heslo ‚ je irelevantní, protože není rozumnou alternativou k přístupovým frázím. Heslová fráze jsou alternativou k zapamatovatelným heslům a jsou přesně tak slabá, jak popisuje xkcd. Jistě, pokud používáte heslo uložené ve správci hesel, pak se zcela náhodná hesla hodí, ale v takovém případě ‚ to v zásadě není ‚ vaše heslo ‚ jako v něčem, co vy použijete nebo uvidíte, ale spíše ‚ autogenerovaný náhodný klíč token ‚ podobný klíčům ssh.
  • @PiTheNumber Slova nejsou vybrána člověkem, jsou vybrána náhodně. Slovník, ze kterého jsou slova vybírána, je sám zvolen člověkem, ale to je jiná věc. Neexistuje „nejpravděpodobnější“ – matematika v komiksu xkcd je správná.
  • Odpověď

    Jako ostatní řekl, že útok, který Bruce Schneier popisuje, je účinný, když si uživatel zvolí více slov sám, bez použití nástroje. Schneier obvykle píše široké veřejnosti, což pravděpodobně nepochopí rozdíl mezi „náhodnými“ slovy a náhodnými slovy vybranými programem.

    Dodám, že i když použijete skript nebo další nástroj pro náhodný výběr slov ze slovníku, musíte použít první sekvenci, která vám dává . Pokud se rozhodnete, “ Nelíbí se mi to, a spouštím to znovu, dokud se vám to nelíbí, již to není náhodná přístupová fráze , je to vybráno člověkem.

    Také, i když používáte skript, ai když nepoškodíte náhodnost výběrem své oblíbené z více sekvencí, stále existuje možnost, že by útočník mohl zneužít váš PRNG (pseudonáhodný) generátor čísel). Pokud se útočník může naučit, kdy jste vytvořili heslo, a jaký PRNG jste použili, a možná další informace o vašem PRNG, například síťový provoz, který byl vytvořen pomocí vašeho PRNG přibližně ve stejnou dobu, mohlo by to snížit efektivní entropii vaše náhodná přístupová fráze.

    Možná trochu esoterická, ale pokud je váš PRNG využitelný, číslo 2 ^ 44 nebude plně realizováno. (A pokud předpokládáte „nikdo se nepokusí zneužít můj PRNG“, proč vám záleží na používání skutečně bezpečné přístupové fráze?)

    Komentáře

    • +1 Zajímavý úhel. Využívání PRNG je v kontextu šifrování zřejmé klíče – je ‚ zajímavé, že se to zdá být prakticky jen doplňkovým nápadem. Myslím, že typická hesla jsou tak špatná že PRNG se ve srovnání cítí bezpečně. Pravděpodobně, pokud může útočník ukrást seznam hashovaných hesel, bylo by nalezení pwdChangedTime nebo ekvivalentu triviální? Další důvod k ukončení praxe stárnutí hesla?
    • Rychlá zadní část obálky. Pokud heslo aktualizujete do jedné minuty od jeho vygenerování a jediným zdrojem entropie ve vašem PRNG je systémový čas, můžete se dívat na to, jak omezit nanosekundové rozlišení až na 2 ^ 35. Zní to rozumně?
    • Předpokládám, že frázi odmítnu, protože se mi ‚ nelíbí slovo a dělám to 1000krát. Potom jsem slovník zredukoval o 1000 slov. Je výběr z tohoto omezeného slovníku stále náhodný? Pokud stále existuje, pak 4slovná věta z takto redukovaného slovníku Diceware o 7776 slovech stále dává (7776–1000) ^ 4 = 2,1 E15 / 50,9 možností / entropické bity, oproti 3,7 E15 / 51,7 možností / entropické bity pro celou slovník. Nejsem schopen posoudit vliv náhodného generátoru. Používám ten z www.random.org
    • @ Dick99999 Nemyslím si ‚ že to opravdu není ‚ o počtu nabízených možností, které při výběru jednoho hesla vylučujete. ‚ pojednává o vzoru toho, jaké fráze byste vyloučili , pokud vám byly předloženy. Útočník by mohl uhodnout, že uživatel bude preferovat kratší slova, slova, která se budou snadněji psát na klávesnici QWERTY, a slova bez velkých písmen nebo interpunkce; tato strategie by mohla výrazně zmenšit prostor přístupových frází k prozkoumání. V zásadě je to ‚ stejný problém, jako když hádáte oblíbené sportovní týmy, narozeniny a děti ‚ jména.
    • @ wberry Nemyslím si, že by to matematika fungovala ‚. Předpokládejme, že odmítnete 1000 přístupových frází, než najdete tu, která se vám líbí. Potom je ‚ rozumný odhad, že se vám líbí pouze 1/1000 možného prostoru pro heslo. Nyní předpokládejme, že útočník dokáže úplně uhodnout, která 1/1 000 prostoru je vaše oblíbená – což snižuje počet možností z 2 ^ 44 na 2 ^ 34, což je významné, ale ne natolik, aby slovo navíc mohlo ‚ t zaplnit ztrátu. Navíc, pokud omezíte odmítnutí, není to ani nutné.

    Odpověď

    Závisí to. Jedna věc, kterou musíte pochopit, je, že to není bezpečnost podle neznáma: hodnoty entropie použité v komiksu předpokládají, že útočník již ví, že používáte tuto metodu . Pokud útočník neví, jak generujete přístupovou frázi, pak entropie jde masivně nahoru.

    Trik v metodě XKCD spočívá v tom, že musíte skutečně použít generátor náhodných čísel a dobrý seznam slov: nikdy nevybírejte slova sami, dokonce ani „náhodně“ (v uvozovkách, protože lidé jsou ve skutečnosti opravdu špatní při náhodném výběru věcí, proto byste to neměli dělat). Diceware má nástroje, které vám s tím pomohou, a dokonce pomocí běžných kostek vymaže náhodný prvek z dosahu počítače.

    Proti rozsáhlému útoku – takové věci, kdy útočník dostal seznam hesel z webových stránek a neví nic o tom, jejichž hesla jsou v seznamu – je to tak silné jako nikdy předtím. Jak říkáte, jeho síla pochází ze síly exponentů (a dobrého seznamu slov).

    Schneierův útok může fungovat, ale pouze v úplně jiném kontextu. Jeho útok předpokládá, že se na vás konkrétně zaměřuje útočník, který o vás už hodně ví .To se na první pohled nemusí zdát zvlášť znepokojivé, protože stereotypní odhodlaný útočník je zpravodajský agent za obrazovkou a většina z nás se s nimi nemusí tolik starat: je jich jen tolik a každý může jen dovolit se starat o tolik lidí. Ale ve skutečnosti je to díky příchodu sofistikovaného malwaru větší problém, než by se mohlo na první pohled zdát. Instalace malwaru si může dovolit starat se o vás, i když to útočník neudělá, a tak stále čelíte extrémně odhodlanému útočníkovi. Dokonce i rozhodnější než člověk může být ve skutečnosti, i když mnohem méně kreativní.

    Malware, který o vás shromažďuje informace, bude mít v seznamu slov slova, která se vám zdají důležitá. Dělá to proto, že většina lidí si „náhodná“ slova vybírá sama, ale při tom se ve skutečnosti velmi silně zkreslují ke slovům, která jsou pro ně nejdůležitější: může se i tak „cítit“ náhodně, ale některá slova jsou mnohem pravděpodobnější přijít než ostatní. Z toho důvodu dává tato slova vysokou prioritu často za následek relativně rychlé zásahy, a to je „trik“, o kterém Schneier mluví.

    Nicméně stále můžete zmařit Schneierův útok použitím skutečné náhodnosti . Háček je v tom, že to vyžaduje disciplínu: všechna rozhodnutí o tom, jaká slova použít ve vaší přístupové frázi (kromě výběru dobrého slova seznam) musí být zcela vyňat z vašich rukou. Zde vám mohou pomoci věci jako Diceware.

    Komentáře

    • @Gilles: Důvod, proč entropie klesá, pokud útočník ví, že metodou je změna celé struktury hesla. Pokud metodu neznáte ‚, pak “ správné sešívání koňské baterie “ vypadá jako 216 symbolů z 2místné abecedy: jinými slovy 216 bitů. Pokud víte, že ‚ čtyři anglická slova (a zná XKCD

    s seznam slov), pak to vypadá jako 4 symboly z abecedy se 2048 symboly. 2048 ^ 4 je velký, ale ‚ s menší než 2 ^ 216, což je počet bajtů entropie, jaký by měl skutečně náhodný bitový řetězec této délky. Ale tvrzení XKCD ‚ to již zohledňuje: 2048 ^ 4 = 2 ^ 44.

  • Za předpokladu, že útočníci věří, že hesla jsou bitové řetězce, které sledují jednotnou distribuci je zcela nereálný model útočníků. Znalost této metody představuje jen hrst entropie.
  • Entropie není definována na řetězcích, ale na metodách pro generování řetězců. XKCD popisuje metodu generování řetězců, která má 44 bitů entropie. Doména této metody obsahuje řetězce dlouhé 27 znaků a také řetězce jiné délky – délka řetězců však není z bezpečnostního hlediska zajímavá, pouze z hlediska zabezpečení. perspektiva použitelnosti.
  • Proč byste znali délku hesla, ale ne skutečnost, že se anglická slova v heslech objevují spíše než průměrně? Váš model útočníka je opět zcela nereálný. Útočníci ‚ nechodí „hej, ‚ vygeneruji všechna možná 27písmenová hesla“. Jdou spíš jako „hej, ‚ vygeneruji všechna možná hesla v sestupném pořadí pravděpodobnosti.“
  • @Giles Ve skutečnosti jsou řetězec i metoda relevantní . Tvrdíte, že úvodní odstavec The Spooniest ‚ je špatný, přestože argumentujete, zdá se, že je přepracován. Pokud ‚ nevíte, jak je heslo generováno, entropie se výrazně zvýší – ~ 166 bitů pro 27 znaků (horní, dolní, číslice, interpunkční znaménko). Říkáte, že útočníci mohou využít znalosti o tom, jak jsou hesla generována, aby to omezili. Vypadá to, že tvrdíte totéž z opačných konců. Neznalost délky také zvyšuje entropii.
  • Odpověď

    Síla matematika je docela jednoduchá, pokud je výběr slov náhodný: (počet slov ve slovníku) ^ (počet slov ve větě), za předpokladu, že útočník zná počet slov ve slovníku. Pětidílná fráze používající známý ( útočník !) Slovník 7776 slov Diceware: má 7776 ^ 5 = 2,8E19 nebo 64 bitů entropie.

    Existuje jedna položka, která není ve schématu zmíněna: přidáním pouze 1 (náhodného) znaku na náhodné místo v celé frázi se síla zvýší asi o 10 bitů , viz Kostky, volitelné doplňky .

    Výše uvedená matematika také nezohledňuje oddělovací symbol mezi slovy. To může přidat dalších 5 bitů.

    Komentáře

    • Bod (nebo alespoň jeden z nich) komiksu XKCD spočívá v tom, že přidání jednoho náhodného znaku na náhodné místo zvyšuje obtížnost zapamatování hesla více, než zvyšuje obtížnost jeho prolomení.
    • Pravda pro zapamatování obecně, neplatí pro hlavní heslo trezoru, myslím. Jako hlavní výhodu považuji ‚ snadné psaní ‚. Stále více se setkávám se situacemi, kdy správci hesel nemohou vyplnit heslo (aplikace, síť pro hosty WifI) a musím je zadat.
    • @Mark – další náhodné znaky (nebo jen neslovníkové) by mohly Buďte stejní ve všech svých heslech, což znamená, že na ně ‚ nezapomenete. ‚ Získáte další kousky entropie alespoň do doby, než bude prolomeno několik dalších vašich hesel, kdy bude heslo stále xkcd-strong …
    • @imsotiredativesleep – to je velmi zajímavý návrh. Vždy jsme hledali řešení, jak tuto techniku posilování snadněji používat. Dalo by se to nazvat zabezpečením pomocí neznáma, protože útočník může těžit ze znalostí o náhodném charakteru a pozici. Mírný kompromis, myslím, že mezi snadným použitím a bezpečným.
    • @ Dick99999 absolutně, je to ‚ kompromis. Ale dokud nebude konstantní komponenta ohrožena, porazí útok na ï ve slovníku a výrazně zpomalí sofistikovanější. Nesouhlasím ‚ s tím, že je to ‚ bezpečnost neznámá, protože vám mohu říci, že používám techniku beze ztráty entropie, kterou mi možné hodnoty dávají. Hlavní slabinou je, že jakmile je známa konstantní část, obětovali jste heslo pro nemovitost , která mohla být náhodně vybrána.

    Odpověď

    Rád bych také přidal odpověď ano , ale pro další důvody. Není to dobrá rada [obecně] z důvodu omezení délky:

    • Weby jako Skype, ING, eBay a v mé zemi omezují Binckbank a KPN hesla na 20 znaků. (Tento bankovní limit je 15, ale používal dvoufaktorovou autorizaci.)
    • S průměrnou délkou 4,5 znaků / slovo pro krátký slovník se 3 000–8 000 slovy, který umožňuje použití pouze 3–4 slovních frází.
    • Při použití velkých slovníků může být průměr pouze 6–7: 3 slov
    • Pokud web trvá na použití symbolu a čísla v hesle, je k dispozici pouze 18 znaků fráze.

    Tyto délky chrání pouze před online útoky. U útoků offline závisí na odvození klíče a hašovací funkci, počtu iterací a hardwaru prolomení použitém webem aplikace, ať už tříslovná fráze nabízí dostatečnou ochranu.

    Komentáře

    • Weby, které omezují délku hesel, jsou často skvělým indikátorem toho, že jejich systém pro ukládání hesel je velmi nezabezpečený. Utéct. Celkově lze říci, že požadavky na sílu hesla mají tendenci být více škodlivé než užitečné, IMO (z hlediska bezpečnosti i zapamatovatelnosti).
    • Přidejte Suntrust do seznamu hesel omezených na 15 znaků. Zajímalo by mě, co je s tímto průmyslem.
    • Na druhou stranu je ‚ výrazně jednodušší psát ‚ correcthorsebatterystaple ‚ na smartphonu než přepínat mezi malými, velkými písmeny, čísly a interpunkcí.
    • Nízké limity hesla don ‚ t znamenají nezabezpečené metody ukládání hesel – znamenají, že hesla jsou ukládána v prostém textu nebo jsou šifrována (ne hašována). @ Á ngel Moje hesla pro všechny účty související s Microsoftem jsou delší než ta, proto volám BS. Před lety, před NTLM, byla hesla pro Windows omezena na 16 znaků, iirc. To předchází XP a je těžko relevantní.
    • @Zenexer Pokud jde o účty Microsoft: Online účty Microsoft (live.com, Office 365 atd.) Jsou omezeny na 16 znaků (písmena, číslice a některé symboly jsou povoleny ).

    Odpověď

    Je důležité mít správný kontext. komiks xkcd porovnává Tr0ub4dor&3 s předpokládanou 28bitovou entropií (i když počítám to jako 34.6) na correcthorsebatterystaple a jeho předpokládaných 44 bitů entropie (čtyřslovný diceware kód je 51,7 bitů … Ale jedno z těchto slov není „diceware“. Pomocí jednoduchého slovníku pravopisu o délce 100 slov vypočítám, že bude 66,4 bitů).

    Nejprve to pochopíme lépe. K dispozici je 94 tisknutelné znaky. Jednoznakové heslo má log₂(94) = 6.55 bity entropie. Dva znaky mají log₂(94²) = 13.10 bity entropie.Konečnou entropii schématu hesla můžete rozdělit o 6,55, abyste zjistili ekvivalentní složitost čistě náhodného hesla měřeného ve znacích.

    Proto:

    • 28 bitů entropie ≈ 4,3 znakové heslo (velmi špatné!)
    • 44 bitů entropie ≈ 6,7 znakové heslo (také špatné)
    • 66,4 bitů entropie ≈ 10,1 znakové heslo (v pořádku pro rok 2016)

    Důvěřující číslům xkcd, můžete vidět, proč se Schneier obával. Zdá se to trochu přehnané, protože většina útočníků se vzdá i po zhruba deseti znacích [citace nutná] —Velkému klastru by mělo trvat několik let, než prolomí heslo hash s 10 znaky MD5 – i když samozřejmě pokud dobrý útočník zná vaše schéma, absolutní délka znaků není problém.

    Celková složitost schématu je nejdůležitější. Musíte předpokládat nejhorší případ (že útočník zná vaše přesné schéma) . Je skvělý nápad navíc zajistit, aby vaše heslo mělo více než 11 znaků (, je-li povoleno ), ale to je sekundární priorita (a při frázích s heslem je zdarma) ).

     

    Vytvářejte přístupové fráze se čtyřmi slovy plus přístupový kód

    Zde je moje rada k vytvoření passpharse (s odhady entropie):

    • Vytvořte nesmyslnou „větu“ o 4+ slovech o 4+ znacích (100 000⁴)
    • K žádnému z těchto slov nelze připojit vy – nebo navzájem – jakýmkoli způsobem
    • Používejte velká a malá písmena, mezery a alespoň dva symboly nebo interpunkční znaménka (32²)
    • Alespoň jedno slovo by měl selhat kontrola pravopisu (např. leetspeak, cizí slova, každé 64)
    • Uveďte alespoň jednu další „chybu“ (pravopis / gramatiku / syntaxi, entropii neznámou)
    • Mezi dvěma slovy, přidat tradiční „náhodný“ 7+ char passcode (92⁷)

    To by mělo být alespoň log₂(100000⁴ × 32 × 3 × 64 × 92⁵) = 112 bitů entropie (což je velmi silné, ≈17 znaků). Přeskočil jsem velká písmena (předpokládám, že pouze první znak je velká) a jeden symbol (předpokládám, že končí ., ! nebo ?, takže druhý symbol má složitost 3) a také jsem předpokládal, že „random“ není zcela náhodný a vypočítal jsem kód jako pětimístný ekvivalent (přísné dodržování výše uvedeného vzorec by vám dal více než 128 bitů entropie na ≈20 znaků).

     

    Tento poslední bod stojí za zopakování:

    Lidé generují náhodnost velmi špatně

    Velmi málo „náhodných“ přístupových kódů postav generovaných člověkem, dokonce i přístup ke skutečné náhodnosti. V kódu budou vzory na klávesnici dané osoby, oblíbená čísla a / nebo předpoklad, že určité temné slovo je nezměnitelné.

    Navrhl jsem toto schéma tak, aby bylo robustní proti přirozenému nedostatku náhodnosti lidí; za předpokladu omezené slovní zásoby (řekněte 2 600 slov v basi c English ), použití souvisejících slov (penalizováno počítáním pouze tří slov) a přístupový kód omezený pouze na entropii šesti alfanumerik, log₂(2600³ × 62⁶) je stále silný na 70 bitů (≈10,6 znaků).

    Nenechávejte tuto vodu ve vaší přístupové frázi! Tato část slouží k prokázání, že toto schéma má určitý odpor vůči omezené entropii člověka volby, nikoli podporovat špatné volby.

    Jediný skutečný problém přicházejí od lidí, kteří berou uvozovky nebo texty jako své čtyři slova. Tyto přístupové fráze jsou triviálně poraženy, pokud lze citát nebo text uhodnout (řekněme při pohledu na vaše lajky na Facebooku), nebo pokud by jinak měli entropii přibližně 6 náhodných znaků v době bezva od 30 sekund (MD5) do 17 dnů (PBKDF2) .

     

    Pomocí mé entropické tabulky můžete spočítejte entropii svého přístupového hesla.

    (Neznepokojujte se tím, že hesla krátce žijí v paměti , pokud jste vývojář)

    Komentáře

    • Je třeba také poznamenat, že non- ASCII znaky jsou jako stříbrné kulky, které většinu útoků automaticky porazí. Heslo ••••••••• (devět znaků odrážky) je trapně bezpečné (a vypadá stejně maskovaně jako odmaskované!) Z důvodu délky a neznáma, i když ‚ d je hrozný nápad skutečně záviset právě na této skutečnosti. Vložte znak, který není ASCII, do hesla + 4 slovo a vaše složitost stoupá (k výpočtu použijte jeho hodnotu unicode), i když možná na úkor přenositelnosti (co když ‚ znovu používáte přítel ‚ smartphone?)

    Odpovědět

    Ne, nemyslím si to.

    Skutečná rada v tomto komiksu xkcd je používat mnemotechniku, kterou si snadno zapamatujete a vygenerujte heslo, pokud si je budete pamatovat . Jedná se o základní rady ohledně hesla kdekoli a vždy budou platit (dokonce i citovaná Schneierova metoda používá tato dvě základní fakta). Komik skutečně používá běžná anglická slova, ale vaše implementace nemusí být, ani nebyla komiks naznačuje, že byste měli.

    Nejbezpečnějšími hesly jsou samozřejmě zcela náhodné řetězce, například to, jak řetězec MD5 vypadá, a všechna tato hesla můžete pravděpodobně uložit pomocí správce hesel, ale pak jaké heslo pro tohoto správce použijete? ¯ \ (ツ) / ¯

    Komentáře

    • “ Samozřejmě nejbezpečnějšími hesly jsou zcela náhodné řetězce “ NE, viz srovnání en.wikipedia.org/wiki/Password_strength#Random_passwords
    • Ne, ‚ není to, co radí xkcd, navrhuji, abyste si ho přečetli znovu – a analýza v příslušné otázce zde (odkaz výše).
    • Váš podpis “ ¯ \ (ツ) / ¯ “ je vynikající heslo: krátké, snadné pamatovat, opravdu těžké prolomit, těžko zjistit jako heslo protokol.
    • @Daniel Azuelos, … triviální pro přidání do seznamu běžně používaných řetězců …
    • @Raestloz Osoba mluvící jazykem, který ‚ nepoužívá znaky, které se nacházejí v rozsahu ASCII, nepoužívá ‚ heslo ASCII. Myslíte si, že všichni ti lidé v asijských zemích používají dvě klávesnice, jednu pro každodenní psaní a jednu pro hesla? Na rozdíl od třicet let starých operačních systémů, jako je DOS, všechny moderní operační systémy ‚ zpracovávají Unicode a další znakové sady / stránky v pohodě a jakýkoli web by je měl podporovat (pokud vývojář ‚ zakóduje formulář pokaždé pomocí náhodného znaku, nebo nenechá výběr prohlížeče). Hesla jsou jen bity, které pro člověka něco znamenají.

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *