Niedawno wpadłem na pomysł opisania pewnej klasy programów, które wydatnie ułatwiają pracę z wieloma urządzeniami. Przed rozpoczęciem pisania zasięgnąłem jednak opinii znajomego, który naprowadził mnie na temat dalece ważniejszy dla przeciętnego użytkownika komputera/urządzenia przenośnego. Tematem tym są hasła, czyli najcenniejsze i, przynajmniej teoretycznie, najbardziej strzeżone dane.
Praktyka pokazuje jednak, że teoria swoje, a w rzeczywistości już tak różowo nie jest. Ludzie (pisząc tak ogólnie oczywiście nie piszę o Tobie, świadomy obywatelu XXI wieku:) ) nie zdają sobie sprawy z wagi problemu a ich wiedza dot. haseł ogranicza się do tego, że są. W tym artykule postaram się przybliżyć tematykę i opowiem też o bardzo przydatnym pogramie wspomagającym zarządzanie wrażliwymi danymi.
Co to jest hasło i do czego służy?
Pytanie proste, a i odpowiedź nieskomplikowana. Za Wikipedią, hasło to tajny ciąg znaków stosowany w kryptografii oraz uwierzytelnianiu. Kryptografię pominę, podobnie jak opis różnic między uwierzytelnianiem, identyfikacją czy autoryzacją. Dla naszych celów najważniejsze jest, że w „normalnym życiu” w sieci i poza nią praktycznie cały czas wymagane jest od nas uwierzytelnienie się, czyli krótko mówiąc, potwierdzenie że my to my.
Sposobów na uwierzytelnianie jest wiele, ale chyba najczęściej spotykanym jest właśnie hasło lub jakaś jego alternatywa – np. użytkownicy smartfonów, aby odblokować telefon przykładają palec do czytnika daktyloskopijnego lub patrzą w kamerkę, aby urządzenie rozpoznało ich po tęczówce. Siła tych metod jest jednak niezależna od nas, użytkowników, a siła hasła jak najbardziej, stąd skupię się dalej tylko na tych znaczkach, które jako użytkownicy wymyślamy a następnie zapamiętujemy (z lepszym lub gorszym skutkiem).
Jak działa?
Przede wszystkim, hasła i szyfrowania to ogromnie złożony temat. Jest ich mnóstwo, dzielą się na wiele rodzajów i jest dużo książek o różnym poziomie zaawansowania, jeżeli chcemy poszerzyć swoją wiedzę (a warto). W niniejszym artykule owe różne rodzaje nie mają większego znaczenia, ponieważ nie skupiam się na tym jak działają zabezpieczenia systemów (nie mam takiej wiedzy i tyle czasu, aby to dokładnie opisać), ale jak dobierać do nich hasła. Nie jest to żaden paradoks – nie musimy znać tych wszystkich technikaliów, ponieważ zasady wyboru haseł są uniwersalne.
Aby zatem nie wdawać się w szczegóły interesujące tylko garstkę ludzi, hasła możemy porównać do klucza, który otwiera zamek w drzwiach.
I albo próbujemy się zalogować do jakiegoś systemu (Facebook, Windows itp.), wtedy najczęściej odbywa się to tak, że wpisujemy hasło, a oprogramowanie przekształca je zgodnie z pewnym algorytmem (tzw. hashowanie) i sprawdza, czy przekształcone zgadza się z zapisanym w bazie wzorem podanym podczas rejestracji bądź ostatniej zmiany hasła. Na przykład, hasło
„LjY4shp4vsk4s7nrSjTN” (przykładowe, bezpieczne hasło)
przekształcone funckją SHA-3 będzie miało postać:
„67d94dd2003cb2bea9c24a3e19144f36ce7055fb28f38ff3a885f5ee6dec15baf6cf74eb87415215652511f3e5511fedb7675ab47bd19ab602aab63179425ee3”. (tzw. hasz)
Owo przekształcenie porównywane jest z przechowywanym w pamięci systemu wzorcem i jeżeli jest różne, nie zostaniemy dopuszczeni do systemu. Jest to tak zwane szyfrowanie jednokierunkowe – z haszu nie możemy odzyskać pierwotnego hasła i dlatego, jeżeli jakiś system oferuje przesłanie zapomnianego hasła, oznacza to że nasze dane nie są tam dobrze zabezpieczone. Na szczęście coraz mniej takich na rynku.
Szyfrowanie dwukierunkowe zaś odbywa się, jeżeli mamy na dysku jakieś dokumenty i chcemy je zaszyfrować. Podajemy zatem hasło, a algorytm przy jego użyciu szyfruje dane, a gdy chcemy uzyskać do nich dostęp, odszyfrowuje je.
Należy pamiętać, że nowoczesne algorytmy szyfrujące są jawne, ogólnodostępne i każdy, zarówno porządny człowiek jak i złodziej, ma do nich dostęp. Tylko silne hasło może uchronić nas przed utratą naszych danych!
Zielona kłódeczka
Dlatego tak ważny jest ich dobór, przechowywanie i… wpisywanie. Załóżmy, że logujemy się do Facebooka. Wszystkie systemy lokalne (np. Windows) są pod tym względem bezpieczniejsze, ale dzisiaj bardzo często podajemy hasła w Internecie – choćby codziennie sprawdzając pocztę elektroniczną. Jeżeli wpiszemy hasło na stronie z którą łączymy się w sposób nieszyfrowany (przed adresem strony pojawia się „http://”), to nasze hasło zostanie przesłane w sposób, który bardzo łatwo można podejrzeć.
Pamiętajmy, aby w Internecie podawać swoje wrażliwe dane tylko i wyłącznie na stronach z adresami poprzedzonymi przedrostkiem „https://” co oznacza „secure (bezpieczny) http”. Najczęściej przeglądarki oznaczają je jakoś specjalnie. Kłódeczką, kolorem zielonym czy w jeszcze inny, intuicyjnie powiązany z bezpieczeństwem, sposób.
Nie jest to jednak warunek konieczny, a jedynie wystarczający – przestępca może wykupić certyfikat SSL u podejrzanego dostawcy i jego strona też będzie oznaczona przez przeglądarkę na zielono, a mimo to będzie niebezpieczna. Kłódka oznacza to, że hasło przesyłane jest w sposób bezpieczny, ale niekoniecznie w bezpieczne miejsce.
Zatem – jak dobierać hasła?
Po tym wstępie wiemy już, że hasła MUSZĄ być bezpieczne. A co to znaczy? Jakie są zasady doboru haseł? Zostały one spisane w wielu miejscach, więc można je przeczytać np. w Wikipedii. Mówiąc krótko, są one dość trudne do przestrzegania – nie powinniśmy umieszczać w hasłach identyfikatorów związanych z nami (np. imion dzieci), hasła powinny być długie (np. 20 znaków), zawierać różnego rodzaju znaki, nie tylko litery, ale cyfry oraz pozostałe znaki (np. !@#$% itp.). Przykład mocnego hasła: „8GrSP35bukfLfTjsQ8eX1sF96e547J”. Jest ono świetne i ma tylko jedną wadę – bardzo trudno je zapamiętać.
Więc może coś innego? Eksperci radzą, aby tworzyć różne historyjki i na ich podstawie generować hasła. Np. fachowcy z Mozilli zaproponowali coś takiego. Z grubsza chodzi o wybranie sobie jakiegoś dłuższego zdania, np. „Litwo, Ojczyzno moja Ty jesteś jak zdrowie”, utworzenie trzonu hasła z pierwszych liter „LOmTjjz” i dodawanie do nich jakiegoś zestawu znaków szczególnych oraz przedrostków/przyrostków dla różnych serwisów. I tak dla Facebooka hasło może wyglądać tak: „FcBk#:LOmTjjz” a dla Twittera „TwTr#:LOmTjjz”. Niby dobrze, ale też można zapomnieć, a ponadto przy mało skomplikowanym algorytmie wszystkie hasła są narażone po wykradzeniu jednego z nich.
Czy wszystko stracone?
Oczywiście, że nie. Pokazałem dotąd, że silne hasła są trudne do zapamiętania. Musimy więc znaleźć radę na ich zapisywanie. Na kartce przy monitorze odpada – osoby postronne zobaczą i nici z bezpieczeństwa. Ale od czego mamy elektronikę? Możemy zapisać w komputerze. Najbardziej prymitywnym sposobem będzie plik, w którym zapiszemy wszystkie hasła, a następnie spakujemy go do zaszyfrowanego archiwum *.zip. Takie rozwiązanie jest uciążliwe do stosowania, ale zamiast pamiętać dziesiątki haseł, musimy znać tylko to jedno – do pliku zip.
Zamiast tego zalecam skorzystanie z profesjonalnego oprogramowania stworzonego specjalnie do celu przechowywania haseł. Na rynku jest co najmniej kilka dobrych.
Chyba najbardziej znanym jest KeePass. Jego zaletą jest duża ilość funkcji, prosty interfejs, zaufanie (korzystają z niego tysiące ludzi, a ponadto jest to oprogramowanie typu Open Source, co oznacza, że ew. próby wyłudzenia haseł przez aplikację zostaną zweryfikowane przez niezależnych programistów). Dużą wadą fakt, że plik z hasłami jest przechowywany lokalnie. Oznacza to, że gdy aktualizujemy hasło, lub dodajemy je do bazy na jednym urządzeniu, musimy ręcznie zrobić to samo na innych. Oczywiście są sztuczki, aby to obejść, ale zakładamy, że to największa wada tego programu.
Przeciwieństwem zasady działania KeePassa jest używany przeze mnie LastPass. Jest to system mający postać wtyczki do przeglądarki internetowej dowolnego rodzaju. Dla mnie była to główna zaleta, która spowodowała że wybrałem akurat to rozwiązanie. Integracja z przeglądarką powoduje, że wpisywanie haseł na stronach internetowych jest banalnie proste. LastPass umożliwia także przechowywanie haseł i wrażliwych danych innego rodzaju (numery kart kredytowych, PINy itp.). Mimo, że rozwiązanie nie jest typu Open Source, to wydaje się być bezpieczne – przede wszystkim z tego względu, że na serwerach firmy są składowane nie same hasła, a ich wersje zaszyfrowane kluczem głównym, które znamy tylko my. LastPass ma wersje mobilne (od niedawna darmowe), wbudowany generator haseł, usługi automatycznej zmiany hasła, bezpieczny schowek a nawet zabezpieczenia na wypadek śmierci właściciela. Z tego powodu uważam, że jest to system naprawdę godny polecenia – bezpieczny, łatwy w obsłudze i… darmowy. W najbliższym wpisie postaram się przybliżyć jego działanie.
Nie ufaj Facebookowi
Na koniec chciałbym jeszcze uczulić na, pozornie nie związane z hasłami, funkcjonalności serwisów społecznościowych. Z pewnością użytkownicy Facebooka zauważyli, jak nachalnie próbuje on uzyskać dane dotyczące naszego życia. Oprócz innych zagrożeń związanych z lekkomyślnym udostępnianiem informacji typu „jaki był Twój pierwszy samochód”, czy „imię Twojej pierwszej miłości”. Czasami widać też „zabawne” obrazki, które wzywają nas do skomentowania ich jakimś faktem ze swojego życia. Pamiętajmy, że tego rodzaju dane jak nazwisko panieńskie żony czy imię pierwszego zwierzaka służą często w różnych systemach jako pytania pomocnicze przy odzyskiwaniu haseł. LastPass z pewnością pomoże nam w procedurze ewentualego odzyskiwania (a przede wszystkim zapobienie utracie hasła), ale mimo to sami musimy pamiętać, że jeżeli wrzucimy coś do Sieci, to w niej już zostanie na zawsze. Często trudno sobie dziś wyobrazić w jaki sposób wykorzystać kiedyś będzie można nasze zdjęcia, czy dane, które dziś wydają nam się nic nieznaczące.
Podsumowanie
Cały wpis można streścić do kilku zdań. Hasło to najważniejsze dobro w elektronicznym świecie. Nie wolno wykorzystywać tego samego hasła w różnych systemach, a najlepszą wg mnie aplikacją ułatwiającą zarządzanie hasłami jest LastPass. W następnym odcinku krótka instrukcja obrazkowa jak się nim posługiwać. Zachęcam także do zasubskrybowania nowości serwisu Niebezpiecznik lub Zaufana Trzecia Strona – jeżeli tylko wychodzi nowe zagrożenie naszego bezpieczeństwa, jest duża szansa, że o nim napiszą wraz ze sposobem, jak się przed nim zabezpieczyć. Piszą nie tylko o komputerach, ale także o „rzeczywistym” świecie – czyli atakach na osoby starsze, socjotechnikach itp.