Ich baue ein Raspberry Pi-basiertes Gerät für Gartengärtner mit einer Webseite und einem Zugangspunkt für die Erstkonfiguration, einschließlich der Wi-Fi-Konfiguration. Die Verbindung verwendet WPA2 und die einzigen zwei Geräte in diesem internen Netzwerk sind das Gerät selbst und das Telefon / Tablet / Laptop des Benutzers. Der Zugriffspunkt ist nur während der Konfiguration sichtbar, wodurch die Wahrscheinlichkeit verringert wird, dass externe Angreifer das zufällige, werkseitig ausgelieferte Kennwort erraten können. Ich habe also für kurze Zeit den Datenverkehr verschlüsselt, mit ziemlicher Sicherheit nur zwei Knoten, und ein zufälliges Passwort. Daher ist kein HTTPS erforderlich, das ich sehen kann, und ich hatte geplant, HTTP auszuführen.
Heute habe ich jedoch erfahren, dass Chrome ab Juli alle HTTP-Sites als unsicher markiert. [1] Da die Wi-Fi-Konfiguration jedoch über einen Zugangspunkt erfolgt, ist noch kein Internetzugang verfügbar, um TLS-Zertifikate zu überprüfen. Ich verstehe, dass dies für den ordnungsgemäßen Betrieb erforderlich ist. [2] Ich könnte das Zertifikat selbst unterschreiben, aber das bringt andere Probleme mit sich. [3]
Meine Optionen scheinen also zu sein:
- Präsentieren Sie die Konfigurationsseite mit der großen, beängstigenden Meldung "Diese Website ist nicht sicher"
- Präsentieren Sie der Konfigurationsseite eine große, beängstigende Meldung "Dieses Zertifikat ist nicht vertrauenswürdig" (z. B. selbstsigniert).
Wie würden Sie diese schöne grüne Sperre standardmäßig für eine Gerätekonfigurationsseite bereitstellen?
[1] https://www.theverge.com/2018/2/8/16991254/chrome-not-secure-marked-http-encryption-ssl
[3] https://www.globalsign.com/de/ssl-information-center/dangers-self-signed-certificates/
Antworten:
Eine mögliche Option besteht darin, HTTPS zu verwenden und ein echtes Zertifikat auf dem Gerät zu versenden:
Da Sie den Zugriffspunkt steuern, steuern Sie vermutlich den DHCP-Server auf dem Zugriffspunkt, sodass dieser gleichzeitig eine DNS-Serveradresse bereitstellen kann.
Dieser DNS-Server kann sich auf dem AP befinden und einen vollständig qualifizierten Hostnamen auflösen, um auf sich selbst zu verweisen.
Anschließend können Sie ein Zertifikat für diesen vollständig qualifizierten Domänennamen erwerben und dieses mit dem Produkt bündeln, um eine vollständig verifizierte HTTPS-Verbindung herzustellen.
Ein großes Problem bei dieser Idee ist, dass Sie den privaten Schlüssel und das Zertifikat für diesen Domainnamen versenden. Sie sollten also davon ausgehen, dass er irgendwann kompromittiert wird, sodass Sie niemals einen echten Computer einsetzen sollten (möglicherweise müssen Sie einen Computer damit ausführen Name für eine sehr kurze Zeit, um das Zertifikat tatsächlich zu erhalten) im Internet, das diesen Hostnamen als Angreifer verwendet, könnte ihn leicht fälschen.
Auch die Firmware für den AP hat eine begrenzte Lebensdauer, da das Zertifikat abläuft (wahrscheinlich nach einem Jahr standardmäßig iirc), dann würden Sie böse Warnungen über abgelaufene Zertifikate erhalten.
Nächste Idee:
Beenden Sie den WiFi Access Point-Modus und verwenden Sie Bluetooth, z
https://www.hardill.me.uk/wordpress/2016/09/13/provisioning-wifi-iot-devices/
Nachteil ist, dass Apple WebBluetooth derzeit nicht unterstützt, Chrome jedoch unter Windows / Linux / Mac, und Sie könnten eine native iOS-App für Apple-Telefon- / Tablet-Benutzer ausliefern.
quelle