-
11. Data: 2010-08-25 19:19:16
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Peter May <p...@o...pl>
W dniu 2010-08-20 09:05, Vax pisze:
> W dniu 2010-08-17 22:47, Peter May pisze:
>> Zastanawiam się nad tym, jak bezpiecznie zrealizować nierzadko widzianą
>> opcję "Zapamiętaj mnie" lub "Zapamiętaj hasło", itp. Wydaje się, że
>> hasło musi być trzymane w cookie, a już na pewno szyfrowane. Pytanie
>> tylko jak sensowne podejść do tematu? Głównie od strony bezpieczeństwa.
>
> Przy założeniu "autologowanie tylko z jednego, bezpiecznego komputera"
> możesz zastosować np. taką procedurę:
> Po weryfikacji i stwierdzeniu, że user chce być pamiętany na tym
> (ale tylko tym) komputerze, robisz przepustkę, która jest md5
> ze złożenia nazwy usera, hasha hasła, salta i aktualnego czasu.
> Przepustka do bazy (w rekord usera) i do ciastka. Do tego w ciachu
> login lub id - nie obniża bezpieczeństwa, a eliminuje przypadek
> kolizji MD5 (i tak niemal nieprawdopodobny).
> Taką procedurę przeprowadzasz ilekroć user chce być pamiętany, a także
> ilekroć zaloguje się automatycznie.
> W ten sposób po każdej sesji otrzymuje on _nową_jednorazową_ przepustkę.
>
> Jeżeli nawet ciastko zostanie "wykradzione", to pierwsze skorzystanie
> z niego czyni go nieważnym. User nie zostanie wpuszczony z automatu
> (ale on zna swoje hasło, więc normalny login nie jest przeszkodą,
> a jedynie drobną uciążliwością) - i nie dość, że widzi, że jest coś
> nie tak (system może go nawet informować, że nastąpiła niezgodność
> przepustek), to jeszcze obowiązująca staje się nowa przepustka,
> czyniąc każda posiadaną przez "hackera" nieważną.
> Oczywiście do zmiany hasła, kasowania konta itp. i tak wymagasz
> podania hasła, prawda?
>
> Sporadyczne logowania z innych komputerów w niczym nie przeszkadzają
> (o ile nie zostanie wybrana opcja, by TAM usera pamiętano).
>
> Ominięcie tego wymagało by nie tylko ukradzenia ciastka, ale regularnego
> podsyłania userowi nowych po każdym skorzystaniu.
Dziękuję. Powyższe wiele wyjaśnia i wskazało mi trop. Spróbuję teraz
wdrożyć to.
--
Peter