Domanda:
Quando si sceglie un PIN numerico, aiuta o fa male rendere unica ogni cifra?
smitelli
2017-04-04 05:57:15 UTC
view on stackexchange narkive permalink

Immagina un tipico schema PIN a 4 cifre contenente le cifre [0-9] . Se scelgo il mio PIN a caso, ne riceverò uno su 10 * 10 * 10 * 10 = 10.000 codici. In base alla mia esperienza, più della metà delle volte una sequenza casuale di quattro cifre conterrà alcune proprietà o pattern che ne riducono significativamente l'entropia: singola cifra utilizzata in più di una posizione, pattern ascendente / discendente, ecc. (Sì, sì , un PIN di 4 cifre ha solo qualcosa come 13 bit di entropia massima per cominciare, ma alcuni codici casuali sono ancora più orribili .

Se rispettassi una regola dove utilizzo solo un PIN che ha una cifra univoca in ogni posizione, credo che il numero di codici a mia disposizione diventi 10 * 9 * 8 * 7 = 5.040 (qualcuno mi corregga se ho sbagliato) Ho quasi dimezzato il mio spazio per le chiavi, ma ho anche eliminato molti dei codici di entropia inferiore dalla considerazione.

Alla fine, mi sono aiutato o mi sono ferito in questo modo?

MODIFICA: Wow, molte ottime risposte qui. Come punto di chiarimento, inizialmente pensavo meno in termini di PIN bancomat / banca (che probabilmente ha una politica di blocco aggressiva dopo una serie di tentativi errati) e più in termini di altri dispositivi con codice PIN "non supervisionato": porta programmabile serrature, pannelli di sistemi di allarme, tastiere per porte da garage, ecc.

Hai danneggiato la tua password.Il più sicuro è puramente casuale.
Una macchina non sa che 2232 è più probabile perché è più facile.Quindi, quando usi la forza bruta, 2232 è difficile da indovinare quanto 3569. Inoltre, dopo tre tentativi la carta viene bloccata.Quindi anche un pin con tre cifre identiche va bene in quanto è altrettanto improbabile di qualsiasi altra combinazione.
Qualsiasi sicurezza in un PIN a 4 cifre proverrà probabilmente dall'emittente che è disposto a bloccare il pin dopo un numero di tentativi probabilmente a una cifra.Pertanto il mio intento è quello di evitare le prime due cose che un attaccante proverebbe.Evitare dati codificati su compleanni come se stessi è probabilmente più importante dei modelli.
L'entropia della password diventa inferiore solo se le si ordina per grandezza, ad es.si assume la forza bruta nel caso peggiore migliore, che prova 0000, 1111, 2222, ecc. e poi 111
@Eclipse non è così.Se è noto che il 20% della popolazione usa 1111 o 1234, è meglio non far parte di quel 20%, anche se il tuo generatore di numeri casuali risulta 1234 da uno puro su 10.000 possibilità.
Escludendo tutti i numeri con cifre ripetute, tutti i numeri con tutte e quattro le cifre in sequenza crescente o decrescente, tutti i numeri che sembrano anni (19xx / 20xx) e tutti i numeri che sembrano date (0101..0131, 0201..0229, ecc.) lascia 4.785 PIN "validi", quasi la metà dello spazio totale delle chiavi.L'unico problema rimanente è se hanno usato una data significativa (compleanno / anniversario) ecc. Nei primi nove giorni da gennaio a settembre, che potrebbe essere quasi qualsiasi numero e quindi non può essere escluso meccanicamente.
I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (http://chat.stackexchange.com/rooms/56640/discussion-on-question-by-smitelli-when-choosing-a-numeric-pin-does-it-help-o).
IIRC, tempo fa c'è stata una fuga di dati che conteneva PIN e [questa mappa termica] (https://i.stack.imgur.com/OmnDV.jpg) è stata creata dai dati trapelati.Questo indica i pin più popolari.Aggiornamento: [L'analisi completa] (http://www.datagenetics.com/blog/september32012/)
Il 'PIN numerico' non è tautologico?E, qualsiasi numero di 4 cifre potrebbe essere reagito come casuale - 1 / 10.000 - poiché in ognuno si verifica solo una volta come se stesso.L'impostazione predefinita del blocco numerico è spesso 0000 dal produttore.
In generale, * qualsiasi * restrizione sulla scelta dei caratteri in una chiave o passcode basata sui caratteri "indebolisce" la sicurezza, almeno a livello concettuale.Regole come la richiesta di una cifra, sia maiuscola che minuscola, e un carattere speciale in una password hanno lo scopo di impedire agli stupidi di essere ancora più stupidi (ma probabilmente li costringono solo a scrivere il codice su un pezzo di nastro sulla loro carta di debito).
L'immagine della mappa di calore collegata nella risposta di ikegami sopra risponde a questa domanda in modo intuitivo e senza la necessità di spiegare la matematica complessa.
In realtà, l'entropia ridotta non ha effetto quando si forza bruta se l'aggressore non sa che stai escludendo quei PIN.
Il mio spillo è tutto sette ma non ti dico in che ordine.
Fatto interessante: la macchina tedesca Enigma non ha mai codificato una lettera a se stessa, il che significa che c'erano solo 33554432 (da 2 a 25a potenza) soluzioni possibili, piuttosto che 67108864 (da 2 a 26a potenza).Questo ha reso il carico più facile da decifrare.http://math.stackexchange.com/questions/1209481/how-does-the-enigma-machine-ensure-that-no-letter-is-substituted-for-itself
Quindici risposte:
Rory McCune
2017-04-04 13:02:10 UTC
view on stackexchange narkive permalink

Il fatto è che, con un pin a 4 cifre, l'entropia non è molto importante. L'importante è la serrata e la psicologia dell'attaccante.

Lo spazio delle chiavi è così piccolo che qualsiasi attacco automatizzato (senza blocco) lo esaurirebbe quasi istantaneamente.

Ciò di cui sei preoccupato è che un utente malintenzionato indovini il PIN prima che l'account si blocchi. Quindi, supponendo un corretto blocco (ad esempio 3-5 tentativi errati), vuoi che il tuo PIN sia al di fuori dei 3-5 più probabilmente PIN scelti.

Personalmente eviterei qualsiasi sequenza di ripetizione di 4 cifre e qualsiasi cosa a partire da 19XX che sarebbe un anno di nascita.

Ora smart alecs dirà "ahh ma se lo fai gli aggressori sapranno di non provare quelli", ma questo vale solo se a) la maggior parte dei la popolazione di utenti segue quel consiglio (suggerimento, probabilmente non lo farà) eb) gli aggressori sanno che la popolazione di utenti ha seguito quel consiglio.

