Pytanie:
Czy wybierając numeryczny kod PIN, sprawienie, by każda cyfra była niepowtarzalna, czy może szkodzić?
smitelli
2017-04-04 05:57:15 UTC
view on stackexchange narkive permalink

Wyobraź sobie typowy 4-cyfrowy schemat PIN zawierający cyfry [0-9] . Jeśli wybiorę losowo kod PIN, otrzymam jeden z 10 * 10 * 10 * 10 = 10000 kodów. Z własnego doświadczenia wynika, że ​​w ponad połowie przypadków przypadkowa sekwencja czterech cyfr będzie zawierać jakąś właściwość lub wzór, który znacznie obniża jej entropię: pojedyncza cyfra używana w więcej niż jednej pozycji, wzorzec rosnąco / malejąco itp. (Tak, tak , 4-cyfrowy PIN ma na początku tylko około 13 bitów maksymalnej entropii, ale niektóre losowe kody są jeszcze bardziej okropne .)

Gdybym przestrzegał reguły gdzie używam tylko kodu PIN, który ma unikalną cyfrę na każdej pozycji, uważam, że liczba dostępnych dla mnie kodów wynosi 10 * 9 * 8 * 7 = 5 040 (niech ktoś mnie poprawi, jeśli się pomylę). Zmniejszyłem prawie o połowę moją przestrzeń kluczową, ale wyeliminowałem również z rozważań wiele kodów o niższej entropii.

Czy na koniec dnia pomogłem sobie lub zrobiłem sobie krzywdę?

EDYCJA: Wow, tutaj jest mnóstwo świetnych odpowiedzi. Dla wyjaśnienia, początkowo myślałem mniej w kategoriach kodu PIN bankomatu / banku (który prawdopodobnie ma agresywną politykę blokowania po kilku błędnych domysłach), a bardziej w kontekście innych „nienadzorowanych” urządzeń z kodem PIN: programowalne drzwi zamki, panele systemów alarmowych, klawiatury do drzwi garażowych itp.

Zraniłeś swoje hasło.Najbezpieczniejszy to taki, który jest całkowicie przypadkowy.
Maszyna nie wie, że 2232 jest bardziej prawdopodobne, ponieważ jest łatwiejsze.Więc kiedy użyjesz brutalnej siły, 2232 jest tak samo trudne do odgadnięcia jak 3569. Ponadto po trzech próbach karta zostaje zablokowana.Więc nawet pin z trzema identycznymi cyframi jest w porządku, ponieważ jest tak samo mało prawdopodobny jak każda inna kombinacja.
Jakiekolwiek zabezpieczenie czterocyfrowego kodu PIN prawdopodobnie będzie pochodzić od wystawcy, który będzie chciał zablokować kod PIN po prawdopodobnie jednocyfrowej liczbie prób.Dlatego moim zamiarem jest uniknięcie kilku pierwszych rzeczy, które mógłby spróbować napastnik.Unikanie zakodowanych danych o sobie, takich jak urodziny, jest prawdopodobnie ważniejsze niż wzorce.
Entropia hasła spada tylko wtedy, gdy posortujesz je według wielkości, tj.zakładasz najlepszy najgorszy przypadek brutalnej siły, która próbuje 0000, 1111, 2222 itd., a następnie 111
@Eclipse nie.Jeśli wiadomo, że 20% populacji używa 1111 lub 1234, to najlepiej nie być częścią tych 20%, nawet jeśli twój generator liczb losowych wyniesie 1234 przez czystą szansę na 10000.
Wykluczenie wszystkich liczb z powtarzającymi się cyframi, wszystkich liczb ze wszystkimi czterema cyframi w kolejności rosnącej lub malejącej, wszystkich liczb wyglądających jak lata (19xx / 20xx) i wszystkich liczb, które wyglądają jak daty (0101..0131, 0201..0229itp.) pozostawia 4 785 "ważnych" numerów PIN, czyli prawie połowę całkowitej przestrzeni klucza.Jedynym problemem jest to, czy użyli znaczącej daty (urodziny / rocznica) itp. W pierwszych dziewięciu dniach od stycznia do września, co może być prawie dowolną liczbą i dlatego nie można jej mechanicznie wykluczyć.
Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (http://chat.stackexchange.com/rooms/56640/discussion-on-question-by-smitelli-when-choosing-a-numeric-pin-does-it-help-lub).
IIRC, jakiś czas temu doszło do wycieku danych, które zawierały kody PIN, i [ta mapa cieplna] (https://i.stack.imgur.com/OmnDV.jpg) została utworzona z wyciekłych danych.Oznacza to najpopularniejsze szpilki.Aktualizacja: [Pełna analiza] (http://www.datagenetics.com/blog/september32012/)
Czy „numeryczny PIN” nie jest tautologiczny?I każdą czterocyfrową liczbę można ponownie potraktować jako losową - 1/10 000 - ponieważ każda występuje tylko raz jako sama.Domyślną blokadą numeryczną jest często 0000 od producenta.
Ogólnie * jakiekolwiek * ograniczenie wyboru znaków w kluczu opartym na znakach lub haśle „osłabia” bezpieczeństwo, przynajmniej w koncepcji.Zasady, takie jak wymaganie cyfry, zarówno dużej, jak i małej litery, oraz specjalnego znaku w haśle mają na celu powstrzymanie głupich ludzi przed byciem jeszcze głupszymi (ale prawdopodobnie zmuszają ich tylko do napisania kodu na kawałku taśmy na karcie debetowej).
Obraz mapy cieplnej, do którego link znajduje się w powyższej odpowiedzi ikegami, odpowiada na to pytanie intuicyjnie i bez konieczności wyjaśniania złożonej matematyki.
W rzeczywistości zmniejszona entropia nie ma wpływu na brutalne forsowanie, jeśli atakujący nie wie, że wykluczasz te kody PIN.
Moja przypinka ma wszystkie siódemki, ale nie powiem ci w jakiej kolejności.
Ciekawostka: niemiecka maszyna Enigma nigdy nie zakodowała listu do siebie, co oznacza, że możliwe było tylko 33554432 (2 do 25 potęgi), a nie 67108864 (2 do 26 potęgi).Dzięki temu łatwiej było go złamać.http://math.stackexchange.com/questions/1209481/how-does-the-enigma-machine-ensure-that-no-letter-is-substituted-for-itself
Piętnaście odpowiedzi:
Rory McCune
2017-04-04 13:02:10 UTC
view on stackexchange narkive permalink

Rzecz w tym, że z 4-cyfrowym pinem entropia nie jest naprawdę ważna. Co ważne, lokaut i psychologia napastnika.

Przestrzeń kluczy jest tak mała, że ​​każdy automatyczny atak (bez blokady) wyczerpałby ją niemal natychmiast.

Martwisz się, że osoba atakująca zgadnie kod PIN, zanim konto zostanie zablokowane. Zakładając więc rozsądną blokadę (powiedzmy 3-5 nieprawidłowych prób), chcesz, aby Twój kod PIN znajdował się poza 3-5 najczęściej wybieranymi kodami PIN.

Osobiście unikałbym 4-cyfrowej powtarzającej się sekwencji i cokolwiek zaczynającego się od 19XX, co oznaczałoby rok urodzenia.

Teraz sprytni aleci powiedzą „ach, ale jeśli to zrobisz, napastnicy będą wiedzieć, aby ich nie próbować”, ale to ma zastosowanie tylko wtedy, gdy a) większość populacja użytkowników postępuje zgodnie z tą radą (wskazówka, prawdopodobnie tego nie zrobi) oraz b) napastnicy wiedzą, że populacja użytkowników zastosowała się do tej rady.

Świetna analiza tego ( link dzięki uprzejmości @codesincahaos)

Edytuj 2 - aby uzyskać bardziej matematyczne podejście do tego zagadnienia, polecam przeczytanie @ diagprov odpowiedzi

