Jak sprawdzić, czy serwis bezpiecznie przechowuje hasła

30-08-2012, 16:39

Wycieki danych zdarzają się zarówno małym, lokalnym serwisom, jak i globalnym gigantom - wie o tym każdy, kto w miarę regularnie czyta Dziennik Internautów. Jak rozpoznać, czy serwis, któremu powierzamy nasze dane, dba o nie z należytą starannością? Zacznijmy od podstaw...

Rejestrując się w dowolnym serwisie, wymyślasz hasło, wpisujesz je w odpowiednie pole formularza, zatwierdzasz - podane przez Ciebie informacje trafiają do bazy danych. Jeżeli hasło zostanie w niej zapisane w takiej formie, w jakiej je podałeś, to mówimy, że jest ono przechowywane otwartym (jawnym) tekstem lub - z angielska - plain tekstem. Nie jest to bezpieczny sposób składowania haseł. Każdy, kto uzyska dostęp do bazy danych tego serwisu, wszystkie informacje dostanie na tacy.

Jak rozpoznać, że serwis, w którym zakładasz konto, przechowuje hasła w postaci jawnej?

Podczas rejestracji w serwisie:
Tworząc hasło, wplotłeś w nie znaki specjalne (#!@$% itp.), a system nie zaakceptował go, informując, że możesz użyć tylko liter i cyfr? Istnieje duże prawdopodobieństwo, że w danym serwisie hasła są przechowywane otwartym tekstem. To samo może oznaczać wyświetlenie się komunikatu, że wymyślone przez Ciebie hasło jest za długie (uwaga! niektóre witryny sprawdzają, czy wybrane przez użytkownika hasło nie jest zbyt krótkie - to nie oznacza przechowywania haseł w postaci jawnej).

Podczas odzyskiwania dostępu do serwisu:
Jeżeli zdarzy Ci się zapomnieć hasła, skorzystasz zapewne z opcji jego „przypominania”. Przy okazji możesz się dowiedzieć, w jakiej postaci jest ono przechowywane. Zwróć uwagę na zawartość wiadomości, którą serwis wyśle na Twój adres e-mail. Jeżeli znajdzie się w niej link umożliwiający zresetowanie hasła - możesz spać spokojnie, wiele wskazuje na to, że przed zapisaniem w bazie danych zostało ono zakodowane jednostronną funkcją skrótu (co to dokładnie oznacza, dowiesz się z dalszej części tekstu). Gorzej, jeśli serwis odeśle Ci „stare” hasło otwartym tekstem - może to oznaczać, że w bazie danych jest ono przechowywane tak samo.

Czy przesłanie hasła otwartym tekstem zawsze oznacza, że tak samo zapisano je w bazie?

Nie zawsze. Przed zapisaniem hasła serwis może je zaszyfrować algorytmem odwracalnym (symetrycznym lub asymetrycznym) - w takim przypadku w bazie będzie ono przechowywane w postaci zaszyfrowanej, ale można je będzie odszyfrować i przesłać użytkownikowi otwartym tekstem. Jest to lepsze rozwiązanie niż przechowywanie haseł w postaci jawnej, ale też nie do końca bezpieczne. Samo przechwycenie bazy danych włamywaczowi nie wystarczy - do odszyfrowania haseł będzie mu potrzebny jeszcze klucz. Szkopuł w tym, że zapisuje się go zwykle na tym samym serwerze, co baza danych, włamywacz odszuka więc go bez większych problemów.

Serwis wysłał Ci hasło otwartym tekstem tuż po rejestracji? Nie wpadaj w panikę!

Niektóre fora internetowe (choć nie tylko one) - przed zakodowaniem hasła do bezpiecznej postaci i zapisaniem go w bazie - wysyłają je otwartym tekstem do użytkownika. To o niczym nie świadczy, na wszelki wypadek możesz jednak skorzystać z opcji „przypominania” hasła i przekonać się, czy wtedy również otrzymasz je w postaci jawnej.

W jaki sposób serwis powinien przechowywać hasła?

Wspomniałam wcześniej o kodowaniu haseł za pomocą jednostronnej funkcji skrótu (innym określeniem tego procesu jest hashowanie). Specjaliści zalecają zabezpieczanie haseł przy użyciu algorytmów, których cechą wspólną jest jednoznaczne odwzorowywanie podanego ciągu znaków na pewien klucz o stałej długości - jeśli nie wiesz, o co chodzi, zobacz kilka przykładów.

Jak w takim przypadku wygląda logowanie do serwisu? Przed podjęciem decyzji, czy wpuścić użytkownika do środka, system generuje hash hasła wpisanego do formularza logowania i porównuje z zapamiętanym w bazie. Jeżeli są one identyczne, udziela dostępu. Ponieważ algorytm jest jednoznaczny, takie samo hasło generuje zawsze taki sam hash. To zaś, że funkcje skrótu są jednostronne (nie istnieją funkcje odwrotne), gwarantuje, że na podstawie hasha nie da się algorytmicznie odtworzyć hasła.

Od 2010 r. amerykański National Institute of Standards and Technology zaleca stosowanie algorytmu SHA-2, który zapewnia większą odporność niż SHA-1, nie mówiąc już o MD5.

Co to „solenie” haseł i po co się je robi?

Każda z funkcji hashujących jest niestety podatna na atak brute force, czyli sukcesywne sprawdzanie wszystkich możliwych kombinacji w poszukiwaniu właściwego hasła. W internecie dostępne są również tęczowe tablice (ang. rainbow tables) zawierające miliony pregenerowanych hashy, które może wykorzystać atakujący. Żeby temu zapobiec, stosuje się „solenie”, czyli doklejanie do hasła - przed jego skróceniem - np. 100-znakowego ciągu definiowanego w kodzie (ang. salt). Sprawia to, że moc przechowywanych w bazie haseł wzrasta do tego stopnia, że stają się one praktycznie niepodatne na wyżej wymieniony atak w przypadku wycieku.

Jak korzystać z serwisu, który przechowuje hasła otwartym tekstem?

Przekonałeś się już, że serwis, w którym założyłeś konto, przechowuje hasła w postaci jawnej, ale z jakiegoś powodu chcesz/musisz nadal z niego korzystać? Przede wszystkim użyj w nim hasła, którego nie stosujesz w żadnej innej witrynie. Jeżeli dojdzie do wycieku danych z tego serwisu, to możesz stracić w nim konto, ale włamywacz - wykorzystując zdobyte hasło - nie dostanie się nigdzie indziej.

Czytaj także: Polowanie na serwisy, które przysyłają hasła otwartym tekstem


Następny artykuł » zamknij

KielceCom tym razem o Mobile

Źródło: DI24.pl
  
znajdź w serwisie

RSS - Wywiad
Wywiad  
RSS - Interwencje
RSS - Porady
Porady  
RSS - Listy
Listy  
« Sierpień 2019»
PoWtŚrCzwPtSbNd
 1234
567891011
12131415161718
19202122232425
262728293031