Alcune ottime analisi di questo ( link per gentile concessione di @codesincahaos)

Modifica 2 - Per un approccio molto più matematico, ti consiglio di leggere la risposta di @ diagprov

Per quanto sia vero, è ancora un sito di domande e risposte.OP ha posto una domanda in cui nulla suggerisce che OP abbia un influencer in guardia.Anche la domanda utilizza un po 'di matematica.Se la domanda riguardava il superamento in astuzia dell'altra parte, allora possiamo fare un'offerta.Indicherei qualsiasi sequenza sul tastierino numerico per creare un pattern, guarda "1254", "7618" è molto più facile da abbinare rispetto a "2776".Ma come valutare le risposte allora?
Immagino che lo stavo valutando sulla base dell'ultima frase dell'OP chiedendo se aiutava o danneggiava la loro sicurezza.Per me ciò che è importante nella sicurezza del PIN non è scegliere un PIN di uso comune.Se non ci sono blocchi, sei comunque imbottito, quindi l'unico fattore nel tuo controllo è sceglierne uno insolito e non casuale.
Ok, fa male o aiuta la sicurezza escludere cifre ripetute se il PIN era di 8 cifre?
Bene, con i PIN a 8 cifre sei ancora in una fase in cui la forza bruta senza controllo è banalmente facile, quindi presumeresti che il blocco + non la scelta di PIN comuni sarebbe la migliore difesa.La risposta alla tua domanda dipenderà dal fatto che le cifre ripetute siano tra le forme più comuni di PIN a 8 cifre, se l'attaccante sarebbe a conoscenza della restrizione prima di effettuare un attacco e se il PIN è generato dal sistema o dall'utente.
Ho riletto la tua risposta alcune volte e non riesco a vedere la risposta alla domanda "* mi sono aiutato o mi sono ferito facendolo? *" - sarebbe perfettamente ok, ma nel tuo commento hai effettivamente sottolineato il fatto che tustanno affrontando proprio questa domanda.
LEGGI QUEL LINK.Scusa per aver gridato.
"ma questo vale solo ..." ancora più importante;gli lascia ancora 9890 combinazioni da provare.
@RоryMcCune Questo articolo di DataGenetics è stato un'ottima lettura, grazie.
a) eb) e non necessario perché il punto più importante è che, anche se gli attaccanti sanno di non provare quelli, non avrebbero comunque modo di sapere come indovinare il tuo pin casuale in 3 tentativi.
La parte su smart alecs mi ricorda il vecchio outsmart ... Prendo 5000 perché è proprio nel mezzo, quindi entrambe le estremità iniziano, ci vorrà un tempo massimo per colpirlo in media.Ma cosa succede se usano una ricerca binaria?Inizieranno a 5000 e lo indovineranno in una volta.Ok, questo escluderebbe 5000, 7500, 2500, 3750, ecc. Quindi sceglierò 4999 o 5001 poiché questo è il percorso medio più lungo sia per una ricerca binaria che per una ricerca lineare.Ma aspetta, supponiamo che inizino dal centro e facciano una ricerca lineare da lì ... ecc.
La ricerca binaria @Michael non ha applicabilità qui.No, davvero, non lo è.Pensaci bene prima di rispondere.Trovare un PIN casuale è O (n).Una ricerca binaria è un'operazione O (logn) che inizia con una * chiave nota * e cerca un * sottoinsieme ordinato * delle possibili chiavi.Se non è un sottoinsieme, puoi utilizzare l'indicizzazione diretta, che è O (1)."5000, 7500, 2500, 3750 e così via"- una ricerca binaria guarderà solo su un lato del tentativo iniziale o sull'altro, non su entrambi.Questo è il punto centrale della ricerca binaria,
@JimBalter Questo era il mio punto ... puoi provare a scegliere un PIN in base a quale schema pensi che l'attaccante utilizzerà per provare a indovinare i PIN, ma rientra nella vecchia categoria "hai superato in astuzia te stesso".
^ No, il punto è che non si capisce cos'è una ricerca binaria o quando viene applicata.
8068: Il PIN # 1 più popolare tra i lettori di datagenetics.
@Michael Non ho idea della sicurezza dei pin, ma le ricerche binarie non sono davvero applicabili qui.Una ricerca binaria ha senso solo se ricevi un feedback se un valore è "maggiore di" o "minore" di quello che hai provato.Non conosco alcun sistema di pin in cui il messaggio di errore è "mi dispiace, la password che hai provato era un numero maggiore della password corretta" - l'attaccante riceve solo il feedback "è la password giusta" o "non è la password giusta".
diagprov
2017-04-04 14:38:16 UTC
view on stackexchange narkive permalink

Mi intrometterò e parlerò di entropia e probabilità per un po 'e spero che questo ti aiuti a capire.

Innanzitutto cos'è la probabilità? Questa è in realtà una domanda aperta tra gli statistici, ma ecco la definizione frequenzialista: diciamo che se una moneta equa viene lanciata, ha probabilità 0,5 di uscire testa. Tuttavia, se lanci una moneta potresti osservare che i primi cinque risultati sono tutte teste, il che non sembra corretto. Quindi, il frequenzialista dice che se dovessi lanciare la moneta "abbastanza" volte, alla fine scopriresti che uno su due dei lanci di moneta è testa.

La chiave è questa probabilità non dice nulla su cosa accadrà effettivamente . Una password ad alta entropia potrebbe essere indovinata al primo tentativo per semplice fortuna, indipendentemente dai possibili risultati e così via.

Ora cos'è l'entropia? Se hai iniziato a dire "beh, è ​​il numero di risultati possibili ..." potresti avere ragione in un contesto di generazione di dati casuali, ma questo è l'esempio perfetto di dove hai davvero bisogno di capire cosa sta succedendo sotto.

In primo luogo, parliamo di autoinformazione. Questa è una variabile casuale (il che significa che ci sono un numero di possibili risultati) che varia sulla probabilità di ogni risultato (e quindi prendiamo -log2 (P (X)) per codificarlo in "bit" di informazione). Quindi dobbiamo assegnare a ogni risultato una probabilità.

Come altri hanno sottolineato, alcune variazioni della scelta del PIN sono più probabili. Tutti gli stessi numeri (1111, 2222, 3333, ...), Compleanni (20XX, 19XX) e così via. Dovresti assegnare una probabilità maggiore a questi numeri perché in poche parole le persone hanno maggiori probabilità di sceglierli e certamente non sceglieranno una sequenza casuale. Il modo in cui assegni la probabilità ad altri numeri dipende interamente da te e dipende da quanto sai del processo di scelta di un segnaposto.