To prawda, ale nadal jest to witryna z pytaniami i odpowiedziami.OP zadał pytanie, w którym nic nie sugeruje, że OP ma wpływ na czas obserwacji.Również pytanie wykorzystuje trochę matematyki.Jeśli chodziło o przechytrzenie drugiej strony, możemy licytować.Podałbym dowolną sekwencję na klawiaturze numerycznej tworzącej wzór, wyglądaj na „1254”, „7618” jest znacznie łatwiejsze do dopasowania niż „2776”.Ale jak w takim razie ocenić odpowiedzi?
Myślę, że oceniałem to na podstawie ostatniego zdania PO, pytając, czy to pomogło, czy zaszkodzi ich bezpieczeństwu.Dla mnie ważne w zabezpieczeniu PINem nie jest wybranie powszechnie używanego kodu PIN.Jeśli nie ma blokady, i tak jesteś wypchany, więc jedynym czynnikiem wpływającym na Twoją kontrolę jest wybór nietypowego, a nie losowego.
Ok, czy wykluczenie powtarzających się cyfr, jeśli kod PIN składał się z 8 cyfr, szkodzi czy pomaga bezpieczeństwu?
Cóż, z 8-cyfrowymi kodami PIN nadal jesteś na etapie, w którym nieograniczona brutalna siła jest banalnie łatwa, więc zakładałbyś, że blokada + nie wybieranie zwykłych kodów PIN byłaby najlepszą obroną.Odpowiedź na twoje pytanie zależałaby od tego, czy powtarzające się cyfry należały do najpopularniejszych form 8-cyfrowego kodu PIN, czy atakujący byłby świadomy ograniczenia przed dokonaniem ataku oraz czy kod PIN został wygenerowany przez system, czy przez użytkownika.
Kilka razy ponownie przeczytałem Twoją odpowiedź i nie widzę odpowiedzi na pytanie „* czy pomogłem sobie lub zraniłem się tym? *” - byłoby to w porządku, ale w swoim komentarzu faktycznie podkreśliłeś, żezajmują się tym właśnie pytaniem.
PRZECZYTAJ TEN LINK.Przepraszam, że krzyczę.
„ale to dotyczy tylko…” ważniejsze;wciąż pozostawia mu do wypróbowania 9890 kombinacji.
@RоryMcCune Że artykuł DataGenetics był świetną lekturą, dzięki.
a) ib) i niepotrzebne, ponieważ ważniejsze jest to, że nawet jeśli napastnicy wiedzą, aby ich nie wypróbować, nadal nie będą mieli możliwości odgadnięcia losowego pinezki w 3 próbach.
Część o sprytnych alekach przypomina mi o starym przechytrzeniu ... Wybiorę 5000, ponieważ jest dokładnie pośrodku, więc jeśli zaczną, zajmie im to maksymalnie dużo czasu.Ale co, jeśli używają wyszukiwania binarnego?Zaczną od 5000 i zgadną to za jednym razem.Ok, to wykluczałoby 5000, 7500, 2500, 3750 itd. Więc wybiorę 4999 lub 5001, ponieważ jest to najdłuższa średnia ścieżka zarówno dla wyszukiwania binarnego, jak i liniowego.Ale poczekaj, przypuśćmy, że zaczynają od środka i stamtąd wykonują wyszukiwanie liniowe ... itd.
@Michael Wyszukiwanie binarne nie ma tutaj zastosowania.Nie, naprawdę nie.Przemyśl to, zanim odpowiesz.Znalezienie losowego kodu PIN to O (n).Wyszukiwanie binarne to operacja O (logowanie), która rozpoczyna się od * znanego klucza * i przeszukuje * uporządkowany podzbiór * możliwych kluczy.Jeśli nie jest to podzbiór, możesz użyć indeksowania bezpośredniego, czyli O (1).„5000, 7500, 2500, 3750 itd.”- wyszukiwanie binarne będzie wyglądać tylko po jednej stronie początkowej próby lub po drugiej, a nie po obu.O to właśnie chodzi w wyszukiwaniu binarnym,
@JimBalter To był w pewnym sensie mój punkt widzenia… możesz spróbować wybrać kod PIN w oparciu o schemat, którego Twoim zdaniem użyje atakujący, aby odgadnąć kody PIN, ale należy on do starej kategorii „przechytrzył się”.
^ Nie, chodzi o to, że nie rozumiesz, czym jest wyszukiwanie binarne ani kiedy jest stosowane.
8068: najpopularniejszy kod PIN czytników datagenetics.
@Michael Nie mam pojęcia o bezpieczeństwie kodu PIN, ale wyszukiwania binarne tak naprawdę nie mają tutaj zastosowania.Wyszukiwanie binarne ma sens tylko wtedy, gdy otrzymasz informację zwrotną o tym, czy wartość jest „większa niż” lub „mniejsza niż” to, co próbowałeś.Nie znam żadnego systemu pinów, w którym komunikat o błędzie brzmi „przepraszam, próbowane hasło było większą liczbą niż poprawne hasło” - osoba atakująca otrzymuje tylko informację zwrotną „to właściwe hasło” lub „nie jest właściwym hasłem”.
diagprov
2017-04-04 14:38:16 UTC
view on stackexchange narkive permalink

Wchodzę do środka i porozmawiam trochę o entropii i prawdopodobieństwie i mam nadzieję, że pomoże ci to zrozumieć.

Po pierwsze, czym jest prawdopodobieństwo? W rzeczywistości jest to otwarte pytanie wśród statystyków, ale oto definicja częstości: mówimy, że jeśli uczciwa moneta zostanie rzucona, to z prawdopodobieństwem 0,5 wypadnie reszka. Jeśli jednak rzucisz monetą, możesz zauważyć, że pierwsze pięć wyników to wszystkie orły, co nie wygląda dobrze. Tak więc, osoba często używająca tego nurtu mówi, że gdybyś rzucił monetą „wystarczająco” razy, w końcu okaże się, że jeden na dwa rzuty monetą to orzeł.

Kluczem jest to prawdopodobieństwo nie mówi nic o tym, co się faktycznie stanie . Hasło o dużej entropii można było odgadnąć przy pierwszej próbie przez zwykłe szczęście, niezależnie od możliwych wyników itd.

A teraz czym jest entropia? Jeśli zacząłeś mówić „no cóż, to liczba możliwych wyników…”, możesz mieć rację w kontekście generowania pewnych losowych danych, ale jest to doskonały przykład tego, gdzie naprawdę musisz zrozumieć, co się dzieje pod spodem.

Po pierwsze, porozmawiajmy o informacji o sobie. Jest to zmienna losowa (co oznacza, że ​​istnieje wiele możliwych wyników), która zmienia się w zależności od prawdopodobieństwa każdego wyniku (a następnie bierzemy -log2 (P (X)), aby zakodować ją w „bity” informacji). Musimy więc przypisać każdemu wynikowi prawdopodobieństwo.

Jak zauważyli inni, niektóre warianty wyboru kodu PIN są bardziej prawdopodobne. Wszystkie te same liczby (1111, 2222, 3333, ...), urodziny (20XX, 19XX) i tak dalej. Powinieneś przypisać większe prawdopodobieństwo tym liczbom, ponieważ po prostu ludzie są bardziej skłonni do ich wybierania i na pewno nie wybiorą losowej sekwencji. To, jak przypiszesz prawdopodobieństwo innym liczbom, zależy wyłącznie od Ciebie i naprawdę zależy od tego, ile wiesz o procesie wybierania pinezki.

