Siła hasła

Menu opcji narzędzia do generowania losowych haseł w KeePass . Włączenie większej liczby podzbiorów znaków nieznacznie zwiększa siłę generowanych haseł, natomiast zwiększenie ich długości znacznie zwiększa siłę.

Siła hasła jest miarą skuteczności hasła w przypadku zgadywania lub ataków siłowych . W swojej zwykłej formie szacuje, ile prób osoba atakująca, która nie ma bezpośredniego dostępu do hasła, potrzebowałaby średnio, aby poprawnie je odgadnąć. Siła hasła jest funkcją długości, złożoności i nieprzewidywalności.

Używanie silnych haseł zmniejsza ogólne ryzyko naruszenia bezpieczeństwa, ale silne hasła nie zastępują innych skutecznych środków kontroli bezpieczeństwa . Skuteczność hasła o danej sile jest silnie zdeterminowana przez zaprojektowanie i wdrożenie czynników ( wiedza, własność, dziedzictwo). Ten pierwszy czynnik jest głównym przedmiotem zainteresowania w tym artykule.

Szybkość, z jaką osoba atakująca może przesyłać odgadnięte hasła do systemu, jest kluczowym czynnikiem decydującym o bezpieczeństwie systemu. Niektóre systemy narzucają kilkusekundowy limit czasu po niewielkiej liczbie (np. trzech) nieudanych prób wprowadzenia hasła. W przypadku braku innych luk, takie systemy można skutecznie zabezpieczyć za pomocą stosunkowo prostych haseł. Jednak system musi przechowywać informacje o hasłach użytkownika w jakiejś formie, a jeśli te informacje zostaną skradzione, na przykład poprzez naruszenie bezpieczeństwa systemu, hasła użytkownika mogą być zagrożone.

W 2019 r. brytyjska NCSC przeanalizowała publiczne bazy danych dotyczące naruszonych kont, aby zobaczyć, jakich słów, zwrotów i ciągów używali ludzie. Najpopularniejszym hasłem na liście było 123456, występujące w ponad 23 milionach haseł. Drugi pod względem popularności ciąg znaków, 123456789, był niewiele trudniejszy do złamania, podczas gdy w pierwszej piątce znalazły się „ qwerty ”, „hasło” i 1111111.

Tworzenie hasła

Hasła są tworzone automatycznie (przy użyciu sprzętu losującego) lub przez człowieka; ten drugi przypadek jest bardziej powszechny. Podczas gdy siłę losowo wybranych haseł przeciwko atakowi siłowemu można precyzyjnie obliczyć, określenie siły haseł generowanych przez ludzi jest trudne.

Zazwyczaj ludzie są proszeni o wybranie hasła, czasami kierując się sugestiami lub ograniczonym zestawem reguł, podczas tworzenia nowego konta do systemu komputerowego lub strony internetowej. Możliwe są tylko przybliżone szacunki siły, ponieważ ludzie mają tendencję do podążania za wzorami w takich zadaniach, a te wzorce zwykle mogą pomóc atakującemu. Ponadto listy powszechnie wybieranych haseł są szeroko dostępne do użytku przez programy zgadujące hasła. Takie listy obejmują liczne słowniki internetowe dla różnych ludzkich języków, naruszone [ wymagane wyjaśnienie ] bazy danych zawierające tekst jawny i zaszyfrowane hasła z różnych internetowych kont biznesowych i społecznościowych, a także inne popularne hasła. Wszystkie pozycje na takich listach są uważane za słabe, podobnie jak hasła, które są ich prostymi modyfikacjami.

Chociaż obecnie dostępne są programy do generowania losowych haseł, które mają być łatwe w użyciu, zwykle generują losowe, trudne do zapamiętania hasła, co często powoduje, że ludzie wolą wybrać własne. Jest to jednak z natury niepewne, ponieważ styl życia danej osoby, preferencje dotyczące rozrywki i inne kluczowe cechy indywidualistyczne zwykle mają wpływ na wybór hasła, a rozpowszechnienie internetowych mediów społecznościowych znacznie ułatwiło uzyskiwanie informacji o ludziach .

Weryfikacja odgadnięcia hasła

Systemy używające haseł do uwierzytelniania muszą mieć jakiś sposób na sprawdzenie każdego hasła wprowadzonego w celu uzyskania dostępu. Jeśli prawidłowe hasła są po prostu przechowywane w pliku systemowym lub bazie danych, atakujący, który uzyska wystarczający dostęp do systemu, uzyska wszystkie hasła użytkowników, dając mu dostęp do wszystkich kont w atakowanym systemie i ewentualnie innych systemach, w których użytkownicy używają tych samych lub podobne hasła. Jednym ze sposobów zmniejszenia tego ryzyka jest przechowywanie tylko kryptograficznego skrótu każdego hasła zamiast samego hasła. Standardowe skróty kryptograficzne, takie jak Secure Hash Algorithm (SHA), są bardzo trudne do odwrócenia, więc osoba atakująca, która zdobędzie wartość skrótu, nie może bezpośrednio odzyskać hasła. Jednak znajomość wartości skrótu pozwala atakującemu szybko przetestować domysły w trybie offline. do łamania haseł , które przetestują dużą liczbę haseł próbnych pod kątem skradzionego skrótu kryptograficznego.

