Bachelor's Thesis

Hardening and remote management of ESP32 microcontroller

Final Thesis 2.93 MB

Author of thesis: Bc. Marek Novota

Acad. year: 2025/2026

Supervisor: Ing. Martin Štůsek, Ph.D.

Reviewer: doc. Ing. Pavel Mašek, Ph.D.

Abstract:

This bachelor thesis deals with the analysis and practical verification of the security mechanisms of the ESP32 microcontroller and the design of a secure firmware update system. The theoretical part describes the Secure Boot v2, Flash Encryption, and firmware signing mechanisms, as well as the options for local and remote device updates. Attention is also paid to OTA updates, flash memory organization, OTA partitions, rollback, and anti-rollback mechanisms. The practical part presents the implementation and verification of these security mechanisms on the ESP32 microcontroller. The solution includes
a web application for firmware management and distribution, which enables uploading new versions, generating a manifest, calculating the SHA-256 hash, and serving firmware files to the device. The application supports local updates in service mode via UART as well as remote OTA updates over a Wi-Fi network. The OTA mechanism allows for automatic distribution of updates whenever a newer version of the firmware is available. Furthermore, the thesis evaluates the impact of the security mechanisms on the device’s performance, specifically focusing on flash memory read and write speeds, CPU utilization, available SRAM, and system boot time. The results demonstrate that while
the security mechanisms significantly enhance device protection, they introduce a minor trade-off in overall performance.

Keywords:

ESP32, microcontroller, ESP-IDF, Secure Boot v2, Flash Encryption, firmware signing, OTA update, UART, web application, Flask, manifest, SHA-256, rollback, anti-rollback, eFuse, FreeRTOS

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Otázky oponenta: Jakým způsobem je možné využít hardwarovou akceleraci na ESP32 pro operace zápis/šifrování a čtení/dešifrování? Pro jaké další šifrovací operace (kromě samotného dešifrování obsahu flash paměti) využívá architektura ESP32 hardwarovou akceleraci? V zadání práce není specifikována bezdrátová technologie pro vzdálenou aktualizaci zařízení. Z jakého důvodu byl zvolen standard IEEE 802.11? Existují možné alternativy? Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil bakalářskou práci a odpověděl na otázky členů komise a oponenta.

Language of thesis

Slovak

Faculty

Department

Study programme

Information Security (BPC-IBE)

Composition of Committee

doc. Ing. Jiří Hošek, Ph.D. (předseda)
doc. Ing. Petr Sysel, Ph.D. (místopředseda)
Mgr. Andrej Krištofík, Ph.D. (člen)
Ing. Martin Štůsek, Ph.D. (člen)
Ing. Radek Možný, Ph.D. (člen)
Ing. Michal Lares, Ph.D. (člen)
Ing. Patrik Dobiáš (člen)

Supervisor’s report
Ing. Martin Štůsek, Ph.D.

Bakalářská práce studenta Marka Novoty se zabývá popisem a implementací bezpečnostních mechanismů na mikrokontroléru ESP32. Student v průběhu celého semestru aktivně konzultoval průběh prací a připomínky v rámci praktické části implementace zapracoval. Z praktického hlediska jsou všechny cíle práce splněny v plné míře.

To však nelze konstatovat o výsledné textovém dokumentu, který vykazuje množství typografických chyb. Jedná se zejména o chybějící tečky na konci popisků obrázků, nepoužívání nezlomitelných mezer a nevhodné strukturování nadpisů sekcí a kapitol. Celkově by mělo být dělení do sekcí a strukturování v práci vylepšeno. Práce také obsahuje obrázky, které nebyly přeloženy, a i v textu se občas vyskytují anglické výrazy bez patřičného překladu. Z hlediska obsahového by práce měla více do hloubky popisovat vytvořenou aplikaci. Aktuální popis působí velmi stroze v porovnání s popisem bezpečnostních mechanismů.