Ora, l'entropia, o per mantenere felice @codesinchaos, in particolare l'entropia di Shannon, è il mezzo della distribuzione dell'informazione personale. È il valore "più probabile" dell'autoinformazione date le probabilità di ciascuna scelta. Cosa significa questo? Come dice l'attuale risposta più votata, è una misura del processo di scelta e di quanto è buono, non lo spillo stesso.

Cosa succede quando si scelgono scelte ad alta probabilità come 1111, 2222, 3333 ? Questi risultati forniscono informazioni di sé molto basse (-log (P (X)) è piccolo per probabilità grandi, poiché ci aspettiamo che si verifichino) e quindi rimuovendole si sposta la distribuzione a destra, ovvero sposta la posizione della distribuzione verso centro. Ciò aumenterà la sua media. Quindi, rimuovere le scelte che la maggior parte delle persone farebbe altrimenti con alta probabilità aumenta effettivamente l'entropia .

Diamo un'occhiata all'entropia in un modo diverso: se dovessi indovinare i PIN, in quale ordine li proveresti (supponendo che non ci siano blocchi)? Inizierai con i PIN più probabili per certo. Ciò che l'entropia sta dicendo è che se ripetessi questo esperimento abbastanza volte (cioè provassi a indovinare il PIN di un gran numero di carte i cui PIN sono stati scelti con la stessa identica logica) allora una scelta di entropia inferiore darebbe a te, l'attaccante, un successo maggiore rapidamente.

Ancora una volta, rimane una questione di cosa potrebbe accadere nel caso teorico di molte carte, non di cosa potrebbe accadere perché l'attaccante è fortunato .

Ecco il tuo riassunto esecutivo:

  1. Ciò che diventa l'entropia dipende da come assegni le probabilità allo spazio dei risultati.
  2. Senza dubbio, se lasci che gli umani scelgano i PIN, sceglieranno determinati valori con una probabilità molto più alta di altri.
  3. Ciò significa che non puoi presumere che la distribuzione sottostante sia uniforme e dire "entropia == numero di risultati".
  4. Se elimini le opzioni di scelta sbagliata con la più alta probabilità, l'entropia aumenta.
  5. L'entropia, come la probabilità di indovinare correttamente, non dice assolutamente nulla sul fatto che un attaccante sarà fortunato e indovinerà correttamente il tuo PIN. Dice semplicemente che in teoria una migliore entropia dà al tuo aggressore un tempo più difficile.

Ora, per completare la mia risposta, esaminiamo gli aspetti pratici. Se confrontiamo con password, scelte di output della funzione hash o dati casuali, i PIN fanno schifo. Se offri ad un attaccante e difensore la libera scelta di indovinare il PIN e nessun'altra informazione, il numero di ipotesi che hanno ragione il 50% delle volte (paradosso del compleanno) è ridicolmente basso. I PIN renderebbero pessime funzioni hash.

Tuttavia, gli esseri umani non possono memorizzare molto bene 128 bit di dati, specialmente quando sono ubriachi e cercano di pagare un kebab usando chip-and-pin. I PIN sono quindi un compromesso pragmatico e con tre ipotesi come limite, a parte un attaccante molto fortunato, dovresti essere al sicuro.

TL; DR Rimuovere la scelta di più probabile I PIN delle tue scelte possibili migliorano le tue possibilità di fronte a un attaccante che non indovinerà a caso (cioè la maggior parte degli attaccanti).


Modifica: Penso che questa discussione meriti un po 'di matematica ora. Ecco cosa presumo nei miei calcoli:

  1. Stiamo usando PIN a 4 cifre
  2. I dati dal link di Raesene sono corretti, cioè che:

      # 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. Presumo inoltre che qualsiasi PIN non menzionato in questo elenco abbia la stessa possibilità di essere scelto dalla probabilità rimanente "non allocata" (probabilità 1-totale consumata sopra). Questo è quasi sicuramente errato, ma abbiamo solo così tanti dati.

Per calcolarlo, ho usato il seguente codice di sage:

  def shannon_entropy (probabilità ): contributi = [p * (-1 * log (p, 2)) for p in probabilità] return sum (contributi)  

Calcola l'effettiva entropia di Shannon per un dato insieme di probabilità .

  import itertoolstotal_outcomes = 10.0 ^ 4probability_random_outcome = 1 / total_outcomesprobability_random_outcomemaximum_entropy = -log (probabilitÃ_random_outcome, 2) maximum_entropymamost_entropy_probability_nonlist_maximum_entropy_outcome_probability maximum_entropy) print (maximum_entropy_calculated)  

Dimostra che la mia funzione calcola accuratamente la massima entropia, prendendo un elenco di 10 ^ 4 probabilità, ciascuna a 1/10 ^ 4.

Quindi

  probabilit_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) probabilitÃ_consumato_one = sum (probabilit_list_one) print ("Probabilit consumata per elenco: ", probabilità_consumato_one) probabilità_ro_one = (1-probabilità_consumato_one) / risultato_count_oneentropy_probability_list_one = probabilità_elenco_one + elenco (itertools.repeat (probabilità_ro_one, risultato_count_one)) entropy_one = shannon_entropyone_entropyone  entropy_code 

Qui, come ho detto sopra, prendo queste 20 probabilità e presumo che il resto delle probabilità sia distribuito equamente tra i risultati rimanenti, estendendo l'elenco con ogni probabilità impostata in modo uniforme. Il calcolo viene eseguito.

  probabilit_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] risultato_count_two = 10 ^ 4 - len (probabilitÃ_elenco_two) -1print ("Conteggio risultati 2:", risultato_count_two) probabilitÃ_consumato_two = somma (probabilitÃ_elenco_two) print ("Probabilità consumata dalla lista:", probabilitÃ_consumato_two) probabilitÃ_ro_two = (1-probabilitÃ_consumato_two) / .repeat (probabilità_ro_two, outcome_count_two))) entropy_two = shannon_entropy (entropy_probability_list_two) entropy_two  

In questo caso, rimuovo il PIN più probabile, 1111 e ricalco l'entropia.

Da questi risultati, puoi vedere che la scelta casuale di un PIN ha 13,2877 bit di entropia. Ripetere questo esperimento con un PIN rimosso ci dà 13,2876 bit

Scegliere un PIN date quelle probabilità di scelta per quei 20 PIN e altrimenti scegliere a caso significa scegliere come 11,40 bit di entropia, su 13,2877 bit possibili. Da questa base, bloccare il PIN 1111 e consentire altrimenti i restanti 19 PIN evidenti e tutti gli altri PIN scelti con uguale probabilità ha un'entropia di 12,33 bit, su un possibile 13,2876 bit.

