summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/variables.rst
diff options
context:
space:
mode:
authorAdrian Freihofer <adrian.freihofer@gmail.com>2025-03-17 18:35:01 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-03-24 17:32:34 +0000
commit7f3dbf4f84bc5efd4b55459972ecb4808fe0fb6f (patch)
tree5514761f402aae0c03221fe22fd4a4a919844da8 /documentation/ref-manual/variables.rst
parent61a71927194e7dd52df7e8c822612122b2e06b51 (diff)
downloadpoky-7f3dbf4f84bc5efd4b55459972ecb4808fe0fb6f.tar.gz
ref-manual: variable FIT_SIGN_INDIVIDUAL mix-and-match attacks
Incorporate the lessons learned from a regression introduced with commit OE-Core rev: 259bfa86f384206f0d0a96a5b84887186c5f689e u-boot: kernel-fitimage: Fix dependency loop if UBOOT_SIGN_ENABLE and UBOOT_ENV enabled and fixed with commit OE-Core rev: 0106e5efab99c8016836a2ab71e2327ce58a9a9d u-boot: kernel-fitimage: Restore FIT_SIGN_INDIVIDUAL="1" behavior into the documentation. The use of the variable FIT_SIGN_INDIVIDUAL is explicitly discouraged. (From yocto-docs rev: d34e1d4e3f229bcd6560fe7df544869b0cd9875f) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/variables.rst')
-rw-r--r--documentation/ref-manual/variables.rst36
1 files changed, 29 insertions, 7 deletions
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 861b04eaab..5b5eaccc2a 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -3170,13 +3170,35 @@ system and gives an overview of their function and contents.
3170 :ref:`ref-classes-kernel-fitimage` class. 3170 :ref:`ref-classes-kernel-fitimage` class.
3171 3171
3172 :term:`FIT_SIGN_INDIVIDUAL` 3172 :term:`FIT_SIGN_INDIVIDUAL`
3173 If set to "1", then the :ref:`ref-classes-kernel-fitimage` 3173 If set to "1", the :ref:`ref-classes-kernel-fitimage` class signs each
3174 class will sign the kernel, dtb and ramdisk images individually in addition 3174 image node individually, including the kernel, DTB, RAM disk, and any
3175 to signing the FIT image itself. This could be useful if you are 3175 other image types present in the FIT image, in addition to signing the
3176 intending to verify signatures in another context than booting via 3176 configuration nodes.
3177 U-Boot. 3177 This can be useful if you need to verify signatures outside of the
3178 3178 U-Boot boot process. By default, this variable is set to "0".
3179 This variable is set to "0" by default. 3179
3180 If :term:`UBOOT_SIGN_ENABLE` is set to "1" and
3181 :term:`FIT_SIGN_INDIVIDUAL` remains at its default value of "0", only the
3182 configuration nodes are signed. Since configuration nodes include hashes
3183 of their referenced image nodes, the integrity of the entire FIT image is
3184 ensured as long as the image nodes are loaded via the configuration nodes
3185 and the hashes of the image nodes are checked. That's usually the case.
3186
3187 Enabling :term:`FIT_SIGN_INDIVIDUAL` typically increases complexity for
3188 little benefit. There might be exceptions such as image nodes that are
3189 not referenced by any configuration node or loaded directly for whatever
3190 reason.
3191 For most use cases, setting this variable to "0" provides sufficient
3192 security.
3193
3194 For further details, refer to the official U-Boot documentation:
3195 `U-Boot fit signature <https://docs.u-boot.org/en/latest/usage/fit/signature.html>`__
3196 and more specifically at:
3197 `U-Boot signed configurations <https://docs.u-boot.org/en/latest/usage/fit/signature.html#signed-configurations>`__.
3198
3199 Signing only the image nodes is intentionally not implemented by
3200 :term:`OpenEmbedded-Core (OE-Core)`, as it is vulnerable to mix-and-match
3201 attacks.
3180 3202
3181 :term:`FIT_SIGN_NUMBITS` 3203 :term:`FIT_SIGN_NUMBITS`
3182 Size of the private key used in the FIT image, in number of bits. 3204 Size of the private key used in the FIT image, in number of bits.