Bezpieczne hasła internetowe i komputerowe: zasady tworzenia i przykłady.
Najczęściej czytane
Witajcie, drogie Czytelniczki i drodzy Czytelnicy bloga informatycznego! Dziś, czyli 6 maja, obchodzimy światowy dzień hasła. Z tej oto okazji, właśnie, popełniłem niniejszy artykuł. Zdradzę Wam, moi drodzy, jak z przysłowiowego "qwerty" uczynić silne hasło. A poza tym, wytłumaczę zasady tworzenia bezpiecznych haseł, wyjaśnię jak często warto zmieniać hasła i czy warto używać własnego ciała do uwierzytelniania się w różnych systemach teleinformatycznych.
Co to jest hasło?
Nooo... Hasło... Hasło... To te oto gwiazdki (lub kropeczki) w formularzu elektronicznym:
A co, może ktoś ma hasło "***********" czyli jedenaście gwiazdek...
Hasło dostępu (bo jeszcze może być hasło reklamowe, polityczne itd) to jeden z wielu elementów, służący do identyfikacji użytkownika w systemie teleinformatycznym. Mówimy tu, akurat, o IT. Nie wspominamy o wejściu na hasło do nielegalnie zamkniętej restauracji albo siłowni.
Jeśli logujesz się do strony internetowej banku - dane identyfikujące i autoryzujące Cię w ich systemie to Twój login lub adres email i hasło, ale nie tylko, bo jeszcze unikatowy identyfikator Twojego urządzenia (często to jest MAC adres karty sieciowej, lub identyfikator telefonu), a czasem nawet wiersz identyfikujący przeglądarkę albo nazwisko panieńskie mamy, czasem przyjdzie drugie hasło SMSem, czyli sprawdzają czy dalej posiadasz ten sam numer telefonu - to wszystko łącznie są dane uwierzytelniające. W poważnych systemach teleinformatycznych (a stronę porządnego banku można zakwalifikować do takich) hasło jest tylko jednym z wielu elementów uwierzytelniania, ale bardzo istotnym.
Otóż, hasło, najczęstszej, jest to ciąg znaków, służący jednym z wielu elementów, służących łącznie do uwierzytelniania osoby lub innego systemu teleinformatycznego. Jeśli jeden system teleinformatyczny korzysta z usług innego systemu (zazwyczaj przez jakiś API, ale to grubszy temat na osobny artykuł) - też do uwierzytelniania stosuje się hasła. Ja w swoich projektach nawet w mechanizmie wysyłania formularza kontaktowego stosuje hasła, które przeglądarka wysyła do serwera, i w ten sposób bez żadnych przeszkadzajek typu Capcha skutecznie zwalczam boty spamujące.
Kolejnym ciekawym zastosowaniem hasła jest szyfrowanie treści, używając ciągu znaków z hasła jako klucza do, właśnie, procesu szyfrowania. Gdybym budował jakiś bezpieczny, odporny na smutnych panów i pań, komunikator sieciowy, na pewno użyłbym dynamicznego hasła do szyfrowania wiadomości.
Jak wymyślić lub wygenerować silne hasło?
W dużym skrócie, silne hasło, to takie hasło które na długo popsuje humor hackerom, złodziejom i przestępcom (a czasem kolegom, którzy chcą sobie zażartować w pracy). Oto kilka wskazówek, jak utworzyć naprawdę silne hasło.
- Hasło ma być DŁUGIE, polecam zacząć od 20 znaków w górę, chyba że jakiś system ogranicza długość hasła (wtedy zastanowiłbym się czy chcę korzystać z takiego systemu).
- Hasło ma zawierać, co-najmniej, małe i duże łacińskie litery, liczby i jeszcze jakieś znaczki, takie jak myślnik, podkreślnik, przecinek, kropka, znaczki typu procent, gratka itd (chyba że system ogranicza wybór znaków).
- Bardzo mocne hasło można skonstruować używając znaczków diakrytycznych z różnych języków, ale trzeba uważać żeby nie okazało się że później nie będzie możliwości wpisania hasła przez brak możliwości wyboru języka.
- Hasła do wszystkich systemów mają być inne.
- Wszystkie hasła trzeba regularnie zmieniać, najlepiej raz na kilka miesięcy.
- Najważniejsza zasada, ignorowana przez wielu ludzi, znających w.w. zasady to, właśnie, stosowanie tych zasad.
Czego nie robić z hasłem?
Oto kilka porad, które uchronią Twoje hasła przed złamaniem.
- Nigdy, ale to nigdy, nie wysyłamy wrażliwych haseł w formie jawnej emailem, SMSem itd.
- Jeśli wpisujemy hasło, pilnujemy żeby nikt tego nie nagrał.
- Jeśli odnotowaliśmy podejrzane zachowanie systemu (np, strona banku wygląda podejrzanie albo zachowuje się inaczej niż zwykłe) - zmieniamy hasło na nowe, ale pilnujemy żeby nie dokonać tej czynności na stronie podstawionej przez złodziejów, bo wtedy podamy im nowe i stare hsła prosto na tacy.
- Nigdy nie trzymamy otwartym programu, w którym magazynujemy hasła.
- Jeśli musimy odejść od komputera czy innego urządzenia, zawsze go blokujemy (ale to ZAWSZE, nawet w domu - wyrabiamy przyzwyczajenie, nawyk).
- Nigdy nie używamy w haśle takich danych jak data urodzenia, imię, nazwisko, nazwa firmy itd.
- Nigdy nie wpisujemy hasła do pola adresu przeglądarki lub do pola Szukaj w wyszukiwarce. A jeśli zdarzyło się nam, całkiem przypadkiem, wpisać hasło do pola adresu w przeglądarce i wcisnąć Enter - natychmiast zmieniamy podane hasło, bo w historii serwera DNS, albo w zagranicznej wyszukiwarce jest już zapisane nasze hasło. A jeśli wpisaliśmy nasze hasło gdzies do niewłaściwego pola na jakiejś stronie internetowej - to rzucamy wszystko i natychmiast zmieniamy hasło, bo złodzieje już piją szampana z tego powodu.
- Jeśli zdarzyło się nam przypadkiem wpisać hasło prosto do wierszy poleceń (na przykład, w Linuxie wpisaliśmy polecenie sudo mc, system krzyknął że nie ma programu o nazwie mc, a my nie przeczytaliśmy komunikatu i od razu klepnęliśmy hasło i Enter, tak jakby normalnie po użyciu sudo) - najlepiej od razu zmienić hasło, albo, jeśli posiadamy uprawnienia admina, wymazać historię poleceń. Nawet na prywatnym, domowym czy jakimkolwiek innym urządzeniu. Nie wolno by w historii poleceń znajdowało się nasze haselko.
- Nigdy, ale to nigdy, nie zapisuj hasła w przeglądarce, programie do obsługi FTP lub każdym innym. Zawsze upewnij się że ptaszek Zapisz hasło nie jest zaznaczony.
- W zasadzie to jeśli wpisaliśmy hasło w dowolnym niewłaściwym miejscu, hasło te trzeba natychmiast zmienić.
Czy bezpiecznie używać generatorów hasła?
Można stosować generatorów hasła, pod warunkiem że do generatora nic nie wpisujemy, nie podajemy do czego służy wygenerowane hasło itd. Wygenerowane hasło modyfikujemy (kilka znaków dokładamy, kilka usuwamy, kilka zmieniamy), ale nie w edytorze udostępnianym przez generator hasła.
Najlepiej generować hasła za pomocą jednego narzędzia, a magazynować je (o ile koniecznie musimy magazynować hasła), po zmodyfikowaniu, gdzie-indziej.
Jeśli generujemy hasło za pomocą narzędzia online, czyli używając przeglądarki internetowej - koniecznie używamy bezpiecznej przeglądarki (o ile takie jeszcze są na rynku) i zanim skorzystamy z generatora hasła, koniecznie czyścimy historię przeglądarki.
Czy warto magazynować hasła w specjalnym programie do przechowywania haseł?
Magazynowanie haseł w programie do przechowywania haseł to średni pomysł, szczególnie jeśli magazynujemy wszystkie hasła w jednym programie. Ja sam kiedyś używałem programu KeePass i niby było dobrze, nie było powodu go zmieniać, ale nagle wyszła nowa wersja i... Poprzednia wersja długo się trzymała i nie było powodu je zmieniać, bo to po prostu działało i to nie źle. Ale nagłe wyszła nowa wersja (kiedyś-kiedyś jednorazowo, nie tak że to cały czas się aktualizuje) i w repozytoriach systemów operacyjnych stara wersja stała się niedostępna. Co się stało? Nie było powodu aktualizować programu. Otóż, nie wiem czy największe korporacje albo rządy niektórych państw nie maczali palców w tym. Czy po takim zabiegu można ufać temu programowi - nie wiem.
Jeśli ktoś ma dziesiątki lub setki haseł no to oczywiście trzeba je gdzieś magazynować. Ale gdzie? Niestety, muszę pozostawić to pytanie bez odpowiedzi. Ja, akurat, nie ufam żadnemu programowi do przechowywania haseł, poza tymi które sam napiszę.
Jedyna droga do posiadania bezpiecznego oprogramowania to, niestety, stworzyć go samemu, i to pod warunkiem że nie jsteśmy zazombie`owani przez korporacje, że potrafimy trzeźwo oceniać bezpieczeństwo używanych przez nas technologii i potrafimy wymyślić własny, unikatowy i naprawdę trudny do zhackowania algorytm szyfrowania hasła przed jego zapisywaniem.
Poza tym, nawet najlepsze oprogramowanie do zapisywania haseł ma jedną wspólna wadę: w większości wypadków wystarczy mieć jedno hasło (właśnie, te do programu z hasłami) i można zdobyć dostęp do wszystkich systemów na raz, wykradając wszystkie hasła, zapisane w programie. Chyba że program jest tak zaawansowany, że samo hasło nic nie da przystepcom.
Pamiętajcie że każde hasło da się odszyfrować - jest to tylko kwestia czasu (przy obecnej technologii).
Przykład dobrego hasła
To jest wyjątkowo silne hasło:
Nawet jeśli ktoś zrobi zdjęcie to, raczej nie wpisze go prawidłowo.
W podanym przykładzie użyłem znaków z pięciu języków:
- Polskiego, przy czym 1, I i l w niektórych czcionkach nie jest do końca oczywiste, 1O to jeden i duże O, a nie zero, poza tym jest polski znak diakrytyczny czyli ę.
- Rosyjskiego, jedna litera O, B i K napisane cyrylicą, co na oko nie jest takie oczywiste. Jeśli użyję Ж, Ц albo П to jest oczywiste że to cyrylica, natomiast duże B czy duże K wyglądają podobnie, więc samo to już popsuje humor złodziejom.
- Czeskiego (nie każdy potrafi wpisać Š, nie każdy ma ustawiony ten język).
- Niemieckiego, czyli Ü, podobnie jak Š.
- Ukraińskiego, bo i to wcale nie łacińskie i, tylko ukraińskie, tj również pisane cyrylicą.
Takie hasło cholernie ciężko będzie wpisać, można trafić na sytuacje gdyż na jakimś urządzeniu po prostu zabraknie nam zainstalowanego języka, ale siła tego hasła jest taka że można było by go zastosować nawet do zabezpieczenia rakiet z głowicami nuklearnymi. Nie musi byc wszedzie aż tak mocne hasło. To się opłaca przy jakichś życiowo waznych systemach. Albo jeśli ktoś ma na koncie bankowym kilka milionów PLN, to też warto rozważyć bardzo silne hasło.
Jeśli ktoś fizycznie skopiuję hasło, to nie uratują nas żadne znaki diakrytyczne, żadna cyrylica. A propos cyrylicy i hasła QUERTY - już wiecie jak takie, na pierwszy rzut oka, głupie hasełko można wzmocnić. W cyrylicy są litery E i T (duże wyglądają podobnie jak te łacińskie), tyle że nikt nie powinien wiedzieć że używacie cyrylicy. Jeśli poważnie, to QUERTY w żadnym wypadku nie polecam, nawet te z cyrylicą, no ale, jak widać, nawet takie proste hasło da się wzmocnić.
Oto hasło, wygenerowane za pomocą jakiegoś generatora haseł:
ktb9YGdWVpT5oBf7Kq78Hja
To już jest silne hasło, a jeśli dodatkowo zmodyfikujemy go ręcznie - będzie jeszcze silniejsze:
kt8Ob9YGdWV%p%T5oBlf7|Kq78Hja
A jeśli mamy pewność że będziemy mieli możliwość przełączenia języka przy wpisywaniu - możemy zastosować zasad wymienionych w pierwszym przykładzie.
Niestety, tam gdzie zaczyna się prawdziwe bezpieczeństwo - kończy się komfort.
Czy warto używać własnego ciała do uwierzytelniania się?
Każdy podejmuje decyzje sam dla siebie. Co-najmniej, myśli że podejmuje, bo część decyzji podejmuje za nas ktoś inny. W praktyce, niestety, większość ludzi dała się nabrać, większość ludzi kompletnie nie rozumieją o co chodzi. Jeśli chcesz dowiedzieć się jak względnie mała garstka ludzi manipuluje całym społeczeństwem, całym gatunkiem ludzkim - opisałem to tutaj.
Niedawno kolega powiedział: dla mnie odblokowanie telefonu zdjęciem twarzy jest wygodne, więc używam tego i koniec. Szkoda że ludzi kompletnie nie rozumieją o co chodzi. A chodzi o to żeby korporacje mogły Cię zidentyfikować w dowolnym miejscu na ziemi (a może i poza nią, wkrótce).
Jeśli adres email, numer telefonu czy hasło można zmienić w każdej chwili, można kupić kartę SIM nie przywiązaną do nikogo, kupić za gotówkę na bazarze nowy telefon made in China, kamerę zamalować lakierem do paznokci, włożyć do niego tę kartę SIM i jesteśmy względnie bezpieczni (o ile zdajemy sobie sprawę z tego że nie wolno nigdzie się logować, dzwonić do znajomych z tego telefonu itd). Natomiast twarzy, odbitek linii papilarnych lub siatkówki oka nie zmienimy. I o to chodzi korporacjom internetowym.
Jeśli decydujesz na używanie ciała do logowania się gdziekolwiek - o wolności zapomnij. Jeśli raz podejmiesz taką decyzję, bo Ci wygodnie podnieść kamerę telefonu do twarzy, zamiast wpisywać hasło - ta decyzja odmieni cale Twoje życie, ponieważ to co raz trafiło do sieci - nie do wycofania. Nie unikniemy tego w całości, bo gdzieś bank wymaga zdjęcia, gdzieś urząd, więc nie unikniemy tego na 100%, ale ważne by ktoś inny nie nadużywał naszych danych osobowych (zdjęcie, niewątpliwie, jest daną osobową). Jeśli interesuje Cie jak bezpiecznie wgrywać zdjęcia do sieci - pisałem o tym w publikacji Jak bezpiecznie publikować zdjęcia w internecie?.
Decyzja (mam nadzieję, świadoma) należy do Ciebie.
Jeśli znalazłe[-a]ś w tekście, literówkę, błąd stylistyczny albo inny błąd językowy - bardzo proszę o napisanie poprawki w komentarzu pod artykułem albo przez formularz kontaktowy. Dziękuję!