Bezpieczniejsze hasła - nowoczesne rozwiązania
Cześć, w tym artykule krótko opiszę rozwiązanie dotyczące bezpieczeństwa haseł, które jest bezpieczniejsze od standardowego managera haseł, z wadami i zaletami obydwu.
Artykuł dedykowany czytelnikom odróżniającym Internet od przeglądarki.
Zacznijmy krótkim wstępem - jak działa menedżer haseł, jakie ma wady i zalety.
Menedżer haseł to aplikacja do zarządzania hasłami. W uproszczeniu jest to plik, w którym przechowywane są hasła. Plik ten jest szyfrowany, więc dostępu do pliku chroni kolejne hasło – hasło główne.
Zaleta - wystarczy pamiętać tylko hasło główne! Nie trzeba pamiętać wszystkich haseł, można zabrać je ze sobą w zaszyfrowanym pliku i kiedy potrzeba użyć dowolnego hasła z pliku.
Oczywiście to uproszczenie - menedżer haseł pomaga zarządzać hasłami, a więc także wygeneruje nam nowe hasło gdy tego potrzebujemy oraz posiada opcję synchronizacji haseł przez Internet (żeby na innych urządzeniach mieć do nich dostęp), dzięki czemu w dużym skrócie "wszystko magicznie działa".
Podsumowując - menedżer haseł dzięki udogodnieniom które posiada, pozwala nam w łatwy sposób mieć wiele haseł do różnych kont w różnych systemach i aplikacjach, dzięki czemu nasze konta są bezpieczniejsze. Dzieje się to kosztem odpowiedzialności, którą delegujemy na firmę tworzącą aplikację i jej zespół programistów. Czyli odpowiedzialność za nasze hasła, w tym przypadku, nie jest w stu procentach po naszej stronie.
Wady?
1. jeśli zdradzimy komuś to jedno hasło do menedżera haseł - ta osoba może poznać nasze wszystkie hasła (a jeśli wie że używamy takiej aplikacji można przyjąć że tak się stanie na 100%).
2. przy włączonej synchronizacji online -> zaufanie do synchronizacji - nasze hasła zaszyfrowane wysyłane są przez Internet. I tutaj może się zdarzyć że wskutek błędu mogą "gdzieś" wyciec. Tzn że musimy ufać, że przy kolejnych aktualizacjach deweloper apliakcji się nie rąbnie przy np. szyfrowaniu i nie wyśle naszych haseł przez net bez szyfrowania, lub z błędnym szyfrowaniem (niewystarczająco bezpiecznym). Czy to się realnie może zdarzyć? Odp: https://www.pcworld.com/articl...
3. przy wYłączonej synchronizacji online (czyli aplikacji offline) jeśli spali nam się komputer nasze hasła znikną. Musimy sami dbać o bezpieczną kopię haseł. Jeśli będzie tam hasło admina do jakiegoś konta no to może być niezły klops.
4. zaufanie do zamkniętego kodu. Aplikacje komercyjne na ogół mają zamknięty kod. Powody są co najmniej dwa. Konkurencja chętnie pozna taki kod. Hakerzy też :) Ale z drugiej strony skoro kod jest zamknięty i aplikacja przechowuje nasze hasła, jakie możemy mieć do niej zaufanie? Czy na pewno nie ma szans, że przez nowo zatrudnionego dewelopera, który będzie niekompetentny lub będzie hakerem hasła nie wyciekną? Jestem paranoikiem? :)
Rozsądna alternatywa?
Użyłem słowa rozsądna, ponieważ, dla niektórych wystarczy mieć 1 hasło do wszystkich kont, albo trzymać je we własnym pliku i manualnie tym zarządzać. Dla niektórych może to jest nawet rozsądne, jednak wygoda takiego rozwiązania jest znikoma.
Najbardziej rozsądnym rozwiązaniem jakie znalazłem dla osób którym zależy na bezpieczeństwie w 100% jest aplikacja typu master password.
Master password na wiki tutaj: https://en.wikipedia.org/wiki/...
W skrócie jest to narzędzie, które nie przechowuje naszych haseł (w odróżnieniu od menedżera haseł) natomiast tak jak menedżer haseł może nam przypominać hasła!
Znam trzy takie aplikacje (pewnie jest więcej - nie są jeszcze zbyt popularne, pewnie dlatego, że niełatwo zrozumieć, bo pomysł jest rewolucyjny):
//masterpasswordapp.com/
https://lesspass.com
https://haslowygaslo.pl/
Są to aplikacje, które działają w przeglądarce. Użytkownicy, którzy nie odróżniają Internetu od przeglądarki mogą zakończyć na tym etapie czytanie tego posta :) Ich zaletą jest otwarty kod (javascript i html w przeglądarce) - więc każdy programista może sprawdzić, czy nie wysyłają naszych danych przez Internet. Nie jest to czarna skrzynka jak w przypadku zwykłego menedżera haseł.
Jak to możliwe, że aplikacja master password może przypomnieć hasło, skoro go nie zapamiętuje?
Dzieje się tak, ponieważ hasło jest generowane w powtarzalny sposób na podstawie danych, które wprowadzamy. Tzn jeśli wprowadzimy nazwę aplikacji np. facebook oraz login np. tomasznowak i do tego dołożymy nasze tajne hasło 'master' ********* aplikacja typu master password wygeneruje dla nas unikalne hasło. Kiedy wpiszemy do aplikacji ponownie wszystkie te 3 wartości - otrzymamy ponownie to samo hasło.
Prościej? Wystarczy pamiętać 1 hasło a pozostałe dane i tak pamiętamy.
A co jeśli potrzebuję nowe hasło do facebooka? Wystarczy wpisać, "facebook 2", dalej login i hasło tak samo i mamy nowe hasło!
Z pozoru wydaje się, że w takim razie mamy rozwiązanie idealne – zapamiętać jedno hasło. No prawie...
Po roku używania takiej aplikacji stwierdzam, że to nie jest, aż takie oczywiste i wymagane są pewne ulepszenia w funkcjonalności aplikacji, aby sobie nie zaszkodzić. Taka aplikacja może być idealna do haseł - ale to zależy jeszcze od implementacji.
Wyobraźmy sobie scenariusz – potrzebuję nowe hasło do admina. Wpisuję więc np. apka=linux,login=admin,hasło master=**************. I otrzymuję nowe hasło do admina, zmieniam stare... A co jeśli wpisałem tym razem hasło "master" niepoprawnie z literówką? No wtedy mam problem - zmieniłem hasło na nowo wygenerowane, a przy następnej okazji wpiszę poprawne hasło 'master' i nie będę wiedział czemu nie mogę się zalogować na admina!
Są 2 sposoby żeby temu zaradzić:
1. Upewniać się i za każdym razem sprawdzać co się wpisuje w formularzu
2. Ulepszenia w aplikacji, które zwiększą wygodę niewielkim kosztem (np. lokalne przechowywanie meta danych i zaszyfrowanego hasła głównego/master).
Chodzi o to że jeśli przechowane jest zaszyfrowane hasło główne - hash (w Hasło Wygasło nazwane oryginalnie SuperPINem), to może porównywać za każdym razem ten hash i sprawdzać, czy wpisaliśmy to co ostatnio. Dzięki temu apka nam podpowie, kiedy wpiszemy inaczej = domyślnie źle.
Oczywiście literówka w każdym wpisanym polu formularza wygeneruje nam inne hasło. Dlatego najlepszą opcją jest mieć przechowywanie meta danych.
Takie ulepszenia są dodane (z możliwością wyłączenia jeśli ktoś na serio tak preferuje) w aplikacji Hasło Wygasło, której używam od roku.
Teraz o wadach aplikacji typu master password:
1. jeśli aplikacja nie przechowuje metadanych i zaszyfrowanego hasła głównego - wymaga dużo większej uwagi oraz zapamiętywani np. jeśli w polu "systemu/aplikacji" wpisujemy facebook.com zamiast facebook albo facebook 3 bo to nasze 3-cie hasło.
2. jeśli ma włączony zapis metadanych - wymaga ręcznej synchronizacji metadanych. Tego typu aplikacja jest mniej wygodna niż menedżer haseł online, który sam za nas robi robotę np. z kopiami bezpieczeństwa. Mimo to, ręczny backup i synchronizacja metadanych wydaje się bezpieczniejsza niż synchronizacja haseł.
3. Identycznie jak w menedżerze haseł - dostępu do wszystkich haseł chroni hasło główne - jeśli je komuś zdradzimy (np używamy go gdzieś jeszcze do logowania) to potencjalnie zagrozi naszym wszystkim hasłom.
Zalety:
1. Tylko 1 hasło (identycznie jak w menedżerze haseł)
2. Hasła nie mogą masowo wyciec – bo nie są trwale przechowywane.
3. Nie jest wymagana synchronizacja haseł, a jedynie metadanych, co jest dużo bezpieczniejsze.
4. 100% odpowiedzialności za hasła po stronie użytkownika
5. Jeśli spali się komputer – w przypadku poprawnie używanej aplikacji Hasło Wygasło nie tracimy dostępu do haseł.
6. Otwarty kod. Hakerów nie trzeba się obawiać, że poznają kod - bo i tak aplikacja nie przechowuje i nigdzie nie wysyła haseł. Ale konkurencji owszem - każdy może skopiować i zmodyfikować kod, i zrobić własną aplikację. Nie jest to takie trudne, wymaga tylko sporo pracy.
Teraz każdy użytkownik ma do wyboru - co jest ważniejsze - wygoda (automatyczne synchronizacja) czy bezpieczeństwo (100% odpowiedzialności za hasła po stronie użytkownika). Moim zdaniem w hasłach chodzi o bezpieczeństwo, więc preferuję mieć 100% kontroli nad moimi hasłami.
Jeśli zapomniałem o jakiejś wadzie lub zalecie - proszę o krytykę w komentarzach.
PS
Jeśli zamierzacie używać któejkolwiek z w.w. aplikacji online - upewnijcie się, że macie połączenie https. Jeszcze lepiej jeśli pobierzecie sobie pakiet html+js na komputer i używanie tego lokalnego, albo wtyczki chrome.
Komentarze (2)
najlepsze