Von English mit KI übersetzt ·
Ich habe letztes Jahr für einen Auftragnehmer ein ähnliches Design geprüft, daher hier die Begründung für den Bericht.Trenne öffentliche von geheimen Daten. Das CA-Bundle ist öffentlich; das Serverzertifikat ist ein öffentliches Zertifikat, das mit einem normalen CA-Bundle geprüft wird, daher ist es unbedenklich, es auf der Karte zu speichern. WLAN-Passwort und Geräte-Token sind Geheimnisse, denn sie identifizieren genau dieses Gerät.Geheimnisse auf Wechselmedien scheitern aus zwei Gründen: Beim Entfernen bleibt keine Spur zurück, und die Karte wird häufig auf andere Boards kopiert („klon einfach die Karte“), sodass mehrere Geräte dieselbe Zugangsdaten teilen. Hermetry erlaubt pro Gerät nur eine Sitzung; zwei Boards mit demselben Token werfen sich daher ständig gegenseitig heraus, und du würdest eine Übernahme im Log-Tab des Geräts sehen.Zu X.509: Für eigene Boards ist das nicht verfügbar. Client-Zertifikate müssen von der Geräte-Zertifizierungsstelle von Hermetry stammen, und das Hochladen einer eigenen CA für Fremdgeräte wird nicht angeboten; dieser Weg ist für lizenzierte Geräte gedacht, die ihren Schlüssel selbst erzeugen und selbst eine CSR senden. Dein ESP32 verwendet ein Access-Token oder MQTT basic.Was ich auf einem ESP32 tun würde:1. Dasselbe Binary für jedes Board ist in Ordnung. Lege das Token bei der Bereitstellung über einen kleinen seriellen Befehl beim ersten Start in NVS ab, nicht auf der Karte.2. Aktiviere Flash-Verschlüsselung und NVS-Verschlüsselung, damit ein Flash-Dump das Token nicht preisgibt.3. Die Karte nur für Datenprotokollierung und das CA-Bundle verwenden.4. In Hermetry je ein Gerät und ein Token pro Board anlegen; wenn ein Board verloren geht, das Geheimnis rotieren. Damit werden dessen Sitzungen sofort beendet.Die Einschränkung bei Zertifikaten steht im letzten Abschnitt von Device certificates.
Did a review of a similar design for a contractor last year, so here’s the reasoning for the report.
Separate public stuff from secret stuff. The CA bundle is public; the server certificate is a public one and you verify it with a normal CA bundle, so keeping that on the card is fine. WiFi password and the device token are secrets, they identify this exact device.
Secrets on removable media fail on two counts: removing them leaves no trace, and the card usually gets copied into other boards („just clone the card“), and then you have several devices sharing one credential. Hermetry allows one session per device, so two boards with the same token keep kicking each other off, and you’d see takeover in the device’s Log tab.
On X.509: for your own boards it’s not available. Client certificates must come from Hermetry’s device certificate authority, and uploading your own CA for third-party devices is not offered; that path is for licensed devices that generate their key and send a CSR themselves. Your ESP32 uses an access token or MQTT basic.
What I’d do on an ESP32:
1. Same binary for every board is fine. Put the token in NVS at provisioning (a small serial command on first boot), not on the card.
2. Turn on flash encryption and NVS encryption, so a flash dump does not give up the token.
3. Card only for data logging and the CA bundle.
4. In Hermetry, one device and one token per board; rotate the secret if a board goes missing. That ends its sessions at once.
The certificate limitation is on Device certificates, last section.