Ulepszenia w technologii komputerowej stale zwiększają szybkość, z jaką można testować odgadnięte hasła. Na przykład w 2010 roku Georgia Tech Research Institute opracował metodę wykorzystania GPGPU do znacznie szybszego łamania haseł. Elcomsoft wynalazł wykorzystanie popularnych kart graficznych do szybszego odzyskiwania hasła w sierpniu 2007 roku i wkrótce złożył odpowiedni patent w USA. Do 2011 roku dostępne były komercyjne produkty, które zapewniały możliwość testowania do 112 000 haseł na sekundę na standardowym komputerze stacjonarnym przy użyciu wysokiej klasy procesora graficznego jak na tamte czasy. Takie urządzenie złamie sześcioliterowe hasło w ciągu jednego dnia. Należy pamiętać, że pracę można rozłożyć na wiele komputerów, aby uzyskać dodatkowe przyspieszenie proporcjonalne do liczby dostępnych komputerów z porównywalnymi procesorami graficznymi. Specjalny rozciągające klucze , których obliczenie zajmuje stosunkowo dużo czasu, zmniejszając szybkość zgadywania. Chociaż stosowanie rozciągania klucza jest uważane za najlepszą praktykę, wiele popularnych systemów tego nie robi.

Inną sytuacją, w której możliwe jest szybkie odgadnięcie, jest użycie hasła do utworzenia klucza kryptograficznego . W takich przypadkach osoba atakująca może szybko sprawdzić, czy odgadnięte hasło skutecznie dekoduje zaszyfrowane dane. Na przykład jeden produkt komercyjny twierdzi, że testuje 103 000 WPA PSK na sekundę.

Jeśli system haseł przechowuje tylko skrót hasła, osoba atakująca może wstępnie obliczyć wartości skrótu dla typowych wariantów haseł i dla wszystkich haseł krótszych niż określona długość, umożliwiając bardzo szybkie odzyskanie hasła po uzyskaniu jego skrótu. Bardzo długie listy wstępnie obliczonych skrótów haseł można wydajnie przechowywać za pomocą tęczowych tabel . Tę metodę ataku można udaremnić, przechowując losową wartość, zwaną solą kryptograficzną , wraz z haszem. Sól jest łączona z hasłem podczas obliczania skrótu, więc osoba atakująca, która wstępnie oblicza tęczową tabelę, musiałaby przechowywać dla każdego hasła swój skrót z każdą możliwą wartością soli. Staje się to niewykonalne, jeśli sól ma wystarczająco duży zakres, powiedzmy liczbę 32-bitową. Niestety, wiele powszechnie używanych systemów uwierzytelniania nie wykorzystuje soli, a w Internecie dostępne są tęczowe tablice dla kilku takich systemów.

Entropia jako miara siły hasła

W przemyśle komputerowym zwykle określa się siłę hasła w kategoriach entropii informacyjnej , która jest mierzona w bitach i jest pojęciem z teorii informacji . Zamiast liczby zgadnięć potrzebnych do znalezienia hasła z pewnością, logarytm o podstawie 2 tej liczby, który jest powszechnie określany jako liczba „bitów entropii” w haśle, chociaż nie jest to dokładnie ta sama ilość jako entropia informacyjna. Hasło o entropii 42 bitów obliczonej w ten sposób byłoby tak silne, jak ciąg 42 bitów wybrany losowo, na przykład przez uczciwy rzut monetą. Innymi słowy, hasło o entropii 42 bitów wymagałoby 2 42 (4 398 046 511 104) prób, aby wyczerpać wszystkie możliwości podczas wyszukiwania siłowego . Zatem zwiększenie entropii hasła o jeden bit podwaja liczbę wymaganych odgadnięć, co dwukrotnie utrudnia zadanie atakującemu. Osoba atakująca będzie musiała wypróbować średnio połowę możliwej liczby haseł, zanim znajdzie właściwe.

Losowe hasła

Losowe hasła składają się z ciągu symboli o określonej długości, pobranego z pewnego zestawu symboli przy użyciu losowego procesu selekcji, w którym każdy symbol ma takie samo prawdopodobieństwo wybrania. Symbole mogą być pojedynczymi znakami z zestawu znaków (np. ASCII ), sylabami przeznaczonymi do tworzenia dających się wymówić haseł, a nawet słowami z listy słów (tworząc w ten sposób hasło ) .

Siła losowych haseł zależy od rzeczywistej entropii bazowego generatora liczb; jednak często nie są one naprawdę losowe, ale pseudolosowe. Wiele publicznie dostępnych generatorów haseł korzysta z generatorów liczb losowych znajdujących się w bibliotekach programowania, które oferują ograniczoną entropię. Jednak większość nowoczesnych systemów operacyjnych oferuje silne kryptograficznie generatory liczb losowych, które są odpowiednie do generowania haseł. Możliwe jest również użycie zwykłych kostek do generowania losowych haseł. Zobacz silniejsze metody . Programy do tworzenia losowych haseł często mają możliwość zapewnienia, że ​​wynikowe hasło jest zgodne z lokalną polityką haseł ; na przykład, tworząc zawsze mieszankę liter, cyfr i znaków specjalnych.

