Jak utworzyć silne hasło, które jest łatwe do zapamiętania?



Eksperci od bezpieczeństwa na każdym kroku przypominają nam jak ważne jest posiadanie silnych haseł. Jednym z największych grzechów użytkowników jest ponowne używanie tego samego hasła w wielu serwisach. W przypadku gdy przestępcy wejdą w posiadanie takiego hasła, zyskają dostęp nie do jednego, lecz wielu kont. Dlatego tak ważne jest, by hasła były nie tylko silne, ale też unikalne. Najlepszym sposobem zarządzania swoimi hasłami jest oczywiście korzystanie z menedżera haseł. Ale co w przypadku, gdy musimy zapamiętać jakieś hasło? Przecież chociażby hasło, które zabezpiecza nasz menedżer haseł, trzeba zachować w głowie. Czasem bywa też tak, że nie w każdym środowisku mamy możliwość skorzystania z menedżera haseł. Oczywiście hasła można zapisać na kartce papieru. Wiele osób nawet całkiem dobrze radzi sobie z zabezpieczaniem niewielkich świstków papieru, lecz nie tyczy się to wszystkich. Niektórzy mogą uważać, że taką kartkę łatwo jest zgubić lub ktoś mógłby ją ukraść albo podejrzeć hasła. W takiej sytuacji najlepiej jest po prostu te hasła pamiętać. Problem w tym, że hasła silne są zazwyczaj dość trudne do zachowania w pamięci. Na szczęście istnieje kilka metod tworzenia silnych haseł, które biorą ten fakt pod uwagę i pozwalają na utworzenie hasła, które jest trudne do złamania, a jednocześnie stosunkowo proste do zapamiętania.

 

O sile haseł

Zanim przejdę do omówienia konkretnych metod tworzenia haseł, słów kilka o teorii. Jeśli nie jesteś tym zainteresowany i chcesz po prostu poznać metody tworzenia haseł, pomiń tę sekcję.

Żeby hasło było silne, musi być ono dostatecznie długie i skomplikowane. Niestety, ludzie są zazwyczaj dość słabi w wymyślaniu haseł, które są w stanie oprzeć się zarówno atakom brute force jak i atakom słownikowym. Ludzie wymyślając swoje hasła często wpisują się w znane schematy: używają powszechnych słów, sekwencji znaków ustawionych obok siebie na klawiaturze, imion zwierząt, numerów tablic rejestracyjnych itp. To nie są podstawy do utworzenia dobrego hasła. Nawet jeśli sam tworząc hasła nie korzystasz z tak oczywistych schematów, to Twoja metoda tworzenia haseł może nie być tak trudna do złamania jak Ci się wydaje. Co gorsza, nawet jeśli Twoja metoda jest dobra, to bardzo trudno jest stwierdzić czy tak rzeczywiście jest. Dlatego, w miarę możliwości, zaleca się tworzenie haseł losowych, zwłaszcza jeśli naprawdę zależy Ci na bezpieczeństwie. W przypadku haseł wygenerowanych losowo jesteśmy w stanie zmierzyć ich entropię.

Entropia jest to miara stopnia nieuporządkowania elementów w zbiorze i mierzy się ją w bitach. Jeśli jakieś zdarzenie w zbiorze zdarzeń występuje z prawdopodobieństwem równym 1 (czyli z góry wiemy co się stanie), to entropia układu wynosi 0. Entropia mówi nam jak trudno jest zgadnąć hasło, nawet w przypadku, gdy ktoś próbujący złamać hasło zna metodę jakiej użyto do jego utworzenia. Im większa jest entropia, tym hasło jest mocniejsze. W sytuacji, gdy hasło jest wybierane ze zbioru znaków o rozmiarze N i gdy prawdopodobieństwo wyboru każdego z N znaków jest równe, entropię możemy obliczyć ze wzoru log₂(N). Gdy hasło ma długość M znaków wybranych z takim samym prawdopodobieństwem ze zbioru N, to entropię możemy policzyć w ten sposób: M * log₂(N).

Np. jeden rzut monetą ma jeden bit entropii, bo możliwe są tylko dwa rezultaty – orzeł lub reszka (log₂(2) = 1).

Alfabet łaciński zawiera 26 liter. Jeśli wybierzemy hasło o długości 8 znaków, składające się z liter alfabetu łacińskiego i znaki te będą wybierane w sposób losowy, to entropia wyniesie 8 * log₂(26) = 37,6 bitów.

