Jak bezpieczne są hasła o długości poniżej 20 znaków?

10

Niedawno otrzymałem zalecenie ustawienia mojego hasła na ponad 20 znaków. Algorytmem używanym do szyfrowania jest AES z 256-bitowym kluczem podstawowym. Jak bezpieczne jest, powiedzmy, 8-znakowe hasło przeciwko brutalnym atakom w celu odszyfrowania zaszyfrowanych plików?

Wiem, że jest to uważane za dobry rozmiar hasła na większości stron internetowych. Jednym z powodów jest to, że mogą zatrzymać atak po około 3 próbach.

cmserv
źródło

Odpowiedzi:

4

Jest to interesujący artykuł http://www.lockdown.co.uk/?pg=combi&s=articles, który szczegółowo opisuje, ile czasu zajmie teoretycznie brutalna siła hasła dla różnych długości i zestawów symboli.

Mark Davidson
źródło
Ok, to bardzo interesujący link. Daje dobre wyobrażenie o tym, jakiego rodzaju siły potrzebujesz w jakich ramach czasowych. Biorąc pod uwagę wystarczającą ilość zasobów, możliwe jest również złamanie hasła składającego się z 8 znaków, zwłaszcza jeśli nie jest dobre.
cmserv
Nadal zajmie to 83,5 dnia przy 100 000 haseł / sekundę. To naprawdę nie jest możliwe w przypadku większości ataków. Zwłaszcza jeśli mówisz o haśle do serwera, a nie do hasła pgp. Jeśli nie mają skrótu, 8 (losowych) znaków jest w zasadzie nie do złamania.
Cian
Nie mówiłem o hasłach do serwerów, ponieważ wiem, że możesz używać znacznie prostszych haseł, ponieważ serwery oferują dodatkową ochronę przed atakami. Miałem na myśli w innych przypadkach, np. Szyfrowanie plików.
cmserv
Dobrze byłoby zaktualizować tę odpowiedź. Link nie jest już przydatny, oferując „Zamknięty na stałe”. Dla każdego, kto chce zobaczyć zawartość, maszyna z powrotem ma swoje plecy: web.archive.org/web/20180412051235/http://www.lockdown.co.uk/…
Howard Lince III
Wniosek Widzę: mieszaj małe i duże alfabety i liczby. Długość> 15 jest dobra.
Student
6

Możesz wskazać, kto napisał tę politykę, na tym blogu od Bruce'a Schneiera .

To dobry opis tego, dlaczego siła haseł jest najmniejszym problemem niczyim w sieci.

womble
źródło
+1 Ponieważ Bruce Schneier jest królem bezpieczeństwa, jego słowo jest prawem.
Mark Davidson
4

Spójrz na zaakceptowaną odpowiedź w tym poście . Pokazuje, że złamanie nawet 8-znakowego hasła przy użyciu pełnego zakresu znaków może zająć około 10 000 lat!

Marko Carter
źródło
1
Podejrzewam, że masz na myśli atak klasy A (10 000 haseł / s). Jeśli spojrzę na tę tabelę i pomyślę o dużej instytucji, to może być wykonalne dla 86 znaków, 8 znaków hasła, ataku klasy E lub F: od 34 do 346 dni. To nie jest 10000 lat;)
cmserv
Szczerze mówiąc, nie sprawdziłem matematyki w poście!
Marko Carter
3

Jeśli liczymy użycie tęczowych tabel jako brutalnej siły (opinie są różne), to dla 8 znaków, używając tablic tęczowych, które zawierają wszystkie znaki w haśle, około 10 sekund. Hasło 20 znaków (te same znaki, te same tabele tęczy), mniej niż 30 sekund. Problem polega na tym, że generowanie tabel zajmuje dużo czasu. Moje zajęło około miesiąca generowanie na maszynie 3GHz tylko w nocy. Z drugiej strony musisz to zrobić tylko raz.

Problem próby zapamiętania długich haseł można łatwo rozwiązać za pomocą kombinacji podstawiania znaków i użycia frazy. Nawet coś tak prostego „# Fr3ddy M3rcury #” jest wystarczająco skomplikowane do większości zastosowań, ale jest niezwykle łatwe do zapamiętania.