W przypadku haseł generowanych przez proces, który losowo wybiera ciąg symboli o długości L , ze zbioru N możliwych symboli, liczbę możliwych haseł można znaleźć podnosząc liczbę symboli do potęgi L , tj. N L . Zwiększenie L lub N wzmocni wygenerowane hasło. Siła losowego hasła mierzona entropią informacji to tylko logarytm o podstawie 2 lub log 2 liczby możliwych haseł, przy założeniu, że każdy symbol w haśle jest generowany niezależnie. Zatem entropia informacyjna losowego hasła, H , jest określona wzorem:

gdzie N to liczba możliwych symboli, a L to liczba symboli w haśle. H jest mierzone w bitach . W ostatnim wyrażeniu log może dotyczyć dowolnej bazy .

Entropia na symbol dla różnych zestawów symboli
Zestaw symboli
Liczba symboli N

Entropia na symbol H
Cyfry arabskie (0–9) (np. PIN ) 10 3,322 bity
szesnastkowe (0–9, A–F) (np. klucze WEP ) 16 4.000 bitów
Alfabet łaciński bez rozróżniania wielkości liter (a – z lub A – Z) 26 4.700 bitów
Alfanumeryczne bez rozróżniania wielkości liter (a–z lub A–Z, 0–9) 36 5.170 bitów
Wielkość liter alfabetu łacińskiego (a–z, A–Z) 52 5700 bitów
Alfanumeryczne z rozróżnianiem wielkości liter (a–z, A–Z, 0–9) 62 5,954 bitów
Wszystkie drukowane znaki ASCII z wyjątkiem spacji 94 6,555 bitów
Wszystkie znaki dodatku Latin-1 94 6,555 bitów
Wszystkie drukowalne znaki ASCII 95 6,570 bitów
Wszystkie rozszerzone drukowalne znaki ASCII 218 7,768 bitów
Binarny (0–255 lub 8 bitów lub 1 bajt ) 256 8.000 bitów
Lista słów Diceware 7776 12,925 bitów na słowo

Bajt binarny jest zwykle wyrażany przy użyciu dwóch znaków szesnastkowych.

Aby znaleźć długość L potrzebną do osiągnięcia pożądanej siły H, z hasłem wylosowanym z zestawu N symboli, oblicza się:

gdzie w górę do następnej największej całkowitej

Poniższa tabela wykorzystuje tę formułę, aby pokazać wymagane długości prawdziwie losowo generowanych haseł, aby osiągnąć pożądane entropie haseł dla typowych zestawów symboli:

Długości L prawdziwie losowo generowanych haseł wymaganych do osiągnięcia pożądanej entropii hasła H dla zestawów symboli zawierających N symboli

entropia hasła H
cyfry arabskie
Szesnastkowy Wielkość liter nie ma znaczenia Wielkość liter ma znaczenie Wszystkie ASCII Wszystkie
rozszerzone ASCII
Lista słów Diceware
alfabet łaciński

alfanumeryczne _
alfabet łaciński

alfanumeryczne _
znaki do wydrukowania
8 bitów (1 bajt) 3 2 2 2 2 2 2 2 1 słowo
32 bity (4 bajty) 10 8 7 7 6 6 5 5 3 słowa
40 bitów (5 bajtów) 13 10 9 8 8 7 7 6 4 słowa
64 bity (8 bajtów) 20 16 14 13 12 11 10 9 5 słów
80 bitów (10 bajtów) 25 20 18 16 15 14 13 11 7 słów
96 bitów (12 bajtów) 29 24 21 19 17 17 15 13 8 słów
128 bitów (16 bajtów) 39 32 28 25 23 22 20 17 10 słów
160 bitów (20 bajtów) 49 40 35 31 29 27 25 21 13 słów
192 bity (24 bajty) 58 48 41 38 34 33 30 25 15 słów
224 bity (28 bajtów) 68 56 48 44 40 38 35 29 18 słów
256 bitów (32 bajty) 78 64 55 50 45 43 39 33 20 słów

Hasła generowane przez ludzi

Ludzie są notorycznie słabi w osiąganiu wystarczającej entropii do tworzenia zadowalających haseł. Według jednego badania z udziałem pół miliona użytkowników, średnia entropia hasła została oszacowana na 40,54 bitów.

Tak więc w jednej analizie ponad 3 milionów ośmioznakowych haseł litera „e” została użyta ponad 1,5 miliona razy, podczas gdy litera „f” została użyta tylko 250 000 razy. Jednolita dystrybucja oznaczałaby, że każdy znak byłby używany około 900 000 razy. Najczęściej używaną cyfrą jest „1”, podczas gdy najczęstsze litery to a, e, o i r.

Użytkownicy rzadko w pełni wykorzystują większe zestawy znaków do tworzenia haseł. Na przykład wyniki hakowania uzyskane w ramach programu phishingowego MySpace w 2006 r. ujawniły 34 000 haseł, z których tylko 8,3% składało się z liter, cyfr i symboli.

