-
1. Data: 2010-08-17 20:47:42
Temat: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Peter May <p...@o...pl>
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.
--
Peter
-
2. Data: 2010-08-17 21:07:20
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Konrad Kosmowski <k...@k...net>
** Peter May <p...@o...pl> wrote:
> Zastanawiam się nad tym, jak bezpiecznie zrealizować nierzadko widzianą opcję
> "Zapamiętaj mnie" lub "Zapamiętaj hasło",
Chodzi Ci o funkcję przeglądarki - każda sensowna ma wbudowany menadżer haseł,
który trzyma hasła po stronie przeglądarki i w dodatku pozwala je zaszyfrować
np. master hasłem czy w ogóle z użyciem urządzenia kryptograficznego (np. karty
inteligentnej, pliku certyfikatu whatever).
Czy chodzi Ci o ptaszek "zapamiętaj mnie" w formularzu, który po prostu wydłuża
czas trwania sesji?
> itp. Wydaje się, że hasło musi być trzymane w cookie, a już na pewno
> szyfrowane.
Hasło trzymane w cookie? Jeżeli już to żeton sesji.
> Pytanie tylko jak sensowne podejść do tematu? Głównie od strony
> bezpieczeństwa.
Bezpieczeństwa czego? Znowu te samo bezsensowne podejście do bezpieczeństwa...
A co chcesz zabezpieczać? Transakcyjny serwis bankowy? Widziałeś tam kiedyś
taki ptaszek? Bo ja nie. Czy może dostęp do forum o dupie Dody - tak tutaj
ptaszki się znajdą. Czy wszystko in-between? Bo to już zależy...
Wszystko zależy od przyjętej polityki, która wynika z tego jakie właściwie jest
zagrożenie/ryzyko, jaki jest poziom wiedzy użytkowników, czego można od nich
wymagać itd.
--
+ ' .-. .
, * ) )
http://kosmosik.net/ . . '-' . kK
-
3. Data: 2010-08-17 21:41:57
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Peter May <p...@o...pl>
W dniu 2010-08-17 23:07, Konrad Kosmowski pisze:
> ** Peter May<p...@o...pl> wrote:
>
>> Zastanawiam się nad tym, jak bezpiecznie zrealizować nierzadko widzianą opcję
>> "Zapamiętaj mnie" lub "Zapamiętaj hasło",
>
> Chodzi Ci o funkcję przeglądarki - każda sensowna ma wbudowany menadżer haseł,
> który trzyma hasła po stronie przeglądarki i w dodatku pozwala je zaszyfrować
> np. master hasłem czy w ogóle z użyciem urządzenia kryptograficznego (np. karty
> inteligentnej, pliku certyfikatu whatever).
Nie chodzi mi o to, że już praktycznie wszystkie przeglądarki potrafią
zapamiętać hasło i login nie rzadko. To ja wiem, ale trudno jest czasem
wytłumaczyć to klientowi. Niektórzy są niereformowalni klienci :/
> Czy chodzi Ci o ptaszek "zapamiętaj mnie" w formularzu, który po prostu wydłuża
> czas trwania sesji?
Chodzi mi o checkboksa.
>> itp. Wydaje się, że hasło musi być trzymane w cookie, a już na pewno
>> szyfrowane.
>
> Hasło trzymane w cookie? Jeżeli już to żeton sesji.
A czy ja tam wiem co mam trzymać w cookie w w/w funkcjonalności? Nie, bo
nigdy czegoś takiego nie potrzebowałem. No ale znalazł się jeden, co na
GMailu coś takiego widział i chce mieć takie coś, jak "Zapamiętaj mnie".
Dlatego pytam, by zastosować jakieś sensownie rozwiązania do w/w
funkcjonalności.
>> Pytanie tylko jak sensowne podejść do tematu? Głównie od strony
>> bezpieczeństwa.
>
> Bezpieczeństwa czego? Znowu te samo bezsensowne podejście do bezpieczeństwa...
Dlaczego bezsensowne? Działam wg zasady: nie wiem, to pytam. Krótko
mówiąc chcę osiągnąć cel w postaci takiej funkcjonalności, że po wejściu
na wskazaną stronę użytkownik będzie mógł "zapamiętać" dane logowania,
aby następnym razem od razu mu się pola wypełniły właściwymi danymi.
Ja wiem, że to nie najlepszy pomysł, bo przeglądarki potrafią pamiętać
hasła. Ale przecież może być sytuacja, w której przeglądarka nie
zapamięta hasła sama z siebie.
> A co chcesz zabezpieczać? Transakcyjny serwis bankowy? Widziałeś tam kiedyś
Nie, nie serwis transakcyjny. Gdybym mógł, to zrobiłbym tak, jak w
bankach, czyli jedna strona to login, druga to hasło z losowo wybranymi
polami. To uważam za dość bezpieczne, choć ekspertem od bezpieczeństwa
nie jestem.
A zabezpieczyć chcę dane (login i hasło), które miałyby być
przechowywane lokalnie na komputerze klienta. Brzmi to idiotycznie, a
mam wrażenie, że to chyba nie ten kierunek.
> taki ptaszek? Bo ja nie. Czy może dostęp do forum o dupie Dody - tak tutaj
> ptaszki się znajdą. Czy wszystko in-between? Bo to już zależy...
Nie jest to miejsce, które musiałbym zabezpieczyć tak, jak banki, ale
znowuż nie chciałbym tego lekceważyć i bagatelizować.
> Wszystko zależy od przyjętej polityki, która wynika z tego jakie właściwie jest
> zagrożenie/ryzyko, jaki jest poziom wiedzy użytkowników, czego można od nich
> wymagać itd.
Z reguły trzeba myśleć za klientów, bo oni nie bardzo mają świadomość
skali zagrożenia dopóty, dopóki coś się nie stanie. Chcę to w miarę na
tyle dobrze zrealizować, aby zachować jakieś minimum rozsądnego
bezpieczeństwa.
--
Peter
-
4. Data: 2010-08-17 22:01:12
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Konrad Kosmowski <k...@k...net>
** Peter May <p...@o...pl> wrote:
>>> Zastanawiam się nad tym, jak bezpiecznie zrealizować nierzadko widzianą
>>> opcję "Zapamiętaj mnie" lub "Zapamiętaj hasło",
>> Chodzi Ci o funkcję przeglądarki - każda sensowna ma wbudowany menadżer
>> haseł, który trzyma hasła po stronie przeglądarki i w dodatku pozwala je
>> zaszyfrować np. master hasłem czy w ogóle z użyciem urządzenia
>> kryptograficznego (np. karty inteligentnej, pliku certyfikatu whatever).
> Nie chodzi mi o to, że już praktycznie wszystkie przeglądarki potrafią
> zapamiętać hasło i login nie rzadko. To ja wiem, ale trudno jest czasem
> wytłumaczyć to klientowi. Niektórzy są niereformowalni klienci :/
To niech wtedy nie zapisują haseł w inny sposób bo w inny sposób będzie mało
bezpiecznie... chociaż to oczywiście zależy. Można im też np. generować
certyfikaty itd. - pytanie tylko czy potrzeba skoro jak sam mówisz tego nie
chcą.
>> Czy chodzi Ci o ptaszek "zapamiętaj mnie" w formularzu, który po prostu
>> wydłuża czas trwania sesji?
> Chodzi mi o checkboksa.
No to ten checkbox robi tak, że sesja uwierzytelnienia (najczęściej cookie z
żetonem u klienta i odpowiadające mu dane sesji na serwerze) ma dłuższy czas
życia (np. 24h - to jest oczywiście parametryzowane) i przetrwa zamknięcie
przeglądarki.
Po stronie klienta wiele do tego nie dodasz - tzn. raczej pozostaje jedynie
cookie, modulo jakieś naprawdę sprytne praktyki, których nie znam. I o których
chętnie poczytam.
Po stronie serwera możesz do sesji dodać np. źródłowy adres IP, string
User-Agent klienta i podobne zabiegi. Ale w zasadzie to i tak rozbija się o
wartość cookie, która jest tutaj sekretem/kluczem do uzyskania sesji, cała
reszta to tylko utrudnienia.
Czasami twórcy niektórych serwisów robią coś takiego jak URL zawierający
identyfikator sesji - to jest w ogóle mega niebezpieczne bo polega na tym, że
klient chroni zawartość swojej historii, przeglądarki itd. ale dla świadomych
użytkowników może być wygodne (Slashdot kiedyś tak miał jako opcja).
>>> itp. Wydaje się, że hasło musi być trzymane w cookie, a już na pewno
>>> szyfrowane.
>> Hasło trzymane w cookie? Jeżeli już to żeton sesji.
> A czy ja tam wiem co mam trzymać w cookie w w/w funkcjonalności? Nie, bo
> nigdy czegoś takiego nie potrzebowałem. No ale znalazł się jeden, co na
> GMailu coś takiego widział i chce mieć takie coś, jak "Zapamiętaj mnie".
Przecież ma w przeglądarce menadżer haseł za darmo - jak chce dopłacać to mu
zrób po prostu. :-)
> Dlatego pytam, by zastosować jakieś sensownie rozwiązania do w/w
> funkcjonalności.
To ja pytam o politykę systemu bo to jest np. w przypadku bankowości totalnie
nieakceptowalne, a w przypadku dupy-maryny forum czy serwisu społecznościowego
jest powszechnie praktykowane.
Nie wspominasz słowem o jaki serwis chodzi, więc co Ci mogę odpowiedzieć poza -
"to zależy..."? W każdym razie w przypadku tego mechanizmu hasło NIE JEST
NIGDZIE ZAPISYWANE. Jedyne co jest zapisywane to cookie zawierające żeton
sesji.
A odnośnie sesji to doczytaj o ich obsłudze w tym czego używasz (PHP czy co tam
stosujesz), przecież to wszystko jest w dokumentacji.
--
+ ' .-. .
, * ) )
http://kosmosik.net/ . . '-' . kK
-
5. Data: 2010-08-18 17:17:06
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Paweł Piskorz <n...@p...nie?>
On 2010-08-17 23:41, Peter May wrote:
> W dniu 2010-08-17 23:07, Konrad Kosmowski pisze:
> A czy ja tam wiem co mam trzymać w cookie w w/w funkcjonalności? Nie, bo
> nigdy czegoś takiego nie potrzebowałem. No ale znalazł się jeden, co na
> GMailu coś takiego widział i chce mieć takie coś, jak "Zapamiętaj mnie".
GMailowe "Zapamiętaj mnie" nie zapamiętuje ani hasła ani loginu. Tak jak
Ci Konrad pisze, to sprawia tylko tyle, że ciacho z sesją przeżywa
zamknięcie przeglądarki. Po powrocie na stronę wcale się automagicznie
żaden login i hasło nie wysyłają, tylko po prostu jesteś dalej
uwierzytelniony, tak jakbyś się nigdy nie wylogował ze strony.
Poza tym od czasu do czasu i tak pyta Cię o hasło, żeby się upewnić że
to dalej Ty ;]
--
message[autor="PablO"]::after {
content:"Pozdrawiam";
}
-
6. Data: 2010-08-18 18:11:08
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Peter May <p...@o...pl>
W dniu 2010-08-18 19:17, Paweł Piskorz pisze:
> On 2010-08-17 23:41, Peter May wrote:
>> W dniu 2010-08-17 23:07, Konrad Kosmowski pisze:
>> A czy ja tam wiem co mam trzymać w cookie w w/w funkcjonalności? Nie, bo
>> nigdy czegoś takiego nie potrzebowałem. No ale znalazł się jeden, co na
>> GMailu coś takiego widział i chce mieć takie coś, jak "Zapamiętaj mnie".
>
> GMailowe "Zapamiętaj mnie" nie zapamiętuje ani hasła ani loginu. Tak jak
> Ci Konrad pisze, to sprawia tylko tyle, że ciacho z sesją przeżywa
> zamknięcie przeglądarki. Po powrocie na stronę wcale się automagicznie
> żaden login i hasło nie wysyłają, tylko po prostu jesteś dalej
> uwierzytelniony, tak jakbyś się nigdy nie wylogował ze strony.
> Poza tym od czasu do czasu i tak pyta Cię o hasło, żeby się upewnić że
> to dalej Ty ;]
Od początku podejrzewałem, iż w jakikolwiek sposób może być lokalnie
pamiętany login i hasło. Choćby zaszyfrowane. No ale myślę, zapytam, bo
może błądzę. No i wyszło, że tak naprawdę chodzi o ciastko z sesją :-)
--
Peter
-
7. Data: 2010-08-18 18:22:10
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Peter May <p...@o...pl>
W dniu 2010-08-18 00:01, Konrad Kosmowski pisze:
> ** Peter May<p...@o...pl> wrote:
>
>>>> Zastanawiam się nad tym, jak bezpiecznie zrealizować nierzadko widzianą
>>>> opcję "Zapamiętaj mnie" lub "Zapamiętaj hasło",
>
>>> Chodzi Ci o funkcję przeglądarki - każda sensowna ma wbudowany menadżer
>>> haseł, który trzyma hasła po stronie przeglądarki i w dodatku pozwala je
>>> zaszyfrować np. master hasłem czy w ogóle z użyciem urządzenia
>>> kryptograficznego (np. karty inteligentnej, pliku certyfikatu whatever).
>
>> Nie chodzi mi o to, że już praktycznie wszystkie przeglądarki potrafią
>> zapamiętać hasło i login nie rzadko. To ja wiem, ale trudno jest czasem
>> wytłumaczyć to klientowi. Niektórzy są niereformowalni klienci :/
>
> To niech wtedy nie zapisują haseł w inny sposób bo w inny sposób będzie mało
> bezpiecznie... chociaż to oczywiście zależy. Można im też np. generować
> certyfikaty itd. - pytanie tylko czy potrzeba skoro jak sam mówisz tego nie
> chcą.
Wydaje mi się, że cokolwiek by nie robić, to przeglądarka zapamięta
hasło w sposób najlepszy.
>>> Czy chodzi Ci o ptaszek "zapamiętaj mnie" w formularzu, który po prostu
>>> wydłuża czas trwania sesji?
>
>> Chodzi mi o checkboksa.
>
> No to ten checkbox robi tak, że sesja uwierzytelnienia (najczęściej cookie z
> żetonem u klienta i odpowiadające mu dane sesji na serwerze) ma dłuższy czas
> życia (np. 24h - to jest oczywiście parametryzowane) i przetrwa zamknięcie
> przeglądarki.
>
> Po stronie klienta wiele do tego nie dodasz - tzn. raczej pozostaje jedynie
> cookie, modulo jakieś naprawdę sprytne praktyki, których nie znam. I o których
> chętnie poczytam.
>
> Po stronie serwera możesz do sesji dodać np. źródłowy adres IP, string
> User-Agent klienta i podobne zabiegi. Ale w zasadzie to i tak rozbija się o
> wartość cookie, która jest tutaj sekretem/kluczem do uzyskania sesji, cała
> reszta to tylko utrudnienia.
O, dzięki. To jest właściwy trop, którym mogę pójść. W zasadzie, jak
Paweł pisał, ciastko wydłużające sesję powinno załatwić problem.
> Czasami twórcy niektórych serwisów robią coś takiego jak URL zawierający
> identyfikator sesji - to jest w ogóle mega niebezpieczne bo polega na tym, że
> klient chroni zawartość swojej historii, przeglądarki itd. ale dla świadomych
> użytkowników może być wygodne (Slashdot kiedyś tak miał jako opcja).
Z tego, co wiem, to w PHP można zrobić przekazywanie sesji
transparentnie. Wtedy identyfikator sesji nie jest "doklejany" do URL-a.
Nie jestem aż tak biegły w technologiach po stronie serwera, ale od
czasu do czasu coś tam sobie napiszę.
>>>> itp. Wydaje się, że hasło musi być trzymane w cookie, a już na pewno
>>>> szyfrowane.
>
>>> Hasło trzymane w cookie? Jeżeli już to żeton sesji.
>
>> A czy ja tam wiem co mam trzymać w cookie w w/w funkcjonalności? Nie, bo
>> nigdy czegoś takiego nie potrzebowałem. No ale znalazł się jeden, co na
>> GMailu coś takiego widział i chce mieć takie coś, jak "Zapamiętaj mnie".
>
> Przecież ma w przeglądarce menadżer haseł za darmo - jak chce dopłacać to mu
> zrób po prostu. :-)
No właśnie :-) Skoro chce zapłacić, to będzie to miał. Choć jestem
zdania, że nie wszystko i nie za wszelką cenę.
>> Dlatego pytam, by zastosować jakieś sensownie rozwiązania do w/w
>> funkcjonalności.
>
> To ja pytam o politykę systemu bo to jest np. w przypadku bankowości totalnie
> nieakceptowalne, a w przypadku dupy-maryny forum czy serwisu społecznościowego
> jest powszechnie praktykowane.
Otóż to. Wszystko zależy od przyjętej polityki bezpieczeństwa. Nie chcę
popadać w skrajność, dlatego zawsze szukam w miarę bezpiecznego
rozwiązania. W moim przypadku nie są potrzebne takie zabezpieczenia, jak
w bankach. Choć i tak już jest w bankach sporo pozmieniane. Kiedyś były
zdrapki, tokeny, jednorazowe hasła, aplety Java, itd. Dziś, np. w ING,
prosty login na jednej stronie, i hasło z losowymi polami na drugiej
stronie. I to już załatwia problem z logowaniem :-) Ale to już temat na
inną bajkę.
> Nie wspominasz słowem o jaki serwis chodzi, więc co Ci mogę odpowiedzieć poza -
> "to zależy..."? W każdym razie w przypadku tego mechanizmu hasło NIE JEST
> NIGDZIE ZAPISYWANE. Jedyne co jest zapisywane to cookie zawierające żeton
> sesji.
Ok, powyższe mi już wyjaśniło jak ten mechanizm "zapamiętaj mnie"
działa. Nie chcę wywnętrzać się na temat serwisu, bo nie jest to aż tak
istotne. Stwierdzam tylko, że zabezpieczenia na poziomie bankowym nie
jest niezbędne.
> A odnośnie sesji to doczytaj o ich obsłudze w tym czego używasz (PHP czy co tam
> stosujesz), przecież to wszystko jest w dokumentacji.
PHP, choć wolę programować "po stronie klienta" ;-)
--
Peter
-
8. Data: 2010-08-19 23:18:48
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Konrad Kosmowski <k...@k...net>
** Paweł Piskorz <n...@p...nie?> wrote:
>> W dniu 2010-08-17 23:07, Konrad Kosmowski pisze: A czy ja tam wiem co mam
>> trzymać w cookie w w/w funkcjonalności? Nie, bo nigdy czegoś takiego nie
>> potrzebowałem. No ale znalazł się jeden, co na GMailu coś takiego widział i
>> chce mieć takie coś, jak "Zapamiętaj mnie".
> GMailowe "Zapamiętaj mnie" nie zapamiętuje ani hasła ani loginu. Tak jak Ci
> Konrad pisze, to sprawia tylko tyle, że ciacho z sesją przeżywa zamknięcie
> przeglądarki. Po powrocie na stronę wcale się automagicznie żaden login i
> hasło nie wysyłają, tylko po prostu jesteś dalej uwierzytelniony, tak jakbyś
> się nigdy nie wylogował ze strony. Poza tym od czasu do czasu i tak pyta Cię
> o hasło, żeby się upewnić że to dalej Ty ;]
No właśnie mnie zastanawia to odczasudoczasowe pytanie o hasło przez Google
nawet przy otwartej sesji. Nie jestem przekonany, że to w ten sposób działa bo
wtedy by się odbywało regularnie, a takiej regularności nie mogę stwierdzić.
Bardziej moim zdaniem to jest właśnie tak, że oni jeszcze trzymają przy tym IP
sesji i jak to się zmienia w sposób częsty to odpytuje o hasło ponownie.
Najwięcej tych odpytań (używam Google Apps) widzę na Netbooku, którego co
chwila hibernuję, łączę tym łączem, tamtym itd.
--
+ ' .-. .
, * ) )
http://kosmosik.net/ . . '-' . kK
-
9. Data: 2010-08-20 07:05:32
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Vax <m...@z...sie>
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.
v.
-
10. Data: 2010-08-21 09:42:07
Temat: Re: Opcja "zapamiętaj hasło" lokalnie - jak bezpiecznie
Od: Sergiusz Rozanski <w...@s...com>
Dnia 20.08.2010 Vax <m...@z...sie> napisał/a:
>
> Sporadyczne logowania z innych komputerów w niczym nie przeszkadzają
> (o ile nie zostanie wybrana opcja, by TAM usera pamiętano).
I o tą akcje chodzi najbardziej, powinna być bardziej upierdliwa niż
samo podanie login/hasło/ciapek, osobiście w celu zapamiętania sesji na
wskazanej pc/przeglądarce wymagam kodu z obrazka, po zalogowaniu można
to sobie włączyć, wtedy upgraduje ciacho na dłuższy lifetime. Na swoim
pc można sobie to zrobić bo na dłuższą mete jest wygodne, na tymczasowym
się nikomu nie chce bo jest trudne. Dzięki temu nikt nie zostawia
ciastek na komputerach współpracowników/kolegów itd.
--
"A cóż to za sens kupować samochód, żeby jeździć po asfalcie?
Tam, gdzie jest asfalt, nie ma nic ciekawego, a gdzie jest
coś ciekawego, tam nie ma asfaltu".
Strugaccy - Poniedziałek zaczyna się w sobotę.