docs(arm): update docs to reflect rotpk key changes
The hashing algorithm for the rotpk is now HASH_ALG,
not always sha-256. The public development keys are
no longer in the repository and are now generated at
run-time, updates the documentation to reflect this.
Change-Id: Ic336f7aca858e9b6a1af6d6e6dc5f4aa428da179
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
diff --git a/docs/design/trusted-board-boot-build.rst b/docs/design/trusted-board-boot-build.rst
index caf367b..1cc1ba6 100644
--- a/docs/design/trusted-board-boot-build.rst
+++ b/docs/design/trusted-board-boot-build.rst
@@ -54,16 +54,34 @@
On Juno board, the default value corresponds to an ECDSA-SECP256R1 public
key hash, whose private part is not currently available.
- - ``ARM_ROTPK_LOCATION=devel_rsa``: use the default hash located in
- ``plat/arm/board/common/rotpk/arm_rotpk_rsa_sha256.bin``. Enforce
- generation of the new hash if ``ROT_KEY`` is specified.
+ - ``ARM_ROTPK_LOCATION=devel_rsa``: the ROTPK is a hash of the
+ RSA public key corresponding to the private key specified by
+ ``ROT_KEY``. If ``ROT_KEY`` is not specified, the private key is
+ the development key ``plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem``.
+ There are also 3k and 4k RSA development keys in ``plat/arm/board/common/rotpk/``.
+ The hashing algorithm is selected by ``HASH_ALG``; sha256 is used if
+ ``HASH_ALG`` is not specified.
- - ``ARM_ROTPK_LOCATION=devel_ecdsa``: use the default hash located in
- ``plat/arm/board/common/rotpk/arm_rotpk_ecdsa_sha256.bin``. Enforce
- generation of the new hash if ``ROT_KEY`` is specified.
+ - ``ARM_ROTPK_LOCATION=devel_ecdsa``: the ROTPK is a hash of the
+ ECDSA public key corresponding to the private key specified by
+ ``ROT_KEY``. If ``ROT_KEY`` is not specified, the private key is
+ the development key ``plat/arm/board/common/rotpk/arm_rotprivk_ecdsa.pem`` by default,
+ a 384 bit key ``plat/arm/board/common/rotpk/arm_rotprivk_ecdsa_secp384r1.pem`` also exists,
+ and can be specified by ``ROT_KEY``. The hashing algorithm is selected by ``HASH_ALG``;
+ sha256 is used if ``HASH_ALG`` is not specified.
- - ``ARM_ROTPK_LOCATION=devel_full_dev_rsa_key``: use the key located in
- ``plat/arm/board/common/rotpk/arm_full_dev_rsa_rotpk.S``.
+ - ``ARM_ROTPK_LOCATION=devel_full_dev_rsa_key``: the ROTPK is an unhashed
+ RSA public key corresponding to the private key specified by ``ROT_KEY``.
+ If ``ROT_KEY`` is not specified, the private key is the development key
+ ``plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem``. There are also
+ 3k and 4k RSA development keys in ``plat/arm/board/common/rotpk/``.
+
+ - ``ARM_ROTPK_LOCATION=devel_full_dev_ecdsa_key``: the ROTPK is an unhashed
+ RSA public key corresponding to the private key specified by ``ROT_KEY``.
+ If ``ROT_KEY`` is not specified, the private key is the development key
+ ``plat/arm/board/common/rotpk/arm_rotprivk_ecdsa.pem``, a 384 bit key
+ ``plat/arm/board/common/rotpk/arm_rotprivk_ecdsa_secp384r1.pem`` also exists,
+ and can be specified by ``ROT_KEY``.
Example of command line using RSA development keys:
@@ -119,7 +137,7 @@
--------------
-*Copyright (c) 2019-2022, Arm Limited. All rights reserved.*
+*Copyright (c) 2019-2024, Arm Limited. All rights reserved.*
.. _mbed TLS Repository: https://github.com/ARMmbed/mbedtls.git
.. _mbed TLS Security Center: https://tls.mbed.org/security
diff --git a/docs/design/trusted-board-boot.rst b/docs/design/trusted-board-boot.rst
index f10d2e7..f3e094c 100644
--- a/docs/design/trusted-board-boot.rst
+++ b/docs/design/trusted-board-boot.rst
@@ -39,7 +39,8 @@
- A Root of Trust Public Key (ROTPK), or a hash of it.
- On Arm development platforms, a SHA-256 hash of the ROTPK is stored in the
+ On Arm development platforms, a hash of the ROTPK (hash algorithm selected by
+ the ``HASH_ALG`` build option, with sha256 as default) is stored in the
trusted root-key storage registers. Alternatively, a development ROTPK might
be used and its hash embedded into the BL1 and BL2 images (only for
development purposes).
@@ -330,7 +331,7 @@
--------------
-*Copyright (c) 2015-2020, Arm Limited and Contributors. All rights reserved.*
+*Copyright (c) 2015-2024, Arm Limited and Contributors. All rights reserved.*
.. _X.509 v3: https://tools.ietf.org/rfc/rfc5280.txt
.. _Trusted Board Boot Requirements (TBBR): https://developer.arm.com/docs/den0006/latest