Uso de HTTPS en navegadores de clientes en una red local sin conexión a Internet

Uso de HTTPS en navegadores de clientes en una red local sin conexión a Internet

Estoy trabajando en una aplicación web que se ejecuta en un servidor. Habrá clientes (navegadores de teléfonos inteligentes) que se conectarán al servidor a través de HTTPS a través de WiFi que no estaría conectado a Internet. Se utilizaría principalmente para eventos de 1 día.

El problema:¿Es posible tener HTTPS sin internet?

  • No podemos agregar ningún certificado a los almacenes de confianza de los clientes. Tampoco podemos configurar los clientes de ninguna otra forma. Los clientes serán personas aleatorias que visiten el evento.
  • Los clientes no pueden acceder a Internet para verificar CRL/OCSP. Puede que simplemente no haya conexión a Internet

tengo una ideausando un DNS local:

  • Poseo una clave y un certificado SSL confiable (LetsEncrypt) paraoffline.mydomain.com
  • Hay un servidor DNS en la red WiFi fuera de línea que apunta todas las direcciones DNS a mi servidor de aplicaciones.
  • Todos los certificados y CRL de la offline.mydomain.comcadena de confianza del certificado SSL se descargan en el servidor de aplicaciones y se puede acceder a ellos en las rutas definidas en el CDP y AIA de los certificados.
  • El servidor de aplicaciones afirma estar ejecutándose https://offline.mydomain.com(y el servidor DNS apunta offline.mydomain.comal servidor de aplicaciones)

Todo el flujo sería:

  • Cliente: GET https://offline.mydomain.com/app
  • DNS: offline.mydomain.comestá en la IP del servidor de aplicaciones
  • Mi servidor de aplicaciones:aquí está el HTML
  • ...
  • Cliente: GET http://crl.ca.com/crls/ca.crl
  • DNS: crl.ca.comestá en la IP del servidor de aplicaciones
  • Mi servidor de aplicaciones:aquí está la CRL
  • ...
  • Cliente: GET http://certificate.ca.com/certs/ca.cer
  • DNS: certificate.ca.comestá en la IP del servidor de aplicaciones
  • Mi servidor de aplicaciones:aquí está el certificado
  • ...

Sin embargo, no entiendo mucho las redes. ¿Sería posible la parte DNS?

  • ¿Puedo hacer que los clientes utilicen mi DNS local sin configurarlos manualmente?
  • ¿Hasta qué punto se confundirían los clientes después de volver a conectarse a Internet real?
  • ¿Se conectarán los teléfonos inteligentes a un WiFi que no esté conectado a Internet?

Respuesta1

No creo que un cliente no pueda conectarse a un host TLS solo porque no pudo acceder al servidor CRL o OCSP. Estoy 99% seguro de que todo lo que necesitas es:

  • Un certificado de servidor firmado por una CA ampliamente confiable (como Let's Encrypt), junto con la clave privada correspondiente, instalada en la casilla de su servidor web local.
  • Un servidor DNS local que apunta el nombre de host relevante a la dirección IP de su servidor local.
  • Un servidor DHCP para proporcionar direcciones IP a los dispositivos cliente y decirles que utilicen su servidor DNS.

DNS y DHCP son operaciones muy ligeras, por lo que pueden ejecutarse fácilmente en el mismo cuadro que el servidor HTTPS si así lo desea.

Los dispositivos Wi-Fi móviles probablemente tendrán DHCP habilitado y probablemente podrán usar cualquier servidor DNS que el servidor DHCP les indique que usen. Así que no creo que debas preocuparte por apuntar "8.8.8.8"/"8.8.4.4"/"1.1.1.1" a tu servidor DNS local. Pero le recomiendo encarecidamente que configure un prototipo de su red fuera de línea mucho antes del evento y lo pruebe con una variedad de dispositivos iOS, Android, Mac y Windows (al menos uno de cada uno).

Los dispositivos no deben confundirse en absoluto al volver a conectarse a Internet real.

información relacionada