È veramente possibile memorizzare le password in modo sicuro, ma essere in grado di vedere la password?

14

Ogni luogo che ho guardato, la gente raccomandava che memorizzare le password tramite crittografia è come memorizzare le password in testo normale. Ma ogni posto che ho guardato, tutti consiglia di utilizzare un gestore di password come KeePass.

Credo che la vera domanda che mi pongo è: come è KeePass o altri gestori di password più sicuri di come archiviarli in testo normale?

L'unica ragione che sto chiedendo è che sto pensando di costruire un server di casa. Vorrei infine implementare un gestore di password online che invii le password tramite HTTPS a più dispositivi. Questo probabilmente sarà solo per merda e risatine. Non mi fido del mio pessimo codice su tutte le mie password. Ma mi interessa ancora come KeePass sia stato in grado di farlo.

    
posta Michael 11.05.2015 - 02:12
fonte

3 risposte

16

Il contesto è tutto.

storing passwords via encryption is like storing passwords in plain text.

Questo consiglio riguarda i programmi client che implementano un gestore di password false che memorizza la password per accedere al servizio online in formato crittografato in modo da non dover digitare la password per accedere a quel servizio. Questo tipo di crittografia è discutibile perché per consentire l'accesso a zero password, la chiave di decrittografia per lo stesso gestore di password deve essere memorizzata accanto alla stessa password crittografata, questo non ti dà più sicurezza di un semplice testo.

Un gestore di password appropriato, d'altra parte, crittografa la password utilizzando una password principale (o più comunemente, la password master crittografa la chiave master utilizzata per crittografare i dati). Questo è sicuro perché non è possibile sbloccare il gestore password senza la password principale. Ciò significa che devi digitare la password principale ogni volta che il gestore delle password getta via la chiave di decrittazione (ad es. Sicuramente per il riavvio e quando il processo di gestione delle password viene ucciso e dipende dalle impostazioni, eventualmente dalla sospensione, sospensione / sospensione o schermo spento) .

    
risposta data 11.05.2015 - 03:11
fonte
2

Ci sono alcune cose diverse da considerare qui.

1. Gestione delle password per applicazioni Web e scopi di autenticazione

Hai detto che la gente dice che "memorizzare le password tramite crittografia è come memorizzare le password in testo semplice". Io penso che cosa significano (anche se non ho idea di chi siano "loro") è che memorizzare le password in un database per scopi di autenticazione del sito Web è un'idea orribile anche se sono crittografate. Sarei d'accordo.

Avere anche una copia crittografata delle password delle persone è un'idea orribile per qualsiasi sito Web perché presenta un target adorabile. Invece, quello che dovresti fare è implementare un algoritmo di hashing unidirezionale che prende la mia password - "awfulpassword" e la trasforma in modo coerente nello stesso casuale incomprensibile come "DF5A FL23 IA92 76S4 0K7S". In questo modo hai una lista di stringhe come quella tra virgolette e senza password. E poiché gli hash sono come fare la salsiccia non si può mai ottenere la password dalla carne macinata. Tuttavia, puoi sempre prendere un input e confrontarlo con un hash. Se vuoi implementarlo, dovresti anche cercare Sali che aggiungano una buona dose di sicurezza.

2. Gestione delle password per uso personale

Qualsiasi gestore di password decente è molto più sicuro rispetto all'archiviazione del testo delle password. Se valgono la pena, richiedono una password per decifrare e, a volte, un keyfile o altra verifica da sbloccare. Il che rende molto difficile rubare le tue password se scegli una buona chiave. Le preoccupazioni relative al malware sono legittime, ma se hai malware per la registrazione delle chiavi, probabilmente sarai avvitato nella stessa misura in cui qualcuno riuscirà miracolosamente a decifrare la tua crittografia. TLDR: utilizzare un gestore di password. Ci sono anche molti altri vantaggi .

