mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/doc_no_secure_boot_sig_verify' into 'master'
secure boot doc: Clarify limits for verifying signed updates without secure boot Closes IDFGH-5325 See merge request espressif/esp-idf!13972
This commit is contained in:
commit
0c8a495be0
@ -344,13 +344,17 @@ The Secure Boot V2 signature of apps can be checked on OTA update, without enabl
|
||||
|
||||
This may be desirable in cases where the delay of Secure Boot verification on startup is unacceptable, and/or where the threat model does not include physical access or attackers writing to bootloader or app partitions in flash.
|
||||
|
||||
In this mode, any public key which is present in the signature block of the currently running app will be used to verify the signature of a newly updated app. (The signature on the running app isn't verified during the update process, it's assumed to be valid.) In this way the system creates a chain of trust from the running app to the newly updated app.
|
||||
In this mode, the public key which is present in the signature block of the currently running app will be used to verify the signature of a newly updated app. (The signature on the running app isn't verified during the update process, it's assumed to be valid.) In this way the system creates a chain of trust from the running app to the newly updated app.
|
||||
|
||||
For this reason, it's essential that the initial app flashed to the device is also signed. A check is run on app startup and the app will abort if no signatures are found. This is to try and prevent a situation where no update is possible. The app should have only one valid signature block in the first position. Note again that, unlike hardware Secure Boot V2, the signature of the running app isn't verified on boot.The system only verifies a signature block in the first position and ignores the other (2) appended signatures.
|
||||
For this reason, it's essential that the initial app flashed to the device is also signed. A check is run on app startup and the app will abort if no signatures are found. This is to try and prevent a situation where no update is possible. The app should have only one valid signature block in the first position. Note again that, unlike hardware Secure Boot V2, the signature of the running app isn't verified on boot. The system only verifies a signature block in the first position and ignores any other appended signatures.
|
||||
|
||||
only:: not esp32
|
||||
|
||||
Although multiple trusted keys are supported when using hardware Secure Boot, only the first public key in the signature block is used to verify updates if signature checking without Secure Boot is configured. If multiple trusted public keys are required, it's necessary to enable the full Secure Boot feature instead.
|
||||
|
||||
.. note::
|
||||
|
||||
In general, it's recommended to use full hardware Secure Boot unless certain that this option is sufficient for application security needs
|
||||
In general, it's recommended to use full hardware Secure Boot unless certain that this option is sufficient for application security needs.
|
||||
|
||||
.. _signed-app-verify-v2-howto:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user