L'entropia è una misura standard della complessità di una generazione di password. Il modo standard per calcolare l'entropia consiste nel prendere la probabilità p di una password generata e prendere la somma di p * log2 (p) per ogni password nell'insieme di possibili password. Questa entropia misura la complessità in base a come viene generata la password o ad un attacco peggiore (ad esempio, non stiamo cercando di calcolare l'entropia di rolling 6,2,6,3 su un die caricato, ma l'entropia della distribuzione che ha portato a quei numeri che si arrotolano). L'entropia qui non sta misurando il modo in cui la password resisterà alla forza bruta, ecc.
Tuttavia, per le password con pattern (distribuzione non uniforme), l'entropia di Shannon non è una misura accurata di ipotesi, dal momento che due numeri casuali possono avere la stessa entropia ma si può agire in modo molto più prevedibile se hanno distribuzioni diverse. Quando le entropie sono simili, la distribuzione con la distribuzione meno uniforme (l'aspetto meno casuale) è sempre meno sicura.
Ad esempio, considera i seguenti schemi con la stessa entropia di Shannon ma diversi livelli di sicurezza: lancia una moneta ripetutamente e conta il numero di code che si ottengono, fermandosi quando le teste si avvicinano per prime. Guardando la distribuzione di probabilità, i numeri qui generati hanno un'entropia di Shannon di 2 bit. Grande! Ciò significa che questo schema è sicuro quanto due coin flip indipendenti, giusto? Non proprio. Se ci pensi, il 50% dei numeri generati nel primo schema sono 0 (teste al primo capovolgimento), e hai una probabilità totale di 1/3 di due utenti che ottengono lo stesso risultato usando lo schema. Due lanci di monete indipendenti, d'altra parte, dà una probabilità di 1/4 di produrre ogni numero, per una probabilità del 25% di due utenti ottenere lo stesso risultato. (La matematica per calcolare la probabilità di tale collisione non è complicata ma richiede di conoscere la frequenza di ogni possibilità, come spiegato qui ). L'entropia fornisce una figura fuorviante per la sicurezza del primo schema.
Che cosa succede quando una password viene generata utilizzando un processo casuale che non utilizza una distribuzione uniforme, o una distribuzione non facile da descrivere o che mappa con risultati ugualmente probabili, come ad esempio:
- Uno schema per scegliere frasi lunghe prese da un corpus inglese di grandi dimensioni
- Uno schema per generare una password basata su mnemonico
- Rotolare un dado caricato 15 volte
Come confronti la forza delle password casuali ma non uniformemente generate come queste alle password generate da distribuzioni uniformi? L'entropia si applica? Qualcos'altro è un sostituto largamente accettato? Nei miei esperimenti l'entropia non è completamente accurata, ma fornisce comunque una stima approssimativa della forza della password.
Inoltre, non sto chiedendo come viene calcolata l'entropia (ho già detto sopra), se applichiamo l'entropia alla singola password o alla distribuzione, o all'entropia delle password create in modo non casuale dagli utenti. A differenza della risposta che dice che tutto si riduce a "in quale dizionario è la tua password" (che è citato come una ragione per essere un duplicato), questa domanda presuppone che la distribuzione non sia uniforme, o in altre parole, ogni password non è altrettanto probabile. Non sto nemmeno chiedendo la sicurezza di questi sistemi e sono ben consapevole del fatto che i pattern rendono le password più deboli. Sto cercando di capire il modo migliore per quantificare la sicurezza di questi schemi per rispondere a domande come questo .
Nota: questa domanda è stata chiusa come duplicata, sebbene alcune di queste domande non siano affrontate accuratamente dalle risposte collegate (es. come calcoli la forza di una passphrase di 4 parole in cui la frase è presa dal corpus COCA?) Ho modificato la domanda per affrontare questi punti. Se ritieni che questa domanda debba essere riaperta, vota per riaprirla, e se pensi che questa domanda sarebbe meglio se fosse più specifica, ti preghiamo di dirlo.