John Gardeniers
źródło
Hasła MD5 używają dość dużej soli. Nie sądzę, aby twoje tęczowe tabele były wystarczająco duże, aby mieć zarówno wszystkie hasła 8 znaków, jak i wszystkie sole dla każdego możliwego hasła.
Chris
Zaryzykowałbyś na tym swoje bezpieczeństwo? Moje stoły mają w sumie 25 GB. To 40 tabel o pojemności 650 MB każda. Pewnego dnia wygeneruję duży zestaw. :)
John Gardeniers
1
Um, czy nie ma 2 ^ 32 soli dla hasła MD5? To 2 ^ 32 * 650mb. Powodzenia z tym.
Chris
Zrobiłem tabele tęczy dla wszystkich skrótów ASCII LM 64Gb zajęło prawie tydzień, używając 20 węzłów mojego klastra uniwersytetów. Poświęć około 3 minut, aby przejść przez umysł. Umożliwia łamanie wszystkich haseł systemu Windows <= 16 znaków.
Mark Davidson
2
Według wikipedii skróty LM nie mają soli. Hasła MD5 mają sól, co oznacza, że ​​każde pojedyncze hasło może mieć skrót (saltspace * hasło), co oznacza, że ​​musisz mieć 1 tęczową tabelę na sól.
Chris
2

Pamiętaj, że ośmioznakowe hasło może zostać zapamiętane. Hasło 20-znakowy będzie być spisane.

A potem ktoś może to przeczytać.

John Saunders
źródło
Masz rację. I może być także wiele innych czynników, które będą wpływać na rodzaj bezpieczeństwa zaszyfrowanych plików.
cmserv
Bardzo długie hasło niekoniecznie musi zostać zapisane, jeśli jest to zestaw 5 normalnych angielskich / twoich słów w języku. Mózgi są dobre w zapamiętywaniu ich i jest ich wiele.
Chris
1
Mów za własny mózg. Mój zamyka się na myśl o zapamiętaniu 20 postaci.
John Saunders
Gdyby twoje hasło brzmiało: „stagnacja metafizyczna przekłuwania jelit w stagnacji”, prawdopodobnie będziesz mógł je zapamiętać po kilkukrotnym użyciu.
Chris
Nie. Brak związku między słowami. Żadnej historii, która mogłaby powiedzieć sobie, że pamiętam, aby powiedzieć sobie następnym razem, gdy będę potrzebować hasła. Używam generatora haseł do generowania losowych haseł (używam co najmniej ośmiu znaków przez cały czas). Generuję, dopóki nie widzę hasła, które mogę przekształcić w słowo, które pamiętam, na przykład „cinnademo” = „cynamon” + „demonstracja”. Poradzę sobie.
John Saunders
2

Możesz być zainteresowany artykułem „ Hasła kontra hasła ”. Ich wniosek jest taki, że całkowicie losowe hasło składające się z 9 znaków jest w przybliżeniu równoważne 6-słowowemu hasłu. Uważają jednak, że łatwiej byłoby zapamiętać 6-wyrazową frazę.

Josh
źródło
1

Wszystko zależy od użytych postaci, ponieważ zmienia to liczbę kombinacji. Zakładając 8 znaków:

  • Słowo ze słownika:

    egrep "^. {8} $" / usr / share / dict / words | wc -l
    15601
  • Małe litery: 26 8 lub 208827064576

  • Małe i wielkie litery: 52 8 lub 53459728531456

  • Dolna, górna i cyfry: 62 8 lub 218340105584896

Dodaj interpunkcję i inne symbole, a brutalne wymuszanie zajmie trochę czasu.

Te liczby to łączne kombinacje, które należy wypróbować. Oczywiście haker nie wypróbuje każdej kombinacji po otrzymaniu hasła, więc podziel się przez dwa, aby uzyskać średnią wymaganą liczbę kombinacji.

Trudniejsze skróty skutkują dłuższym czasem procesora do obliczenia skrótu, więc całkowity czas jest dłuższy. Przykład z Johna:

Benchmarking: Tradycyjny DES [64/64 BS] ... GOTOWE
Wiele soli: 819187 c / s rzeczywistych, 828901 c / s wirtualnych
Tylko jedna sól: 874717 c / s rzeczywista, 877462 c / s wirtualna

