Come proteggere Password e Salt su un'applicazione distribuita

0

Ho una domanda riguardante una fase di protezione più che sale / hash. Lavoro su un'applicazione che viene distribuita a molti client e quindi distribuita sulle loro reti. Se imposto una password su un'istanza dell'applicazione e poi cerco il sale e l'hash generati nel database, quale meccanismo può impedirmi di copiare il salt and hash della password conosciuta in un'altra istanza della mia applicazione?

    
posta nehpets 24.06.2014 - 15:50
fonte

3 risposte

2

Puoi anche aggiungere un sale per istanza. Ciò verrebbe memorizzato nella configurazione dell'applicazione e genererebbe diversi hash per ogni istanza, anche per la stessa combinazione di sale / password.

Ora sorge la domanda di perché vorresti farlo. Se qualcuno ha ottenuto l'accesso in lettura a un database e l'accesso in scrittura a un altro, sembra che abbiano già ottenuto un certo accesso. Perché dovrebbero copiare un sale & password su piuttosto che (diciamo) basta inserire un nuovo account?

    
risposta data 24.06.2014 - 16:30
fonte
0

Se hai un'applicazione client, che può connettersi direttamente al tuo database e vedere tutti i nomi utente e le password, niente ti fermerà.

Questo significa solo che hai implementato controlli di accesso scadenti, il che significa anche che hai un modello di sicurezza imperfetto.

    
risposta data 24.06.2014 - 16:23
fonte
0

Ci sono molti modi in cui puoi impedire che ciò accada.

Livello database:

Constraint Puoi creare un vincolo sulla tabella rendendo salt e password univoci e se provi a inserire un duplicato genererà un'eccezione.

Procedura memorizzata o query Esegui un controllo se esiste come IF EXISTS( SELECT ... se esiste restituisce un errore.

Devi inserire un identificatore univoco all'interno dell'applicazione se desideri una password per istanza e non un utente. Se le istanze sono tutte uguali, perché non usi un nome utente e una password? Se le istanze sono diverse, basta verificare l'istanza dell'applicazione e lanciarla contro password e controllo salt.

Per motivi di sicurezza, mi auguro che utilizzi il servizio per accedere al database e non direttamente dai client, altrimenti potresti avere problemi più seri nella progettazione.

    
risposta data 24.06.2014 - 17:17
fonte

Leggi altre domande sui tag