Skip to content

Commit

Permalink
chapter2: require authenticated fmp capsules for fw update
Browse files Browse the repository at this point in the history
- Require to accept only authenticated in-band firmware updates in FMP
  format.
- Explicitly allow non-firmware update capsules in any format and refer to
  the Dependable Boot Specification.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
  • Loading branch information
vstehle committed Jun 19, 2024
1 parent 2efd1cd commit 3a41a94
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 2 deletions.
1 change: 1 addition & 0 deletions .typos.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ recored
veriable
virtulized
authenticaed
conaining
12 changes: 10 additions & 2 deletions source/chapter2-uefi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -606,8 +606,9 @@ In-band firmware update

If firmware update is performed in-band (firmware on the application processor
updates itself), then the firmware shall implement the `UpdateCapsule()` runtime
service and accept updates in the "Firmware Management Protocol Data Capsule
Structure" format as described in :UEFI:`23.3`. [#FMPNote]_
service and accept only authenticated updates in the "Firmware Management
Protocol Data Capsule Structure" format as described in :UEFI:`23.3`, with
`IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED` set. [#FMPNote]_
`UpdateCapsule()` is only required before `ExitBootServices()` is called.

.. [#FMPNote] The `UpdateCapsule()` runtime service is expected to be suitable
Expand All @@ -618,6 +619,13 @@ Structure" format as described in :UEFI:`23.3`. [#FMPNote]_
https://fwupd.org/
Firmware is allowed to accept capsules not containing firmware updates in any
format, with or without authentication. [#SignalingNote]_

.. [#SignalingNote] Capsules not containing firmware updates can be used as a
signaling mean between OS and firmware, as described in [DEPBOOT]_ for
example.
Firmware is also required to provide an EFI System Resource Table (ESRT) as
described in :UEFI:`23.4`.
Every firmware image that can be updated in-band must be described in the ESRT.
Expand Down
4 changes: 4 additions & 0 deletions source/references.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ Bibliography
<https://uefi.org/sites/default/files/resources/ACPI_Spec_6_5_Aug29.pdf>`_,
August 2022, `UEFI Forum <https://uefi.org/>`_
.. [DEPBOOT] `Dependable Boot Specification version 0.1-alpha.
<https://gitlab.com/Linaro/trustedsubstrate/mbfw/uploads/3d0d7d11ca9874dc9115616b418aa330/mbfw.pdf>`_
November 2021, `Linaro Limited and contributors <https://www.linaro.org>`_
.. [DTSCHEMA] `Devicetree schema tools v2024.02
<https://github.com/devicetree-org/dt-schema/releases/tag/v2024.02>`_,
`Devicetree.org <https://www.devicetree.org/>`_
Expand Down

0 comments on commit 3a41a94

Please sign in to comment.