¿Cómo usar HTTPS para servidores cuya IP y nombre de dominio cambian, potencialmente con frecuencia?

2

Tenemos dispositivos (piense en "Internet de las cosas") que tienen un servidor HTTP instalado. Esos dispositivos pueden cambiar su IP y nombre de dominio con bastante frecuencia (o no tienen ningún nombre de dominio). Aunque tienen un GUID.

Los clientes que se comunican con este servidor HTTP no están bajo nuestro control, pueden ser navegadores comunes.

¿Hay alguna forma de usar HTTPS en esta situación, sin forzar al usuario a que

  • Aceptar un certificado inválido
  • Agregue nuestra propia CA a su almacén de confianza
  • ¿Algo más que parezca sospechoso?

¿Cambia la respuesta si tenemos control sobre el cliente (una aplicación)?

En el pasado, esto se resolvía mediante el uso de un servidor en Internet al que se conectaban tanto el cliente como el dispositivo, y que reenvía mensajes.

    
pregunta Jost 05.11.2015 - 08:19
fuente

1 respuesta

1

El certificado se usa para validar que un cliente está hablando con el punto final esperado y no con algún hombre en el medio. Si la dirección IP y el nombre de host cambian con frecuencia, esto significa que no se pueden utilizar para la identificación.

  

... no todos bajo nuestro control, pueden ser navegadores comunes.

Los navegadores esperan tener un nombre de host constante, incluso para los certificados donde se hizo una excepción explícita. Por lo tanto, los navegadores comunes no se pueden usar si el nombre de host cambia con frecuencia.

  

¿Cambia la respuesta si tenemos control sobre el cliente (una aplicación)?

En este caso, podría usar la fijación de clave pública / certificado, es decir, su aplicación no espera un certificado firmado por ninguna CA de confianza donde el certificado coincida con el nombre de host, sino que espere un certificado específico o al menos una clave pública específica. Por supuesto, esta expectativa debe incluirse en la aplicación.

Otra opción sería solucionar el problema de cambiar los nombres de host al proporcionar su propio servicio DNS y proporcionar nombres de host constantes dentro de su propio dominio (por ejemplo, foobar.customer.example.com ). Pero esto requeriría que cada dispositivo anuncie cualquier cambio de nombre de host en su servidor DNS para que se pueda configurar el alias CNAME apropiado y que los clientes necesiten una conexión a Internet para conectarse al dispositivo, incluso si el dispositivo está en el mismo. red local.

    
respondido por el Steffen Ullrich 05.11.2015 - 09:23
fuente

Lea otras preguntas en las etiquetas