esp-idf/components/soc/esp32h2
Mahavir Jain d3b4acf7a0 fix(esp32h2): program use_hardware_k efuse bit for ECDSA key purpose
In ESP32-H2, the ECDSA peripheral by default uses the TRNG (hardware)
generated k value but it can be overridden to software supplied k.
This can happen through by overriding the `ECDSA_SOFTWARE_SET_K` bit
in the configuration register. Even though the HAL API is not exposed
for this but still it could be achieved by direct register
programming. And for this scenario, if sufficiently random k is not
supplied by the software then it could posses a security risk.

In this change, we are unconditionally programming the efuse
`ESP_EFUSE_ECDSA_FORCE_USE_HARDWARE_K` bit during startup security
checks itself. Additionally, same is ensured in the `esp_efuse_write_key`
API as well. This always enforces the hardware k mode in the ECDSA
peripheral and ensures strongest possible security.
2023-11-17 07:13:53 +00:00
..
include fix(esp32h2): program use_hardware_k efuse bit for ECDSA key purpose 2023-11-17 07:13:53 +00:00
ld feat(ana_cmpr): supported etm in analog comparator example 2023-09-25 19:57:34 +08:00
adc_periph.c esp_adc: support h2 oneshot mode and continuous mode 2023-02-23 11:48:31 +08:00
ana_cmpr_periph.c feat(ana_cmpr): supported etm in analog comparator example 2023-09-25 19:57:34 +08:00
dedic_gpio_periph.c ESP32H2: Add SOC files for esp32h2 2022-11-29 18:55:12 +08:00
gdma_periph.c ESP32H2: Add SOC files for esp32h2 2022-11-29 18:55:12 +08:00
gpio_periph.c gpio: Add support for esp32h2 2023-01-18 11:41:12 +08:00
i2c_periph.c fix(i2c): I2C port 1 doesn't work on esp32h2 2023-10-11 17:06:39 +08:00
i2s_periph.c feat(i2s): supported getting the tx sync count and specify interrupt flags 2023-09-28 15:03:27 +08:00
ieee802154_periph.c ieee802154: support driver opensrc 2023-04-25 11:48:13 +08:00
interrupts.c ESP32H2: Add SOC files for esp32h2 2022-11-29 18:55:12 +08:00
ledc_periph.c ESP32H2: Add SOC files for esp32h2 2022-11-29 18:55:12 +08:00
mcpwm_periph.c mcpwm: support esp32h2 2023-02-02 19:05:31 +08:00
mpi_periph.c bignum: refactored the hardware abstraction of the mpi peripheral 2023-04-24 16:15:11 +05:30
parlio_periph.c driver: add parallel IO TX driver 2023-03-01 00:43:14 +00:00
pcnt_periph.c pcnt: support pcnt on esp32h2 2023-01-13 16:11:50 +08:00
rmt_periph.c ESP32H2: Add SOC files for esp32h2 2022-11-29 18:55:12 +08:00
rtc_io_periph.c refactor(driver/rtcio): Re-wrap RTCIO APIs with more accurate soc_caps 2023-07-05 11:47:51 +08:00
sdm_periph.c ESP32H2: Add SOC files for esp32h2 2022-11-29 18:55:12 +08:00
spi_periph.c spi: support H2 spi master, slave, slave_hd driver 2023-02-08 11:38:45 +08:00
temperature_sensor_periph.c ESP32H2: Add SOC files for esp32h2 2022-11-29 18:55:12 +08:00
timer_periph.c ESP32H2: Add SOC files for esp32h2 2022-11-29 18:55:12 +08:00
twai_periph.c twai: h2 support twai driver 2023-02-16 16:34:23 +08:00
uart_periph.c ESP32H2: Add SOC files for esp32h2 2022-11-29 18:55:12 +08:00