Perché l'autenticazione basata su form non utilizza il digest invece del testo normale

1

Nell'autenticazione basata su moduli le credenziali vengono inviate come tali all'interno del messaggio, mentre nell'autenticazione basata su digest viene inviato un digest di credenziali, nome di dominio e una sfida casuale . L'autenticazione basata su form richiede un canale sicuro (https) per natura.

Perché l'autenticazione basata su form sui browser Web non utilizza invece lo schema digest? O è così la sfida digest non fornirebbe alcuna sicurezza aggiuntiva rispetto all'autenticazione basata su form che richiede comunque TLS?

Inoltre, con l'autenticazione basata su digest, la password di testo semplice deve essere archiviata nel repository del server anziché negli hash. È questo il motivo per cui le credenziali di testo in chiaro (crittografate) sono preferite rispetto al digest sui browser web? In quale contesto lo schema basato su digest sarebbe effettivamente più sicuro del semplice testo su un canale sicuro?

    
posta Tuomas Toivonen 09.06.2018 - 09:01
fonte

2 risposte

2

Why doesn't the form based authentication on web browsers use the digest scheme instead?

Un modulo HTML di per sé non è affatto una forma di autenticazione, ma semplicemente sta raccogliendo i dati inseriti dall'utente e inoltrandoli al server. Se il server utilizza questi dati per l'autenticazione è fino al server. Contrariamente a questa autenticazione di base HTTP e all'autenticazione del digest HTTP sono specificamente progettati per l'autenticazione.

È ancora possibile implementare il tipo di autenticazione Challenge-Response L'autenticazione Digest fornisce l'uso di Javascript e ci sono sistemi che lo fanno. Ad esempio il router Fritz! Box utilizza (e forse utilizza ancora) una tale forma di autenticazione anche se utilizza un modulo HTML per inserire la password.

Or is it so the digest challenge wouldn't provide any additional security over the form based authentication which requires TLS anyway?

L'autenticazione basata su modulo non richiede affatto TLS. Ma è chiaramente consigliato farlo e molti browser avvisano oggi quando inviano le password usando un semplice HTTP.

L'utilizzo dell'autenticazione del digest su HTTPS non ha alcun vantaggio nella maggior parte dei casi rispetto all'utilizzo dell'autenticazione di base o dei moduli HTML in cui la password viene trasmessa in formato testo. L'autenticazione contraria, Digest richiede che la password o una password equivalente sia memorizzata sul server in modo semplice, il che aumenta il rischio di compromissione della password o dell'identità in caso di compromissione del server. Vedi anche Autenticazione HTTP Digest: il server memorizza le password in chiaro ? .

L'autenticazione del digest potrebbe avere senso se l'autenticazione non viene eseguita direttamente sul server ma il server stesso inoltra le credenziali ad un altro sistema di autenticazione, ad esempio un server RADIUS. In questo scenario, l'autenticazione del digest ha il vantaggio che l'applicazione web non ottiene mai l'accesso alla password semplice.

    
risposta data 09.06.2018 - 11:51
fonte
2

is it so the digest challenge wouldn't provide any additional security over the form based authentication?

In realtà è il contrario: l'auth digest digest richiede al server di archiviare tutte le password nel suo database in testo semplice o hash debole (ad esempio MD5), perché deve essere in grado di calcolare un digest su di essi. Con l'autenticazione Basic è possibile memorizzare le password in forma strongmente hash (ad es. Scrypt), quindi l'autenticazione di base è più sicura (in presenza di TLS, ovviamente).

Why doesn't the form based authentication on web browsers use the digest scheme instead?

L'autenticazione basata su form non è realmente uno standard, è solo un approccio in cui l'utente viene tipicamente presentato con campi del modulo HTML username e password e un pulsante Submit, che attiva l'invio dei dati del modulo al server tramite un HTTP POST. Ecco come funzionano normalmente le forme HTML.

Tuttavia, sei libero di aumentare questo processo nel modo desiderato, poiché è possibile intercettare i clic del pulsante in JavaScript e ignorare completamente l'invio del modulo. Ad esempio, è possibile implementare l'autenticazione basata su digest tramite Ajax (ad esempio digest-ajax ), nonché PBKDF2 lato client , bcrypt, scrypt o in realtà qualsiasi altra cosa.

In which context would the digest based scheme actually be more secure than plain text over a secure channel?

È più sicuro quando ad esempio si utilizza un proxy, perché il proxy può visualizzare un digest invece di una password in chiaro, rendendo quindi possibile persino l'utilizzo di un proxy pubblico.

    
risposta data 09.06.2018 - 11:14
fonte

Leggi altre domande sui tag