¿Por qué un servidor anónimo no puede solicitar un certificado de cliente?

6

En TLS, un servidor no anónimo puede solicitar un certificado de cliente que coincida con algunos criterios. Sin embargo, es un error fatal para un servidor anónimo solicitar un certificado de cliente. ¿Hay una buena razón para esto?

  

Un servidor no anónimo opcionalmente puede solicitar un certificado a          El cliente, si es apropiado para la suite de cifrado seleccionada. Esta          mensaje, si se envía, seguirá inmediatamente a ServerKeyExchange          mensaje (si se envía; de lo contrario, este mensaje sigue la          Mensaje del certificado del servidor).

     

[Más abajo ...]

     

Nota: es una alerta fatal de handshake_failure para un servidor anónimo      para solicitar la autentificación del cliente.

parte relevante del TLS RFC

    
pregunta ReyCharles 25.09.2016 - 11:09
fuente

4 respuestas

4

Para responder esto, creo que es importante mirar la definición de lo que es un cliente de acuerdo con la especificación. En el Glosario un cliente se define como

  

La entidad de aplicación que inicia una conexión TLS a un         servidor. Esto puede o no implicar que el cliente inició la         conexión de transporte subyacente. La operativa primaria         La diferencia entre el servidor y el cliente es que el servidor es         generalmente autenticado , mientras que el cliente solo es opcionalmente         autenticado.

Esto significa que los servidores siempre deben estar autenticados y, por lo tanto, los servidores no autenticados (o servidores anónimos) no pueden solicitar la autenticación del cliente. En otras palabras, dado que el cliente está iniciando la conexión TLS, el servidor debe autenticarse ante el cliente antes de autenticar al cliente. Creo que el lenguaje podría ser más claro para que no haya ambigüedad.

En su comentario, mencionó la inversión de los roles, por lo que el servidor TCP se convierte en el cliente TLS y el cliente TCP se convierte en el servidor TLS. Esto es posible usando alguna programación de nivel de socket inteligente. Eche un vistazo a STARTTLS que se puede usar para actualizar una conexión simple a una conexión TLS de manera estándar. Netty es una biblioteca de Java que proporciona dicha implementación de StartTLS .

    
respondido por el ARau 29.09.2016 - 23:55
fuente
0

La razón de esto es bastante simple. Déjame tomar el ejemplo de tor y explicarte en detalle.

Supongamos que el segundo salto realizado por el mensaje de origen a destino es el servidor anónimo. Por lo tanto, puede solicitar el certificado de cliente solo de su servidor anterior que no es el cliente.

Ruta del paquete en TOR, Source = > A = > B = > C = > Destino

Aquí asumimos que B es nuestro servidor anónimo que solicita a la fuente / cliente su certificado, pero si lo solicita, obtendrá el certificado del Servidor / Sistema A pero no del cliente.

Ese es el motivo del error fatal si el servidor anónimo solicita al cliente su certificado.

    
respondido por el Rewanth Cool 03.10.2016 - 20:19
fuente
-1

Creo que puedo responder esto por ti sin ningún detalle técnico. ¿Confiaría y le daría a alguien que nunca conoció las llaves de la puerta de su casa? ¿Qué hay de tu coche? ¿Qué hay de su contraseña del teléfono? Si su respuesta fue no, entonces ahora comprende la lógica detrás de ese error.

Sin embargo, supongo que estás interesado en los detalles. Consulte la sección "Autenticación de certificado de cliente en protocolo de enlace SSL / TLS" de este MSDN artículo para eso. Tiene algunas buenas imágenes que ilustran esa lógica.

    
respondido por el Tyler Gallenbeck 02.10.2016 - 23:57
fuente
-1

Bueno,

Para proporcionar una comunicación segura a través de la red, el servidor debe proporcionar el protocolo de comunicaciones LDAPS a través de TLS para formar SSL y Directory Server.

Directory Server es compatible con TLS / SSL para asegurar las comunicaciones entre los clientes LDAP y Directory Server, entre los servidores de directorio vinculados por un acuerdo de replicación.

  

Antes de que Directory Server pueda configurarse para ejecutarse en TLS / SSL, los certificados de servidor y CA deben configurarse correctamente en Directory Server. Si ya se ha generado un certificado de servidor para la instancia de Directory Server y Directory Server ya confía en la entidad emisora de certificados (CA), comience a configurar TLS / SSL.

En otras palabras.

Deberá crear certificados de Directory Server.

    
respondido por el iamroot ipcsdemo 03.10.2016 - 06:24
fuente

Lea otras preguntas en las etiquetas