¿Cómo autenticarse en un sitio web con claves públicas / privadas?

7

He estado leyendo cómo funciona la clave pública / privada SSH y se dio cuenta de lo útiles que son (eliminando la seguridad de la ecuación). Y comencé a preguntarme por qué los sitios web no implementan lo mismo.

Permítame explicarle por qué me interesa esto: cuando se registra en un sitio web, no sabe qué sucede con su contraseña, es muy posible que se almacene como texto sin formato en una base de datos. Cualquier administrador puede ver su combinación de nombre de usuario / contraseña (más correo electrónico o cualquier otra información) y simplemente probarlos en otros servicios et voilà , acceso limpio a su correo electrónico, Facebook, Stackoverflow, etc. La contraseña, incluso si no está almacenada, puede enviarse sin cifrar a través del cable al servidor y pedirla un hombre del medio. Todo esto se resuelve fácilmente utilizando un enfoque como el implementado por SSH, por ejemplo (o tener una contraseña diferente para cada servicio, pero mi memoria tiene limitaciones graves).

Por lo tanto, ¿cómo puedo implementar una estrategia de este tipo para iniciar sesión en un sitio web? No pude encontrar extensiones de navegador ni instrucciones sobre cómo hacerlo. Por el momento, mi objetivo es tener un sitio web para atender a ~ 10 personas (colegas, todos en la misma red) y a quienes puedo convencer para que realicen un trabajo adicional (como instalar una extensión o generar el par de claves).

    
pregunta Aquiles Carattino 14.09.2015 - 16:16
fuente

1 respuesta

4

Los certificados se pueden utilizar en ese propósito. El uso general de los certificados es para conexiones TLS / SSL, pero se pueden emitir certificados de clientes para manejar la autenticación bidireccional. Los certificados son básicamente claves públicas con una capa adicional de "redes de confianza".

Si desea hacer esto correctamente, debe implementar una PKI para manejar la solicitud, creación y revocación de certificados. Pero, alternativamente, puede pedirle a un usuario que cargue cualquier certificado de clave pública que desee usar.

Muchos navegadores recientes también pueden generar solicitudes de certificado (clave privada / pública) sobre la marcha cuando están conectados a un sitio web. Luego, el certificado se almacena en el perfil del navegador.

    
respondido por el M'vy 14.09.2015 - 16:36
fuente

Lea otras preguntas en las etiquetas