Standard attuale di autenticazione

0

Qual è lo standard corrente di autenticazione?

Ho pensato che fosse server e client authentification .

Ma ho digitato per es. https://www.google.com/ e controllato i pacchetti in wireshark. E c'è solo un server authentification . Mi chiedo perché server non mi invii mai il TLS CertificateRequest-message (non è l'unico modo in cui può essere eseguito client-authentification ?).

Non dovrebbe essere lo standard e perché mai un HTTPS-Webserver dovrebbe fidarsi di me? (Il recupero di un certificato da una CA comune dovrebbe essere facile per il mio browser)

    
posta Leviathan 31.01.2015 - 22:34
fonte

2 risposte

1

Chi ha detto che il server ha per fidarsi di te? Per molti siti HTTPS, un server fa la stessa cosa per tutti; Google è felice di fare una ricerca per chiunque, e nulla che ti manda è necessariamente anche un po 'sensibile dal loro punto di vista. Se a Google non interessa chi sei, non c'è letteralmente alcun motivo per fare l'autenticazione del client.

Se si desidera l'autenticazione client, non è ancora necessario farlo tramite TLS. Una volta che hai un canale sicuro per un'altra parte, puoi inviare informazioni lungo quel canale, quindi una volta autenticato il server il client può semplicemente autenticarsi inviando una password. Questo non funziona per il server perché ci sono in genere molti client, ognuno dei quali avrebbe bisogno di conoscere la password, e quindi potrebbe impersonare il server su un altro client. Al contrario, non è un grosso problema se il server può impersonare un client, perché i server tendono ad essere più affidabili dei client (prenderanno chiunque come cliente, il contrario non è vero). Se il client invia una password, il server deve essere già autenticato, ecco perché deve avvenire in TLS, mentre l'autenticazione del client non deve avvenire in quel momento.

Infine, poiché le password fanno funzionano correttamente per l'autenticazione del client e sono più facili da gestire per gli utenti, la maggior parte dei siti le usa. I certificati dei client TLS delle CA hanno comunque poco senso nella maggior parte dei casi; se la pseudonimia va bene, puoi semplicemente fare in modo che le persone caricino direttamente un certificato cliente di loro scelta, se non hai di solito un emittente più autorevole di una qualsiasi CA commerciale (cioè ha emittente di fiducia uno , che è spesso solo te stesso)

    
risposta data 31.01.2015 - 23:07
fonte
0

In HTTP, quasi nessuno utilizza l'autenticazione del client TLS. L'autenticazione viene effettuata sul livello HTTP (popup del browser che richiede nome utente e password) o su un livello ancora più alto utilizzando i moduli di accesso. Un'eccezione è CAcert, facoltativamente consentono il login da parte di certifacte e l'accesso tramite password.

Il tuo browser non può semplicemente recuperare "un certificato da una CA comune". Affinché l'autenticazione del client TLS abbia senso, il certificato deve dimostrare la propria identità in qualche modo. In genere, quando ottieni un certificato cliente (se lo fai del tutto), devi dimostrare la tua identità a terze parti fidate, magari mostrando una carta d'identità rilasciata dal governo. La terza parte fidata controlla il tuo ID e Google può contare sul fatto che tu sei l'utente che rivendichi di essere. Quindi dovresti ottenere "un certificato da una (comune?) CA", aggiungerlo come certificato personale al browser e chiedere a Google di associare tale certificato con il tuo account Google. Questo è troppo complicato per la distribuzione di massa.

    
risposta data 31.01.2015 - 23:02
fonte