Autenticación de clave pública o similar a través de HTTP / HTTPS?

31

¿Es posible configurar Apache, o algún otro servidor web, para usar algún tipo de autenticación de clave pública?

Lo que me gustaría, idealmente, es poder dar a los usuarios acceso a un sitio sin la necesidad de un nombre de usuario / contraseña, siempre que hayan instalado un archivo de claves (o similar) en su navegador, y que esa clave esté 'autorizada' en el lado del servidor.

ezzatron
fuente

Respuestas:

17

Lo que está buscando generalmente se conoce como autenticación mutua. Normalmente existe un certificado de servidor para "autenticación de servidor", lo que significa que valida la identidad del servidor al cliente.

Tenga en cuenta que al seguir este esquema, tiene un desafío adicional de renovación de certificado para los clientes.

Aquí hay un ejemplo de cómo se hace para un producto:

Imprimación de autenticación mutua

Configurar Apache para SSL

Greg Askew
fuente
8

SSL es autenticación de clave pública. Por lo general, se usa para autenticar la identificación del servidor remoto ... el servidor presenta un certificado, firmado por la clave privada de una autoridad de certificación, y su navegador lo verifica con la clave pública de las autoridades.

También es posible usar SSL para autenticar la identidad del cliente. En este caso, configura su navegador para presentar un certificado de cliente cuando se conecta a un servidor remoto, y el servidor remoto autenticará el certificado contra alguna autoridad.

Todo esto es relativamente fácil y bien soportado por la mayoría de los servidores web. Este documento analiza la configuración de Apache. La declaración SSLRequire realiza la mayor parte del trabajo pesado para este tipo de configuración.

larsks
fuente