Poprawna zszywka końskiego akumulatora

https://xpil.eu/bkNXP

Tytuł dzisiejszego wpisu, wbrew pozorom, NIE jest ani głupi, ani tym bardziej kretyński. Ma on mnóstwo sensu.

Temat haseł do serwisów on-line pojawia się na tym blogu od czasu do czasu - głównie dlatego, żeby piać peany do LastPass-a. Ale trochę też dlatego, żeby przypomnieć (nielicznym, ale jednak) Czytelnikom tej namiastki bloga, że temat jest Ważny oraz Istotny.

Zaczniemy od podstaw: czemu w ogóle używać haseł? Nie dałoby się zamiast tego zastosować jakiejś lepszej metody? Nie wiem... Może odcisku palca, albo skanu tęczówki?

Dałoby się, owszem. Ale problem polega na tym, że jak już raz zeskanujemy nasz odcisk palca, albo obraz tęczówki, do komputera, to on tam jest (w takiej czy innej postaci, ale jednak) i w związku z tym odpowiednio sprytny włamywacz może to wykorzystać. A w najbardziej makabrycznej wersji (patrz: "Raport Mniejszości") włamywacz obetnie nam palec albo wyrwie oko.

Krótko mówiąc, dane biometryczne są dobre do zidentyfikowania osoby, ale nie do zabezpieczenia danych.

Może więc OAuth?

Dla niezorientowanych: OAuth to protokół uwierzytelniania inną usługą, w której się już zarejestrowaliśmy wcześniej. Czyli tak: mamy, dajmy na to, konto w Google, którym możemy potem uwierzytelniać się w innych usługach - bez konieczności podawania hasła, o ile tylko jesteśmy zalogowani do Google na danym komputerze.

Hm. OAuth to już nieco lepszy pomysł, ale tylko odrobinę. Po pierwsze bowiem konto w Google chronione jest hasłem (Google to tylko przykład, zamiast tego może być Facebook, Twitter czy jakakolwiek inna usługa on-line oferująca OAuth), czyli kółko się zamyka (potrzebujemy bezpiecznego hasła), a po drugie specyfikacja OAuth jest jedną z najbardziej znienawidzonych przez programistów specyfikacji związanych z uwierzytelnianiem - zamiast upraszczać, utrudnia cały proces, w związku z czym wiele witryn decyduje się jednak na stare dobre hasła.

Oczywiście jest jeszcze uwierzytelnianie wieloetapowe (na przykład: hasło plus kod jednorazowy na sms albo z aplikacji na smartfonie), która jest uważane za najbardziej bezpieczne - ja na przykład mam do banku generator kodów jednorazowych, a więc włamywacz potrzebowałby znać nie tylko moje hasło (i login) ale też pin do generatora oraz mieć fizyczny do niego dostęp. Może próbować wyłudzić kody jednorazowe poprzez skonstruowanie strony internetowej łudząco podobnej do tej bankowej, ale tu już wpływamy na całkiem inne wody. Tak czy siak, metoda jest skuteczna, ale na tyle skomplikowana, że nikomu nie chciałoby się jej używać do usług innych niż te najbardziej newralgiczne (banki, ubezpieczalnie itd).

Jak by się człowiek nie oglądał, tak dupa z tyłu. Prędzej czy później zawsze docieramy do momentu, w którym musimy wklepać hasło. Choćby i po to, żeby odblokować sejf z innymi hasłami (vide: LastPass).

Takie hasło musi być trudne do odgadnięcia.

Moc obliczeniowa współczesnych komputerów biurowych jest całkiem niebanalna. Inwestując odrobinę w szybkie karty graficzne możemy w prosty sposób postawić w domu maszynę z 256-bitową szyną danych, przetwarzającą terabajty danych na sekundę. Złamanie hasła ośmioznakowego metodą "na siłę" zajmie kilka dni.

Cóż więc robić?

Hasło musi być długie oraz losowe.

Prawdopodobnie właśnie sobie pomyślałeś, Czytelniku, o haśle typu 0eE9GoIT^jRSxjGiYxtF@jO7OlA96Q^v&9$RpcjyaL&F21dt

Ale jak takiego drania zapamiętać?

Da się, oczywiście, że się da. Mózg ludzki potrafi zapamiętać o wiele więcej, niż parędziesiąt losowych znaczków. Ale jednak jest to spory wysiłek, hasła trzeba zmieniać co jakiś czas, a latka lecą i mózg się rozleniwia. Potrzebujemy czegoś prostszego.

I tu w sukurs przychodzi tytuł dzisiejszego bloga, który jest luźnym tłumaczeniem hasła zaprezentowanego kiedyś w witrynie XKCD: https://xkcd.com/936/

password_strength

Podsumowanie pod powyższym obrazkiem mówi, że przez dwadzieścia lat udało nam się przekonać wszystkich do używania haseł trudnych do zapamiętania, a łatwych do złamania. Tymczasem wystarczy wziąć cztery losowe słowa ze słownika, wstawić pomiędzy nie jakieś łączniki (albo i nie) i już mamy hasło niezwykle trudne do złamania przez komputery, a względnie proste do zapamiętania przez człowieka oraz - co najważniejsze - losowe i długie.

Jeżeli ktoś chciałby sprawdzić, jak bezpieczne jest jego hasło, może to zrobić na tej stronie: https://howsecureismypassword.net/

Tu natomiast możemy sobie wygenerować takie "losowo-słownikowe" bezpieczne hasło: http://correcthorsebatterystaple.net/

(niestety, tylko po angielsku - jeżeli znasz polski odpowiednik, daj znać w komentarzu...)

https://xpil.eu/bkNXP

5 komentarzy

  1. Mam inną metodę na tworzenie swoich haseł. Wg strony podanej przez Ciebie wygląda mi na skuteczną, bo pokazało mi 8-10 mln lat. A ja wymyślam jakieś głupie zdanie, nie koniecznie sensowne, ale zawierające liczebniki i w miarę długie, dobrze jak są nazwy własne, a potem zostawiam tylko pierwsze litery poszczególnych wyrazów i liczebniki. Takie zdanie na upartego można se nawet zapisać gdzieś na widoku (im bardziej na widoku tym mniej prawdopodobne, że ktoś go znajdzie) jako rzekomy cytat.

    1. Twoja metoda jest stara jak świat i zalecana przez fachowców od zabezpieczeń. Może z wyjątkiem tego ostatniego kroku, czyli zapisywania na widoku 😉 Nota bene kiedyś chodziła po Sieci historia jednego pana, który miał kłopoty z pamięcią, więc zapisał sobie pin do karty bankomatowej na ścianie obok bankomatu. Wszystko ładnie pięknie, tylko któregoś dnia bank postanowił pomalować ścianę. Facet podobno skargę złożył do oddziału, że bez uprzedzenia mu pin zamalowali 😀

      1. Siwinie po prostu w tym banku były i tyle 🙂 Ale hasła hasłami, bardziej ciekawi mnie, dlaczego jestem choinką namalowaną w paint’cie przez 2 latka?

        1. Przez dwulatka?? Sam bym takiej nie namalował! 😉 Technologia renderująca Twój obrazek nazywa się MonsterID i działa tak, że generuje losowego stworka w zależności od Twojego adresu IP i kilku innych informacji. Z tego co czytam być może jeżeli wyczyścisz cache przeglądarki, zostanie wygenerowany nowy obrazek. Ale nie mogę niczego zagwarantować.

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.