Portál AbcLinuxu, 24. dubna 2024 13:28


Dotaz: Realizace časové expirace hesla u webové aplikace

25.10.2011 05:49 j.
Realizace časové expirace hesla u webové aplikace
Přečteno: 354×
Odpovědět | Admin
Ahoj. We webové aplikaci mám hesla, které po určité době expirují. Ohlídání časové expirace hesla můžu řešit buď při přihlášení nebo během uživatelského sezení. Nevýhodou té kontroly u přihlášení je, že uživatel může být přihlášen hodně dlouho a může si tím vlastně "prodloužit" své heslo. To by šlo ale řešit striktním omezením, že uživatel může být přihlášen např. maximálně 4 hodiny (nezávisle na aktivitě) - výhodou tohoto je, že uživatel bude prostě odhlášen po těch 4 hodinách i když si nastaví refresh v prohlížeči. Nevýhodou je, že může být přerušena legitimní práce slušného uživatele. Jaké konkrétní řešení byste zvolili? Co je rozumné řešení?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.10.2011 08:03 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
Rozumné řešení je žádná časová expirace hesla. Ničemu to nepomůže, právě naopak – jenom to otravuje uživatele a je to hodně silný tlak na slabá hesla.
25.10.2011 08:15 j.
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Slabá hesla zadat nemohou, to mám ošetřené. Je lepší když je heslo silné a mají ho napsané na papírku a nalapené na monitoru než aby to bylo nějaké slovníkové heslo. Nicméně tak či tak mi přijde ta expirace rozumná. Určitě u téhle konkrétní aplikace, protože je docela kritická.
25.10.2011 09:58 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Jaký problém ta expirace hesla řeší? Pokud má někdo na počítači keylogger nebo zadní vrátka v prohlížeči, změna hesla nepomůže – útočník heslo zjistí znova. Pokud má uživatel heslo nalepené na monitoru a někdo si ho přečte, přečte si změněné heslo znova. Navíc v obou případech donutíte uživatele mít heslo, které bude z pohledu vaší kontroly silné, ale ve skutečnosti to bude slabé heslo – bude to třeba stále totéž, jen s obměnou jedné číslice apod. Útočníkovi, který znal jedno heslo v minulosti, tak stejně pro nalezení nového hesla stačí pár pokusů – i když mezitím ztratí možnost heslo získat přímo. Takže proti jakému druhu útoku ta expirace chrání?

Pokud je ta aplikace docela kritická, udělejte autorizaci přes SMS nebo jednorázová hesla.
25.10.2011 13:24 j.
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Zase tak moc kritická není, ale expirace se hodí. Pokud někdo použije stejné heslo pro desítky aplikací i někde ne internetu, pak toto heslo bude muset za nějakou dobu změnit zatímco jinde ne - už to zvýší rapidně bezpečnost. Ale to silné heslo a expiraci nikterak nehrotím, silné heslo je i "Heslo111", expirace tak 5 let, s tím že uživatel dostane upozornění emailem a po expiraci bude mít po prvním přihlášení ještě několik dní grace time.
25.10.2011 14:06 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Pokud někdo použije stejné heslo pro desítky aplikací i někde ne internetu, pak toto heslo bude muset za nějakou dobu změnit zatímco jinde ne - už to zvýší rapidně bezpečnost.
Nezvýší.
expirace tak 5 let
Za 5 let ta aplikace už nejspíš nebude existovat. A i kdyby náhodou existovala, můžete začít řešit expiraci hesla za 4,5 roku. Navíc je nesmysl řešit prodloužení platnosti hesla o pár hodin z pěti let.
25.10.2011 18:38 j.
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Většina institucí používá expirace hesel. Proč konkrétně by se tím nezvýšila bezpečnost? Uvažujme konkrétní příklad:

- uživatel musí použít heslo, které obsahuje alespoň jedno velké písmeno, jedno malé písmeno a nějaká čísla a je dlouhé alespoň 8 znaků
- uživatelské heslo nemůže být stejné jako 20 jeho předešlých hesel
- heslo nemůže být podobné uživatelskému jménu
- nové heslo musí být alespoň o 40% rozdílné než staré heslo
- heslo lze měnit 1x za den (kvůli historii)
25.10.2011 22:08 Sten
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Protože uživatelé pak mají tendenci volit si jednodušší hesla, aby si je vůbec zvládnuli zapamatovat.

