Cosa fare sulle password compromesse tramite siti dannosi o hack del sito [duplicato]

2

Quindi la mia domanda o ipotesi è che: la maggior parte delle persone usa solo poche password per i tutti servizi online, ottenere una di queste password significa che puoi accedere facilmente ai siti di quella persona che non hanno altri sicurezza di accesso (ad es. fattore 2). Un sito Web che accetta password ed e-mail può archiviare queste password in modo pericoloso o un sito compromesso può farlo ...

Mi vengono in mente due opzioni:

  1. Hash la password lato client. Sì, "allora l'hash diventa la password", ma se ogni sito utilizza un algoritmo di hashing leggermente diverso, la stessa password in chiaro risulterà in un hash diverso e conoscere l'hash da un sito non aiuterà un utente malintenzionato a entrare in un altro sito .

  2. Potremmo implementare un algoritmo di conoscenza zero per le password?

posta benbyford 06.04.2017 - 09:26
fonte

3 risposte

1

Questa non è una risposta definitiva, solo alcuni pensieri.

1. Hash sul lato client.

Vedo ciò che stai cercando: proteggere la password in testo semplice. Un'idea come questa si basa su ogni sito che utilizza un diverso schema di hashing (altrimenti puoi creare elenchi di quali siti utilizzano lo stesso schema di hashing e sapere che i loro hash / password saranno intercambiabili).

Quindi immagino che questo possa aiutare un po ', ma certamente non risolve il problema, e fa affidamento sugli sviluppatori che cambiano i loro schemi di hashing dal default (che è pericoloso per altri motivi se non capiscono veramente come funziona l'hashing delle password ).

2. Prova a conoscenza zero basata su password

Non sono un esperto in prove a conoscenza zero, ma la mia comprensione è che sono un sottoinsieme di algoritmi a chiave pubblica. Gli algoritmi a chiave simmetrica (come la crittografia AES) possono essere facilmente combinati con password ... chiave pubblica, non così tanto. La mia intuizione è che se ti affidi completamente a questa idea, in pratica stai per reinventare il protocollo SSL autenticato dal client, quindi usalo?

Altri commenti

Le password IMO nel loro insieme sono una nave che affonda; sono un sistema rotto. Questo perché siamo al punto nella storia in cui la capacità dell'hacker di usare password a forza bruta sta iniziando a superare la capacità del cervello umano di ricordare password complesse.

Invece di cercare di riparare una nave che affonda, suggerisco che noi (come settore) ci muoviamo il più velocemente possibile per adottare sistemi di autenticazione non basati su password. Cose come le chiavi 2FA o ssh non hanno gli stessi problemi fondamentali delle password e sono il tipo di soluzioni che dovremmo accettare.

P.S. Al momento della scrittura, la domanda ha 3 voti ravvicinati come "troppo ampi". Ho fatto una cosa pericolosa qui dove ho modificato la domanda dell'OP per essere meno ampia, quindi ho postato una risposta alla domanda formulata di recente. Spero che sia accettabile.

    
risposta data 06.04.2017 - 17:02
fonte
1

Questa è, certamente, solo una risposta di tipo "opinione personale" a un'ampia domanda, ma ...

La risposta che stai cercando è un sistema di autenticazione centralizzato e affidabile per i servizi online, con configurazione semplice e autenticazione federata. Fondamentalmente, tu (noi) abbiamo bisogno di qualcosa come Facebook per l'autenticazione, ma dove l'organizzazione non era in grado di monitorare l'utilizzo individuale su più siti, e le persone avevano il controllo delle loro informazioni personali (ad esempio: un codice token univoco è dato a ciascun sito per ciascun utente, i dati personali vengono rilasciati solo su base opt-in, ecc.). Quindi i siti non dovrebbero necessariamente memorizzare le password e il problema scompare (la maggior parte di tutti può mantenere l'accesso a un sistema in modo abbastanza sicuro, soprattutto se tale sistema ha una buona sicurezza di accesso, TFA, ecc.).

Questo sistema, sfortunatamente, al momento non esiste e potrebbe essere impossibile da costruire (e anche se potrebbe essere costruito, potrebbe essere impossibile mantenere solvibile come entità aziendale) ... ma questa è la "vera" risposta, imho.

    
risposta data 06.04.2017 - 17:24
fonte
0

La risposta che stai cercando è nella tua domanda: non permettere agli utenti di utilizzare la stessa password di altri siti web o applicare l'autenticazione a due fattori (2FA).

Come impedire all'utente di riutilizzare le password? Sul lato client, accanto al campo della password, posiziona un pulsante per generare una password casuale lunga. Posiziona un limite inferiore (16 per esempio) sulla dimensione della password in modo che la maggior parte delle password non si adatti: questo darà l'incentivo a usare le password generate. Puoi anche consigliare ai tuoi utenti di far ricordare al loro browser la password.

Tuttavia, ci si può aspettare un calo del numero di utenti, in quanto alcuni potrebbero essere respinti da questi vincoli. Ma ci sono modi psicologici per farli fare questo passo in più, come farli riempire un modulo facile per creare il loro account, quindi in un'altra pagina chiedi la loro password affermando che è l'ultimo passo. La maggior parte non vorrà spendere il proprio tempo per creare un account che andrà a finire nell'ultimo passaggio.

    
risposta data 06.04.2017 - 11:51
fonte

Leggi altre domande sui tag