„Ajťák“ Joker, osobní stránky

Nacházíte se v části webu: Hlavní stránka › Počítače, weby

Hesla a jejich bezpečnost

napsal Joker, 8.12.2007 19.48:20, naposledy upraveno 8.12.2007 19.51:10

Podle žebříčku Amerického PC Magazine je nejčastějším heslem v USA slovo "password", tedy "heslo" (česká zprávička na Lupě). Nečekal bych, že uživatelé v ČR na tom budou o mnoho lépe. Administrátor řeší problém, aby uživatelé měli pokud možno bezpečná hesla. Uživatelé řeší problém, aby měli co nejlépe zapamatovatelná hesla. Zdánlivě protichůdné možnosti- složité heslo se přece bude špatně pamatovat. Přesto to tak nemusí být vždy a jsou způsoby, pomocí kterých jde vytvořit bezpečné a současně snadno zapamatovatelné heslo.

Předchozí stránka je věnována heslům z pohledu uživatele, na této stránce je několik stručných poznámek k heslům z pohledu administrátora a z pohledu tvůrce webových stránek.

Hesla z pohledu administrátora

K administrátorům mám jen jednu poznámku, hodně z nich má tendenci nastavovat až nesmyslně přísné podmínky pro uživatelská hesla. Podle mého názoru to ovšem nevede ke zvýšení bezpečnosti. Hezky to ilustruje jeden komentář u článku na Lupě, odkazovaného v perexu:

Admin: 6 znaku
user: qwerty
Admin: 6 znaku a cislo
user: qwerty1
Admin 6 znaku, cislo, velke pismeno
user: Qwerty1
Admin: 8 znaku, cislo, velke pismeno, ne pismeno
user: Qwerty1+
Admin: 8 znaku, cislo, velke pismeno, ne pismeno + menit kazdy mesic
user: napise si heslo na papirek a prilepi na monitor

Dost podobně to ve skutečnosti funguje. Ještě horší je, že to k tomu lepení papírku na monitor donutí i pokročilejší uživatele, kteří mají relativně bezpečné heslo, které ale z nějakého důvodu nevyhovuje administrátorem nastaveným podmínkám. Podle mých zkušeností je nejhorší kombinace nutnosti si relativně často měnit heslo a podmínky, že heslo nesmí být stejné jako určitý počet předchozích. To pak vede uživatele k tomu, že mají hesla třeba "leden2007", "únor2007", atd.

Co dělat s uživateli, kteří mají stále heslo typu qwerty, toť otázka, ale podle mého názoru neustálé zpřísňování podmínek situaci spíše zhoršuje než zlepšuje.

Hesla z pohledu tvůrce webových stránek

Téma ukládání hesel na webových stránkách by bylo na samostatný článek, zde zmíním jen základní rady:

  • Nikdy neukládejte hesla uživatelů do databáze přímo. Zásadně se ukládá jen hash hesla (například md5, i když to už ta je už dnes prolomená).
  • Ještě bezpečnější než hash je tzv. solený hash. Uživatel zadá heslo, k němu se připojí nějaký náhodný řetězec, tzv. sůl. Ze spojeného řetězce se vygeneruje hash a uloží se do databáze. Současně se uloží do databáze i sůl. Při kontrole hesla se z databáze přečte sůl, připojí k heslu, které zadal uživatel, vygeneruje hash a porovná s heslem v databázi. Příklad: uživatel zadá heslo "heslo", vygeneruje se sůl například "s8F", z řetězce "heslos8F" se vygeneruje hash, do databáze se uloží hash a sůl: "s8F". Při kontrole hesla uživatel zadá "heslo", z databáze se přečte "s8F", připojí k heslo, vygeneruje hash, porovná a přihlášení vyhodnotí jako úspěšné. Výhodou soleného hashe je, že pokud mají dva uživatelé stejné heslo, ale různou sůl, není z hashe poznat, že mají stejné heslo. Druhá výhoda je, že se ztíží prolomení hesla- i když útočník nějakým způsobem získá hash hesla a podle toho hashe získá kolizní řetězec, ten mu bude na nic, protože samotné zadávané heslo neodpovídá hashi uloženému v databázi.
  • Většinou není třeba být přehnaně přísný v požadavcích na uživatelská hesla. Například pokud jde o přihlášení pro napsání příspěvku do knihy návštěv, je zcestné požadovat třeba 12 znakové heslo neobsahující pouze písmena a ještě kontrolované podle slovníku. Požadavky na bezpečnost hesla by měly odpovídat tomu, o jak kritickou aplikaci jde. Předpokládám, že například projektant Internetového bankovnictví nebude mít tento článek jako hlavní zdroj informací ohledně bezpečnosti hesel, to by bylo smutné.
Přejít na stránku: [ 1 2 ]

[1] od: Pes × (20.10.2011 12.02:09)
Zdravím, moc pěkný článek, akorát pozor na jednu věc: pokud povolím v heslu i velká písmena, tak pro 3-místné heslo to znamená ne 2x více kombinací, ale 2^3 neboli 8x více kombinací.

[2] od: Joker ® (20.10.2011 13.41:27)
Je to tak, díky za upozornění.

Přidat nový komentář