Otóż, entropia, lub aby uszczęśliwić @codesinchaos, szczególnie entropia Shannona, jest średnią dystrybucji informacji o sobie. Jest to „najbardziej prawdopodobna” wartość informacji o sobie, biorąc pod uwagę prawdopodobieństwo każdego wyboru. Co to znaczy? Jak mówi obecna, najczęściej wybierana odpowiedź, jest to miara procesu wyboru i jego dobra, a nie sama szpilka.

Co się dzieje, gdy wybierasz opcje o wysokim prawdopodobieństwie, takie jak 1111, 2222, 3333 ? Te wyniki dają bardzo niską informację o sobie (-log (P (X)) jest małe dla dużych prawdopodobieństw, ponieważ spodziewamy się ich wystąpienia), więc ich usunięcie przesuwa rozkład w prawo, tj. Przesuwa lokalizację rozkładu w kierunku Centrum. To zwiększy jego średnią. Zatem usunięcie wyborów, które większość ludzi w przeciwnym razie dokonałaby z dużym prawdopodobieństwem faktycznie zwiększa entropię .

Spójrzmy na entropię w inny sposób: jeśli zamierzasz odgadnąć PINy, w jakiej kolejności czy spróbowałbyś ich (zakładając brak blokady)? Zacząłbyś od najbardziej prawdopodobnych PIN-ów na pewno. Entropia mówi, że jeśli powtórzysz ten eksperyment dostatecznie dużo razy (np. Spróbujesz odgadnąć PIN dużej liczby kart, których PINy zostały wybrane zgodnie z tą samą logiką), wtedy wybór niższej entropii da tobie, atakującemu, większy sukces szybko.

Ponownie, pozostaje kwestią tego, co może się wydarzyć w teoretycznym przypadku wielu kart, a nie co może się wydarzyć, ponieważ atakującemu ma szczęście .

Oto twoje podsumowanie wykonawcze:

  1. To, czym entropia się stanie, zależy od tego, jak przypiszesz prawdopodobieństwa do przestrzeni wyników.
  2. Bez wątpienia, jeśli pozostawisz ludziom wybór PIN-ów, wybiorą one określone wartości z dużo większym prawdopodobieństwem niż inne.
  3. Oznacza to, że nie możesz założyć, że podstawowy rozkład jest jednolity i powiedzieć „entropia == liczba wyników”.
  4. Jeśli usuniesz opcje złego wyboru o największym prawdopodobieństwie, entropia rośnie.
  5. Entropia, podobnie jak prawdopodobieństwo prawidłowego odgadnięcia, nie mówi absolutnie nic o tym, czy atakujący będzie miał szczęście i poprawnie odgadnie Twój kod PIN. Mówi po prostu, że w teorii lepsza entropia utrudnia napastnikowi.

Aby zakończyć moją odpowiedź, przyjrzyjmy się praktycznym aspektom. Jeśli mamy zamiar porównać do haseł, opcji wyjściowych funkcji skrótu lub losowych danych, kody PIN są do niczego. Jeśli dasz atakującemu i obrońcy wolny wybór zgadywanego kodu PIN i żadnych innych informacji, liczba trafnych przypuszczeń w 50% przypadków (paradoks urodzin) jest absurdalnie niska. Kody PIN byłyby kiepskimi funkcjami skrótu.

Jednak ludzie nie mogą bardzo dobrze zapamiętać 128-bitowych danych, zwłaszcza gdy są pijani i próbują zapłacić za kebab za pomocą chip-and-pin. Kody PIN są zatem pragmatycznym kompromisem i przy trzech domysłach jako ograniczeniu, oprócz tego, że atakujący ma dużo szczęścia, powinieneś być bezpieczny.

TL; DR Usunięcie wyboru bardziej prawdopodobnego Kody PIN z możliwych wyborów zwiększają Twoje szanse w obliczu napastnika, który nie będzie zgadywał przypadkowo (tj. Większość napastników).


Edytuj: Myślę, że ta dyskusja uzasadnia teraz trochę matematyki. Oto, co zamierzam założyć w moich obliczeniach:

  1. Używamy 4-cyfrowych PIN-ów
  2. Dane z linku Raesene są poprawne, tj .:

      # 1 1234 10,713% # 2 1111 6,016% # 3 0000 1,881% # 4 1212 1,197% # 5 7777 0,745% # 6 1004 0,616% # 7 2000 0,613% # 8 4444 0,526% # 9 2222 0,516% # 10 6969 0,512% # 11 9999 0,451% # 12 3333 0,419% # 13 5555 0,395% # 14 6666 0,391% # 15 1122 0,366% # 16 1313 0,304% # 17 8888 0,303% # 18 4321 0,293% # 19 2001 0,290% # 20 1010 0,285%  
  3. Zakładam również, że jakikolwiek PIN niewymieniony na tej liście ma równe szanse na wybranie z pozostałych „nieprzydzielonych” prawdopodobieństw (1-całkowite prawdopodobieństwo wykorzystane powyżej). Jest to prawie na pewno niepoprawne, ale mamy tylko tyle danych.

Aby to obliczyć, użyłem następującego kodu:

  def shannon_entropy (prawdopodobieństwa ): składki = [p * (-1 * log (p, 2)) dla p prawdopodobieństw] zwracana suma (składki)  

Oblicza rzeczywistą entropię Shannona dla danego zbioru prawdopodobieństw .

  import itertoolstotal_outcome = 10,0 ^ 4probability_random_outcome = 1 / total_outcomeprobability_random_outcomemaximum_entropy = -log (probability_random_outcome, 2) maximum_entropymaximum_entropy_probability_list = list (itertopopy_entrale_problem. maximum_entropy) print (maximum_entropy_calculated)  

Pokazuje, że moja funkcja dokładnie oblicza maksymalną entropię, biorąc listę 10 ^ 4 prawdopodobieństw, każde o wartości 1/10 ^ 4.

Następnie

  probability_list_one = [10,713 / 100, 6,016 / 100, 1,881 / 100, 1,197 / 100, 0,745 / 100, 0,616 / 100, 0,613 / 100, 0,526 / 100, 0,516 / 100, 0,512 / 100, 0,451 / 100, 0,419 / 100, 0,395 / 100, 0,391 / 100, 0,366 / 100, 0,304 / 100, 0,303 / 100,0,293 / 100,0,290 / 100,0,285 / 100] result_count_one = 10 ^ 4 - len (probability_list_one) print ("Outcome count 1:", result_count_one) probability_consumed_one = sum (probability_list_one) print ("Prawdopodobieństwo wykorzystane według listy: ", probability_consumed_one) probability_ro_one = (1-probability_consumed_one) / result_count_oneentropy_probability_list_one = probability_list_one + list (itertools.repeat (probability_ro_one, wynik_count_one)) entropy_one = shannonon_entrcode>

Tutaj, jak powiedziałem powyżej, biorę te 20 prawdopodobieństw i zakładam, że pozostałe prawdopodobieństwa są równomiernie rozłożone między pozostałe wyniki, poprzez równomierne rozszerzenie listy o każdy zestaw prawdopodobieństw. Obliczenia są wykonywane.

  probability_list_two = [6,016 / 100, 1,881 / 100, 1,197 / 100, 0,745 / 100, 0,616 / 100, 0,613 / 100, 0,526 / 100,0,516 / 100, 0,512 / 100, 0,451 / 100, 0,419 / 100, 0,395 / 100, 0,391 / 100, 0,366 / 100, 0,304 / 100, 0,303 / 100, 0,293 / 100, 0,290 / 100, 0,285 / 100] liczba_wyników = 10 ^ 4 - len (probability_list_two) -1print ("Licznik wyników 2:", result_count_two) probability_consumed_two = sum (probability_list_two) print ("Prawdopodobieństwo zużyte przez listę:", probability_consumed_two) probability_ro_two = (1-probability_consumed_two) / result_count_two .repeat (probability_ro_two, result_count_two))) entropy_two = shannon_entropy (entropy_probability_list_two) entropy_two  

