Linee guida per la dimensione del registro delle password nei dispositivi incorporati

3

Sto lavorando a un progetto di sistemi embedded per la scuola in cui è necessario memorizzare una password (o chiave, qualunque sia). L'idea è che questo progetto dovrebbe alla fine essere riducibile all'hardware di metallo nudo e fabbricato su una scala estremamente grande. Per questo motivo, ogni bit conta in termini di costi.

Anche questo sistema dovrebbe essere altamente sicuro. Ci saranno blocchi password, ritardi, ecc., Ma la dimensione della password (o chiave, non c'è ragione di aspettarsi che la chiave debba essere inserita da un essere umano) è di importanza fondamentale, poiché il progetto inizia con autenticazione fattoriale (aggiunta MFA in seguito).

Domanda

Voglio semplicemente consentire all'utente finale spazio (bit) sufficiente per creare una password sicura. Ad esempio: mi costa 6 centesimi per ogni 8 bit aggiuntivi di una password. Decido di spendere solo i 6 centesimi e all'utente è consentita una password di 1 carattere, che possono scegliere - cattive notizie. Per lo stesso motivo, vorrei evitare di acquistare 800 bit per $ 6 se una password di 400 bit per $ 3 sarebbe sufficiente. Esistono linee guida ufficiali o SOP sulla dimensione della password e resistenza agli attacchi brute-force?

    
posta agentroadkill 09.04.2016 - 01:58
fonte

2 risposte

1

Ricorda che entropy è un attributo di una password, ma non è la password stessa. È necessario un modo coerente per trasformare una password in quella quantità di entropia. Normalmente, questo viene fatto attraverso una funzione di hash, come SHA256. (Per un sistema meno sicuro dei bit su un chip, in cui i bit possono essere esposti tramite hacking come un database su un server Web, è comune utilizzare una funzione di hashing della password per scopi speciali, come PBKDF2.)

SHA256, per definizione, produce 256 bit di output. Ovviamente, non si desidera memorizzare 256 bit se è necessario solo memorizzare l'entropia di una password sicura. Quello che puoi fare è stimare la capacità di un attaccante credibile e troncare l'output su quello.

Per implementare questo, eseguire la password tramite l'algoritmo hash e salvare solo i primi n bit dell'output. Le proprietà di un algoritmo di hash moderno includono la proprietà che un singolo bit di cambiamento nell'input produrrà una distribuzione statisticamente casuale di bit nell'output. Ciò significa che se indovino che la password è AAAAAA, allora indovina AAAAAB, le uscite sono completamente indipendenti. Tutto quello che devi fare quando l'utente inserisce la loro password è eseguirlo attraverso l'hash e confrontare i primi n bit con i bit memorizzati. Le collisioni sono altrettanto improbabili quanto il numero di bit che memorizzi.

Alcuni credono che 80 bit siano sufficienti per sopravvivere a millenni di attacchi di forza bruta dati la tecnologia attuale e prossima al futuro; questo presuppone che non sia stato trovato alcun attacco indebolimento vitale nell'algoritmo. Altre persone credono che 128 bit siano abbastanza grandi da resistere a qualsiasi attacco di forza bruta. Il settore bancario si affida a 3DES per i dati relativi a carte di credito e PIN e ha 112 bit di entropia. Deciderei il budget in base a ciò che fanno gli altri nel settore.

    
risposta data 09.04.2016 - 04:41
fonte
-1

Le persone usano regole empiriche e una comprensione delle password per rispondere a questa domanda. I calcoli di entropia della password richiedono la comprensione del processo casuale utilizzato per generare le password.

Regole del pollice

Il suggerimento in questi giorni è di avere una password di 8-10 caratteri con una combinazione di lettere maiuscole, minuscole e numeri. I personaggi dovrebbero essere scelti a caso e non includere le parole o le prime lettere di una frase. Se sei veramente preoccupato per la sicurezza, potresti avere una password di 20 caratteri. Se la password contiene parole, è vulnerabile a un hack del dizionario, poiché le parole si verificano con probabilità molto diverse rispetto a caratteri scelti a caso. Anche le prime lettere di una frase in una frase si presentano in schemi più prevedibili rispetto a password realmente casuali.

Informazioni sulle password

La forzatura di una password con brute richiede ripetutamente di provare le combinazioni di caratteri. Poiché la domanda usa il termine entropia, presumo che questo sia un concetto familiare. Una password di carattere k richiederebbe 62 ^ k tentativi di trovare una password sconosciuta (dove sono presenti 56 caratteri maiuscoli, minuscoli e numeri). Idealmente, la password sarebbe una password scelta casualmente tra le 62 possibili password totali in cui tutti i personaggi appaiono con uguale probabilità. Tuttavia, molti generatori di password generano password prevedibili. Si prega di non utilizzare parole, le prime lettere delle parole in una frase o varianti comuni su temi prevedibili.

Entropia password

Entropia indica l'imprevedibilità di una password. Per l'entropia di calcolo, è necessario conoscere la password e la distribuzione con cui vengono generati i caratteri nella password. L'entropia è un calcolo semplice una volta noto. Suggerisco di utilizzare un generatore di password che generi caratteri in modo uniforme a caso (cioè con uguale probabilità) dall'insieme di caratteri (i 62 caratteri che includono l'alfabeto maiuscolo e minuscolo e i numeri). Questo ti darà la migliore entropia.

Se invece desideri generare le tue password con una distribuzione che favorisca la lettera minuscola 'a' su tutti gli altri caratteri, allora l'entropia sarà drasticamente inferiore rispetto a quando la password viene generata con uguale probabilità. Ciò significa che le password costituite solo da parole hanno un'entropia molto bassa e sono molto prevedibili.

Potresti prendere in considerazione l'istituzione di una politica di selezione della password che richiede che le password sembrino generate casualmente. Ciò aiuterà la tua entropia della password e ti farà risparmiare bit nel tuo sistema embedded.

    
risposta data 09.04.2016 - 02:42
fonte

Leggi altre domande sui tag