Verwenden von HTTPS in Client-Browsern in einem lokalen Netzwerk ohne Internetverbindung

Verwenden von HTTPS in Client-Browsern in einem lokalen Netzwerk ohne Internetverbindung

Ich arbeite an einer Webanwendung, die auf einem Server läuft. Es wird Clients (Smartphone-Browser) geben, die sich über HTTPS über ein WLAN mit dem Server verbinden, das nicht mit dem Internet verbunden wäre. Die Anwendung würde hauptsächlich für eintägige Veranstaltungen verwendet werden.

Das Problem:Ist HTTPS ohne Internet möglich?

  • Wir können keine Zertifikate zu den Truststores der Clients hinzufügen. Wir können die Clients auch nicht auf andere Weise konfigurieren. Clients sind zufällig ausgewählte Personen, die die Veranstaltung besuchen.
  • Die Clients können nicht auf das Internet zugreifen, um CRL/OCSP zu überprüfen. Möglicherweise besteht einfach keine Internetverbindung

ich habe eine IdeeVerwendung eines lokalen DNS:

  • Ich besitze einen Schlüssel und ein vertrauenswürdiges SSL-Zertifikat (LetsEncrypt) füroffline.mydomain.com
  • Es gibt einen DNS-Server im Offline-WLAN-Netzwerk, der alle DNS-Adressen auf meinen Anwendungsserver verweist
  • Alle Zertifikate und CRLs aus der offline.mydomain.comVertrauenskette des SSL-Zertifikats werden auf den Anwendungsserver heruntergeladen und können über die im CDP und AIA der Zertifikate definierten Pfade abgerufen werden.
  • Der Anwendungsserver behauptet, auf diesem Server ausgeführt zu werden https://offline.mydomain.com(und der DNS-Server verweist offline.mydomain.comauf den Anwendungsserver).

Der gesamte Ablauf wäre:

  • Klient: GET https://offline.mydomain.com/app
  • DNS: offline.mydomain.combefindet sich auf der IP des Anwendungsservers
  • Mein Anwendungsserver:hier ist das HTML
  • ...
  • Klient: GET http://crl.ca.com/crls/ca.crl
  • DNS: crl.ca.combefindet sich auf der IP des Anwendungsservers
  • Mein Anwendungsserver:hier ist die CRL
  • ...
  • Klient: GET http://certificate.ca.com/certs/ca.cer
  • DNS: certificate.ca.combefindet sich auf der IP des Anwendungsservers
  • Mein Anwendungsserver:hier ist das Zertifikat
  • ...

Ich verstehe jedoch nicht so viel von Netzwerken. Wäre der DNS-Teil möglich?

  • Kann ich die Clients dazu bringen, meinen lokalen DNS zu verwenden, ohne sie manuell zu konfigurieren?
  • Wie sehr würden die Clients verwirrt sein, wenn sie sich wieder mit dem echten Internet verbinden würden?
  • Können Smartphones eine Verbindung zu einem WLAN herstellen, das nicht mit dem Internet verbunden ist?

Antwort1

Ich glaube nicht, dass ein Client die Verbindung zu einem TLS-Host abbrechen würde, nur weil er den CRL- oder OCSP-Server nicht erreichen konnte. Ich bin mir also zu 99 % sicher, dass Sie nur Folgendes brauchen:

  • Ein von einer allgemein vertrauenswürdigen Zertifizierungsstelle (z. B. Let’s Encrypt) signiertes Serverzertifikat zusammen mit dem passenden privaten Schlüssel, das auf Ihrer lokalen Webserver-Box installiert ist.
  • Ein lokaler DNS-Server, der den entsprechenden Hostnamen auf die IP-Adresse Ihres lokalen Servers verweist.
  • Ein DHCP-Server, um Client-Geräten IP-Adressen zuzuweisen und ihnen mitzuteilen, dass sie Ihren DNS-Server verwenden sollen.

DNS und DHCP sind sehr einfache Vorgänge, sodass sie bei Bedarf problemlos auf derselben Box wie der HTTPS-Server ausgeführt werden können.

Bei mobilen WLAN-Geräten ist DHCP höchstwahrscheinlich aktiviert und sie können höchstwahrscheinlich jeden DNS-Server verwenden, den der DHCP-Server ihnen vorgibt. Sie müssen sich also keine Gedanken darüber machen, „8.8.8.8“/„8.8.4.4“/„1.1.1.1“ auf Ihren lokalen DNS-Server zu verweisen. Ich empfehle Ihnen jedoch dringend, lange vor der Veranstaltung einen Prototyp Ihres Offline-Netzwerks einzurichten und ihn mit einer Vielzahl von iOS-, Android-, Mac- und Windows-Geräten (mindestens einem von jedem) zu testen.

Bei der Wiederverbindung mit dem realen Internet sollten die Geräte nicht verwirrt werden.

verwandte Informationen