![Uso de HTTPS en navegadores de clientes en una red local sin conexión a Internet](https://rvso.com/image/1606699/Uso%20de%20HTTPS%20en%20navegadores%20de%20clientes%20en%20una%20red%20local%20sin%20conexi%C3%B3n%20a%20Internet.png)
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) para
offline.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.com
cadena 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 apuntaoffline.mydomain.com
al servidor de aplicaciones)
Todo el flujo sería:
- Cliente:
GET https://offline.mydomain.com/app
- DNS:
offline.mydomain.com
está 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.com
está 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.com
está 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.