Spero che questo spieghi perché molte delle risposte dicono che l'entropia sta diminuendo, anziché aumentare. Stanno considerando la massima entropia possibile, piuttosto che l'entropia media (entropia shannon) del sistema tenendo conto della possibilità di scelta. Una misura migliore è l'entropia di Shannon, poiché tiene conto della probabilità che ogni scelta venga fatta nel complesso e quindi di come un attaccante procederà probabilmente all'attacco.

Come puoi vedere , bloccando quel PIN 1111 aumenta in modo significativo l'entropia di Shannon, con un leggero costo per l'entropia complessiva possibile. Se vuoi discutere sull'entropia, in pratica, rimuovere il PIN 1111 aiuta enormemente.

Per riferimento quel fumetto XKCD calcola l'entropia di password scadenti a circa 28 bit e l'entropia di quelle buone superiore, a 44 bit. Di nuovo dipende da quali ipotesi vengono fatte sulle probabilità di certe scelte ma questo dovrebbe anche mostrare che i PIN fanno schifo in termini di entropia e il limite di N tentativi per N piccolo è l'unico modo sano di procedere.

Foglio di lavoro di Public Sage

Apprezzo la spiegazione.+1
Nota che l'entropia di Shannon non è una grande misura della forza della password.Con i numeri usati sopra, l'entropia di Shannon modellerebbe la password `1111` come indovinabile in 10 tentativi in media (poiché presume che l'attaccante proverà password casuali con la distribuzione di probabilità data), ma in realtà sarà indovinato in 1 tentativo in mediapoiché l'aggressore sceglierà prima la password più probabile.Quest'ultimo può essere catturato dal concetto di [indovinare l'entropia] (http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-2.pdf#page=114).(La logica della risposta si applica ancora.)
Inoltre, non credo abbia senso invocare qui il paradosso del compleanno.Ciò è rilevante solo per le collisioni, non per i tentativi di indovinare un obiettivo fisso.
@Tgr Ma diagprov non sta parlando di una collisione quando gli utenti e gli aggressori selezionano entrambi in modo casuale i PIN?
@jpmc26 continua a non vedere come avrebbe senso modellarlo come una collisione.
@Tgr Modellarlo come una scelta casuale da parte sia del difensore che dell'attaccante è lo scenario migliore per il difensore.Il punto di diag è che anche in questo caso migliore, l'attaccante non deve lavorare molto per trovare il tuo PIN ora importa quanto sia buono.Hanno solo bisogno di indovinare un paio di volte, qualcosa di banale da fare con la tecnologia moderna, e le probabilità di indovinare aumentano molto rapidamente mentre l'attaccante continua a indovinare o se indovina contro più difensori.Quando questi "si scontrano", l'attaccante vince.(Il paradosso del compleanno riguarda la rapidità con cui la probabilità cresce all'aumentare dei tentativi.)
È solo sbagliato però.Se il difensore sceglie un numero casuale o l'attaccante indovina in modo casuale, il numero previsto di ipotesi per una probabilità del 50% è 5000 e la possibilità di successo è lineare con il numero di ipotesi.(FWIW se uno dei due utilizza una distribuzione casuale uniforme, la scelta della distribuzione / algoritmo da parte dell'altro non fa differenza.) Le ipotesi multiple dell'attaccante non possono in alcun modo "scontrarsi" tra loro.
@Tgr per indirizzare i tuoi commenti, quello che hai frainteso è che l'entropia non è la forza di una singola forza della password, ma piuttosto il metodo.Il metodo in questo caso è "lasciare che molti umani scelgano il proprio PIN" e impedire loro di fare determinate scelte migliora questo metodo.Ovviamente il metodo più ideale è la generazione casuale di tutti i PIN.Ciò significa che il PIN 1111 ha una diversa autoinformazione (che sarebbe spesso chiamata "entropia" anche se non lo è) a seconda del metodo di generazione.Questo è almeno puramente, matematicamente parlando.
Ora le mie osservazioni sulle collisioni sono per confrontare i PIN con le password, beh, in un certo senso quello che volevo dire era che molto semplicemente lo spazio di output è troppo piccolo per considerare anche l'entropia.Ancora una volta stiamo parlando del metodo e nel migliore dei casi tutti i difensori generano casualmente i loro PIN.Quindi l'attaccante, anche indovinando in modo casuale, avrà solo bisogno di circa 141 (secondo le formule di wikipedia) ipotesi per indovinare correttamente il PIN di qualcuno, il 50% delle volte che si gioca a questo gioco.
In breve, ho spiegato la matematica dell'entropia e che, dato il metodo di generazione, la rimozione di PIN evidenti come 1111 la migliora in base a ciò che ci aspettiamo che le persone facciano, ma la diminuisce se immaginiamo che le persone si comportino perfettamente.Ma la vera difesa qui sta nel limite di 3 tentativi e nella fortuna che l'attaccante, rubando la tua carta, non indovinerà il tuo particolare PIN al primo tentativo.
@Tgr Ma il difensore seleziona solo * una volta *.L'attaccante seleziona tutte le volte che desidera.
Dmitry Grigoryev
2017-04-04 14:37:46 UTC
view on stackexchange narkive permalink

Dipende da come viene creato il PIN:

  • Se il PIN è generato , assicurati che la distribuzione sia uniforme e non escludere qualsiasi combinazione. Ciò massimizzerà l'entropia.

  • Se il PIN viene scelto da un operatore umano, ha perfettamente senso escludere alcune combinazioni. Non mi spingerei a rifiutare la metà delle combinazioni, ma se lo fai, dovresti anche considerare di rifiutare i PIN che iniziano con 0 1 e 2 (pensa agli anni e alle date di nascita) quindi i PIN corrispondenti ai layout dei tasti fisici come 2580 e 1379 e così via. Assicurati solo di smettere prima di finire per consentire un unico PIN 8068 che questo studio ha ritenuto essere il meno probabile.

Quello che dovresti fare per i PIN scelti dall'uomo è escludere le combinazioni più comuni: 1234 e 1111 da soli rappresentano quasi il 17% di tutti i PIN in uso e i 20 PIN più popolari rappresentano quasi il 27%. Questi includono ogni cifra ripetuta 4 volte e combinazioni popolari come 1212 e 4321.

Modifica: a pensarci bene, penso che dovresti escludere i più comuni combinazioni in ogni caso. Anche se il tuo PIN viene generato casualmente, l'attaccante potrebbe non saperlo, nel qual caso molto probabilmente proverà prima quelle combinazioni.

La tua modifica è molto meglio del tuo commento originale.Ciò che conta è * l'algoritmo dell'aggressore *.Poiché gli aggressori devono controllare l'intero insieme di combinazioni, non solo il sottoinsieme da cui questa particolare persona sta scegliendo, è l'entropia della prima, non la seconda, che conta.
techraf
2017-04-04 06:11:49 UTC
view on stackexchange narkive permalink

L'entropia è una proprietà del metodo di generazione della password, non la password.

Se decidi di eliminare le cifre ripetute, questa decisione abbassa l'entropia rispetto alla generazione di una sequenza casuale.

In effetti, qualsiasi cosa ti venga in mente avrà un'entropia inferiore rispetto alla generazione di una sequenza casuale.


E se ritieni che una password generata casualmente 1111 abbia una bassa entropia ed è quindi più facile da usare con la forza bruta, basta andare in qualsiasi luogo di gioco e scommettere su 1 quattro volte di seguito: dovrebbe essere una vittoria sicura.

Sebbene la sequenza "1111" sia probabile quanto qualsiasi altra, io suggerirei che sia una sequenza che ha più probabilità di essere indovinata dagli aggressori, e quindi saresti più sicuro se la evitassi.
I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (http://chat.stackexchange.com/rooms/56589/discussion-on-answer-by-techraf-when-choosing-a-numeric-pin-does-it-help-or-hur).Eventuali ulteriori commenti dovrebbero essere inseriti lì - qualsiasi commento qui verrà cancellato.
Vorrei anche notare: l'osservazione è un fattore.È molto più facile dire che premi lo stesso tasto 4 volte e quale tasto è che se ne stai premendo diversi.
Come dici tu, l'entropia è una proprietà del metodo di generazione delle password e quando il metodo più comune per generare PIN è per scelta umana, vale la pena evitare le password più comuni.Se scrivo un programma per generare una password casuale di caratteri casuali di lunghezza casuale, in teoria ho davvero una buona entropia, ma se quel programma sputa "password" per caso, è comunque una buona idea scartare quel risultato poiché ill'attaccante non saprà o non si preoccuperà del fatto che l'ho generato in modo casuale
Quindi, se volessi un numero pin di 4 cifre per la tua auto e il generatore di pin casuale scegliesse "1111", lo useresti?Se parliamo di forzatura bruta in cui i pin vengono indovinati a caso, hai ragione che non farebbe alcuna differenza, ma nel mondo reale usare "1111" sarebbe un po 'come lasciare sempre la macchina sbloccata.
@Jojodmo Si prega di citare la frase pertinente dalla risposta che ti ha fatto pensare che lo avrei fatto.
"_L'entropia è una proprietà del metodo di generazione della password, non la password._" L'entropia è una proprietà della superficie di attacco, non il metodo di generazione della password.Questo errore concettuale porta a una difesa molto poco ragionata di includere "1111" quando questo è letteralmente il primo PIN che la maggior parte degli aggressori proverà.Vedi [Commento di @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) per una migliore caratterizzazione dell'entropia.
Xiong Chiamiov
2017-04-04 10:30:50 UTC
view on stackexchange narkive permalink

Limitare il pool di numeri disponibile riduce il numero di possibili soluzioni, rendendolo meno sicuro.

Ripetere le cifre è una debolezza umana comune quando si scelgono i codici pin, il che significa che verrà provato per primo dagli aggressori. Pertanto, escludere numeri ripetuti aumenta la sicurezza.

Come spesso accade, la decisione ha vantaggi e svantaggi a seconda dell'attacco specifico contro cui ti difendi. Probabilmente non dovresti pensarci troppo e considerare cambiamenti di prospettiva più ampia (come non usare un pin a 4 cifre, o aggiungere un secondo fattore, o avere blocchi su tentativi errati) se vuoi aumentare la sicurezza del sistema.

Penso che il secondo punto sia una preoccupazione maggiore.Ma non evitare cifre ripetute.Evita schemi "ovvi": 1234, 4321. Ovviamente avevo la carta di credito di Bruce Schneier, potrei provare qualsiasi combinazione casuale che invece non fosse un modello ovvio.Se sei meno conosciuto, penso che sia meglio evitare le password "facili".
@dave In questo modo si trova [paradosso] (https://en.wikipedia.org/wiki/Interesting_number_paradox). .
@dave Quindi, se l'attaccante conosce Bruce Schneier, il suo account è * più sicuro * con un PIN comune e ovvio.Interessante.
@DavidRicherby True!Immagino che l'idea di interi "non interessanti" sia convincente solo quando si pensa agli interi come un insieme ordinato solo parzialmente (con nessuno degli interi "non interessanti" con un ordinamento definito).
"Limitare il pool di numeri disponibili riduce il numero di possibili soluzioni, rendendolo meno sicuro."- Questo è abbastanza sbagliato, perché il pool non è stato ridotto, ma solo quello che l'OP sceglie di prendere dal pool.Questa differenza è essenziale perché * l'attaccante deve affrontare l'intero pool * e non sa che l'OP ha limitato la sua scelta a meno che l'attaccante non stia leggendo questa pagina, sappia chi è l'OP e personalizzi il suo attacco di conseguenza.
Dakkaron
2017-04-04 21:16:50 UTC
view on stackexchange narkive permalink

Mi sembra che la maggior parte delle altre risposte si concentri sul tipo di attacco sbagliato.

Poiché abbiamo a che fare con uno scenario molto specifico (immissione manuale del PIN), possiamo ottimizzare la generazione del PIN per i possibili scenari di attacco.

Dictionary Attack

Da quello che posso dedurre dalla domanda, stiamo parlando di input manuale del PIN, quindi l'attaccante deve digita ogni PIN che provano. Quindi un attacco di forza bruta potrebbe richiedere un po 'di tempo (diciamo, hai bisogno di due secondi per ogni PIN che provi, ci vorranno in media quasi tre ore). Questo è possibile, ma non l'approccio più intelligente.

Quindi, quando un attacco di forza bruta non è fattibile, puoi invece provare un attacco con dizionario. Qui provi prima i PIN più comuni. Se questo fallisce, puoi sempre ricorrere a un attacco di forza bruta in seguito. Con gli attacchi al dizionario, l'entropia non ha più molta importanza. Qui è importante se la password è nel dizionario o meno. Poiché molto probabilmente l'autore dell'attacco non dispone di un vero e proprio dizionario dei PIN comuni, dovrà elaborare il proprio dizionario al volo. Ciò significherebbe che il dizionario sarà probabilmente piuttosto breve e orientato allo schema. I possibili PIN nel dizionario sarebbero:

  • PIN consecutivi (ad esempio 0123 o 1234)
  • PIN con quattro volte la stessa cifra (ad esempio 2222)
  • forse anche PIN con solo tre volte la stessa cifra

Eliminando queste poche password non riduci di molto la dimensione dello spazio delle chiavi ma puoi difenderti facilmente dagli attacchi del dizionario. Strategie simili sono utilizzate da siti web che non ti consentono di utilizzare password comuni o facili da indovinare (ad esempio, utilizzando il nome utente come password)

Brute Force Attack

Successivamente possiamo provare a ottimizzare contro possibili attacchi di forza bruta. Questo potrebbe aiutare molto meno per un costo maggiore, quindi potrebbe non valerne la pena. Esistono due strategie principali su come un aggressore umano può eseguire attacchi di forza bruta: inserire semplicemente PIN casuali o iniziare con 0000 e contare (o 9999 e conto alla rovescia). Quindi PIN come 0001 o 9998 potrebbero essere una cattiva scelta poiché qualcuno che esegue un attacco di forza bruta potrebbe trovarli piuttosto rapidamente. Quindi forse escludi i PIN che iniziano con 0 o 9.


Seguendo queste regole non dovresti perdere troppe password possibili, ma potresti essere in grado di rafforzare il tuo PIN contro le strategie di attacco più comuni per questo specifico scenario .

"Quindi forse escludi i PIN che iniziano con 0 o 9."Non sono d'accordoL'esclusione di questi PIN renderebbe solo l'attacco di forza bruta più lungo, ma prima o poi l'attaccante passerà attraverso il numero PIN necessario.Escluderli ridurrà solo l'entropia.
All'inizio, a fronte di prestazioni sufficienti, ogni chiave è bruteforceable.Il punto centrale nell'usare tasti più lunghi è rallentare l'attaccante abbastanza a lungo da rendere un attacco non attuabile perché impiega così tanto tempo.Lo stesso vale qui.Se il tuo aggressore di forza bruta impiega almeno 1000 tentativi (a 2 secondi una prova che è di circa mezz'ora) è molto meglio di ad es.100 tentativi.Inoltre, se c'è un limite alla velocità di immissione dei tasti, questo può essere migliorato drasticamente, ad es.con 10 secondi di attesa tra una prova e l'altra si ha un minimo di 2,7 ore.È molto tempo per cercare di aprire una serratura senza essere scoperti.
northerner
2017-04-04 15:23:28 UTC
view on stackexchange narkive permalink

Non ho abbastanza da commentare ma ho una raccomandazione. I PIN digitati utilizzando un singolo pulsante (o un semplice schema di pulsanti) sono più facili da osservare da un surfista spalla. Alle elementari l'insegnante pensava di avermi fatto un favore impostando la mia password 4321 e un idiota ha guardato il mio dito muoversi in linea retta e ha detto a tutti la mia password.

Consiglio di fare un elenco di PIN deboli che sono suscettibili a questo, quindi sottraendoli da PIN generati completamente in modo casuale.

Questo!A seconda di cosa viene utilizzato un PIN: quale tastiera viene utilizzata e chi può osservare, un PIN a una cifra può essere potenzialmente facilmente indovinato.Se ti rendi conto che tutte e 4 le cifre erano le stesse ed era nell'angolo superiore, allora è solo questione di provare 1111, 2222, 4444 e 5555. Il movimento delle dita apparentemente casuale rende molto più difficile indovinare.
@MatthieuM.OTOH, se sono tutti su tutta la tastiera, hai premuto 1-1-6-8, 1-6-6-8, 1-6-8-8, 1-1-8-8, ecc. Penso cheè molto più difficile da discernere per un "surfista spalla" rispetto a 4-3-6-9.
J.A.K.
2017-04-04 21:57:29 UTC
view on stackexchange narkive permalink

Dipende dall'implementazione. L'eliminazione di numeri consecutivi ridurrà lo spazio delle chiavi dello 0,1%, ma ha alcuni vantaggi per la sicurezza fisica che potrebbero far valere il compromesso.

Molte buone risposte intelligenti qui, punto principale essendo che invece di renderlo più sicuro, stai riducendo lo spazio dei tasti (comunque negativamente, 10 su 10.000).

Le risposte migliori tuttavia non toccano l'aspetto fisico dell'inserimento di un pin. L'estrazione visiva e termovisiva sono un vero pericolo in questi giorni. In altre parole, i malintenzionati navigano sulle spalle del tuo codice PIN con gli occhi, un telescopio, una telecamera per scremare sull'ATM o persino una termocamera.

Quest'ultimo è più recente, e particolarmente sgradevole in quanto uno schiumatoio può avvicinarsi a uno spillo e guardare l'indicazione del calore, anche se lo hai coperto bene.

Avendo un pin consecutivo danneggerà la sicurezza in quest'area; riduce la complessità della posizione fisica dei numeri di una quantità orribile. Anche se hai coperto la tua mano, è probabile che l'attaccante indovini il pulsante che hai premuto quattro volte prima che si verifichi un blocco. Su un telefono, se c'è una grossa macchia di grasso sullo zero, quella è quella che proverò per prima.

"Molte buone risposte qui, il punto principale è che invece di renderlo più sicuro, stai riducendo lo spazio delle chiavi (comunque negativamente, 10 su 10.000)."- no, quelle sono risposte negative, perché limitare il set di chiavi da cui scegli non riduce il keyset, che è il set da cui * potresti * scegliere e di cui ogni utente malintenzionato deve tenere conto, a meno che tu non abbia detto loro che lo staiomettendo alcune combinazioni e adattano il loro attacco solo per te.
Marcel
2017-04-04 10:51:24 UTC
view on stackexchange narkive permalink

Sul mio telefono, il PIN utilizza deliberatamente uno dei numeri due volte di seguito, in modo da renderlo più difficile da indovinare perché:

  • La quantità di "macchie di grasso" non corrisponde il numero di cifre
  • Un "surfista spalla" avrà un tempo (un po 'più difficile per distinguere il doppio tocco dal singolo tocco

Addendum: il telefono in questione consente una lunghezza personalizzata del PIN, quindi un utente malintenzionato (non osservando l'immissione del PIN) non conosce il numero di cifre in uso.

Se le macchie di grasso sul tuo telefono mi dicono che il tuo pin a n cifre usa n cifre diverse, ci sono n!possibili perni.Se le macchie di grasso mi dicono che utilizza (n-1) cifre e so che il tuo telefono ti fa toccare due volte una delle cifre, ci sono (n-1) (n-1)!possibilità, _che è un numero minore_.Fallimento epico.
Azzarderei anche l'ipotesi che, in alcuni casi, sarebbe facile vedere quale cifra è stata ripetuta da quanto sia diversa la macchia.Sicuramente ho visto serrature con bottoni di metallo con una cifra usurata rispetto alle altre.
Se vedo una grossa macchia di grasso sullo zero di un telefono, scommetto soldi su quale sia il loro pin.
@DavidRicherby Tranne le macchie di grasso * non * ti dicono che usa (n-1) cifre.Guardare le macchie di grasso non ti dice se la password era 1-1 o 1-1-1-1-1-1.Inoltre non sai se c'è stato un doppio tocco o meno.Consentire le ripetizioni ti dà uno spazio di n! ^ N!Qualsiasi numero premuto può essere nella sequenza finale un numero qualsiasi di volte.
@Shane Se è un PIN, è di lunghezza fissa, che posso scoprire indovinando le cifre.E dovremmo sempre presumere che l'attaccante conosca le regole applicate dal sistema come "Il PIN deve essere composto da tre cifre con una di esse ripetuta".Inoltre, non sono sicuro di dove ottieni n! ^ N!a partire dal.Se la password ha una lunghezza $ k $ e ci sono $ n $ opzioni per ogni cifra, ci sono al massimo $ n ^ k $ diverse possibilità.Se non ci sono limiti sulla lunghezza possibile, ci sono infinite password possibili.
@DavidRicherby Hai ragione, n! ^ N!era una cosa stupida da dire.Il punto è che se qualcuno ti sta osservando segretamente mentre premi i pulsanti, sa quali pulsanti hai premuto e in quale ordine.Senza ripetere le chiavi * conoscono già la tua password *.Se hai usato i tasti di ripetizione, non lo fanno.Se so che hanno premuto 1-4-7, non so se la loro password è 1147, 1447, 144447 o 1477. Se so che hanno premuto 1-4-6-9, so che la loro password è 1469. Ovverola differenza tra la tua carta bloccata e qualcuno che ti ruba i soldi.
@DavidRicherby Un pin a 4 cifre con le cifre [1,2,3,4] ha 24 possibilità.Un pin a 4 cifre con le cifre [1,2,3] ha 36 possibilità.
I PIN @Shane hanno una lunghezza fissa.Se è un PIN di quattro cifre, è 1147, 1447 o 1477. Oh no, in media ci vogliono due tentativi invece di uno.
@JoeFrambach No, un PIN di 4 cifre con cifre 1, 2, 3 ha 18 possibilità: 1123, 1132, 2113, 3112, 2311, 3211, 2213, 2231, 1223, 3221, 1322, 3122, 3312, 3321, 1332, 2331, 1233, 2133.
@DavidRicherby Mancano 1213, 1312, 2131, 2132, 2123, 3123, 3213, per i principianti
Come OP: Grazie per questo ampio dibattito, sembra un argomento molto controverso.Il dispositivo in mente quando si scrive la risposta consente lunghezze personalizzate del pin, il mio è in realtà più lungo di 4 cifre.
@JoeFrambach La risposta sta parlando di PIN in cui la cifra ripetuta deve essere presente due volte di seguito, anche se non l'ho menzionato in tutti i miei commenti.
Questa risposta non sembra tentare di * rispondere * effettivamente alla domanda dell'OP.Sembra solo un buon consiglio.
@ Quelle supposizioni extra sono la differenza tra la tua carta bloccata e il tuo conto bancario vuoto.
JDługosz
2017-04-04 12:36:30 UTC
view on stackexchange narkive permalink

Dovresti fare un elenco specifico di "chiavi deboli" in anticipo , che sono ciò che qualcuno proverebbe a indovinare. Questo include date importanti, indirizzi, ecc. E può includere 1111 se le persone volessero provarci quando indovinano.

Quindi fai un'estrazione casuale e filtra in base alla (breve) lista . Se l'elenco non è breve ma sistematico (ad esempio, nessuna cifra ripetuta, nessuna data legale), si finisce con troppe poche possibilità che iniziano a rendere più facile indovinare di nuovo.

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

Nel 2012, un ricercatore ha compilato un elenco dei codici PIN più popolari da una serie di violazioni dei dati. Quello che ha scoperto è che i PIN più popolari erano:

  1. Sequenze, come 1234 o 7777
  2. Date, come 2001
  3. Riferimenti alla cultura pop, come 0007 (dal numero di codice 007 di James Bond)
  4. Facile da digitare , come 2580 (numeri che giacciono in linea retta su molte tastiere)

Ecco i primi 20 (che non include tutti gli esempi forniti sopra): Top 20 most popular PIN codes. 1234, 1111 and 0000 comprise the top three.

Quindi, le sequenze sono cattive. Così sono i PIN che sono facilmente memorizzabili senza un mnemonico. Tuttavia, anche i pin che hanno la stessa cifra più di una volta non sono necessariamente cattivi.

Caso in questione:

All'altra estremità della scala, il meno frequentemente Il numero usato che ho trovato nel mio set di dati era 8068. Di tutte le combinazioni di numeri, questa sembrava essere la meno interessante. Non è una data nella storia, non è uno schema, non è un compleanno, non è facile da digitare. È la spilla perfetta ... o lo sarebbe stata fino ad ora.

Quindi ora lo sai.

shwew!il mio non è sulla lista!
AMADANON Inc.
2017-04-11 09:32:43 UTC
view on stackexchange narkive permalink

Potrebbero esserci alcuni attacchi che variano in efficacia, a seconda del numero di cifre ripetute.

Ad esempio, supponiamo che qualcuno applichi una leggera polvere sulla tastiera del tuo sportello automatico. Metti la tua carta, ti copri le mani mentre digiti il ​​tuo spillo, controlli il tuo saldo e poi te ne vai. Mentre vai, qualcuno ti prende in tasca, prende la tua carta.

Ora hanno la tua carta e possono vedere quali pulsanti hanno la loro spolverata disturbata: conoscono le cifre, ma non l'ordine.

Se vedono che hai premuto le cifre 2, 3, 6 e 8, il tuo PIN potrebbe essere uno dei seguenti:

  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 possibilità. Con 3 tentativi, hanno 1/8 di possibilità di indovinare.

Ecco le possibilità con 4 cifre, una delle quali viene ripetuta: 2, 3 e 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  

Ce ne sono 36. Le probabilità di indovinarlo in 3 tentativi sono 1/12. Probabilità migliori!

Riproviamo, questa volta con solo due cifre:

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

14 combinazioni, oltre 1/5 di possibilità di indovinare con 3 tentativi.

Ovviamente, con una sola cifra, c'è solo una soluzione, e si può indovinare subito.

Ovviamente, se le cifre nel tuo pin sono 1, 6 e 9, immagino che sei nato nel 1961, 1966, 1969 o 1996 - se ti vedo andartene, dovrei essere in grado di indovinare se hai 21 o 48ish, il che significa che 3 ipotesi sono probabilmente tutto ciò di cui ho bisogno.

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

Hai ragione sul fatto che le regole per rimuovere i pattern danneggerebbero il tuo spazio chiave, ma non abbassano nulla di entropia poiché l'entropia proviene dal tuo hardware, la tua macchina TRNG può emettere una cifra ripetuta di tanto in tanto.

In matematica, se non vuoi vedere una cifra ripetuta come 9 in "0919", la tua matematica è corretta, ma se intendi una cifra ripetuta come 9 in "0991" ti rimane 7190 su 10000.

Ma a seconda di cosa stai pensando con "quattro cifre contenenti una proprietà o un modello", lo riduci ulteriormente, rimuovi qualsiasi modello come "12", 321 "o" 34 ", rimuovi tutti i numeri non primi, quindi hai solo una manciata (~ 300 su 10000) di numeri non interessanti.

Perché rimuovere i non primi?Penso che i numeri primi siano matematicamente più interessanti.
Stavo per rimuovere tutto ciò che è divisibile per 2, quindi tutto ciò che è divisibile per 3, poiché sono più facili da ricordare, e l'ho preso completamente.Ma hai ragione alcune persone potrebbero memorizzare numeri primi inferiori a 10000 quindi dovrebbero essere rimossi anche dal pool, questo ci lascia con numeri che non sono primi e non sono nemmeno divisibili per altri numeri: D
EL Dendo
2017-04-04 19:30:35 UTC
view on stackexchange narkive permalink

Evita di utilizzare la stessa cifra consecutiva. Il ritardo tra la stessa cifra sarà più breve del ritardo tra cifre diverse (poiché il dito è già sul pulsante), fornendo informazioni importanti.

Si prega di indicare il motivo per cui ho votato negativamente la mia risposta ...
Non ho downvote, ma questo sembra presupporre un particolare modello di minaccia che non ha sollevato un problema.Cioè, si presume che l'aggressore abbia un meccanismo per sincronizzare i tuoi schemi di pressione dei tasti senza effettivamente osservare il dispositivo.Sono vagamente consapevole che la tecnologia esiste per fare osservazioni come questa quando si digita su una tastiera, ma non mi è chiaro se il PIN dovrebbe andare in una tastiera per cominciare.
@jpmc26 Certamente è stato sollevato;si veda, ad esempio, il commento di David Wallace sotto la domanda del PO.Per quanto riguarda la tua supposizione richiesta, guardare le dita di qualcuno o anche solo la sua mano da lontano mentre la visualizzazione delle effettive pressioni dei tasti è bloccata.Per quanto riguarda la "tastiera", l'OP ha scritto nella sua modifica "serrature programmabili, pannelli del sistema di allarme, tastiere per porte da garage, ecc."
infatti parlavo per esperienza: stavo digitando un codice mentre un collegae non poteva vedermi le mani ma sentirmi battere su una tastiera.Successivamente mi ha detto quali cifre consecutive erano le stesse.
Dylan
2017-04-04 06:34:34 UTC
view on stackexchange narkive permalink

I pin a 4 cifre si rompono facilmente in pochi secondi con l'attrezzatura giusta. Perché usare un pin così ridicolmente corto quando exploit come Reaver hanno dimostrato che 4 cifre non sono sufficienti (supponendo che il tuo pin possa essere forzato)

E se non può essere forzato bruto, di cosa ti preoccupi ? Le stranezze di qualcuno che indovina sono ancora 1 su 10.000, indipendentemente dal fatto che il pin sia 1743 o 1111. Stai correndo un rischio sempre con un pin più corto, e sarebbe sconsigliato non accettare sequenze ripetute mentre sei drasticamente abbassando l'entropia.

Se la tua mente è impostata su questo, però, potresti semplicemente assicurarti che il tuo generatore continui a produrre valori fino a quando non ha una cifra univoca in ogni posizione. Questo metodo sembrerebbe più logico per ciò che stai cercando di ottenere e non ridurrà l'entropia se permetti ancora, ad esempio, di generare 1111 sebbene non utilizzato (generando ripetutamente numeri finché non ne trova uno con una cifra univoca in ciascuno posizione e buttando via quelle che non lo sono)

"_non ridurrà l'entropia se permetti ancora, ad esempio, di generare 1111 sebbene non venga utilizzato_".Completamente falso.Non importa se non si prendono mai in considerazione i PIN con cifre ripetute o se vengono rifiutati se vengono generati: l'effetto netto è uno "spazio PIN" di metà della dimensione potenziale, quindi un'entropia ridotta.
lol no, se scegli 1234 per il tuo PIN c'è una probabilità molto maggiore che un utente malintenzionato lo indovini nei primi due colpi, dato che è il PIN più comune.Ricorda che gli aggressori sono umani.
@TripeHound Ma questo presuppone che l'avversario sappia che le sequenze ripetute non sono consentite ... E tecnicamente l'entropia rimarrebbe la stessa.Hai torto.
@Dylan No, ti sbagli.Lo schema che hai descritto è solo un campionamento del rifiuto per produrre la distribuzione uniforme su qualche sottoinsieme dei 10 ^ 4 possibili pin.L'entropia di una distribuzione dipende solo dalla distribuzione, non dal metodo utilizzato per campionare da essa.(Ad esempio, l'entropia della distribuzione dei numeri generata tirando un dado a 4 facce è esattamente la stessa dell'entropia della distribuzione generata tirando un dado a 6 facce e rilanciando 5 e 6, perché è la stessa distribuzione. Questo è essenzialmente quello che stai facendo qui, solo con un dado da 10.000 facce.)
Dylan ha ragione (non sul 1234, ma sul sottoinsieme) e TripeHound è completamente sbagliato.Lo "spazio PIN" è l'insieme di possibili pin, quello di cui un utente malintenzionato deve tenere conto, non il sottoinsieme da cui seleziona l'OP, che è sconosciuto all'attaccante (a meno che non stia leggendo questa pagina, conosca l'OP e personalizzi il suosecondo attacco).David Richerby commette lo stesso errore, confondendo un sottoinsieme filtrato dello spazio campionario con lo spazio campionario, che rimane lo stesso.
@JimBalter Sebbene un utente malintenzionato non saprà _sempre_ che lo spazio di attacco è stato limitato, _ a volte_ lo farà (specialmente per qualsiasi sito moderatamente popolare).Uno dei principi alla base della sicurezza è non fare affidamento sull'oscurità, quindi devi pianificare il peggio e presumere che lo sappiano.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...