Benchmarking: BSDI DES (x725) [64/64 BS] ... GOTOWE
Wiele soli: 29986 c / s rzeczywistych, 30581 c / s wirtualnych
Tylko jedna sól: 29952 c / s rzeczywista, 30055 c / s wirtualna

Benchmarking: FreeBSD MD5 [32/64 X2] ... GOTOWE
Surowe: rzeczywiste 8761 c / s, wirtualne 8796 c / s

Benchmarking: OpenBSD Blowfish (x32) [32/64] ... GOTOWE
Surowy: rzeczywisty 354 c / s, wirtualny 356 c / s

Benchmarking: Kerberos AFS DES [48/64 4K] ... GOTOWE
Krótki: rzeczywisty 294507 c / s, wirtualny 295754 c / s
Długi: 858582 c / s rzeczywisty, 863887 c / s wirtualny

Benchmarking: NT LM DES [64/64 BS] ... GOTOWE
Raw: 6379 k c / s rzeczywisty, 6428 k c / s wirtualny

Benchmarking: NT MD4 [Generic 1x] ... GOTOWE
Raw: 7270 K c / s rzeczywista, 7979 K c / s wirtualna

Benchmarking: M $ Cache Hash [Generic 1x] ... GOTOWE
Wiele soli: rzeczywista 12201K c / s, wirtualna 12662K c / s
Tylko jedna sól: 4862 k c / s rzeczywista, 4870 k c / s wirtualna

Benchmarking: LM C / R DES [netlm] ... GOTOWE
Wiele soli: 358487 c / s rzeczywistych, 358487 c / s wirtualnych
Tylko jedna sól: 348363 c / s rzeczywista, 348943 c / s wirtualna

Benchmarking: NTLMv1 C / R MD4 DES [netntlm] ... GOTOWE
Wiele soli: 510255 c / s rzeczywistych, 512124 c / s wirtualnych
Tylko jedna sól: 488277 c / s rzeczywista, 489416 c / s wirtualna

Oczywiście jest to całkowicie akademickie, ponieważ hakerzy po prostu dzwonią do twojego sekretarza, mówiąc im, że są z działu IT i potrzebują hasła do czegoś, a twoje silne hasło jest bezwartościowe.

David Pashley
źródło
1

Do ochrony używam nietrywialnych haseł

* aktywa, które są ważne
* rzeczy, które nie podlegają udarom (blokada po wielokrotnych próbach)
* rzeczy, które mogą być narażone na ataki brutalne / oparte na słownikach / hybrydowe

Nie martwię się o moje konto Gmail, ponieważ próby złamania tego hasła przez brutalną siłę po prostu zablokują konto (a każdy, kto ma dostęp do serwera, po prostu zastąpi hash jednym z wybranych przez siebie, a nie spróbuje go złamać).

Najlepsze hasło jest długie (> 12 znaków) i kryptograficznie losowe. Są jednak trudniejsze do zapamiętania. Zatem hasło, które łączy wiele słów z pozornie losowymi postaciami, może być dobrym kompromisem (być może pierwsze 1 lub 2 litery pierwszych kilku wierszy ulubionej piosenki).

Garrett
źródło
0

Istnieje bezpieczeństwo, które uzyskujesz dzięki komunikacji klient / serwer, np. Jak powiedziałeś, gdy jesteś w stanie zatrzymać atakujących po 3 próbach (gdy atakują przez sieć, jak w przypadku aplikacji internetowych). W tym scenariuszu prawie każdą długość hasła można uznać za wystarczającą.

Jeśli jednak osoba chwytająca tę bazę danych zaszyfruje krótkie hasła i będzie w stanie ominąć ograniczenie 3 prób „over the net”, gra się zmieni.

Zastrzeżeniem dotyczącym ograniczenia liczby prób na konto jest to, że wystarczy to tylko w przypadku ukierunkowanych prób na jednym konkretnym koncie. Musisz także zabezpieczyć się przed atakiem na wszystkie konta za pomocą danego (lub permutowanego) hasła - nie spowoduje to wyzwolenia alarmu, gdy ograniczysz liczbę prób na konto. Biorąc pod uwagę dzisiejsze NAT i botnety, nie można nawet argumentować, że ograniczenie liczby prób na IP to dobry sposób myślenia o bezpieczeństwie.

Dobre zasoby do czytania zostały już podane w innych odpowiedziach.

Olaf
źródło