Jak działają hasła maskowane? - "podaj pierwszą cyfrę telekodu..." (film, 7 minut)
W dzisiejszym odcinku Jakub Mrugalski, znany jako Jakub 'unknow' Mrugalski na UW-TEAM.org, przybliża temat haseł maskowanych, który stał się coraz bardziej popularny w kontekście bezpieczeństwa haseł. Wyjaśnia on, że nie wystarczy jedynie oprogramowanie szyfrujące, aby zapewnić bezpieczeństwo danych. Jakub zwraca uwagę na pytanie, które często może zadać bank w trakcie rozmowy telefonicznej o podanie cyfr telekodu. Wspólnie z widzami sprawdza, czy takie podejście jest rzeczywiście bezpieczne. Jeśli mogą poprosić o konkretne cyfry, dlaczego nie mogą wyciągnąć pozostałych? Odpowiedź jest skomplikowana i wymaga zrozumienia, jak właściwie są przechowywane te hasła.
Jakub kieruje się ku lepszym rozwiązaniom. Opisuje sposób, w jaki hasła mogą być przechowywane dzięki odrobinie geometrii. Używa aplikacji GeoGebra, aby zobrazować, jak hasła są 'maskowane'. Rozpoczyna od tworzenia losowych punktów na osiach, do których przypisuje konkretne litery hasła w formie kodów ASCII. Dzięki temu, kiedy próbowałby odgadnąć hasło, mógłby jedynie sprawdzić, czy nowe punkty mieszczą się na tej samej linii prostej, co oryginalne. Przy pomocy różnych trików matematycznych Jakub objaśnia, na czym polegają zasady hasła maskowanego i ukazuje, jak można je zweryfikować.
W dalszej części swojego wywodu, Jakub porusza kwestie bezpieczeństwa. Docieka, co się stanie, jeśli osoba próbująca wprowadzić hasło przypadkowo umieści dobrze swoje punkty w linii prostej. Podkreśla, że wtedy kluczowym testem jest zbadanie, gdzie linia nowego hasła przecina oś Y. Jeśli nie odpowiada pierwotnemu punktowi przecięcia, hasło zostaje uznane za błędne. Jest to kluczowy element weryfikacji, który Jakub dostarcza w swoim filmie. Swoje obserwacje wzbogaca o wyjaśnienia dotyczące przechowywania współrzędnych i innych istotnych danych potrzebnych do sprawdzenia hasła.
Kube zwraca również uwagę na potencjalne wady użycia haseł maskowanych. Wiąże się z tym fakt, iż osoba atakująca wykorzystując jedynie zamaskowaną formę hasła może zorientować się, ile liter ma dane hasło. Dlatego, konieczne staje się przechowywanie również informacji o długości hasła oraz współczynnika w celu przeprowadzenia dalszych testów. Jakub zachęca do używania haseł maskowanych, jednak tylko w specyficznych warunkach, gdzie niezbędne będzie zabezpieczenie informacji, na przykład podczas rozmowy telefonicznej.
Na koniec Jakub podsumowuje zasady dotyczące hasła maskowanego oraz wdrożenia tej metody. W swoim stylowym i przystępnym podejściu daje jasne wskazówki, które mogą pomóc w zabezpieczeniu danych. Zwraca uwagę, że nie każdy może potrzebować haseł maskowanych, ale ich znajomość jest ważna. Zachęca widzów do subskrybowania kanału i do interakcji z jego materiałami, przypominając, że aktualnie jego film ma 5499 wyświetleń i 496 polubień przy pisaniu tego artykułu. Jakub dba o dobre przygotowanie i zrozumienie tematu bezpieczeństwa, dzieląc się przemyśleniami na temat technologii, które mogą zapewnić lepszą ochronę użytkowników.
Toggle timeline summary
-
Wprowadzenie przez Kubę Mrugalskiego.
-
Przegląd zmaskowanych haseł.
-
Czym jest zmaskowane hasło?
-
Znaczenie bezpieczeństwa przy wprowadzaniu części PIN-u.
-
Obawy dotyczące bezpieczeństwa haseł.
-
Wyjaśnienie metod bezpiecznego przechowywania haseł.
-
Przejście do demonstracji przy użyciu GeoGebra.
-
Rozpoczęcie demonstracji przez wybór losowych punktów.
-
Ustalanie punktów reprezentujących litery hasła.
-
Konwertowanie znaków hasła na kody ASCII.
-
Obliczanie współrzędnych na podstawie wprowadzonego hasła.
-
Sprawdzanie poprawności innego przykładu hasła.
-
Porównywanie punktów użytkownika z zapisanymi współrzędnymi.
-
Wyniki pokazują potrzebę sprawdzenia przecięcia linii.
-
Wymagania dotyczące wdrażania zmaskowanych haseł.
-
Zalety stosowania zmaskowanych haseł w niebezpiecznych sytuacjach.
-
Zalecenie, aby żądać wielu punktów dla wyższego bezpieczeństwa.
-
Podsumowanie z zachętą do wdrażania odkrytych metod.
-
Zachęta do subskrypcji na podobne treści.
Transcription
Cześć, tu Kuba Mrugalski. Dzisiaj opowiem Ci o czymś takim jak hasło maskowane. Pytanie brzmi, co to jest? Być może kiedyś dzwoniąc do banku spotkałeś się z poleceniem typu podaj pierwszą cyfrę telekodu, podaj trzecią cyfrę telekodu, piątą cyfrę telekodu i tak dalej. Pytanie tylko brzmi, czy to jest bezpieczne? Bo skoro mogą Cię zapytać o cyfrę numer 1, 3 i 5 to dlaczego nie wyciągną sobie sami cyfrę numer 2, 4 i 6? W ten sposób zdobędą cały Twój telekod no i można powiedzieć, na pewno to jest gdzieś trzymane plain textem. Nie, nie jest. Jest to sposób bezpieczny trzymania haseł, tylko niektórzy tłumaczą to tak, na pewno trzymają to w formie szyfrowanej, odszyfrowują sobie to na chwilę, sprawdzają te cyfry czy tam litery i problem z głowy. Nie, nie byłoby to bezpieczne dlatego, że jeżeli bank jest w stanie odszyfrować Twoje hasło to to samo będzie w stanie zrobić na przykład atakujący, który włamie się do banku. Być może trzymają to hasło w formie haszowanej. Też nie. Dlaczego? Dlatego, że nie da się sprawdzić w haszowanej formie pierwszej, trzeciej i piątej cyfry telekodu. Musi to być jakiś inny sposób. I jest to inny sposób. Konkretnie chodzi tu o odrobinę geometrii. Pozwól, że przejdziemy do komputera. Wykorzystam darmową aplikację GeoGebra. Na początku w układzie współrzędnym wybieram dwa zupełnie losowe punkty, nijak niezwiązane z moim hasłem. Następnie przechodzę tutaj do połączenia tych dwóch punktów linią prostą, która przechodzi przez punkty A i B i mam w ten sposób linię prostą z pewnym wzorem. Następnie moje hasło będzie miało trzy znaki. Więc buduję sobie trzy losowe punkty na tej linii, a więc punkt C, punkt D a niech będzie tutaj na przecięciu i punkt E na przykład tutaj. Zmienię sobie kolory, żeby się odróżniały. Każde z tych punktów reprezentuje jedną literę mojego hasła. Gdyby hasło miało 15 znaków, to wybieram 15 punktów zupełnie losowych, tylko na tej linii. Moje hasło będzie brzmiało ABC. Zamieniam więc słowo ABC na znaki ASCII, czyli 97, 98, 99. To są kody ASCII. Następnie przepisuję tutaj współrzędną X, czyli jedynkę oraz od współrzędnej Y, czyli trójki, odejmuję kod znaku, czyli 97. I to samo robię z kolejnym znakiem. Czyli trójkę przepisuję i od piątki odejmuję 98. Następnie przepisuję czwórkę i od szóstki odejmuję 99. Okej. To coś muszę wyliczyć teraz. Czyli mamy tu minus 94. W tym miejscu będzie minus 93. No i tutaj mamy minus 93. I to są moje współrzędne zakodowane. Następnie chcę sprawdzić, czy hasło na przykład QWE to jest poprawne hasło, czy też nie. Znowu QWE zamieniam na kody ASCII, czyli 113, 119 i 101. Współrzędną X po prostu przepisuję. I teraz uwaga. Do tego, co jest w bazie dalej, czyli minus 94, dodaję kod znaku, który sprawdzam, czyli 113. Następnie to samo robię z drugim znakiem, to samo z trzecim znakiem. Gdy wszystko jest gotowe, po prostu wyliczam sobie współrzędne nowych trzech punktów. Mamy tu 119, 326 oraz 48. Następnie te punkty muszę nanieść na oś współrzędnych. Kopiuję to więc, tworzę nowy punkt o nazwie G, wklejam i gdzie on się znajduje? Chyba wyleciał mi za ekran, ale zaraz się znajdzie. O, jest. Mam tutaj ten punkt. No to w takim razie kolejny punkt nanoszę też na tą oś. To jest 326. Kopiuję sobie to i tutaj on się nazywa kolejną literą H. Wklejam i jest trochę wyżej. Spoko. Widzimy, że on utworzy jakąś linię prostą, jak to wszystkie dwa punkty. I teraz punkt trzeci. Sprawdzamy, czy on należy do tej prostej? No ewidentnie nie. Te trzy punkty linii prostej nie tworzą. Gdybym go wziął i tam przesunął trochę wyżej, to ewentualnie by to mogła być linia prosta. Ale przeprowadzimy sobie linię prostą przez punkty G i H i widzimy, że nadal nie trafiłem. Jeszcze trochę go przesunę. Widzimy też jeszcze jedną rzecz. Gdzie ta linia przecina oś Y? Oryginalna była w punkcie 2, a ta nieoryginalna jest w punkcie 15,5. Tak jak widziałeś na przykładzie przed chwilą, w momencie, gdy zorientowaliśmy się, że te punkty użytkownika nie utworzyły linii prostej, już mogliśmy powiedzieć, hasło nie jest poprawne. Ale czasami zdarza się zupełnie przypadkiem, że punkty użytkownika faktycznie ułożą się w linii prostej. I co wtedy? Hasło jest dobre? Nie. Wtedy musimy sprawdzić jeszcze jedną rzecz. Musimy sprawdzić, gdzie ta linia utworzona z punktu użytkownika przecina oś Y. I czy jest to ten sam punkt, który był na początku. Nasza oryginalna linia przecinała oś Y w punkcie 2, a nieoryginalna w punkcie 15,5. Wniosek? No to hasło nie jest poprawne. Jeżeli chcesz zacząć używać haseł maskowanych, to w bazie musisz trzymać dwie rzeczy. Po pierwsze współrzędne punktów, po to, aby mieć z czym to porównywać. I tu jest pewien minus tych haseł maskowanych. Ponieważ tych punktów będzie dokładnie tyle, ile liter w haśle. Więc jednym rzutem oka, haker od razu wie, ile liter to hasło ma. Dlaczego tak jest ważne, aby to trzymać w bazie dokładnie takiej ilości. Nie jesteśmy w stanie zapytać kogoś o piętnastą cyfrę telekodu, jeżeli nie wiemy, że piętnasta istnieje. Więc ta liczba znaków w haśle musi być gdzieś przetrzymywana. Kolejna sprawa. Musi przetrzymywać współczynnik bez naszego równania prostej. Czyli w naszym przypadku jest to ta dwójka. Po co to jest potrzebne? Po to, żeby ten drugi test wykonać. Gdy już to wszystko ma w bazie, możesz zacząć używać haseł maskowanych. Tylko pytanie brzmi, w jakim celu? Dlaczego miałbyś się chcieć zdecydować na hasła maskowane, skoro są lepsze metody? Otóż, jeśli chcesz pobierać hasło w warunkach mało bezpiecznych, czyli np. przez telefon, albo w jakichś mało szyfrowanych warunkach, to hasło maskowane będzie dobrym rozwiązaniem. Dlatego, że jeśli faktycznie ta informacja wysyłana przez kanał niezaufany, czyli telefon, wycieknie, to wycieknie tylko 50% tego hasła, a nie 100%. Kolejna rzecz. O ile znaków zapytać? Im więcej, tym lepiej. Tylko nie wszystkie. Pytaj np. o 50% albo trochę mniej. Nie możesz zapytać o jeden znak. Nie możesz powiedzieć podaj mi piątą cyfrę telekodu. Dlaczego? Bo nie da się tego zweryfikować. Żeby zbudować linię przecinającą oś Y, to muszą być przynajmniej dwa punkty. Aby ta linia przechodziła przez dwa punkty. Jeśli pobierasz jeden punkt, fizycznie nie jest to możliwe. Jeżeli pobierasz dwa punkty, to jest ok. Ale warto byłoby ten trzeci punkt pobrać jeszcze, po to, żeby sprawdzić, czy on faktycznie należy do tej prostej. To znacząco podniesie poziom bezpieczeństwa. Czyli powiedziałbym, pytaj o minimum trzy punkty. Ale nie więcej niż połowa hasła. No i znając teoretyczne, myślę, że jesteś w stanie wprowadzić hasło maskowane do swojego systemu, jeśli faktycznie będzie Ci ono do czegoś potrzebne. Mam nadzieję, że to zostało wyjaśnione w zrozumiały sposób. Jeżeli chcesz więcej filmów tego typu i nie chcesz przegapić kolejnych odcinków, koniecznie subskrybuj ten kanał. No i oczywiście daj łapkę w górę i inne takie. Dzięki za uwagę i zapraszam do kolejnego odcinka.