La password One Time basata su tempo migliora la sicurezza in caso di perdita del database?

2

Da quello che ho capito, le password temporali basate sul tempo hanno utilizzato un seme e un algoritmo matematico per generare password univoche. Poiché il seed è noto all'utente (o al dispositivo utilizzato dall'utente) e al server di autenticazione. Tuttavia, questo significa che se il database è trapelato, il seme sarà conosciuto dall'attaccante.

Come in una perdita di database, un utente malintenzionato può conoscere sia la password che l'OTP, la password One Time basata su tempo migliora la sicurezza in caso di perdita di database? O è l'obiettivo di OTP solo per impedire a un utente malintenzionato di autenticarsi quando conosce la password in un altro modo (un'altra perdita di database, ingegneria sociale ...)?

    
posta Kepotx 25.04.2018 - 12:41
fonte

1 risposta

6

In realtà, la password è ciò che dovrebbe proteggere l'utente in caso di perdite di database. Se hash e sale sono corretti , l'utente malintenzionato non dovrebbe essere in grado di ottenere la versione in chiaro della password (con una password ragionevole in un tempo ragionevole con risorse ragionevoli, se un hacker come NSA ti sta seguendo, don Non fare affidamento su questo, inoltre, se si conosce il database trapelato o potrebbe essere trapelato, costringere gli utenti a cambiare la password per essere sicuro). La tua app non deve accettare l'hash come password valida. Quindi l'attaccante non dovrebbe essere in grado di accedere anche se il database è trapelato. Nota: se desideri eseguire l'hash sul lato client, controlla schemi come SCRAM-SHA256 per proteggere questo tipo di attacco.

Il TOTP d'altra parte protegge dalla password dell'utente che viene persa dall'utente o altrimenti ottenuta (forza bruta, intercettazione, keylogger) senza compromettere il server.

Se si desidera una protezione aggiuntiva nel caso in cui il server sia compromesso E si ottenga una password (ad esempio l'attaccante intercetta le richieste di accesso e ottiene la password in questo modo), considerare l'utilizzo di qualcosa come SCRAM per limitare l'esposizione della password al server o utilizzare < a href="https://cweiske.de/tagebuch/ssl-client-certificates.htm"> coppia di chiavi pubblica-privata per l'accesso, possibilmente con un token hardware utilizzando U2F .

    
risposta data 25.04.2018 - 13:17
fonte

Leggi altre domande sui tag