Schutz der Software-Integrität und Daten – Das IoTürschild 🛡️

Die Security Analyse steht und das Secure Boot Verfahren ist auch im Kasten. In unserem vorerst letzten Teil der IoTürschild-Artikelreihe beschäftigen wir uns vor allem mit der Flash Speicher Verschlüsselung vom ESP32.

„Eine sichere Praxis.“

Bekannte Schwachstellen wie der CVE-2019-15894 zeigen, dass das Hinzufügen unabhängiger Sicherheitsschichten auch am embedded Device eine sichere Praxis ist. Für die spezielle Schwachstelle im CVE konnte jedoch die Validierung der Firmware mithilfe von Secure Boot in älteren Hardware-Versionen durch eine Fault-Injection umgangen werden. Die Schwachstelle ist seit dem ESP32 ECO V3 behoben.

Ergänzend zum Secure Boot Verfahren aus dem letzten Beitrag, ist für das IoTürschild ebenfalls eine Verschlüsselung des Flash Speichers vorgesehen. Nicht nur um eine zusätzliche Sicherheitsschicht zu implementieren, sondern auch, um einen sicheren Speicher für sensible Daten auf dem ESP bereitzustellen. Dabei kann es sich beispielsweise um Daten zur Authentifikation in der Cloud oder Zugangsdaten für das lokale WLAN-Netzwerk handeln.

Hierfür bietet der ESP32 die Möglichkeit, die Software durch einen auf dem ESP32 generierten Schlüssel zu verschlüsseln. Das bietet den Vorteil, dass jeder ESP im Feld einen eigenen Schlüssel besitzt. Software-Updates sind anschließend nur noch OTA möglich. Die Software wird dazu im Klartext vom ESP32 entgegengenommen und von diesem verschlüsselt in den Flash Speicher geschrieben. Hierfür wird der etablierte Advanced Encryption Standard (AES) genutzt und mit einem symmetrischen Schlüssel der Länge 256 Bit gearbeitet.

Die Verschlüsselung des Flash Speichers und Secure Boot bieten zusammen einen guten Schutz für die Integrität und Vertraulichkeit von Daten und Software. Darüber hinaus können am ESP32 Schnittstellen wie JTAG und das Flashen über UART deaktiviert werden, um das Risiko für den unautorisierten Zugriff und die Manipulation der Software zu minimieren. Als letztes sollte beachtet werden, dass die so genannte Rollback-Protection für ein Update OTA aktiv ist.

Unter Berücksichtigung all dieser Punkte haben wir abschließend eine hinreichend sichere Plattform für das IoTürschild gefunden, um mit der weiteren Entwicklung der Applikation fortzufahren.

Sobald es Neuigkeiten und weitere spannende Insights zum Thema gibt, halten wir euch gerne auf dem Laufenden!