esphome / esphome/feature-requests

Add support for Secure Boot / Flash Encryption when flashing nodes

Open
#2,632 2 comments 23 reactions 0 assignees View on GitHub
component: esp32 component: ota
Dominant language
No language data
Stars
450
Forks
29
PR merge metrics
No merged PRs in 30d

Description

**Describe the problem you have/What new integration you would like**

Add the ability to sign and encrypt binaries before uploading firmware to node. Enabling this would help secure any wifi passwords / sensitive keys that exist in the plaintext firmware. This could be implemented through additional optional flags in the esphome cli. Alternatively, adding the ability to run a preprocessing script / hook before upload might also fulfill this need.

**Please describe your use case for this integration and alternatives you've tried:**

I have an ESP32 device that has secure boot and flash encryption keys already burned that I would like to convert to an ESPHome node. I would like to have a way to point the esphome cli to the secure boot and flash encryption keys to use while uploading new firmware to the device. Being able to do this OTA would probably add a bit of complexity with managing keys for every node, but as a first pass - being able to provision a secure node manually would be very useful.

**Additional context**

Contributor guide

No contributing guide indexed for this repository

Research direction

The payload names no files or tests; begin by tracing the ESPHome CLI upload flow and the ESP32 secure-boot and flash-encryption requirements. Define the supported key inputs and manual provisioning path first; done means a node can be flashed with firmware signed and encrypted using the supplied keys.

Written by the indexing model from the issue text.

Assessment

Domain
cli, embedded-iot, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.