O menedżerach haseł
hejto.plJaki byłby jednak tego sens? Zapewne część z was korzysta z menedżera haseł, ale zdecydowana większość nadal tego nie robi. Każdy, kto kiedykolwiek natknął się na wpis zachęcający do skorzystania z tego typu aplikacji i nie zdecydował się na zmianę, uznał, że tak naprawdę jej nie potrzebuje, nie widzi w niej sensu, lub nie ma zaufania do tego typu rozwiązań.
W tym wpisie podejdziemy do tematu inaczej, przeanalizujemy najczęściej pojawiające się w internecie powody, przez które osoby odrzuciły menedżery haseł i spróbujemy porównać różne metody przechowywania, jak i generowania haseł.
Czym jest menedżer haseł?
Menedżer haseł to oprogramowanie komputerowe, które umożliwia użytkownikom przechowywanie i zarządzanie hasłami dla aplikacji lokalnych i usług online. Inaczej mówiąc, jest to narzędzie, które pomaga użytkownikom utrzymać swoje hasła w bezpiecznym i zorganizowanym miejscu. Zazwyczaj menedżery haseł pozwalają również wygenerować hasła spełniające podane przez użytkownika kryteria.W zależności od rodzaju menedżera haseł, baza danych może być przechowywana na urządzeniu użytkownika lub online poprzez usługę hostingu plików. Aby uzyskać dostęp do informacji przechowywanych w bazie danych, użytkownik zazwyczaj musi wygenerować i zapamiętać jedno "główne" hasło. Wiele aplikacji menedżerów haseł oferuje dodatkowe funkcje, takie jak przechowywanie informacji o kartach kredytowych i możliwość automatycznego wypełniania danych.
Wraz ze zwiększoną liczbą portali internetowych wymagających założenie konta, pojawił się problem zapamiętania unikalnych haseł do każdego serwisu, co bezpośrednio wpłynęło na popularność menedżerów haseł.
Po co mi menedżer haseł, przecież jest bardzo mało prawdopodobne, że ktoś będzie próbował odgadnąć moje hasła, a nawet jeśli to przecież strona internetowa zacznie blokować kolejne próby logowania.
Jest to jedno z najczęściej pojawiających się pytań, dotyczących samej zasadności menedżera haseł. Często to pytanie jest wynikiem braku rozróżnienia, ataków online i offline. Prawdą jest, że uporczywe próby złamania naszego hasła (nawet bardzo krótkiego) szybko zostałyby spowolnione lub zablokowane, przez algorytmy bezpieczeństwa strony internetowej. Znacznie większym zagrożeniem są wycieki baz danych. Zanim jednak wyjaśnię dlaczego tak jest, spójrzmy na poniższą grafikę dotyczącą średniej długości hasła użytkowników internetu.
(https://cert.pl/posts/2022/01/co-wycieki-danych-mowia-o-haslach/)
Łatwo zauważyć, że ponad połowa użytkowników, korzysta z haseł mających mniej niż 9 znaków. Jakie ma to znaczenie? Przecież 8-znakowych kombinacji haseł jest olbrzymia ilość, a serwis internetowy szybko zablokuje atakującego już po kilku próbach. No właśnie nie zablokuje, jeśli nastąpił wyciek bazy danych logowania.
Dzieje się to dosyć często i dotyczy praktycznie wszystkich instytucji. W wyniku nieuprawnionego dostępu do sieci, pobrana zostaje baza danych zawierająca dane logowania użytkowników.
Być może zadajesz sobie teraz pytanie, skoro moje hasło wyciekło to, jaką różnice robi jego długość?
No właśnie robi, nawet jeżeli uzyskano dostęp do tych danych, nie oznacza to, że uzyskano jeszcze dostęp do twojego hasła. Jest to spowodowane tym, że współczesne strony internetowe w znacznej większości nie zapisują w swojej bazie naszych haseł, a tak zwane ich hashe. W dużym uproszczeniu (planuje zrobić w przyszłości osobny bardziej szczegółowy wpis na ten temat) po wpisaniu hasła w polu rejestracyjnym serwisu, ciąg znaków reprezentujący nasze hasło, zostaje poddany jednokierunkowemu szyfrowaniu. W wyniku tej operacji otrzymujemy nowy ciąg znaków, który zostaje zapisany w bazie danych.
Gdybyśmy przykładowo wybrali hasło: Litwo ojczyzno moja ty jesteś jak zdrowie. I algorytm haszujący SHA256, zapisane w bazie danych hasło wyglądałoby następująco.
2c131da887d14051f4a5db7562698426c358cafdf8a74c42559cb7298d8e6068
Każda nawet minimalna zmiana hasła, wpływa w sposób nieprzewidywalny na otrzymany przez nas wynik. Dlatego odwrócenie tej operacji, polegające na zmianie hasha na tekst, jest bardzo trudne.
Podczas logowania do serwisu, operacja jest powtarzana, a hash wpisanego przez nas hasła jest porównywany z tym znajdującym się w bazie danych strony internetowej.
W ten sposób strona internetowa nie zapisuje naszego hasła, a jednocześnie wie, że osoba próbująca się zalogować, jest tym, za kogo się podaje.
Przechodząc do meritum, osoba mająca bazę danych zaszyfrowanych haseł może bez ograniczeń innych niż moc obliczeniowa, próbować różnych, kombinacji pasujących do hasha, haseł. Często wykorzystywane są również ataki słownikowe, używające wcześniej pozyskanych baz danych popularnych haseł.
Złamanie hasła mającego 8 znaków jest kwestią minut lub nawet sekund (w zależności od mocy obliczeniowej, bezpieczeństwa algorytmu, ewentualnych innych zabezpieczeń np. soli może to trwać dłużej)
Po złamaniu hasła, atakujący może sprawdzić, czy nasz login i uzyskane hasło nie umożliwi mu dostania się na inne strony internetowe. Warto zaznaczyć, że wszystkie te operacje mają miejsce automatycznie, więc nie ma co liczyć, że nie będzie na to czasu.
Posiadanie jednego długiego hasła, również nie rozwiązuje tego problemu, gdyż nie każda strona, na której się logujemy, korzysta z odpowiednio bezpiecznego algorytmu haszującego lub nawet nie korzysta z żadnego. Dochodzi tutaj również problem phishingu. O czym miliony internautów dowiaduje się każdego dnia, w dość nieprzyjemnych okolicznościach .
No dobrze wiemy już, że hasła powinny być długie i unikatowe, ale dlaczego musimy korzystać z menedżera haseł?
Nie jest to konieczne, jeżeli jesteście w stanie zapamiętać długie unikatowe około 20 znakowe hasło (minimalna długość według CERT powinna wynosić co najmniej 12 znaków) do każdego konta to nic nie stoi na przeszkodzie. Warto zaznaczyć, że hasło takie może składać się np. z kilku niepowiązanych ze sobą słów, nie wpłynie to znacząco na bezpieczeństwo, a może ułatwić zapamiętanie.Dlaczego mam ufać menedżerom haseł działającym w chmurze?
Można by powiedzieć:"Never trust a computer you can't throw out a window".
Jest to bardzo częste i trafne pytanie, w zasadzie odpowiedź jest prosta, nie musisz. Wątpliwości są jak najbardziej zasadne, powierzamy nasze bardzo istotne dane zewnętrznej firmie.
Otwieramy przez to dodatkowy wektor ataku, warto więc sprawdzić w tym przypadku, reputację firmy, dokumentację techniczną. Sprawdzić, czy aplikacja ma otwarte źródło, jak i również inne przesłanki świadczące o bezpieczeństwie danych (np. audyty bezpieczeństwa,zaangażowanie w naprawie błędów itp.).
Warto zaznaczyć, że menedżery haseł online, zazwyczaj nie posiadają dostępu do naszych zapisanych danych, dzięki użyciu architektury Zero-knowledge. Strona, na którą się logujesz, przechowuje tylko hash naszego hasła, a baza danych jest szyfrowana znanym tylko nam hasłem. Gdy właściciel danych chce obejrzeć swoje wpisy, pobiera bazę zaszyfrowanych plików z serwera i odszyfrowuje je lokalnie na swoim urządzeniu, a nie na serwerze firmy.
Istnieje pewna sztuczka, która może cię przekonać do korzystania z tego typu rozwiązań. Jeżeli nadal masz wątpliwości, co do bezpieczeństwa haseł w chmurze to nie musisz wpisywać ich w całości. Wygeneruj hasło składające się np. z dwudziestu znaków i zapisz je w menedżerze haseł. A na stronie, na której się rejestrujesz, wklej to hasło i dopisz stałą frazę. W ten sposób menedżer nie zna pełnych haseł, a ty masz unikalne hasła w każdym serwisie, składające się z 20 “losowych” znaków i jednego stałego słowa znajdującego się w twojej głowie.
Alternatywnie możesz skorzystać również z menedżerów działających offline. W tym przypadku rozwiążesz problem przechowywania haseł na obcych komputerach, choć oczywiście jest to rozwiązanie mniej wygodne, głównie ze względu na trudniejszą synchronizację, którą musisz sam skonfigurować.
Czy trzymanie wszystkich haseł w jednym miejscu to dobry pomysł?
Ma to pewne wady, ryzykujemy, że osoba znająca nasze jedno hasło, pozna je wszystkie wraz z listą serwisów, w których mamy konta. Dlatego ważne jest trzymanie głównego hasła w tajemnicy i korzystania z dwuskładnikowego uwierzytelniania tam, gdzie jest to możliwe. Pamiętaj, że nawet jeżeli nie korzystasz z menedżera haseł, to w przypadku włamania na konto e-mail sytuacja będzie bardzo podobna (funkcja zapomniałem hasło).Uważam, że korzystanie z 2-3 haseł używanych w zależności od tego, jak ważne jest dla mnie konto w danym serwisie, jest dobrym rozwiązaniem.
Prosta często stosowana metoda, konta w banku i e-mail mają jedno hasło sklepy internetowe drugie a inne serwisy trzecie. Metoda ta ma jednak wiele wad, wprowadza zamieszanie co do tego, w jakim momencie użyć konkretnego hasła, jak i tylko ogranicza problem wycieku haseł. W zasadzie można by powiedzieć, że wadą jest to, że korzystanie z unikalnych haseł jest lepsze.Jeżeli zapomnę głównego hasła albo dojdzie do zamknięcia firmy odpowiedzialnej za menedżer haseł, utracę dostęp do wszystkich kont.
Przy zrobieniu backupu ryzyko to jest bardzo małe. W przypadku większości serwisów i tak możemy odzyskać konto, używając e-maila. Główne hasło można również zapisać w bezpiecznym miejscu, jeżeli nie mamy zaufania do swojej pamięci.Korzystam z funkcji “zapamiętaj hasło” w przeglądarce, czy jest to menedżer haseł?
Tak, ale konkurencyjne rozwiązania oferują często dodatkowe funkcje, większe bezpieczeństwo i uniwersalność. Uważam, że trzymanie haseł zapisanych na kartce jest bezpieczne.
Jeżeli uważasz, że miejsce w którym, przechowujesz kartkę z hasłami, jest bezpieczne, jak najbardziej jest to dobra metoda, choć według mnie jest ona mało praktyczna. Mam swoją metodę generowania haseł
Dość rzadko stosowana metoda, polegająca na tworzeniu własnych haseł, w oparciu o jakiś stały fragment strony. Zazwyczaj jej nazwę. Jeżeli uważasz, że twój algorytm jest bezpieczny, to jest to również dobre rozwiązanie. Ale jeżeli w przyszłości chciałbyś zmienić hasło, to wprowadzisz dodatkowe zamieszanie. Ps. dodawanie nazwy strony lub jakichś wariacji liter w niej występujących, do swojego hasła w zależności od tego, gdzie się logujesz, do bezpiecznych nie należy.Który menedżer jest najlepszy?
Nie ma na to pytanie jednej odpowiedzi. Powiedziałbym, że “sprawdzony”. Dużo zależy od tego, jakie masz wymagania. Osobiście mogę polecić menedżer KeePass, a osobom szukającym bardziej wygodnego rozwiązania menedżer Bitwarden.A wy, jak radzicie sobie z hasłami?