W przypadku metody tworzenia haseł z użyciem kości do gry, opisanej w dalszej części posta, naszym zbiorem N jest zbiór 7776 słów (jedno słowo jest tu odpowiednikiem jednego znaku z tradycyjnego hasła), więc każde słowo ze zbioru niesie ze sobą około 12,9 bitów entropii (log₂(7776)). Więc entropia hasła wybranego tą metodą, składającego się z sześciu słów, będzie wynosiła 77,5 bitów.

Nasuwa się pytanie: jak dużą entropię powinniśmy chcieć uzyskać tworząc hasło, jeśli chcemy, żeby hasło skutecznie oparło się atakowi metodą brute force? Jeśli nie jesteś obiektem zainteresowania agencji rządowych, hasło o entropii 70 bitów powinno wystaczyć. Jeśli bardzo zależy Ci na bezpieczeństwie, celuj w 90 bitów i więcej. Z korespondencji Edwarda Snowdena z Laurą Poitras w 2013 roku możemy wywnioskować, że wówczas NSA (National Security Agency) dysponowało możliwością atakowania haseł z szybkością biliona prób na sekundę. Od tamtej pory te możliwości mogły tylko ulec zwiększeniu. Biorąc to oraz swoje indywidualne potrzeby pod uwagę, możesz na podstawie poniższej tabeli określić jak długiego hasła potrzebujesz.

Tabela przedstawiająca zależność entropii od użytych znaków w haśle i długości hasła. Pokazuje również jak długo w zależności od posiadanych przez atakującego środków hasło o danej entropii opierałoby się atakowi typu brute force. Cała treść tabeli opiera się o dwa wzory: (entropia) = log2((liczba elementów zbioru)^(długość hasła)) oraz (czas potrzebny na gwarantowane złamanie klucza w sekundach) = (2^(entropia) / (liczba prób łamania klucza na sekundę)).
Czas wymagany do złamania hasła za pomocą ataku typu brute force w zależności od entropii (kliknij w obrazek, aby powiększyć).

Żeby oszczędzić Ci rozszyfrowywania powyższej tabeli podam kluczowe informacje. Uzyskanie hasła o entropii 70 bitów wymaga użycia co najmniej:

  • 15 znaków, jeśli hasło składa się wyłącznie z małych liter alfabetu łacińskiego,
  • 12 znaków, jeśli hasło składa się z małych oraz wielkich liter alfabetu łacińskiego, a także cyfr od 0 do 9,
  • 11 znaków, jeśli hasło składa się z małych i wielkich liter alfabetu łacińskiego, cyfr od 0 do 9 oraz znaków specjalnych,
  • 6 słów ze zbioru 7776 słów sporządzonego na potrzeby metody tworzenia haseł z wykorzystaniem kości do gry.

Natomiast uzyskanie hasła o entropii 90 bitów wymaga użycia co najmniej:

  • 19 znaków, jeśli hasło składa się wyłącznie z małych liter alfabetu łacińskiego,
  • 15 znaków, jeśli hasło składa się z małych oraz wielkich liter alfabetu łacińskiego, a także cyfr od 0 do 9,
  • 14 znaków, jeśli hasło składa się z małych i wielkich liter alfabetu łacińskiego, cyfr od 0 do 9 oraz znaków specjalnych,
  • 7 słów ze zbioru 7776 słów sporządzonego na potrzeby metody tworzenia haseł z wykorzystaniem kości do gry.

 

Tworzenie haseł za pomocą kości do gry

To metoda wymyślona przez Arnolda G. Reinholda. Do tworzenia haseł tą metodą potrzebna jest zwykła kość do gry oraz zestaw odpowiednio ponumerowanych słów. Numery słów składają się z pięciu cyfr, gdzie każda z nich to cyfra od 1 do 6, co pozwala na wylosowanie jej z użyciem kości do gry. Losując pięciokrotnie cyfrę z użyciem kości, uzyskujemy numer słowa z listy. Oryginalny opis metody pana Reinholda możesz przeczytać na jego stronie. Zawiera ona pełne, dokładne objaśnienie tego sposobu tworzenia haseł i wiele dodatkowych informacji. Poniżej przytoczyłem tylko najbardziej podstawową formę tej metody, która wystarczy jednak by utworzyć silne, unikalne i stosunkowo łatwe do zapamiętania hasło.

Tworzenie hasła krok po kroku

Na początek potrzebujesz kości do gry oraz listy ponumerowanych słów. Poniżej zamieściłem linki do gotowych list. Pobierz jedną z nich i wykorzystaj przy tworzeniu hasła.