Nota del server domestico Se non ti fidi del tuo codice per un server di casa che è un gestore di password, perché non comprare un dispositivo USB e installare un gestore di password sull'USB. Puoi copiare il tuo file di password e scorrere con tutte le tue password facilmente accessibili nell'USB crittografato. Inoltre, non devi preoccuparti di perderlo con una password complessa perché è crittografato. Yay!

Prova a tenere fuori prima di costruire il tuo server difettoso per favore!

    
risposta data 11.05.2015 - 08:00
fonte
1

Ci sono due cose che influiscono su qualsiasi sicurezza in generale:

  1. Che cosa devi fare.
  2. Che cosa devono fare gli attaccanti per superare la tua sicurezza.

Il secondo è il più ovvio; più è facile per gli attaccanti "rompere" la sicurezza, meno si è sicuri. Il primo però è anche importante; se la tua sicurezza ti impedisce di fare ciò per cui hai il sistema, allora è inutile, ma spesso è una pressione contraria, perché non puoi chiudere un possibile uso del sistema per proteggerlo se così facendo lo rende inutile.

Ora, esaminiamo due scenari di archiviazione delle password:

  1. Le password vengono memorizzate su un server in modo che gli utenti possano essere autenticati.
  2. Le password vengono memorizzate in modo che l'utente possa utilizzarle.

Questi due scenari sono diversi per entrambi i criteri:

"Che cosa devi fare."

Nel primo scenario, non è necessario recuperare la password stessa; dobbiamo solo essere in grado di stabilire che una password ci viene passata al momento del log-in.

Nello scenario dei secondi, dobbiamo essere in grado di recuperare la password vera e propria.

"Che cosa devono fare gli attaccanti per superare la tua sicurezza."

Con la crittografia reversibile basata su password master, gli hacker devono ottenere l'archivio delle password e interrompere la crittografia o ottenere la password principale.

Se la decodifica stessa viene eseguita sullo stesso server della verifica della password, in ogni caso, laddove gli hacker hanno ottenuto l'accesso al file della password, è anche probabile che abbiano ottenuto l'accesso ovunque sia memorizzata la password principale e mentre quello potrebbe eg richiedono la decompilazione di un codice o qualcosa del genere, hanno tutto ciò di cui hanno bisogno per leggere le password.

Se la decrittografia viene eseguita in base all'utente che conosce la password principale, ottenere l'archivio delle password non aumenta la probabilità di ottenere la password principale, poiché è solo nella memoria dell'utente.

Pertanto, le password di crittografia per il tipo di usi a cui sono destinati KeePass e altri negozi (PasswordSafe, LastPass, ecc.) non offrono più funzionalità di quelle effettivamente necessarie (diversamente dalla verifica, in cui il recupero della password è inutile ) e non così debole.

Possono anche avere di nuovo maggiore sicurezza non avendo i computer che hanno una copia del negozio che operano come server 24/7 dove possono essere attaccati in una posizione nota 24 ore su 24, 7 giorni su 7, anche se quella parte scompare se si utilizza il cloud storage o un repository per memorizzare l'archivio delle password.

KeePass è sicuramente meno sicuro che avere nessuna delle password memorizzate ovunque, ma quasi nessuno è in grado di memorizzare password ragionevoli come d@[email protected],xve1Q+W.CkocPL/,XWbky ogni servizio separato.

Avere un archivio crittografato di password per tale uso è una riduzione della sicurezza che porta con sé funzionalità che ci permettono di evitare maggiori riduzioni di sicurezza.

Avere un archivio crittografato di password su un server per verificare i log-in è una riduzione molto maggiore della sicurezza (perché dobbiamo essere meno sicuri anche con lo storage della chiave) che non consente di aumentare le funzionalità, tranne alcune cose che sono di per sé una pessima idea (comunicare agli utenti le loro password).

    
risposta data 11.05.2015 - 11:26
fonte

Leggi altre domande sui tag