Autenticazione con chiave pubblica o simile su HTTP / HTTPS?


31

È possibile configurare Apache, o qualche altro server Web, per utilizzare un qualche tipo di autenticazione a chiave pubblica?

Ciò che vorrei, idealmente, è poter dare agli utenti l'accesso a un sito senza la necessità di un nome utente / password, a condizione che abbiano installato un file di chiavi (o simile) nel loro browser e che tale chiave sia "autorizzata" sul lato server.

Risposte:


17

Quello che stai cercando è generalmente indicato come autenticazione reciproca. Normalmente esiste un certificato server per "autenticazione server", il che significa che convalida l'identità del server sul client.

Si noti che quando si persegue questo schema, si ha un'ulteriore sfida di rinnovo del certificato per i clienti.

Ecco un esempio di come viene fatto per un prodotto:

Primer di autenticazione reciproca

Configurazione di Apache per SSL


8

SSL è l'autenticazione con chiave pubblica. Più comunemente viene utilizzato per autenticare l'identificazione del server remoto ... il server presenta un certificato, firmato dalla chiave privata di un'autorità di certificazione e il browser lo verifica con la chiave pubblica delle autorità.

È anche possibile utilizzare SSL per autenticare l'identificazione del client. In questo caso, si configura il browser per presentare un certificato client quando si connette a un server remoto e il server remoto autenticherà il certificato in base a una certa autorità.

Tutto ciò è relativamente semplice e ben supportato dalla maggior parte dei server Web. Questo documento discute come configurare le cose con Apache. L' istruzione SSLRequire svolge la maggior parte del lavoro pesante per questo tipo di configurazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.