Najważniejszym wnioskiem płynącym z haseł jest to, że należy wybierać dłuższe hasła. Zwykle zaleca się, by miały one co najmniej 15 znaków. Nie należy również używać tego samego hasła dla różnych stron. Jeśli ponownie użyjesz hasła na wielu stronach, a ono wycieknie lub zostanie złamane, co powstrzyma napastników przed zalogowaniem się na innych stronach przy użyciu tego samego hasła?
Możesz zapisać się do powiadomień o wycieku danych uwierzytelniających na stronie https://haveibeenpwned.com/. Jeśli wyciek zawierający Twój e-mail zostanie wykryty w Internecie, jest duża szansa, że otrzymasz powiadomienie i będziesz mógł/mogła zmienić hasło, zanim zostanie ono nadużyte.
Jak ułatwić sobie zapamiętywanie unikatowych haseł?
Zapamiętanie wielu unikatowych haseł jest trudne. Wiele osób korzystających z unikatowych haseł przechowuje je w notatkach, w formie cyfrowej, w notatniku lub na kartce papieru. Jeśli ktoś uzyskałby dostęp do tych notatek, mógłby zalogować się do wszystkich stron, które są w nich zapisane. Jak można temu zapobiec?
Menedżery haseł
Menedżery haseł to oprogramowanie, które zapamiętuje za Ciebie hasła i inne poufne informacje. Zazwyczaj szyfrują one wszystkie dane, które w nich przechowujesz, umożliwiając korzystanie z nich tylko Tobie. Bezpieczeństwo menedżerów haseł zależy, jak zobaczymy w dalszej części rozdziału, od klucza, a nie od zastosowanego algorytmu. Innymi słowy, gdybyś stracił(a) dostęp do bazy danych zawierającej wszystkie Twoje zaszyfrowane hasła, nikt inny nie byłby w stanie uzyskać do nich dostępu bez klucza.
Zapamiętanie długiego klucza jest niemożliwe, więc można użyć hasła głównego do odszyfrowania samego klucza, który jest następnie używany do odszyfrowania danych. W gruncie rzeczy klucz jest tak bezpieczny jak hasło główne. Jest to ustępstwo na rzecz użyteczności kosztem pełnego bezpieczeństwa. Hasło główne jest łatwiejsze do zapamiętania niż długi klucz pełen losowych znaków. Hasło główne powinno być jednak bardzo bezpieczne, więc powinno być długie i trudne, jeśli nie niemożliwe, do odgadnięcia. Niektóre menedżery haseł mają inne sposoby odzyskiwania Twojego konta, ale uważaj, jeśli informacje o odzyskiwaniu są przechowywane poza Twoją kontrolą, ponieważ oznacza to, że każdy, kto ma dostęp do tych danych, może odszyfrować Twoje hasła.
Menedżery haseł mają również funkcje generowania dla Ciebie bezpiecznych haseł. Wiele menedżerów haseł pokazuje również względne bezpieczeństwo hasła za pomocą czegoś przypominającego obliczenia entropijne, które widzieliśmy wcześniej. Prawie wszystkie menedżery haseł posiadają opcjonalne wtyczki do przeglądarek, które pozwalają na automatyczne wypełnianie danych logowania na odwiedzanych stronach internetowych. Większość z nich działa również wieloplatformowo, dzięki czemu można korzystać z tej samej aplikacji na komputerach, tabletach i telefonach komórkowych.
Przydatną funkcją, którą można znaleźć w niektórych menedżerach haseł, jest funkcja powiadamiania o wyciekach haseł na stronach, z których korzystasz. Po otrzymaniu powiadomienia menedżer haseł może pomóc Ci zmienić hasło na nowe, uniemożliwiając napastnikom zalogowanie się przy użyciu potencjalnie ujawnionych danych uwierzytelniających.
Wybierając menedżera haseł należy zwrócić uwagę na to, gdzie i w jaki sposób przechowywana jest baza danych haseł i klucze szyfrujące. Niektóre menedżery haseł pozwalają na przechowywanie haseł w lokalnej bazie danych. Oznacza to, że tylko Ty masz dostęp do pliku bazy danych. W zależności od oprogramowania możesz mieć możliwość synchronizowania bazy danych między komputerami i innymi urządzeniami za pośrednictwem różnych usług, takich jak Dropbox lub iCloud. Niektóre menedżery haseł przechowują bazę danych na swoich serwerach. W takim przypadku kluczową kwestią wpływającą na bezpieczeństwo jest zrozumienie, w jaki sposób obsługiwane jest szyfrowanie i klucze szyfrujące. Niektóre usługi wymagają przechowywania głównego klucza szyfrowania na swoich serwerach, ale daje to również możliwość odszyfrowania bazy danych haseł. Inne usługi, takie jak 1Password, przechowują bazę danych haseł albo w wybranej przez Ciebie lokalizacji (wersja samodzielna), albo na swoich serwerach (wersja abonamentowa). We wszystkich przypadkach jednak tylko Ty jesteś w posiadaniu głównego klucza szyfrującego.
Być może zauważeś/aś, że używanie menedżera haseł stwarza sytuację, w której "wszystkie jajka znajdują się w jednym koszyku". Jeśli napastnik uzyska dostęp do Twojej bazy danych haseł i będzie w stanie ją odszyfrować, stracisz wszystkie swoje hasła na raz. Jednak używanie menedżera haseł ma o wiele więcej pozytywnych stron w stosunku do ryzyka utraty wszystkich haseł w tym samym czasie. Pozwala on na bezpieczne przechowywanie unikalnych i długich haseł, których zapamiętanie byłoby prawie niemożliwe. Utrata jednego hasła poprzez włamanie na stronę internetową nie spowoduje zagrożenia dla innych loginów, ponieważ nie używasz ponownie tego samego hasła. Aby chronić swoją bazę danych, użyj dobrego i długiego hasła głównego. Możesz nawet użyć hasła w formie frazy „passphrase” (lub serii kilku niepowiązanych ze sobą słów), aby uczynić je jeszcze dłuższym!
Jeśli obawiasz się, że ktoś może przejąć Twoje dane uwierzytelniające, zazwyczaj możesz użyć dodatkowej ochrony, takiej jak uwierzytelnianie wielopoziomowe.
Uwierzytelnianie wielopoziomowe
Uwierzytelnianie wielopoziomowe (multi-factor authentication, MFA) ma miejsce wtedy, gdy użytkownik uwierzytelnia się w usłudze przy użyciu więcej niż jednego czynnika. Czynniki te są zwykle definiowane jako:
coś, co wiesz (wiedza, taka jak hasło)
coś, co posiadasz (własność, np. telefon komórkowy lub fizyczny klucz)
coś, czym jesteś (tzw. „inherencja”, np. odcisk palca lub siatkówka oka).
Najczęstszym sposobem uwierzytelniania wielopoziomowego jest uwierzytelnianie dwuskładnikowe (lub weryfikacja dwuetapowa, 2FA). Przykładem uwierzytelniania dwuskładnikowego lub 2FA jest płatność kartą kredytową. W przypadku płatności kartą kredytową używasz czegoś, co posiadasz (karty kredytowej) i czegoś, co znasz (kodu PIN), aby autoryzować płatność.
Nazwa użytkownika i hasło razem to wciąż tylko jeden czynnik. Oba należą do kategorii "coś, co wiesz". Niektóre strony wciąż używają pytań zabezpieczających jako dodatkowego czynnika, zwłaszcza w celu odzyskania hasła, ale to wciąż tylko jeden czynnik. Co gorsza, odpowiedzi na te pytania zabezpieczające zazwyczaj można bardzo łatwo znaleźć w Internecie.
Uwierzytelnianie wielopoziomowe jest używane, aby wprowadzić dodatkowe zabezpieczenia do uwierzytelniania. Być może widziałeś/aś przypadki naruszenia bezpieczeństwa na stronach internetowych, z których korzystasz i słyszałeś/aś, że nazwy użytkowników i hasła wyciekły do internetu. Jeśli nie używasz uwierzytelniania wielopoziomowego lub jego bardziej popularnej odmiany, uwierzytelniania dwuskładnikowego (2FA), każdy, kto ma dostęp do tych danych uwierzytelniających, może użyć ich do uzyskania dostępu do konta. Jeśli ponownie użyłeś/aś hasła w wielu usługach, wszystkie z nich są podatne na nadużycia przez każdego, kto ma dostęp do danych uwierzytelniających. Jednakże, jeśli włączyłaś/aś 2FA w usługach, z których korzystasz, atakujący musiałby również mieć dostęp do drugiego czynnika, aby móc uzyskać dostęp do Twojego konta.
Typowe drugie czynniki to:
SMS (musisz mieć dostęp do telefonu, aby móc się zalogować);
hasła jednorazowe (OTP) uzyskiwane za pomocą aplikacji lub fizycznego klucza, takiego jak klucz RSA (małe urządzenie, które generuje hasła jednorazowe);
klucze bezpieczeństwa, na przykład Yubikey lub klucz Titan firmy Google;
powiadomienia typu push (np. stosowane za pośrednictwem aplikacji Google lub Authenticator firmy Microsoft);
odcisk palca lub rozpoznawanie twarzy.
Uważaj na wiadomości SMS
Chociaż wiadomość SMS jest nadal najczęściej używanym czynnikiem dodatkowym, jest ona podatny na nadużycia. Wiele różnych ataków może zostać wykorzystanych do obejścia zabezpieczeń przy pomocy SMS-ów. Co więcej, przestępcy stosują sztuczki polegające na nakłanianiu użytkowników do wprowadzania kodów haseł jednorazowych jako odpowiedzi na nieoczekiwane zapytania, co pozwala atakującemu na wykorzystanie tego kodu w ataku.
Ten atak socjotechniczny może przybrać formę SMS-a z informacją, że Twoje konto jest atakowane i musisz wprowadzić hasło jednorazowe, aby umożliwić serwisowi zweryfikowanie, że napastnik nie jest Tobą. Inną, dość często stosowaną strategią jest dzwonienie do użytkownika jako przedstawiciel banku lub innego zaufanego instytutu z prośbą o potwierdzenie tożsamości poprzez podanie hasła jednorazowego. Następnie napastnicy próbują zalogować się na Twoje konto i przesyłają prośbę o hasło jednorazowe do Ciebie. Napastnik może wydawać się godny zaufania, ponieważ może ostrzec Cię przed podaniem komukolwiek Twoich danych uwierzytelniających (oni już je mają!). Pamiętaj - żaden prawdziwy bank, rząd lub oficjalna instytucja nigdy nie poprosi Cię o podanie hasła lub numeru PIN.
Innym często używanym czynnikiem jest aplikacja uwierzytelniająca. Istnieje wiele aplikacji, które zapewniają tę samą usługę, więc możesz wybrać tę, z której chcesz korzystać. Większość aplikacji jest wieloplatformowa i może być używana na większości telefonów komórkowych i komputerów. Najczęściej używanymi aplikacjami uwierzytelniającymi są Google Authenticator, Authy i Microsoft Authenticator, ale dostępnych jest wiele innych. Często aplikacja uwierzytelniająca potrzebuje wartości domyślnej z serwera, aby móc wygenerować dla Ciebie hasło jednorazowe. Najczęstszym sposobem jest obecnie skanowanie kodu QR za pomocą aparatu w telefonie komórkowym. Kod czasowy zwykle odnawia się w ciągu 30 sekund. Kod posiada również niewielki przedział czasowy, w jakim będzie działał, zazwyczaj około jednej minuty.
Klucze bezpieczeństwa
Klucz bezpieczeństwa jest najbezpieczniejszym z wcześniej wymienionych czynników w uwierzytelnianiu wielopoziomowym. Korzystanie z niego jest nieco bardziej skomplikowane niż z aplikacji uwierzytelniającej, ale jest też bezpieczniejsze. Jeśli zgubisz telefon z aplikacją uwierzytelniającą, możesz stracić wszystkie informacje chroniące Twoje konta. W przypadku klucza bezpieczeństwa posiadasz osobne urządzenie fizyczne, które jest potrzebne oprócz Twoich danych uwierzytelniających, więc jeśli stracisz jedynie urządzenie z hasłami, nie oznacza to, że ktoś będzie mógł zalogować się na Twoje konto. Dobrą praktyką jest przechowywanie duplikatu klucza bezpieczeństwa w bezpiecznym miejscu na wypadek zgubienia lub złamania klucza głównego. Klucze bezpieczeństwa zazwyczaj posiadają dodatkowy krok w celu ochrony danych w nich zawartych. Zazwyczaj jest to przycisk, który należy nacisnąć przed użyciem danych poufnych. Dzięki temu złośliwe oprogramowanie w Twoim komputerze nie będzie mogło odczytać tokenu zabezpieczającego, chyba że dojdzie do fizycznego działania.
Loginy bezhasłowe
Istnieje wiele wad związanych z używaniem haseł. Na przykład użytkownicy preferują hasła łatwe do zapamiętania i słabe, które muszą być gdzieś przechowywane, zazwyczaj w niezbyt bezpiecznym miejscu. Gdy dojdzie do ich wycieku, dane logowania mogą zostać niewłaściwie wykorzystane, nawet na innych stronach w przypadku ponownego użycia haseł. Tablice tęczowe i brute forcing staną się bardziej użyteczne w przyszłości wraz z pojawieniem się coraz szybszych komputerów, postępem w zrozumieniu algorytmów i komputerami kwantowymi. Loginy bezhasłowe mają na celu zmianę tego stanu rzeczy poprzez zastosowanie szyfrowania kluczem prywatno-publicznym. W tej metodzie klucz prywatny nie jest przekazywany do serwera i w takich przypadkach utrata klucza publicznego przechowywanego na serwerze nie pozwoli nikomu poza właścicielem klucza prywatnego na zalogowanie się na konto użytkownika. Przykładem logowania bezhasłowego jest uwierzytelnianie Windows Hello firmy Microsoft.
Windows Hello można używać różnymi metodami, od kodu PIN po odcisk palca, czy nawet rozpoznawanie twarzy. Początkowe uwierzytelnienie odbywa się lokalnie na komputerze i nigdy nie jest przesyłane na serwer. Zamiast tego kod PIN lub odcisk palca jest wykorzystywany „za kulisami” do autoryzacji wymiany kryptograficznej między komputerem a serwerem, co w efekcie daje dostęp do komputera.
Uwierzytelnianie bezhasłowe kontra uwierzytelnianie wielopoziomowe
Logowanie bezhasłowe może być mylone z uwierzytelnianiem wielopoziomowym, ponieważ doświadczenia użytkownika końcowego mogą być dość podobne. W przypadku uwierzytelniania bezhasłowego system zazwyczaj prosi o podanie pewnych informacji identyfikacyjnych, takich jak nazwa użytkownika lub adres e-mail. Uwierzytelnianie może odbywać się za pomocą wielu różnych czynników, które są zbieżne z uwierzytelnianiem wielopoziomowym. Różnica polega na tym, że uwierzytelnianie bezhasłowe nie wymaga od Ciebie pamiętania poufnych informacji współdzielonych z serwerem, takich jak hasło. Nawet jeśli używasz kodu PIN, który byłby fatalnym hasłem, kod PIN nie jest przesyłany do serwera, ale zamiast tego jest używany do włączenia uwierzytelniania kryptograficznego lokalnie na Twoim komputerze.
Sign up to solve exercises
Po ukończeniu rozdziału 2 potrafisz już:
zrozumieć, jakie rodzaje danych powinny być chronione, a jakie mogą pozostać jawne
wyjaśniać, gdzie i w jaki sposób pozostawia się ślady danych oraz do czego są one wykorzystywane
zrozumieć, w jaki sposób możesz ustalić swoje prawa i obowiązki związane z wykorzystywaniem danych
uzyskać podstawową wiedzę o tym, jak stworzyć dobre hasło i wzmocnić bezpieczeństwo logowania na wszystkich swoich kontach internetowych.