http://en.wikipedia.org/wiki/Password_policy#Password_duration
26.10.2011 08:16 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Nevím, zda většina institucí používá expiraci hesel. Drtivá většina hesel k účtům, které mám, neexpiruje – a v několika případech byla expirace zavedena, a posléze zase zrušena, zřejmě pro nevoli uživatelů. Neznám ze svého okolí jediný případ toho, že by se zavedením expirace hesel nepřešel dotyčný na nějakou jednoduchou řadu hesel, kdy pokud útočník zná jedno heslo, zjistit heslo po změně je otázkou slovníkového útoku o velikosti slovníku několik jednotek nebo desítek variant. Nejlepší jsou takové ty případy, kdy se heslo musí měnit každý měsíc a nesmí se jich 10 opakovat – a celá administrativa pak má heslo s číslem aktuálního měsíce na konci. To je opravdu zvýšení bezpečnosti…

Ale konkrétně k vaší otázce:
Proč konkrétně by se tím nezvýšila bezpečnost?
To je úplně špatně položená otázka. To, že něco zkomplikuje uživateli život, ještě vůbec neznamená, že to zvýší bezpečnost. Správně ta otázka zní: „Jak se tímto způsobem zvýší bezpečnost?“

Já žádný důvod nevidím. Sníží se tím nějak šance získat aktuální heslo přímo od uživatele nebo útokem hrubou silou? Nesníží, spíš naopak, uživatel bude volit jednoduchá hesla, heslo si možná někam na viditelné místo napíše. Pokud útočník získá heslo, zabrání mu změna hesla páchat další škody? S vysokou pravděpodobností ne, protože se nic nezměnilo na zabezpečení toho, kudy heslo uniklo prvně, takže útočník jen stejným způsobem získá heslo nové – a nebo jednoduše zkusí slovníkový útok s variacemi hesla. Takže jaký je ten druh útoku, proti kterému expirace hesel chrání?

Mimochodem, když chcete heslo porovnávat na podobnost s uživatelským jménem a 20 předchozími hesly, musíte hesla ukládat v otevřeném tvaru a alespoň při změně hesla je musíte v otevřeném tvaru přenášet. To je podle mne z pohledu správce aplikace mnohem větší bezpečnostní riziko, než dlouho platné heslo. Taky si nejsem jist, zda je vůbec splnitelná podmínka, že budete mít 20 různých hesel a každá dvě bude navzájem rozdílná alespoň o 40 %…
26.10.2011 14:36 j.
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Mimochodem, když chcete heslo porovnávat na podobnost s uživatelským jménem a 20 předchozími hesly, musíte hesla ukládat v otevřeném tvaru a alespoň při změně hesla je musíte v otevřeném tvaru přenášet. To je podle mne z pohledu správce aplikace mnohem větší bezpečnostní riziko, než dlouho platné heslo. Taky si nejsem jist, zda je vůbec splnitelná podmínka, že budete mít 20 různých hesel a každá dvě bude navzájem rozdílná alespoň o 40 %…
Nemusím je ukládat v otevřeném formátu. Můžou to být hashe, které by se porovnávaly s novým heslem. A tu rozdílnost o 40% bych bral jen u posledního hesla, které by stejně uživatel musel zadat při změně hesla.

Nicméně se na tu expiraci asi nakonec vykašlu, jak se zdá přineslo by to jen víc práce pro mě (naprogramovat to) a pro uživatele.
25.10.2011 12:06 Sten
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
25.10.2011 09:37 kuka
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
A čemu to vadí, pokud je přihlášený dlouho a "prodlouží si heslo"? Ve skutečnosti si ho nijak neprodlouží, kdykoliv dojde na zadání hesla, tak se bude aplikovat test na expiraci, a pokud na zadání hesla nedojde, tak je úplně jedno, jestli je nové nebo staré.
Tarmaq avatar 25.10.2011 16:17 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Realizace časové expirace hesla u webové aplikace
Odpovědět | | Sbalit | Link | Blokovat | Admin
Souhlasim s Filipem Jirsakem, ze nuceni uzivatele zmenit si heslo bezpecnosti moc nepomuze.
Kazdopadne nevim v cem je problem. Pri nacitani obsahu stranky se uz nyni kontroluje jestli existuje nejaka platna session, je velky problem tuto kontrolu doplnit o zjisteni platnosti uzivatelskeho hesla? V pripade ze heslo uz nebude platne tak uzivatele presmerovat na formular kde si to heslo zmeni.. Jasne, bude to nejaky dotaz do db navic, ale pokud chces takhle hazet uzivatelum klacky pod nohy a mit pritom jistotu ze to neobejdou (jakymsi umelym prodluzovanim platnosti hesla) - je to asi nejlepsi reseni.
Don't panic!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.