Pełną siłę związaną z wykorzystaniem całego zestawu znaków ASCII (cyfry, małe litery i znaki specjalne) uzyskuje się tylko wtedy, gdy każde możliwe hasło jest równie prawdopodobne. Wydaje się to sugerować, że wszystkie hasła muszą zawierać znaki z każdej z kilku klas znaków, być może wielkie i małe litery, cyfry i znaki inne niż alfanumeryczne. W rzeczywistości takie wymaganie jest wzorcem wyboru hasła i można oczekiwać, że zmniejszy „czynnik pracy” atakującego (w kategoriach Claude'a Shannona). Jest to zmniejszenie „siły” hasła. Lepszym wymaganiem byłoby wymaganie, aby hasło NIE zawierało żadnego słowa w słowniku online, liście nazwisk ani żadnego wzoru tablicy rejestracyjnej z dowolnego stanu (w USA) lub kraju (jak w UE). Jeśli wymagane są wzorcowe wybory, ludzie prawdopodobnie użyją ich w przewidywalny sposób, na przykład używając wielkiej litery, dodając jedną lub dwie cyfry i znak specjalny. Ta przewidywalność oznacza, że ​​wzrost siły hasła jest niewielki w porównaniu z hasłami losowymi.

Specjalna publikacja NIST 800-63-2

NIST 800-63 z czerwca 2004 (wersja druga) zasugerowała schemat przybliżenia entropii haseł generowanych przez człowieka:

Korzystając z tego schematu, szacuje się, że ośmioznakowe hasło wybrane przez człowieka bez wielkich liter i znaków niealfabetycznych LUB z jednym z dwóch zestawów znaków ma osiemnaście bitów entropii. Publikacja NIST przyznaje, że w czasie opracowywania było niewiele informacji na temat wyboru haseł w świecie rzeczywistym. Późniejsze badania entropii haseł wybranych przez człowieka przy użyciu nowo dostępnych danych ze świata rzeczywistego wykazały, że schemat NIST nie zapewnia prawidłowej miary do szacowania entropii haseł wybranych przez człowieka. Wersja SP 800-63 z czerwca 2017 r. (wersja trzecia) porzuca to podejście.

Zagadnienia dotyczące użyteczności i implementacji

Ponieważ krajowe implementacje klawiatury są różne, nie wszędzie można używać wszystkich 94 drukowalnych znaków ASCII. Może to stanowić problem dla międzynarodowego podróżnika, który chciał zalogować się do zdalnego systemu za pomocą klawiatury na lokalnym komputerze. Zobacz układ klawiatury . Wiele urządzeń podręcznych, takich jak tablety i smartfony , wymaga skomplikowanych sekwencji zmian lub zamiany aplikacji na klawiaturze w celu wprowadzenia znaków specjalnych.

Programy uwierzytelniające różnią się liczbą znaków, które dopuszczają w hasłach. Niektóre nie rozpoznają różnic wielkości liter (np. wielka litera „E” jest uważana za równoważną małej literze „e”), inne zabraniają niektórych innych symboli. W ciągu ostatnich kilku dekad systemy dopuszczały więcej znaków w hasłach, ale nadal istnieją ograniczenia. Systemy różnią się również maksymalną dozwoloną długością haseł.

Ze względów praktycznych hasła muszą być rozsądne i funkcjonalne dla użytkownika końcowego, a także wystarczająco silne do zamierzonego celu. Hasła, które są zbyt trudne do zapamiętania, mogą zostać zapomniane i dlatego częściej są zapisywane na papierze, co niektórzy uważają za zagrożenie dla bezpieczeństwa. Z kolei inni twierdzą, że zmuszanie użytkowników do zapamiętywania haseł bez pomocy może pomieścić tylko słabe hasła, a tym samym stwarza większe zagrożenie bezpieczeństwa. Według Bruce'a Schneiera większość ludzi dobrze sobie radzi z zabezpieczaniem swoich portfeli lub torebek, co jest „świetnym miejscem” do przechowywania zapisanego hasła.

Wymagane bity entropii

Minimalna liczba bitów entropii potrzebna do hasła zależy od modelu zagrożenia dla danej aplikacji. Jeśli kluczowe rozciąganie nie jest używany, potrzebne są hasła o większej entropii. RFC 4086, „Randomness Requirements for Security”, opublikowany w czerwcu 2005 r., przedstawia kilka przykładowych modeli zagrożeń i sposób obliczania pożądanej entropii dla każdego z nich. Ich odpowiedzi wahają się od 29 bitów entropii potrzebnej, jeśli spodziewane są tylko ataki online, do 96 bitów entropii potrzebnej do ważnych kluczy kryptograficznych używanych w aplikacjach takich jak szyfrowanie, w których hasło lub klucz musi być bezpieczne przez długi czas i rozciąganie nie ma zastosowania. Georgia Tech Research Institute z 2010 roku badanie oparte na nierozciągniętych kluczach zalecało losowe hasło o długości 12 znaków, ale jako wymaganie minimalnej długości. Należy pamiętać, że moc obliczeniowa stale rośnie, więc aby zapobiec atakom offline, wymagane bity entropii również powinny rosnąć z czasem.

Górna granica jest związana z rygorystycznymi wymaganiami dotyczącymi wyboru kluczy używanych do szyfrowania. W 1999 roku projekt Electronic Frontier Foundation złamał 56-bitowe szyfrowanie DES w mniej niż jeden dzień przy użyciu specjalnie zaprojektowanego sprzętu. W 2002 roku firma distribution.net złamała 64-bitowy klucz w ciągu 4 lat, 9 miesięcy i 23 dni. Na dzień 12 października 2011 r. firma distribution.net szacuje, że złamanie 72-bitowego klucza przy użyciu obecnego sprzętu zajmie około 45 579 dni, czyli 124,8 lat. Ze względu na obecnie rozumiane ograniczenia wynikające z fizyki fundamentalnej nie należy oczekiwać, że jakikolwiek komputer cyfrowy (lub kombinacja) będzie w stanie złamać 256-bitowe szyfrowanie za pomocą ataku siłowego. Nadal nie wiadomo , czy komputery kwantowe będą w stanie to zrobić w praktyce, chociaż analiza teoretyczna sugeruje takie możliwości.

Wytyczne dotyczące silnych haseł

Wspólne wytyczne

Wytyczne dotyczące wybierania dobrych haseł są zwykle opracowane w taki sposób, aby utrudnić odkrycie haseł za pomocą inteligentnego zgadywania. Wspólne wytyczne zalecane przez zwolenników bezpieczeństwa systemu oprogramowania obejmowały:

  • Weź pod uwagę minimalną długość hasła wynoszącą 8 znaków jako ogólną wskazówkę. Zarówno amerykańskie, jak i brytyjskie departamenty bezpieczeństwa cybernetycznego zalecają długie i łatwe do zapamiętania hasła zamiast krótkich i skomplikowanych.
  • Generuj hasła losowo, jeśli to możliwe.
  • Unikaj dwukrotnego używania tego samego hasła (np. na wielu kontach użytkowników i/lub systemach oprogramowania).
  • Unikaj powtórzeń znaków, wzorów klawiatury, słów ze słownika, sekwencji liter lub cyfr.
  • Unikaj używania informacji, które są lub mogą zostać publicznie powiązane z użytkownikiem lub kontem, takich jak nazwa użytkownika, nazwiska przodków lub daty.
  • Unikaj wykorzystywania informacji, o których współpracownicy i/lub znajomi użytkownika mogą wiedzieć, że są powiązani z użytkownikiem, takich jak imiona krewnych lub zwierząt domowych, powiązania romantyczne (obecne lub przeszłe) oraz informacje biograficzne (np. numery identyfikacyjne, imiona lub daty przodków).
  • Nie używaj haseł, które składają się w całości z dowolnej prostej kombinacji wyżej wymienionych słabych elementów.

Wymuszanie małych i wielkich liter alfabetu, cyfr i symboli w hasłach było powszechną polityką, ale stwierdzono, że w rzeczywistości zmniejsza bezpieczeństwo, ułatwiając złamanie. Badania wykazały, jak bardzo przewidywalne jest powszechne użycie takich symboli, a departamenty bezpieczeństwa cybernetycznego rządu Stanów Zjednoczonych i Wielkiej Brytanii odradzają wymuszanie włączenia ich do polityki haseł. Złożone symbole znacznie utrudniają również zapamiętywanie haseł, co zwiększa częstotliwość zapisywania, resetowania i ponownego użycia hasła — a wszystko to obniża, a nie poprawia bezpieczeństwo hasła. Pierwotny autor reguł złożoności haseł, Bill Burr, przeprosił i przyznaje, że w rzeczywistości zmniejszają one bezpieczeństwo, jak wykazały badania; było to szeroko relacjonowane w mediach w 2017 r. Badacze i konsultanci ds. bezpieczeństwa online również popierają zmianę w poradach dotyczących najlepszych praktyk dotyczących haseł.

Niektóre wytyczne odradzają zapisywanie haseł, podczas gdy inne, zwracając uwagę na dużą liczbę systemów chronionych hasłem, do których użytkownicy muszą mieć dostęp, zachęcają do zapisywania haseł, o ile zapisane listy haseł są przechowywane w bezpiecznym miejscu, nie są przymocowane do monitora ani w odblokowanej szufladzie biurka. NCSC zaleca korzystanie z menedżera haseł .

Możliwy zestaw znaków dla hasła może być ograniczony przez różne witryny internetowe lub zakres klawiatur, na których należy wprowadzić hasło.

Przykłady słabych haseł

Jak w przypadku każdego środka bezpieczeństwa, hasła różnią się siłą; niektóre są słabsze od innych. Na przykład różnica w sile między słowem ze słownika a słowem z zaciemnieniem (np. litery w haśle są zastępowane, powiedzmy, cyframi — powszechne podejście) może kosztować urządzenie do łamania haseł o kilka sekund więcej; to dodaje trochę siły. Poniższe przykłady ilustrują różne sposoby konstruowania słabych haseł, z których wszystkie są oparte na prostych wzorcach, które skutkują wyjątkowo niską entropią, co pozwala na automatyczne testowanie ich przy dużych prędkościach.:

  • Domyślne hasła (dostarczone przez dostawcę systemu i przeznaczone do zmiany podczas instalacji): hasło , domyślne , admin , guest , itp. Listy domyślnych haseł są szeroko dostępne w Internecie.
  • Słownikowe słowa: kameleon , RedSox , worki z piaskiem , bunnyhop! , IntenseCrabtree itp., w tym słowa w słownikach innych niż angielskie.
  • Słowa z dołączonymi cyframi: hasło1 , jeleń2000 , john1234 , itp. można łatwo przetestować automatycznie przy niewielkiej stracie czasu.
  • Słowa z prostym zaciemnieniem: p@ssw0rd , l33th4x0r , g0ldf1sh itd. mogą być testowane automatycznie przy niewielkim dodatkowym wysiłku. Na przykład hasło administratora domeny, które zostało naruszone podczas DigiNotar, brzmiało podobno Pr0d@dm1n.
  • Podwojone słowa: crabcrab , stopstop , treetree , passpass , itp.
  • Typowe sekwencje z rzędu klawiatury: qwerty , 123456 , asdfgh itd.
  • Sekwencje numeryczne oparte na dobrze znanych liczbach, takie jak 911 ( 9-1-1 , 9/11 ) , 314159... ( pi ) , 27182... ( e ) , 112 ( 1-1-2 ) itd.
  • Identyfikatory: jsmith123 , 1/1/1970 , 555–1234 , czyjaś nazwa użytkownika itp.
  • Słabe hasła w językach innych niż angielski, takie jak contraseña (hiszpański) i ji32k7au4a83 (kodowanie klawiatury bopomofo z chińskiego)
  • Wszystko, co jest osobiście związane z daną osobą: numer rejestracyjny, numer ubezpieczenia społecznego, obecne lub przeszłe numery telefonów, legitymacja studencka, aktualny adres, poprzednie adresy, urodziny, nazwa drużyny sportowej, imiona/pseudonimy/daty urodzin/inicjały itp. można łatwo przetestować automatycznie po prostym zbadaniu danych osoby.
  • Daty: daty są zgodne ze wzorem i osłabiają hasło.
  • Nazwy znanych miejsc: Nowy Jork, Teksas, Chiny, Londyn itp.
  • Nazwy marek, celebrytów, drużyn sportowych, grup muzycznych, programów telewizyjnych, filmów itp.

Hasło może być słabe na wiele innych sposobów, odpowiadających sile różnych schematów ataków; podstawową zasadą jest to, że hasło powinno mieć wysoką entropię (zwykle uważaną za równoważną losowości) i nie można go łatwo wyprowadzić za pomocą żadnego „sprytnego” wzorca, ani też hasła nie powinny być mieszane z informacjami identyfikującymi użytkownika. Usługi online często zapewniają funkcję przywracania hasła, którą haker może wymyślić i w ten sposób ominąć hasło. Wybór trudnych do odgadnięcia pytań dotyczących przywracania hasła może dodatkowo zabezpieczyć hasło.

Ponowne przemyślenie wytycznych dotyczących zmiany hasła

W grudniu 2012 roku William Cheswick napisał artykuł opublikowany w magazynie ACM, który zawierał matematyczne możliwości łatwego lub trudnego łamania haseł, które są tworzone przy użyciu powszechnie zalecanych, a czasem przestrzeganych, standardów. W swoim artykule William wykazał, że standardowe hasło składające się z ośmiu znaków alfanumerycznych może wytrzymać atak siłowy z szybkością dziesięciu milionów prób na sekundę i pozostać nienaruszone przez 252 dni. Dziesięć milionów prób na sekundę to akceptowalna liczba prób przy użyciu systemu wielordzeniowego, do którego dostęp miałaby większość użytkowników. Znacznie większy stopień prób, na poziomie 7 miliardów na sekundę, można było również osiągnąć przy zastosowaniu nowoczesnych GPU. W tym tempie to samo pełne, alfanumeryczne hasło składające się z 8 znaków mogłoby zostać złamane w około 0,36 dnia (tj. 9 godzin). Zwiększenie złożoności hasła do pełnego 13-znakowego hasła alfanumerycznego wydłuża czas potrzebny do jego złamania do ponad 900 000 lat przy 7 miliardach prób na sekundę. Jest to oczywiście zakładając, że hasło nie zawiera popularnego słowa, które a atak słownikowy może się zepsuć znacznie wcześniej. Używanie hasła o takiej sile zmniejsza obowiązek jego zmiany tak często, jak wymaga tego wiele organizacji, w tym rząd USA, ponieważ nie można go rozsądnie złamać w tak krótkim czasie.

Zasady dotyczące haseł

Polityka haseł to przewodnik po wyborze zadowalających haseł. Ma na celu:

  • pomóc użytkownikom w wyborze silnych haseł
  • upewnij się, że hasła są dopasowane do populacji docelowej
  • udzielać użytkownikom zaleceń dotyczących postępowania z ich hasłami
  • nałożyć zalecenie zmiany hasła, które zostało utracone lub podejrzane o naruszenie
  • użyj czarnej listy haseł , aby zablokować użycie słabych lub łatwych do odgadnięcia haseł.

Poprzednie zasady dotyczące haseł określały znaki, które muszą zawierać hasła, takie jak cyfry, symbole lub wielkie/małe litery. Chociaż jest to nadal w użyciu, zostało obalone jako mniej bezpieczne przez badania uniwersyteckie, przez pierwotnego inicjatora tej polityki oraz przez departamenty bezpieczeństwa cybernetycznego (i inne powiązane rządowe organy bezpieczeństwa) USA i Wielkiej Brytanii. Reguły złożoności haseł wymuszonych symboli były wcześniej używane przez główne platformy, takie jak Google i Facebook, ale zniosły one wymóg po odkryciu, że faktycznie zmniejszają bezpieczeństwo. Dzieje się tak, ponieważ czynnik ludzki stanowi o wiele większe ryzyko niż złamanie, a wymuszona złożoność prowadzi większość użytkowników do wysoce przewidywalnych wzorców (liczba na końcu, zamiana 3 na E itp.), co faktycznie pomaga w łamaniu haseł. Tak więc prostota i długość hasła (hasła) to nowa najlepsza praktyka, a złożoność jest odradzana. Wymuszone reguły złożoności zwiększają również koszty pomocy technicznej, tarcia między użytkownikami i zniechęcają użytkowników do rejestracji.

Wygaśnięcie hasła było w niektórych starszych zasadach dotyczących haseł, ale zostało obalone jako najlepsza praktyka i nie jest obsługiwane przez rządy USA lub Wielkiej Brytanii ani przez firmę Microsoft, która usunęła funkcję wygaśnięcia hasła. Wygaśnięcie hasła służyło wcześniej dwóm celom:

  • Jeśli czas potrzebny na złamanie hasła szacuje się na 100 dni, czas wygaśnięcia hasła krótszy niż 100 dni może pomóc zapewnić atakującemu niewystarczającą ilość czasu.
  • Jeśli hasło zostało naruszone, wymaganie jego regularnej zmiany może ograniczyć czas dostępu atakującego.

Wygaśnięcie hasła ma jednak swoje wady:

  • Proszenie użytkowników o zmianę haseł często zachęca do używania prostych, słabych haseł.
  • Jeśli ktoś ma naprawdę silne hasło, nie ma sensu go zmieniać. Zmiana haseł, które są już silne, stwarza ryzyko, że nowe hasło może być mniej silne.
  • Złamane hasło może zostać natychmiast użyte przez atakującego do zainstalowania backdoora , często poprzez eskalację uprawnień . Po wykonaniu tej czynności zmiany hasła nie uniemożliwią atakującemu dostępu w przyszłości.
  • Przejście od nigdy nie zmieniania hasła do zmiany hasła przy każdej próbie uwierzytelnienia (próby zaliczenia lub niepowodzenia) tylko podwaja liczbę prób, które atakujący musi wykonać średnio przed odgadnięciem hasła w ataku siłowym. Zyskuje się znacznie większe bezpieczeństwo, po prostu zwiększając długość hasła o jeden znak niż zmieniając hasło przy każdym użyciu.

Tworzenie i obsługa haseł

Najtrudniejsze do złamania hasła dla danej długości i zestawu znaków to losowe ciągi znaków; jeśli wystarczająco długo opierają się atakom brutalnej siły (ponieważ jest wiele postaci) i atakom zgadywania (ze względu na wysoką entropię). Jednak takie hasła są zazwyczaj najtrudniejsze do zapamiętania. Nałożenie wymogu posiadania takich haseł w polityce haseł może zachęcić użytkowników do ich zapisywania, przechowywania w urządzeniach mobilnych lub udostępnij je innym osobom jako zabezpieczenie przed awarią pamięci. Podczas gdy niektórzy uważają, że każde z tych działań użytkowników zwiększa ryzyko bezpieczeństwa, inni sugerują absurdalność oczekiwania, że ​​użytkownicy będą pamiętać różne złożone hasła dla każdego z dziesiątek kont, do których mają dostęp. Na przykład w 2005 roku ekspert ds. Bezpieczeństwa Bruce Schneier zalecił zapisanie hasła:

Po prostu ludzie nie pamiętają już haseł wystarczająco dobrych, aby niezawodnie bronić się przed atakami słownikowymi, i są znacznie bardziej bezpieczni, jeśli wybiorą hasło zbyt skomplikowane do zapamiętania, a następnie je zapiszą. Wszyscy jesteśmy dobrzy w zabezpieczaniu małych kawałków papieru. Zalecam, aby ludzie zapisali swoje hasła na małej kartce papieru i trzymali ją razem z innymi cennymi karteczkami: w portfelu.

Następujące środki mogą zwiększyć akceptację wymagań dotyczących silnych haseł, jeśli są stosowane ostrożnie:

  • program szkoleniowy. Ponadto zaktualizowane szkolenie dla osób, które nie przestrzegają polityki haseł (zgubione hasła, nieodpowiednie hasła itp.).
  • nagradzanie użytkowników o silnych hasłach poprzez zmniejszenie częstości lub całkowite wyeliminowanie konieczności zmiany hasła (wygaśnięcie hasła). Siłę haseł wybranych przez użytkownika można oszacować za pomocą automatycznych programów, które sprawdzają i oceniają proponowane hasła podczas ustawiania lub zmiany hasła.
  • wyświetlanie każdemu użytkownikowi daty i godziny ostatniego logowania w nadziei, że użytkownik może zauważyć nieautoryzowany dostęp, sugerujący złamanie hasła.
  • umożliwienie użytkownikom resetowania haseł za pomocą automatycznego systemu, co zmniejsza liczbę zgłoszeń do pomocy technicznej. Jednak niektóre systemy same w sobie nie są bezpieczne; na przykład łatwe do odgadnięcia lub zbadania odpowiedzi na pytania dotyczące resetowania hasła omijają zalety silnego systemu haseł.
  • używanie losowo generowanych haseł, które nie pozwalają użytkownikom na wybór własnych haseł, lub przynajmniej oferowanie losowo generowanych haseł jako opcji.

Techniki pamięciowe

Zasady dotyczące haseł czasami sugerują techniki pamięciowe ułatwiające zapamiętywanie haseł:

  • hasła mnemoniczne: niektórzy użytkownicy opracowują frazy mnemoniczne i używają ich do generowania mniej lub bardziej losowych haseł, które mimo to są stosunkowo łatwe do zapamiętania przez użytkownika. Na przykład pierwsza litera każdego słowa w pamiętnym zdaniu. Badania szacują, że siła takich haseł wynosi około 3,7 bitów na znak, w porównaniu z 6,6 bitami dla losowych haseł ze znaków drukowalnych ASCII. Głupie są prawdopodobnie bardziej zapadające w pamięć. Innym sposobem na uczynienie losowo pojawiających się haseł łatwiejszymi do zapamiętania jest użycie losowych słów (patrz Diceware ) lub sylab zamiast losowo wybranych liter.
  • mnemoniki działające po fakcie: po ustaleniu hasła wymyśl pasujący mnemonik. Nie musi być rozsądna ani sensowna, tylko zapadająca w pamięć. Dzięki temu hasła mogą być losowe.
  • wizualna reprezentacja haseł: hasło jest zapamiętywane na podstawie sekwencji naciskanych klawiszy, a nie wartości samych klawiszy, np. sekwencja !qAsdE#2 reprezentuje romb na klawiaturze amerykańskiej. Metoda tworzenia takich haseł nazywa się PsychoPass; co więcej, takie przestrzennie ukształtowane hasła można ulepszyć.
  • wzorce haseł: każdy wzorzec w haśle ułatwia odgadywanie (zautomatyzowane lub nie) i zmniejsza nakład pracy atakującego.
    • Na przykład hasła w następującej formie bez rozróżniania wielkości liter: spółgłoska, samogłoska, spółgłoska, spółgłoska, samogłoska, spółgłoska, liczba, liczba (na przykład pinray45 ) są nazywane hasłami Environ. Wzór naprzemiennych znaków samogłosek i spółgłosek miał na celu zwiększenie prawdopodobieństwa wymówienia haseł, a tym samym łatwiejsze zapamiętywanie. entropię informacyjną hasła , powodując brutalną siłę ataki na hasła są znacznie bardziej wydajne. W Wielkiej Brytanii w październiku 2005 r. pracownikom brytyjskiego rządu zalecono stosowanie haseł w tej formie. [ potrzebne źródło ]

Ochrona haseł

Użytkownikom komputerów generalnie zaleca się, aby „nigdy nie zapisywali hasła w żadnym miejscu, bez względu na wszystko” i „nigdy nie używali tego samego hasła do więcej niż jednego konta”. Jednak zwykły użytkownik komputera może mieć dziesiątki kont chronionych hasłem. Użytkownicy z wieloma kontami wymagającymi haseł często rezygnują i używają tego samego hasła do każdego konta. Kiedy różne wymagania dotyczące złożoności haseł uniemożliwiają użycie tego samego (zapadającego w pamięć) schematu do tworzenia haseł o wysokiej sile, często tworzone są nadmiernie uproszczone hasła, aby spełnić irytujące i sprzeczne wymagania dotyczące haseł. Microsoft _ zacytowano wypowiedź eksperta na konferencji bezpieczeństwa w 2005 r.: „Twierdzę, że zasady dotyczące haseł powinny mówić, że należy zapisać swoje hasło. Mam 68 różnych haseł. Jeśli nie wolno mi zapisać żadnego z nich, zgadnij, co zamierzam zrobić zrobić? Zamierzam użyć tego samego hasła na każdym z nich.

Na popularne komputery przenośne dostępne jest oprogramowanie, które może przechowywać hasła do wielu kont w postaci zaszyfrowanej. Hasła można szyfrować ręcznie na papierze i pamiętać o metodzie i kluczu szyfrowania. Jeszcze lepszym sposobem jest zaszyfrowanie słabego hasła za pomocą jednego z powszechnie dostępnych i przetestowanych algorytmów kryptograficznych lub funkcji haszujących i użycie szyfru jako hasła.

Pojedyncze hasło „główne” może być używane z oprogramowaniem do generowania nowego hasła dla każdej aplikacji na podstawie hasła głównego i nazwy aplikacji. Podejście to jest stosowane przez Stanford's PwdHash, Princeton's Password Multiplier i inne bezstanowe menedżery haseł. W tym podejściu ochrona hasła głównego jest niezbędna, ponieważ wszystkie hasła są zagrożone, jeśli hasło główne zostanie ujawnione, i utracone, jeśli hasło główne zostanie zapomniane lub zgubione.

Menedżerowie haseł

Rozsądnym kompromisem w przypadku używania dużej liczby haseł jest zapisanie ich w programie do zarządzania hasłami, który obejmuje samodzielne aplikacje, rozszerzenia przeglądarki internetowej lub menedżera wbudowanego w system operacyjny. Menedżer haseł umożliwia użytkownikowi korzystanie z setek różnych haseł i pamiętanie tylko jednego hasła, które otwiera zaszyfrowaną bazę danych haseł. Nie trzeba dodawać, że to pojedyncze hasło powinno być silne i dobrze chronione (nigdzie nie zapisane). Większość menedżerów haseł może automatycznie tworzyć silne hasła za pomocą kryptograficznie bezpiecznego generatora losowych haseł , a także obliczenie entropii wygenerowanego hasła. Dobry menedżer haseł zapewni odporność na ataki, takie jak rejestrowanie kluczy , rejestrowanie ze schowka i różne inne techniki szpiegowania pamięci.

Zobacz też

Linki zewnętrzne