W tym przypadku usuwam najbardziej prawdopodobny PIN 1111 i ponownie obliczam entropię.

Na podstawie tych wyników można zobaczyć, że losowe wybranie kodu PIN ma 13,2877 bitów entropii. Powtórzenie tego eksperymentu z usuniętym jednym kodem PIN daje nam 13,2876 bitów.

Wybierając PIN, biorąc pod uwagę te prawdopodobieństwa wyboru dla tych 20 PIN-ów, w przeciwnym razie, wybór losowy oznacza wybór 11,40 bitów entropii z 13,2877 bitów. Z tej bazy blokowanie PIN 1111 iw inny sposób dopuszczanie pozostałych 19 oczywistych PIN-ów i wszystkich innych PIN-ów wybranych z równym prawdopodobieństwem ma entropię 12,33 bitów z możliwych 13,2876 bitów.

Mam nadzieję, że to wyjaśnia, dlaczego wiele odpowiedzi mówi, że entropia spada, a nie rośnie. Rozważają maksymalną możliwą entropię, a nie średnią entropię (entropię Shannona) systemu, biorąc pod uwagę możliwość wyboru. Lepszą miarą jest entropia Shannona, ponieważ bierze pod uwagę ogólne prawdopodobieństwo każdego wyboru, a więc sposób, w jaki atakujący prawdopodobnie będzie postępował w ataku.

Jak widać , blokując ten PIN 1111, znacząco zwiększa entropię Shannona, przy niewielkim koszcie ogólnej możliwej entropii. Jeśli chcesz pokłócić się o entropię, zasadniczo usunięcie PIN 1111 bardzo pomaga.

Dla odniesienia ten komiks XKCD oblicza entropię słabych haseł na około 28 bitach i entropię dobrych wyższa, przy 44 bitach. Znowu zależy to od tego, jakie założenia są poczynione co do prawdopodobieństwa pewnych wyborów , ale powinno to również pokazać, że PINy są do dupy pod względem entropii, a limit N-prób dla małego N jest jedynym rozsądnym sposobem kontynuuj.

Arkusz mędrca publicznego

