Sarebbe possibile utilizzare i cookie per archiviare il certificato client SSL?

2

Ultimamente, stavo leggendo quell'articolo sul certificato client SSL.

Perché nessuno utilizza il certificato client SSL?

La risposta era a quella domanda era:

In the current state, this excellent idea is rendered completely useless by the awful usability and the completely detached nature: This is a browser feature. It's browser dependent without a way for the sites to control it - to guide users through steps.

For this to work, sites need more control.

Without giving them access to your keys.

Quindi in pratica, è un problema di usabilità.

Questo mi ha fatto pensare ai cookie. I cookie sono storage lato client e non c'è niente di più facile da usare rispetto a loro. In effetti, la maggior parte degli utenti non sa nemmeno che esistono. Quindi, pensavo che i cookie potessero aiutarti qui.

La parte che mi interessa è l'autenticazione a 2 fattori.

  • Qualcosa che conosci : la tua password
  • Qualcosa che hai : la tua chiave privata per il "certificato"

Sarebbe possibile utilizzare i cookie in modo intelligente per fornire l'autenticazione di 2 fattori memorizzando un "certificato" in essi?

    
posta Gudradain 13.08.2014 - 03:22
fonte

1 risposta

2

Un cookie ha una sola funzione: essere rinviato al server. È memorizzato sul client, ma il client non ne capisce il contenuto; e il client non lo usa se non inviandolo indietro.

Che in sostanza spiega che la "risposta" che citi non è una risposta reale: cerca di superare il problema affermando che il problema potrebbe essere frustrante. L'intero punto dei cookie è la memorizzazione lato client sotto il controllo del server; l'intero punto dei certificati lato client e delle chiavi private deve essere l'archiviazione lato client che NON è sotto il controllo del server.

In effetti, i certificati lato client non hanno alcun valore reale quando c'è solo il client e il server. I certificati hanno senso quando una terza entità entra nella danza: l' Autorità di certificazione . Un certificato utilizza la crittografia asimmetrica in modo che il client possa dimostrare la propria identità al server senza consentire al server di impersonare il client; questo contrasta con i metodi di autenticazione show-the-password in cui il server apprende necessariamente la password dell'utente nel processo. Quella proprietà dei certificati è di qualche utilità solo se il server non è stato colui che ha emesso (firmato) il certificato in primo luogo; in caso contrario, un server disonesto potrebbe emettere falsi certificati utente a volontà.

Quindi la mancanza di certificati sul lato client nel Web così come la conosciamo in questo momento non è realmente un "problema di usabilità"; si riferisce piuttosto all'idea che i certificati non hanno un valore aggiuntivo per il modo in cui i siti Web gestiscono l'autenticazione (vale a dire, ogni sito gestisce le proprie esigenze di autenticazione). L'autenticazione delegata (come OAuth ) può cambiare questo modello, che richiederebbe indirettamente una maggiore distribuzione di certificati lato client, con interfacce utente migliori.

    
risposta data 13.08.2014 - 03:55
fonte

Leggi altre domande sui tag