Twoje hasło będzie się składać z oddzielonych od siebie spacjami słów. Jego długość powinna wynosić co najmniej 6 słów.

Tworzenie hasła polega na losowaniu numerów poprzez rzuty kością. Losuj kością cyfry od 1 do 6 i zapisuj je na kartce w grupach po pięć. Taka grupa może wyglądać tak: 33116. Pięciocyfrowych grup niech będzie tyle ile słów ma zawierać Twoje hasło. Następnie dla każdego wylosowanego pięciocyfrowego numeru znajdź na liście odpowiadające mu słowo i zapisz je na kartce. Wylosowane słowa rozdzielone spacjami to Twoje nowe hasło. Zapamiętaj je i zniszcz kartkę lub schowaj ją w bezpiecznym miejscu.

Przykładowe wylosowane numery i odpowiadające im słowa mogą wyglądać następująco (słowa wylosowane z polskiej listy Diceware):

33116 kizia

24122 flisak

12263 afgan

33416 kocki

54564 skok

32625 kilim

Czyli hasło to: kizia flisak afgan kocki skok kilim

Dla bezpieczeństwa, jeśli wylosowane hasło ma mniej niż 19 znaków lub układa się w mające sens zdanie, lepiej jest wylosować hasło jeszcze raz.

Jaki jest w tym wszystkim sens?

Cała sprawa sprowadza się do tego, że kilka losowych słów łatwiej jest zapamiętać niż zlepek przypadkowych znaków. Rzuty kośćmi chronią nas przed naszą własną przewidywalnością wprowadzając do procesu tworzenia hasła potrzebną losowość. Być może podczas czytania powyższych instrukcji w Twojej głowie pojawiło się kilka innych pytań. Zamieszczenie tu odpowiedzi na wszystkie wątpliwości co do skuteczności tej metody zajęłoby bardzo dużo miejsca, dlatego jeśli masz jakieś pytania, zajrzyj do FAQ na stronie autora metody Diceware. Rozjaśnia on w nim większość wątpliwości.

 

Tworzenie haseł metodą Schneiera

Być może poprzednia metoda nie jest dla Ciebie przekonująca lub uważasz, że tego typu hasła wcale nie są łatwiejsze do zapamiętania. Jeśli tak, może do gustu przypadnie Ci tzw. metoda Schneiera. W 2008 roku znany kryptograf i specjalista z zakresu bezpieczeństwa teleinformatycznego Bruce Schneier zaproponował metodę polegającą na wymyśleniu jakiegoś łatwego do zapamiętania zdania i zamienieniu go, stosując nieznaczne modyfikacje, w hasło. Może to być zdanie opisujące jakieś charakterystyczne zdarzenie z przeszłości. Na przykład zdanie „Jak miałem 5 lat wpadłem do betoniarki i do dziś mam problem z zapamiętywaniem haseł” może zostać przekształcone w „Jm5lwdbet-i-d0dmpzz4phasel”. Nie używaj tekstu piosenki ani wiersza. Niech to będzie coś wymyślonego przez Ciebie, coś personalnego. Co prawda, dla takiego hasła nie określimy entropii – jego utworzenie nie jest całkowicie losowym procesem – ale tego typu hasło wymyka się wspomnianym na początku posta, powszechnie stosowanym przez ludzi schematom, które produkują stosunkowo proste i bardzo powtarzalne hasła.

 

Podsumowanie

Jeśli musisz stworzyć hasło, które należy zapamiętać, mam nadzieję że powyższe metody okażą się pomocne. Niestety tworzenie silnych haseł to nie taka prosta sprawa. W dzisiejszym świecie posiadamy dziesiątki lub nawet setki kont. Trudno podążać za radami ekspertów i w każdym z kont korzystać z silnego i unikalnego dla danego konta hasła. Dlatego najlepiej już dziś zacząć korzystać z menedżera haseł tam gdzie jest to możliwe. Będzie pamiętał hasła za Ciebie, jak również generował je na zawołanie i pozwalał na automatyczne uzupełnianie danych logowania. Poniżej zamieściłem linki do menedżerów haseł, które mogę polecić z czystym sumieniem:

Program na Windows, MacOS, Linux:

KeepassXC

Aplikacja na Androida:

Keepass2Android

Usługa internetowa z aplikacjami na każdy system:

Bitwarden


Komentarze:

Ładowanie komentarzy...