Doceniam wyjaśnienie.+1
Zauważ, że entropia Shannona nie jest wielką miarą siły hasła.Z liczbami użytymi powyżej, entropia Shannona modelowałaby hasło `1111` jako możliwe do odgadnięcia średnio w 10 próbach (ponieważ zakłada, że atakujący spróbuje losowych haseł z podanym rozkładem prawdopodobieństwa), ale w rzeczywistości zostanie odgadnięty średnio w 1 próbieponieważ osoba atakująca najpierw wybierze najbardziej prawdopodobne hasło.To ostatnie można uchwycić za pomocą koncepcji [zgadywania entropii] (http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-2.pdf#page=114).(Logika odpowiedzi nadal obowiązuje.)
Nie sądzę też, aby przywoływanie tutaj paradoksu urodzinowego miało sens.Dotyczy to tylko zderzeń, a nie prób odgadnięcia ustalonego celu.
@Tgr Ale czy diagprov nie mówi o kolizji, gdy zarówno użytkownicy, jak i atakujący wybierają losowo kody PIN?
@jpmc26 nadal nie widzi sensu modelowania tego jako kolizji.
@Tgr Modelowanie tego jako losowego wyboru zarówno przez obrońcę, jak i atakującego jest najlepszym scenariuszem dla obrońcy.Diag polega na tym, że nawet w tym najlepszym przypadku osoba atakująca nie musi bardzo ciężko pracować, aby znaleźć Twój kod PIN, teraz ma znaczenie, jak dobry jest.Muszą tylko zgadywać kilka razy, co jest czymś trywialnym w przypadku współczesnej technologii, a szanse na prawidłowe odgadnięcie rosną bardzo szybko, gdy atakujący nadal zgaduje lub jeśli zgaduje przeciwko wielu obrońcom.Kiedy te „zderzają się”, atakujący wygrywa.(Paradoks urodzin polega tak naprawdę na tym, jak szybko rośnie prawdopodobieństwo wraz ze wzrostem liczby prób).
To po prostu złe.Jeśli obrońca wybierze liczbę losową lub atakujący zgaduje losowo, spodziewana liczba prób dla 50% szans wynosi 5000, a szansa powodzenia jest liniowa wraz z liczbą prób.(FWIW, jeśli jeden z nich używa jednolitego losowego rozkładu, wybór dystrybucji / algorytmu przez drugi nie ma znaczenia). Wielokrotne domysły atakującego nie mogą w żaden sposób „kolidować” ze sobą.
@Tgr odnosząc się do twoich komentarzy, źle zrozumiałeś, że entropia nie jest siłą indywidualnego hasła, ale raczej metodą.W tym przypadku metoda polega na „umożliwieniu wielu ludziom wyboru własnego kodu PIN” i powstrzymanie ich przed dokonywaniem pewnych wyborów poprawia tę metodę.Oczywiście najbardziej idealną metodą jest losowe generowanie wszystkich PIN-ów.Oznacza to, że PIN 1111 ma różne informacje własne (które często byłyby nazywane „entropią”, chociaż tak nie jest) w zależności od metody generowania.Jest to przynajmniej czysto matematycznie mówiąc.
Teraz moje uwagi na temat kolizji polegają na porównaniu PIN-ów z hasłami, cóż, w pewnym sensie chciałem powiedzieć, że po prostu przestrzeń wyjściowa jest zbyt mała, aby w ogóle brać pod uwagę entropię.Ponownie mówimy o metodzie, aw najlepszym przypadku wszyscy obrońcy losowo generują swoje kody PIN.Wtedy osoba atakująca, również zgadująca losowo, będzie potrzebować tylko około 141 (zgodnie ze wzorami Wikipedii) zgadnięć, aby poprawnie odgadnąć czyjś PIN, w 50% przypadków, w których gra się w tę grę.
Krótko mówiąc, wyjaśniłem matematykę entropii i że biorąc pod uwagę metodę generowania, usunięcie oczywistych PINów, takich jak 1111, poprawia ją w oparciu o to, czego oczekujemy od ludzi, ale zmniejsza ją, jeśli wyobrażamy sobie, że ludzie zachowują się doskonale.Ale prawdziwą obroną jest tutaj limit 3 prób i szczęście, że atakujący, kradnąc twoją kartę, nie odgadnie twojego konkretnego kodu PIN przy pierwszej próbie.
@Tgr Ale obrońca wybiera tylko * raz *.Atakujący wybiera tyle razy, ile chce.
Dmitry Grigoryev
2017-04-04 14:37:46 UTC
view on stackexchange narkive permalink

To naprawdę zależy od sposobu tworzenia kodu PIN:

  • Jeśli kod PIN jest generowany , upewnij się, że dystrybucja jest jednolita i nie wykluczaj dowolne kombinacje. To zmaksymalizuje entropię.

  • Jeśli PIN jest wybierany przez człowieka, wykluczenie niektórych kombinacji ma sens. Nie posunąłbym się do odrzucenia połowy kombinacji, ale jeśli to zrobisz, powinieneś rozważyć odrzucenie kodów PIN zaczynających się od 0 1 i 2 (pomyśl o latach i datach urodzenia), a następnie PINy odpowiadające fizycznym układom kluczy, takim jak 2580 i 1379 i tak dalej. Tylko pamiętaj, aby przerwać, zanim skończysz zezwalać na pojedynczy kod PIN 8068 , który w badaniu okazał się najmniej prawdopodobny.

To, co powinieneś zrobić w przypadku PIN-ów wybranych przez człowieka, to wykluczenie najczęstszych kombinacji: same 1234 i 1111 stanowią prawie 17% wszystkich używanych kodów PIN i 20 najpopularniejszych kodów PIN stanowi prawie 27%. Obejmują one każdą cyfrę powtórzoną 4 razy i popularne kombinacje, takie jak 1212 i 4321.

Edycja: po zastanowieniu myślę, że należy wykluczyć najczęściej kombinacje w każdym przypadku. Nawet jeśli Twój kod PIN jest generowany losowo, osoba atakująca może o tym nie wiedzieć. W takim przypadku najprawdopodobniej spróbuje najpierw tych kombinacji.

Twoja zmiana jest znacznie lepsza niż oryginalny komentarz.Liczy się * algorytm atakującego *.Ponieważ atakujący muszą sprawdzić cały zestaw kombinacji, a nie tylko podzbiór, z którego wybiera konkretna osoba, liczy się entropia pierwszej, a nie drugiej.
techraf
2017-04-04 06:11:49 UTC
view on stackexchange narkive permalink

Entropia to właściwość metody generowania hasła, a nie hasło.

Jeśli zdecydujesz się wyeliminować powtarzające się cyfry - decyzja ta obniża entropię w porównaniu z generowaniem losowej sekwencji.

W rzeczywistości wszystko, co wymyślisz, będzie miało niższą entropię niż generowanie losowej sekwencji.


A jeśli uważasz, że losowo wygenerowane hasło 1111 ma niską entropię i dzięki temu łatwiej jest użyć brutalnej siły, wystarczy udać się w dowolne miejsce do gry i postawić na 1 cztery razy z rzędu - to powinna być pewna wygrana.

Chociaż sekwencja „1111” jest tak samo prawdopodobna, jak każda inna, sugerowałbym, że jest to sekwencja, która jest bardziej prawdopodobna do odgadnięcia przez atakujących, a zatem byłoby bezpieczniej, gdybyś jej uniknął.
Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (http://chat.stackexchange.com/rooms/56589/discussion-on-answer-by-techraf-when-choosing-a-numeric-pin-does-it-help-or-hur).Wszelkie dalsze uwagi należy zgłaszać w tym miejscu - wszelkie zgłoszone tutaj zostaną usunięte.
Chciałbym też zauważyć - obserwacja jest czynnikiem.O wiele łatwiej jest stwierdzić, że naciskasz ten sam klawisz 4 razy i który to klawisz, niż gdy naciskasz kilka.
Jak mówisz, entropia jest właściwością metody generowania haseł, a gdy najczęstszą metodą generowania kodów PIN jest wybór człowieka, warto unikać najpopularniejszych haseł.Jeśli piszę program do generowania losowego hasła z losowych znaków o losowej długości, teoretycznie mam naprawdę dobrą entropię, ale jeśli ten program przez przypadek wypluwa „hasło”, nadal dobrze jest odrzucić ten wynik, ponieważatakujący nie będzie wiedział lub nie przejmował się tym, że wygenerowałem go losowo
Więc jeśli chciałbyś mieć 4-cyfrowy numer pin dla swojego samochodu, a generator losowych pinów wybrał „1111”, użyłbyś tego?Jeśli mówimy o brutalnym wymuszaniu, gdzie szpilki są odgadywane losowo, masz rację, że nie miałoby to żadnego znaczenia, ale w prawdziwym świecie używanie „1111” byłoby bardzo podobne do pozostawiania odblokowanego samochodu.
@Jojodmo Proszę zacytować odpowiednie zdanie z odpowiedzi, na podstawie której sądzisz, że to zrobię.
„_Entropia to właściwość metody generowania haseł, a nie hasło._” Entropia jest właściwością powierzchni ataku, a nie metodą generowania haseł.Ten błąd koncepcyjny prowadzi do bardzo słabo uzasadnionej obrony włączenia numeru „1111”, który jest dosłownie pierwszym numerem PIN, którego spróbuje większość atakujących.Zobacz [komentarz @Tgr's] (https://security.stackexchange.com/questions/155606/when-choosing-a-numeric-pin-does-it-help-or-hurt-to-make-each-digit-unique#comment296396_155639) dla lepszej charakterystyki entropii.
Xiong Chiamiov
2017-04-04 10:30:50 UTC
view on stackexchange narkive permalink

Ograniczenie dostępnej puli numerów zmniejsza liczbę możliwych rozwiązań, czyniąc ją mniej bezpieczną.

Powtarzanie cyfr to powszechna ludzka słabość podczas wybierania kodów PIN, co oznacza, że ​​atakujący spróbują go najpierw. Dlatego wykluczenie powtarzających się liczb zwiększa bezpieczeństwo.

Jak to często bywa, decyzja ma zarówno zalety, jak i wady, w zależności od konkretnego ataku, przed którym się bronisz. Prawdopodobnie nie powinieneś tego zbyt wiele przemyśleć i rozważyć zmiany w szerszej perspektywie (takie jak niestosowanie 4-cyfrowego kodu PIN, dodanie drugiego czynnika lub blokowanie niewłaściwych prób), jeśli chcesz zwiększyć bezpieczeństwo systemu.

Myślę, że druga kwestia jest poważniejsza.Ale nie unikaj powtarzających się cyfr.Unikaj „oczywistych” wzorów: 1234, 4321. Oczywiście, mając kartę kredytową Bruce'a Schneiera, mógłbym zamiast tego spróbować dowolnej kombinacji, która nie była oczywistym schematem.Jeśli jesteś mniej znany, myślę, że lepiej unikać „łatwych” haseł.
@dave W ten sposób leży [paradoks] (https://en.wikipedia.org/wiki/Interesting_number_paradox). .
@dave Jeśli więc napastnik zna Bruce'a Schneiera, jego konto jest * bezpieczniejsze * dzięki powszechnemu, oczywistemu kodowi PIN.Ciekawy.
@DavidRicherby True!Myślę, że idea „nieciekawych” liczb całkowitych jest przekonująca tylko wtedy, gdy myślimy o liczbach całkowitych jako tylko częściowo uporządkowanym zbiorze (bez zdefiniowanej kolejności żadnej z „nieciekawych” liczb całkowitych).
„Ograniczenie dostępnej puli numerów zmniejsza liczbę możliwych rozwiązań, czyniąc je mniej bezpiecznymi”.- Jest to dość błędne, ponieważ pula nie została zmniejszona, tylko to, co OP wybiera z puli.Ta różnica jest istotna, ponieważ * atakujący musi zająć się całą pulą * i nie wie, że OP ograniczył jej wybór, chyba że atakujący czyta tę stronę, wie, kto to jest OP, i odpowiednio dostosowuje swój atak.
Dakkaron
2017-04-04 21:16:50 UTC
view on stackexchange narkive permalink

Wydaje mi się, że większość innych odpowiedzi skupia się na niewłaściwym typie ataku.

Ponieważ mamy do czynienia z bardzo specyficznym scenariuszem (ręczne wprowadzenie kodu PIN), możemy zoptymalizować generowanie kodu PIN dla możliwe scenariusze ataków.

Atak słownikowy

Z tego, co mogę wyciągnąć z pytania, mówimy o ręcznym wprowadzaniu kodu PIN, więc osoba atakująca musi wypisz każdy próbowany kod PIN. Tak więc atak brutalnej siły może zająć trochę czasu (powiedzmy, że potrzebujesz dwóch sekund na każdy wypróbowany kod PIN, trwa to średnio prawie trzy godziny). Jest to możliwe, ale nie jest to najmądrzejsze podejście.

Więc jeśli atak brutalnej siły jest niewykonalny, możesz zamiast tego spróbować ataku słownikowego. Tutaj najpierw wypróbujesz najpopularniejsze kody PIN. Jeśli to się nie powiedzie, zawsze możesz później skorzystać z brutalnego ataku. Przy atakach słownikowych entropia nie ma już większego znaczenia. Tutaj ma znaczenie, czy hasło jest w słowniku, czy nie. Ponieważ napastnik najprawdopodobniej nie ma prawdziwego słownika popularnych kodów PIN, będzie musiał wymyślić swój słownik w locie. Oznaczałoby to, że słownik prawdopodobnie będzie raczej krótki i zorientowany na wzorce. Możliwe kody PIN w słowniku to:

  • Kolejne kody PIN (np. 0123 lub 1234)
  • PIN z czterokrotnie tą samą cyfrą (np. 2222)
  • być może także PIN-y zawierające tylko trzy razy taką samą cyfrę

Eliminując te kilka haseł, nie zmniejszasz zbytnio rozmiaru obszaru klucza, ale możesz łatwo obronić się przed atakami słownikowymi. Podobne strategie są stosowane przez strony internetowe, które nie pozwalają na używanie typowych lub łatwych do odgadnięcia haseł (np. Używanie nazwy użytkownika jako hasła)

Atak Brute Force

Następnie możemy spróbować zoptymalizować pod kątem możliwych ataków brutalnej siły. Może to pomóc znacznie mniej przy wyższych kosztach, więc może to nie być opłacalne. Istnieją dwie główne strategie, w których osoba atakująca może przeprowadzać ataki siłowe: po prostu wprowadź losowe kody PIN lub zacznij od 0000 i policz w górę (lub 9999 i odliczaj w dół). Dlatego kody PIN, takie jak 0001 lub 9998, mogą być złym wyborem, ponieważ ktoś wykonujący atak brutalnej siły może je znaleźć dość szybko. Więc może wykluczyć kody PIN zaczynające się od 0 lub 9.


Przestrzegając tych zasad, nie powinieneś tracić zbyt wielu możliwych haseł, ale możesz wzmocnić swój kod PIN przed najpopularniejszymi strategiami ataków w tym konkretnym scenariuszu .

„Więc może wykluczyć kody PIN zaczynające się od 0 lub 9”.Muszę się nie zgodzić.Wykluczenie tych PIN-ów spowodowałoby tylko, że atak siłowy trwałby trochę dłużej, ale atakujący w końcu przejdzie przez wymagany numer PIN, wcześniej czy później.Wykluczenie ich tylko zmniejszy entropię.
Na początku, przy wystarczającej wydajności, każdy klawisz jest brutalny.Cały sens używania dłuższych kluczy polega na spowolnieniu atakującego na tyle długo, aby atak był niewykonalny, ponieważ trwa tak długo.To samo dotyczy tutaj.Jeśli twój brutalny napastnik wymaga co najmniej 1000 prób (po 2 sekundach próba, czyli około pół godziny), jest to dużo lepsze niż np.100 prób.Ponadto, jeśli istnieje ograniczenie szybkości wprowadzania klawiszy, można to znacznie poprawić, np.z 10 sekundami oczekiwania między każdą próbą masz minimum 2,7 godziny.To dużo czasu, aby spróbować złamać jakiś zamek, nie dając się złapać.
northerner
2017-04-04 15:23:28 UTC
view on stackexchange narkive permalink

Nie masz dość komentarzy, ale mam rekomendację. PIN wpisywany za pomocą jednego przycisku (lub prostego wzoru przycisków) jest łatwiejszy do zaobserwowania przez surfera na ramieniu. W szkole podstawowej nauczyciel pomyślał, że wyświadczył mi przysługę, tworząc hasło 4321 , a jakiś palant obserwował, jak mój palec porusza się w linii prostej i podał wszystkim moje hasło.

Radzę zrobić listę słabych numerów PIN, które są na to podatne, a następnie odjęcie ich od w pełni losowo wygenerowanych numerów PIN.

To!W zależności od tego, do czego jest używany kod PIN: do jakiej klawiatury jest używana i kto może obserwować, jednocyfrowy kod PIN można potencjalnie łatwo odgadnąć.Jeśli zdasz sobie sprawę, że wszystkie 4 cyfry były takie same i znajdowały się w górnym rogu, to wystarczy wypróbować 1111, 2222, 4444 i 5555. Pozornie przypadkowe ruchy palca znacznie utrudniają odgadnięcie.
@MatthieuM.OTOH, jeśli wszystkie są na klawiaturze, czy nacisnąłeś 1-1-6-8, 1-6-6-8, 1-6-8-8, 1-1-8-8 itd. Myślę, żejest znacznie trudniejsze do rozróżnienia dla niektórych „surferów barków” niż 4-3-6-9.
J.A.K.
2017-04-04 21:57:29 UTC
view on stackexchange narkive permalink

To zależy od implementacji. Eliminacja kolejnych cyfr zmniejszy przestrzeń kluczową o 0,1%, ale ma pewne zalety dla bezpieczeństwa fizycznego, które mogą sprawić, że będzie to warte kompromisu.

Wiele dobrych sprytnych odpowiedzi tutaj, główna uwaga ponieważ zamiast uczynić go bezpieczniejszym, zmniejszasz przestrzeń klucza (choć nieznacznie, 10 z 10.000).

Jednak najlepsze odpowiedzi nie dotyczą fizycznego aspektu wprowadzania kodu PIN. Ekstrakcja wizualna i termowizyjna jest obecnie prawdziwym zagrożeniem. Innymi słowy, złoczyńcy przeglądają Twój kod PIN oczami, teleskopem, kamerą skanującą w bankomacie, a nawet kamerami termowizyjnymi.

Ten ostatni jest nowszy i szczególnie paskudny, ponieważ skimmer może podejść do pinpada i spojrzeć na sygnaturę cieplną, nawet jeśli dobrze zakryłeś pad.

Mając kolejny pin naruszy bezpieczeństwo w tym obszarze; zmniejsza złożoność fizycznej lokalizacji numerów o straszliwą kwotę. Nawet jeśli zakryłeś rękę, istnieje szansa, że ​​atakujący odgadnie przycisk, który nacisnąłeś cztery razy, zanim nastąpi blokada. W telefonie, jeśli na zrze jest duża plamka tłuszczu, to najpierw spróbuję.

„Wiele dobrych odpowiedzi tutaj, a głównym punktem jest to, że zamiast zwiększać bezpieczeństwo, zmniejszasz przestrzeń klucza (choć nieznacznie, 10 z 10.000)”.- nie, to są złe odpowiedzi, ponieważ ograniczenie zestawu kluczy, z których wybierasz, nie zmniejsza zestawu kluczy, z którego * możesz * wybrać i który musi uwzględnić każdy atakujący, chyba że powiedziałeś mu, że jesteśpomijając pewne kombinacje i dostosowują swój atak specjalnie dla Ciebie.
Marcel
2017-04-04 10:51:24 UTC
view on stackexchange narkive permalink

W moim telefonie kod PIN celowo używa jednej z cyfr dwa razy z rzędu, aby utrudnić jej odgadnięcie, ponieważ:

  • Liczba „tłustych plam” nie zgadza się liczba cyfr
  • „Surfer na ramieniu” będzie miał (trochę) trudniej odróżnić podwójne stuknięcie od pojedynczego dotknięcia

Dodatek: dany telefon umożliwia niestandardowa długość kodu PIN, dzięki czemu atakujący (nie obserwując wprowadzenia kodu PIN) nie zna liczby używanych cyfr.

Jeśli plamy tłuszczu na telefonie mówią mi, że n-cyfrowy pin zawiera n różnych cyfr, jest ich n!możliwe szpilki.Jeśli tłuste plamy mówią mi, że używa (n-1) cyfr, a wiem, że Twój telefon powoduje podwójne dotknięcie jednej z cyfr, jest (n-1) (n-1)!możliwości, _ co jest mniejszą liczbą_.Epicka porażka.
Zaryzykowałbym również przypuszczenie, że w niektórych przypadkach łatwo byłoby sprawdzić, która cyfra została powtórzona, na podstawie tego, jak różnie wygląda smuga.Z pewnością widziałem zamki do drzwi z metalowymi przyciskami z jedną cyfrą wytartą w porównaniu z innymi.
Jeśli zobaczę dużą plamę tłuszczu na zero telefonu, postawię pieniądze na to, jaki jest jego pin.
@DavidRicherby Z wyjątkiem plam smaru * nie * mówią ci, że używa (n-1) cyfr.Patrzenie na tłuste plamy nie pozwala stwierdzić, czy hasło to 1-1, czy 1-1-1-1-1-1.Nie wiesz również, czy nastąpiło dwukrotne dotknięcie, czy nie.Zezwolenie na powtórzenia daje spację n! ^ N!Dowolna liczba, którą naciśniesz, może znajdować się w końcowej sekwencji dowolną liczbę razy.
@Shane Jeśli jest to kod PIN, ma ustaloną długość, którą mogę sprawdzić zgadując cyfry.I zawsze powinniśmy założyć, że atakujący zna wszelkie zasady egzekwowane przez system, takie jak „PIN musi składać się z trzech cyfr, a jedna z nich się powtórzy”.Nie jestem też pewien, skąd masz n! ^ N!od.Jeśli hasło ma długość $ k $ i jest $ n $ opcji dla każdej cyfry, to jest co najwyżej $ n ^ k $ różnych możliwości.Jeśli nie ma ograniczeń co do możliwej długości, istnieje nieskończenie wiele możliwych haseł.
@DavidRicherby Masz rację, n! ^ N!było głupią rzeczą do powiedzenia.Chodzi o to, że jeśli ktoś potajemnie patrzy, jak naciskasz przyciski, wie, jakie przyciski nacisnąłeś iw jakiej kolejności.Bez powtarzania kluczy * znają już Twoje hasło *.Jeśli użyłeś klawiszy powtarzania, nie robią tego.Jeśli wiem, że nacisnęli 1-4-7, nie wiem, czy ich hasło to 1147, 1447, 144447 czy 1477. Jeśli wiem, że nacisnęli 1-4-6-9, wiem, że ich hasło to 1469. To jestróżnica między zablokowaniem Twojej karty a kradzieżą pieniędzy.
@DavidRicherby 4-cyfrowy pin z cyframi [1, 2, 3, 4] ma 24 możliwości.4-cyfrowy pin z cyframi [1,2,3] ma 36 możliwości.
PINy @Shane mają stałą długość.Jeśli jest to czterocyfrowy kod PIN, to 1147, 1447 lub 1477. O nie, średnio wymaga dwóch prób zamiast jednego.
@JoeFrambach Nie, 4-cyfrowy kod PIN z cyframi 1, 2, 3 ma 18 możliwości: 1123, 1132, 2113, 3112, 2311, 3211, 2213, 2231, 1223, 3221, 1322, 3122, 3312, 3321, 1332, 23311233, 2133.
@DavidRicherby Brakuje 1213, 1312, 2131, 2132, 2123, 3123, 3213, na początek
Jako OP: Dziękuję za tę obszerną debatę, wydaje się bardzo kontrowersyjny temat.Urządzenie, które ma na myśli pisząc odpowiedź, pozwala na niestandardowe długości pinu, mój jest właściwie dłuższy niż 4 cyfry.
@JoeFrambach Odpowiedź dotyczy PIN-ów, w których powtarzająca się cyfra musi wystąpić dwa razy z rzędu, chociaż nie wspomniałem o tym we wszystkich moich komentarzach.
Wydaje się, że ta odpowiedź nie jest próbą * odpowiedzi * na pytanie PO.Wygląda na to, że to dobra rada.
@ Te dodatkowe przypuszczenia to różnica między zablokowaniem karty a pustym kontem bankowym.
JDługosz
2017-04-04 12:36:30 UTC
view on stackexchange narkive permalink

Powinieneś zawczasu sporządzić konkretną listę „słabych kluczy”, czyli to, co ktoś mógłby zgadnąć. Obejmuje to ważne daty, adresy itp. I może zawierać 1111, jeśli ludzie rzeczywiście spróbują tego podczas zgadywania.

Następnie losuj losowo i filtruj według (krótkiej) listy . Jeśli lista nie jest krótka, ale systematyczna (np. Bez powtarzających się cyfr, bez dat prawnych), kończysz się zbyt małą liczbą możliwości, co zaczyna ułatwiać ponowne odgadnięcie.

user2428118
2017-04-07 01:15:15 UTC
view on stackexchange narkive permalink

W 2012 roku badacz sporządził listę najpopularniejszych kodów PIN pochodzących z szeregu naruszeń danych. Odkrył, że najpopularniejszymi kodami PIN były:

  1. Sekwencje, na przykład 1234 lub 7777
  2. Daty, takie jak 2001
  3. Odniesienia do popkultury, takie jak 0007 (od numeru kodu Jamesa Bonda 007)
  4. Łatwe do wpisania , na przykład 2580 (liczby leżące w linii prostej na wielu klawiaturach)

Oto 20 pierwszych (które nie obejmują wszystkich przykładów podanych powyżej): Top 20 most popular PIN codes. 1234, 1111 and 0000 comprise the top three.

Zatem sekwencje są złe. Tak samo jak PIN-y, które można łatwo zapamiętać bez mnemonika. Jednak szpilki, które mają tę samą cyfrę więcej niż raz, niekoniecznie też są złe.

Przykład:

Na drugim końcu skali najrzadziej użyta liczba, którą znalazłem w moim zbiorze danych, to 8068. Spośród wszystkich kombinacji liczb ta okazała się najmniej interesująca. To nie jest data w historii, to nie jest wzór, to nie są urodziny, nie jest łatwo wpisać. To idealna przypinka… albo tak by było do tej pory.

Więc teraz wiesz.

shwew!mojego nie ma na liście!
AMADANON Inc.
2017-04-11 09:32:43 UTC
view on stackexchange narkive permalink

Mogą istnieć ataki o różnej skuteczności, w zależności od liczby powtarzających się cyfr.

Na przykład, powiedzmy, że ktoś przykłada lekki pył do klawiatury Twojego bankomatu. Wkładasz kartę, zakrywasz ręce podczas wpisywania kodu PIN, sprawdzasz saldo, a potem się zastanawiasz. Kiedy idziesz, ktoś bierze twoją kieszeń, bierze twoją kartę.

Mają teraz twoją kartę i widzą, które przyciski mają zakłócony kurz - zna cyfry, ale nie kolejność.

Jeśli zobaczą, że nacisnąłeś cyfry 2, 3, 6 i 8, Twój kod PIN może być jednym z następujących:

  2368, 2386, 2638, 2683, 2836, 2863 , 3268, 3286, 3628, 3682, 3826, 3862,6238, 6283, 6328, 6382, 6823, 6832,8236, 8263, 8326, 8362, 8623, 8632  

24 możliwości. Przy 3 domysłach mają 1/8 szansy na trafne odgadnięcie.

Oto możliwości z 4 cyframi, z których jedna jest powtarzana: 2, 3 i 6:

  2236, 2263, 2326, 2336, 2362, 2363, 2366, 2623, 2632, 2633, 2636, 2663, 3226, 3236, 3262, 3263, 3266, 3326, 3362, 3622, 3623, 3626, 3632, 3662, 6223, 6232, 6233, 6236, 6263, 6322, 6323, 6326, 6332, 6362, 6623, 6632  

Jest ich 36. Szansa na odgadnięcie tego w 3 próbach wynosi 1/12. Większe szanse!

Spróbujmy jeszcze raz, tym razem tylko z dwiema cyframi:

  2223, 2232, 2233, 2322, 2323, 2332, 2333, 3222, 3223, 3232, 3233, 3322, 3323, 3332  

14 kombinacji, ponad 1/5 szansy zgadnięcia przy 3 próbach.

Oczywiście przy tylko jednej cyfrze jest tylko jedno rozwiązanie, które można odgadnąć od razu.

Oczywiście, jeśli cyfry na Twoim pinie to 1, 6 i 9, zgadnę, że urodziłeś się w 1961, 1966, 1969 lub 1996 - jeśli zobaczę, jak odchodzisz, powinienem być w stanie zgadnąć, czy masz 21 czy 48 lat, co oznacza 3 błędne przypuszczenia, prawdopodobnie wszystko, czego potrzebuję.

daniel
2017-04-04 12:17:41 UTC
view on stackexchange narkive permalink

Masz rację, że zasady usuwania wzorców zaszkodziłyby twojej kluczowej przestrzeni, ale nie obniżają entropii niczego, ponieważ entropia pochodzi z twojego sprzętu, twoja maszyna TRNG może od czasu do czasu wypisywać powtarzającą się cyfrę.

Jeśli chodzi o matematykę, jeśli nie chcesz widzieć powtarzającej się cyfry, takiej jak 9 w '0919', twoja matematyka jest poprawna, ale jeśli masz na myśli powtarzającą się cyfrę, taką jak 9 w `` 0991 '', 7190 z 10000.

Ale w zależności od tego, co myślisz o „czterech cyfrach zawierających jakąś właściwość lub wzorzec”, zmniejszasz ją dalej, usuwając wszelkie wzorce, takie jak „12”, 321 ”lub„ 34 ”, usuń wszystkie inne niż liczby pierwsze, a będziesz mieć tylko garść (~ 300 z 10000) nieciekawych liczb.

Po co usuwać inne niż liczby pierwsze?Myślę, że liczby pierwsze są bardziej interesujące matematycznie.
Chciałem usunąć wszystko, co jest podzielne przez 2, a następnie wszystko, co jest podzielne przez 3, ponieważ są łatwiejsze do zapamiętania, i po prostu je wszystkie.Ale masz rację, niektórzy ludzie mogą zapamiętywać liczby pierwsze poniżej 10000, więc należy je również usunąć z puli, co daje nam liczby, które nie są liczbami pierwszymi i nie można ich również podzielić przez inne liczby: D
EL Dendo
2017-04-04 19:30:35 UTC
view on stackexchange narkive permalink

Unikaj używania tych samych cyfr w kolejności. Opóźnienie między tą samą cyfrą będzie krótsze niż opóźnienie między różnymi cyframi (ponieważ twój palec jest już na przycisku), dzięki czemu ważne informacje są niedostępne.

Proszę podać przyczynę odrzucenia mojej odpowiedzi ...
Nie głosowałem przeciw, ale wydaje się, że zakłada to konkretny model zagrożenia, który nie jest przedmiotem obaw.Oznacza to, że zakłada się, że osoba atakująca ma pewien mechanizm synchronizowania wzorców naciskania klawiszy bez faktycznej obserwacji urządzenia.Mam mglistą świadomość, że istnieje technologia umożliwiająca dokonywanie takich obserwacji podczas pisania na klawiaturze, ale nie jest dla mnie jasne, czy kod PIN byłby na początku wprowadzany do klawiatury.
@jpmc26 To z pewnością zostało poruszone;patrz np. komentarz Davida Wallace'a pod pytaniem PO.Jeśli chodzi o twoje wymagane założenie, obserwowanie czyichś palców, a nawet dłoni z daleka, podczas gdy widok rzeczywistych naciśnięć klawiszy jest zablokowany, kwalifikuje się.Jeśli chodzi o „klawiaturę”, OP napisał w swojej edycji „programowalne zamki do drzwi, panele systemu alarmowego, klawiatury do drzwi garażowych itp.”
w rzeczywistości mówiłem z powodu doświadczenia: pisałem kod, podczas gdy kolega nie widział moich rąk, ale słyszał, jak stukam w klawiaturę.Potem powiedział mi, które kolejne cyfry są takie same.
Dylan
2017-04-04 06:34:34 UTC
view on stackexchange narkive permalink

4-cyfrowe szpilki można łatwo złamać w ciągu kilku sekund przy użyciu odpowiedniego sprzętu. Po co używać tak śmiesznie krótkiego pinezki, skoro exploity takie jak Reaver dowiodły, że 4 cyfry to za mało (zakładając, że twój pin może być brutalnie wymuszony)

A jeśli nie można go brutalnie wymusić, o co się martwisz ? Dziwne jest to, że ktoś zgaduje, że nadal wynosi 1 do 10 000, niezależnie od tego, czy pinezka to 1743, czy 1111. Ryzykujesz zawsze z krótszą szpilką i byłoby źle nie akceptować powtarzających się sekwencji, ponieważ drastycznie obniżając entropię.

Jeśli jednak myślisz o tym, możesz po prostu upewnić się, że generator generuje wartości, dopóki nie będzie miał unikalnej cyfry na każdej pozycji. Ta metoda wydaje się najbardziej logiczna dla tego, co próbujesz osiągnąć i nie zmniejszy entropii, jeśli na przykład nadal pozwolisz na generowanie 1111, chociaż nie są używane (powtarzanie generowania liczb, dopóki nie znajdzie jednej z unikalną cyfrą w każdym pozycji i wyrzucić te, które nie są)

„_nie zmniejszy entropii, jeśli nadal pozwalasz, na przykład, na generowanie 1111, chociaż nie jest używane_”.Całkowicie fałszywe.Nie ma znaczenia, czy nigdy nie bierzesz pod uwagę PIN-ów z powtarzającymi się cyframi, czy odrzucasz je, jeśli są generowane: efektem netto jest „przestrzeń PIN” o połowę niższa od potencjalnego rozmiaru, a więc zmniejszona entropia.
lol nie, jeśli wybierzesz dla siebie 1234 PIN, istnieje znacznie większa szansa, że atakujący odgadnie go w pierwszych kilku strzałach, biorąc pod uwagę, że jest to najpopularniejszy PIN.Pamiętaj, że napastnicy to ludzie.
@TripeHound Ale to przy założeniu, że przeciwnik wie, że powtarzane sekwencje są niedozwolone ... I technicznie rzecz biorąc, entropia pozostałaby taka sama.Jesteś w błędzie.
@Dylan Nie, mylisz się.Schemat, który opisałeś, to po prostu próbkowanie odrzucania, aby uzyskać równomierny rozkład w pewnym podzbiorze 10 ^ 4 możliwych pinów.Entropia rozkładu zależy tylko od rozkładu, a nie od metody używanej do próbkowania z niego.(Na przykład entropia rozkładu liczb generowanych przez walcowanie 4-stronnej kostki jest dokładnie taka sama, jak entropia rozkładu generowana przez walcowanie 6-stronnej kostki i ponowne wyrzucenie 5 i 6, ponieważ jest to ten sam rozkład. To jest właśnie to, co tutaj robisz, tylko z kostką o 10 000 ścianach).
Dylan ma rację (nie co do 1234, ale co do podzbioru), a TripeHound całkowicie się myli.„Przestrzeń PIN” to zestaw możliwych pinów, które atakujący musi uwzględnić, a nie podzbiór, z którego wybiera OP, który jest nieznany atakującemu (chyba że czytają tę stronę, znają OP i dostosowują swojeatak zgodnie z).David Richerby popełnia ten sam błąd, myląc przefiltrowany podzbiór przestrzeni próbki z przestrzenią próbki, która pozostaje taka sama.
@JimBalter Chociaż osoba atakująca nie _zawsze_ wie, że przestrzeń ataku została ograniczona, _ czasami_ to zrobi (szczególnie w przypadku każdej średnio popularnej witryny).Jedną z podstawowych zasad bezpieczeństwa jest to, aby nie polegać na niejasności, więc musisz planować najgorsze i zakładać, że oni _nie_ wiedzą.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...