it-swarm-eu.dev

Proč jsou hesla omezena na 16 znaků?

Proč je většina webů omezena na 16 znaků?

Myslel bych si, že čím déle bude heslo, tím obtížnější bude pro někoho prasknout?

Je to něco společného s hashovacími kolizemi?

36
orange

Pokud se budete řídit CWE-521: Slabé požadavky na heslo . Poté musí mít všechna hesla minimální a maximální délku hesla.

Existují dva důvody pro omezení velikosti hesla. Za prvé, hašování velkého množství dat může způsobit značnou spotřebu prostředků jménem serveru a bylo by pro Denial of Service snadným cílem. Zejména pokud server používá roztahování klíčů, jako je PBKDF2.

Dalším problémem je hash útoky s prodloužením délky nebo předponový útok proti MD5. Pokud však používáte funkci hash, která není porušena, například bcrypt nebo sha-256, nemělo by to být problém s hesly.

16 bajtů IMHO je příliš malé . bcrypt má vestavěný cap 72 znaků, což je pravděpodobně rozumná velikost pro funkci hash s velkým množstvím. Klíčové protahování používané těmito funkcemi vytváří možnost Algorithmic Complexity Attack nebo ACA.

32
rook

Proč je většina webů omezena na 16 znaků?

Libovolný implementační limit.

Možná chtějí pouze přidělit vyrovnávací paměť 17 oktetů (16 znaků ASCII/1 oktet + ukončení NUL).

Možná věří, že mít heslo s více než 16 znaky je zbytečné nebo hloupé, protože nemají pochopení hesel.

Myslel bych si, že čím déle bude heslo, tím obtížnější bude pro někoho prasknout?

Vskutku. Heslo s 16 náhodnými nezávislými abecedními znaky s jednotnou distribucí má dostatečnou entropii. Ale lidská bytost si špatně vybírá 16 náhodně nezávislých abecedních znaků s rovnoměrným rozložením a strašně špatné si pamatuje takové nesmyslné posloupnosti znaků, takže volí hesla, která si pamatují, ale s menší entropií na znak .

Na čem záleží je pouze celková entropie, ne entropie na znak. Například posloupnost náhodných slovníkových slov generovaných pomocí Word-die (Word-die: otevření náhodné stránky ve slovníku, atd.) je snazší si zapamatovat, než posloupnost dopisů získaných pomocí letter-die.

Taková hesla budou delší než čistě náhodná posloupnost písmen, ale pro stejnou entropii budou mnohem snadněji zapamatovatelná; nebo, pokud dáváte přednost, budou mít mnohem více entropie pro stejné úsilí o duševní paměť.

Pro dostatečnou sílu budou mít tato hesla ze slov slovníku pravděpodobně více než 16 znaků.

Jinými slovy tento limit je hloupý.

Je to něco společného s hashovacími kolizemi?

Ne.

Neexistuje žádná formální záruka, pokud jde o kolize s krátkými hesly, ale praktický dopad kolizních hashů neexistuje.

18
curiousguy