Sistema de autenticación mutua y confidencialidad

5

Estoy buscando un protocolo donde se requiera una autenticación mutua entre el cliente y el servidor. Por ejemplo, el servidor debe conectarse solo a un cliente en particular. Es decir, el cliente debe autenticarse para el cliente y el cliente debe comunicarse con el servidor. También después de esto, toda la comunicación debe estar encriptada.

¿Si SSL / TLS puede proporcionar esto? O hay un método por el cual el cliente podría dar una contraseña para autenticarse en el servidor.

Mi principal requisito es que el servidor solo brinde información a un cliente en particular.

    
pregunta user2315 25.11.2011 - 19:13
fuente

2 respuestas

6

Hay dos formas de lograr una autenticación mutua dentro de SSL / TLS:

  • Utilizar certificados. El servidor presenta su clave pública dentro de un certificado, como es habitual; el cliente valida el certificado del servidor con respecto a algunas raíz CA que el cliente conoce de antemano (esta parte es lo que comúnmente ocurre con los sitios web de HTTPS). Luego, el servidor puede solicitar un certificado de cliente , en cuyo caso el cliente debe enviar un certificado y realizar una firma, que el servidor verificará utilizando la clave pública en el certificado del cliente. El cliente luego se autentica bajo el nombre que se escriba en este certificado. Esto se describe en las secciones 7.4.6 y 7.4.8 del estándar TLS .

  • Utilice SRP . Este es un protocolo de Password Authenticated Key Exchange en el que el cliente y el servidor se autentican mutuamente a través del conocimiento de un secreto compartido. . Lo que es tremendamente genial de PAKE en general, y de SRP en particular, es que el esquema es sólido incluso cuando el secreto compartido es de baja entropía (por ejemplo, esta es una "contraseña"), porque resiste los intentos de diccionario sin conexión ataques : en palabras sencillas, el protocolo es tal que si un atacante quiere "probar" una contraseña potencial, debe interactuar con el servidor o con el cliente de alguna manera y debe hacerlo para cada intento. El atacante nunca obtiene suficiente información para comprobar las contraseñas en sus propias máquinas.

SRP evita todo el turbio negocio de los certificados. Desafortunadamente, SRP todavía no es ampliamente soportado; GnuTLS es una biblioteca de código abierto que implementa servidores y clientes SSL / TLS y es compatible con SRP.

    
respondido por el Tom Leek 25.11.2011 - 21:32
fuente
3

SSL / TLS proporcionará esto y probablemente sea la forma más fácil de hacer que la autenticación mutua funcione. Esto se hace utilizando certificados de cliente. Sin saber qué servidor y software de navegador, no podría apuntarle en la dirección correcta en la configuración, sin embargo. Encontré esta información que trata sobre Apache .

    
respondido por el mikeazo 25.11.2011 - 20:31
fuente

Lea otras preguntas en las etiquetas