Penso che il riferimento migliore sia NIST SP 800-63 Appendice A , che espone la teoria e i calcoli. Il NIST presuppone che la strategia difensiva dominante sia l'entropia e che le password con entropia massima siano le più forti. I pagliai per le password di Steve Gibson mettono in discussione tale ipotesi e asseriscono che la lunghezza è più importante della complessità o dell'entropia (in parte a causa della magia di hashing). Per i tuoi scopi, penso che sia sufficiente presumere che la forza di una credenziale di autenticazione (password / passphrase / etc.) Sia derivata sia dalla lunghezza che dall'entropia.
Una frase è più strong perché è più lunga. Certo, il testo inglese è altamente ridondante Circa 1 bit di entropia / carattere , la maggior parte degli attaccanti non riuscirà a trarre vantaggio di quella entropia. Sono stato fuori dal pentimento per circa cinque anni, ma nel momento in cui ho fatto l'ultimo pentesting, gli strumenti di attacco presumevano che la password fosse più simile a una parola che a una frase. La lunghezza della password per entropia non è una funzione lineare per motivi che Henning Klevjer ha spiegato abbastanza bene e l'attacco gli strumenti sfruttano queste limitazioni. (IIRC, i problemi sollevati da Klevjer possono comportare un aumento di 100 volte della velocità di cracking della password).
Sulla base di questi presupposti, la frase come passphrase è particolarmente strong. Come altri hanno sottolineato, i ricercatori hanno attaccato le passphrase, ma non sono a conoscenza di alcuna informazione pubblicata che gli hacker del mondo reale abbiano fatto.
Tuttavia esiste una limitazione significativa della passphrase. La parte relying (il sito a cui si sta autenticando), deve accettare una passphrase. Nella mia esperienza personale una frazione significativa, forse la maggior parte dei siti di autenticazione non accetterà una frase come passphrase. (Gradirei chiunque possa indicarmi numeri rigidi su questo) Molte implementazioni di password rifiutano esplicitamente le password di più di 16 caratteri, o troncano passphrase più lunghe alla lunghezza desiderata.
Esaminando a turno i casi d'uso:
1) computer di casa - Dipende dal tuo sistema operativo, ma ci sono meccanismi di autenticazione senza password che sono molto più forti e molto più semplici. (token biometrici e hardware, ad es. Yubikey )
2) Account Internet (e-mail, negozi online, social network, ...) - Dubito che sarai in grado di utilizzare una passphrase frase. Molti se non la maggior parte di questi non accetta una passphrase - la tua unica speranza è di massimizzare l'entropia della password che fornisci e di evitare di riutilizzare la password
3) Internet Banking: come sopra, è improbabile che accetti una passphrase. Tuttavia, il numero crescente di siti Web accetta l'autenticazione a due fattori da RSA o Yubikey o softkey come Google Authenticator.
4) Memorizzazione di dati altamente sensibili - Non sono sicuro di cosa intendi qui. Se si memorizzano dati altamente sensibili, la soluzione migliore è offline o crittografata. Se stai parlando di crittografia reale, allora una frase dovrebbe essere più strong, se il prodotto di crittografia lo accetterà. Personalmente, opterei per l'autenticazione a due fattori qui e salta la password.
Si noti inoltre che la forza della password non ha senso se la parte relying ha un'implementazione cerebrale - per esempi vedere Sarah Palin Hack o Mat Honan . La tua massima entropia non può proteggerti da una parte relying negligente. Se si rendono sufficientemente credibili le credenziali di autenticazione, un attaccante designato ricorrerà a un metodo alternativo (ovviamente è possibile che gli sia costato tempo e scoraggiare l'aggressore opportunista). In questi casi è necessario dedicare attenzione ad entrambi, evitando il compromesso e rilevando / recuperando dal compromesso. Ma questo è al di fuori della portata della tua domanda.
Per favore non essere distratto dall'obiettivo - se il tuo vero obiettivo è una strong autenticazione, allora la soluzione migliore è usare un federato credenziali di identità con un alto livello di sicurezza e utilizzare un'autenticazione a due fattori per tale identità.