Decida la autenticación del certificado de cliente en https según el nombre de host o la URL

1

Asumamos este escenario (inventado): instalo un servidor web que reacciona en dos nombres de host ( anonymousserver.com y authenticatedserver.com )

Me gustaría el siguiente comportamiento:

  • Si se llama al servidor web mediante anonymousserver.com , se debe usar ssl pero no se solicitará ningún certificado de cliente.

  • Si se llama al servidor web mediante authenticatedserver.com , se debe usar ssl y se solicitará un certificado de cliente.

Entonces, ¿es posible decidir si realizar la autenticación del certificado de cliente en función del nombre de host? El problema que veo es que ssl handshake y http get request tienen lugar después de otro; El protocolo de enlace ssl ya está terminado cuando el servidor sabe qué url se procesará

    
pregunta Marged 06.09.2017 - 18:53
fuente

2 respuestas

2
  

A) Decida realizar la autenticación del certificado de cliente según el nombre de host

Esto se puede hacer incluso si ambos dominios se sirven en la misma dirección IP siempre que el navegador envíe el nombre de host de destino dentro de la extensión SNI TLS. Todos los navegadores modernos hacen esto por defecto y la mayoría, pero no todas las aplicaciones en sistemas móviles recientes.

  

B) Decida hacer la autenticación de certificado de cliente basada en url

No es posible de inmediato ya que la URL es desconocida en el protocolo de enlace inicial de TLS. Se puede hacer con la renegociación dentro de un protocolo de enlace TLS existente.

    
respondido por el Steffen Ullrich 06.09.2017 - 19:05
fuente
1

Creo que está buscando la extensión TLS Indicación del nombre del servidor (SNI) . De wikipedia :

  

La Indicación del Nombre del Servidor (SNI) es una extensión del protocolo de red de computadoras TLS por el cual un cliente indica a qué nombre de host está intentando conectarse al inicio del proceso de negociación de [TLS]. Esto permite que un servidor presente varios certificados en la misma dirección IP y número de puerto TCP.

En lugar de elegir qué certificado presentar, debería poder usar este mecanismo de manera equitativa para decidir si solicitar o no la autenticación del cliente.

    
respondido por el Mike Ounsworth 06.09.2017 - 19:01
fuente

Lea otras preguntas en las etiquetas