Jako celek však práci hodnotím pozitivně a doporučuji k obhajobě se známkou B/85 bodů. Points proposed by supervisor: 85

Grade proposed by supervisor: B

Reviewer’s report
doc. Ing. Pavel Mašek, Ph.D.

Bakalářská práce studenta Marka Novoty zpracovává téma „Zabezpečení a vzdálená správa na mikrokontroleru ESP32“. V teoretické části práce se student dle zadání nejprve zaměřuje na zvolený mikrokontroler ESP32 a následně na zabezpečovací mechanismy. Konkrétně je pozornost soustředěna na (i) Secure Boot v2 (pro zajištění spuštění pouze důvěryhodného firmware), (ii) Flash Encryption (pro šifrování paměti) a (iii) mechanismy podepisování firmware. Nakonec student diskutuje problematiku lokálních a vzdálených aktualizací OTA, rozložení flash paměti (OTA partition) a mechanismy rollback a anti-rollback pro zabránění přechodu na starší, potenciálně zranitelnou, verzi firmware.

V praktické části bakalářské práce student provedl implementaci diskutovaných mechanismů pro zvýšení zabezpečení. Pro účely vzdálené správy byla naprogramována webová aplikace, která slouží k administraci a distribuci firmware. Aplikace umožňuje (i) nahrávání nových verzí firmware, (ii) generování manifestu a výpočet kontrolního SHA-256 hashe, (iii) lokální aktualizaci přes rozhraní UART v servisním režimu, (vi) vzdálenou automatickou distribuci OTA aktualizací přes Wi-Fi, pokud systém podle manifestu detekuje existenci novější verze firmware na serveru. Součástí praktické části práce je také porovnání výkonnosti zvoleného mikrokontroleru před a po implementaci diskutovaných zabezpečovacích mechanismů.

Z pohledu oponenta je zadání bakalářské práce splněno, nicméně oponent má následující komentáře:

• Studentův vlastní přínos, který je popsán v kapitole 3 „Webová aplikace pro aktualizaci firmware“, obsahuje pouze základní popis fungování aplikace, bez detailního popisu. Zcela např. chybí analýza bezpečnosti samotného serveru (např. řízení přístupu, autorizace pro nahrání nového firmware) a explicitní popis šifrování samotného komunikačního kanálu mezi serverem a ESP32 (např. implementace TLS a ověřování certifikátů). Přestože je v textu práce uveden odkaz na GitHub, považuje oponent technický popis implementace za průměrný.
• Lokální aktualizace přímým zápisem přes UART byla ověřena pouze jako servisní mechanismus pro vývojovou konfiguraci zařízení. Pro produkční režim se zapnutým zabezpečením student odkazuje na nutnost využití ESP-IDF OTA API, což znamená, že implementovaný UART mechanismus není připraven pro nasazení se zapnutým šifrováním.
• Práce po formální stránce obsahuje řadu překlepů, gramatických chyb, a nelogických souvětí. Bakalářská práce obsahuje 21 referencí, které ve většině odkazují na webové stránky – namísto ověřených vědeckých publikací či knih. Dále je nutné zmínit nejednotný styl zápisu referencí, který neodpovídá normě ISO ČSN 690 pro bibliografické citace.

Na základě výše uvedeného je bakalářská práce z pozice oponenta hodnocena 80 body/B a doporučena k obhajobě. Topics for thesis defence:
  1. Jakým způsobem je možné využít hardwarovou akceleraci na ESP32 pro operace zápis/šifrování a čtení/dešifrování?
  2. Pro jaké další šifrovací operace (kromě samotného dešifrování obsahu flash paměti) využívá architektura ESP32 hardwarovou akceleraci?
  3. V zadání práce není specifikována bezdrátová technologie pro vzdálenou aktualizaci zařízení. Z jakého důvodu byl zvolen standard IEEE 802.11? Existují možné alternativy?
Points proposed by reviewer: 80

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová