Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
bd2ad929
Commit
bd2ad929
authored
Mar 12, 2020
by
Mark Dykes
Committed by
TrustedFirmware Code Review
Mar 12, 2020
Browse files
Merge "Update cryptographic algorithms in TBBR doc" into integration
parents
d2737fe1
316c5cc6
Changes
1
Hide whitespace changes
Inline
Side-by-side
docs/design/trusted-board-boot.rst
View file @
bd2ad929
...
@@ -19,7 +19,9 @@ A Chain of Trust (CoT) starts with a set of implicitly trusted components. On
...
@@ -19,7 +19,9 @@ A Chain of Trust (CoT) starts with a set of implicitly trusted components. On
the Arm development platforms, these components are:
the Arm development platforms, these components are:
- A SHA-256 hash of the Root of Trust Public Key (ROTPK). It is stored in the
- A SHA-256 hash of the Root of Trust Public Key (ROTPK). It is stored in the
trusted root-key storage registers.
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).
- The BL1 image, on the assumption that it resides in ROM so cannot be
- The BL1 image, on the assumption that it resides in ROM so cannot be
tampered with.
tampered with.
...
@@ -32,17 +34,17 @@ essential information to establish the CoT.
...
@@ -32,17 +34,17 @@ essential information to establish the CoT.
In the TBB CoT all certificates are self-signed. There is no need for a
In the TBB CoT all certificates are self-signed. There is no need for a
Certificate Authority (CA) because the CoT is not established by verifying the
Certificate Authority (CA) because the CoT is not established by verifying the
validity of a certificate's issuer but by the content of the certificate
validity of a certificate's issuer but by the content of the certificate
extensions. To sign the certificates, the PKCS#1 SHA-256 with RSA Encryption
extensions. To sign the certificates, different signature schemes are available,
signature scheme is used with a RSA key length of 2048 bits. Future version of
please refer to the :ref:`Build Options` for more details.
TF-A will support additional cryptographic algorithms.
The certificates are categorised as "Key" and "Content" certificates. Key
The certificates are categorised as "Key" and "Content" certificates. Key
certificates are used to verify public keys which have been used to sign content
certificates are used to verify public keys which have been used to sign content
certificates. Content certificates are used to store the hash of a boot loader
certificates. Content certificates are used to store the hash of a boot loader
image. An image can be authenticated by calculating its hash and matching it
image. An image can be authenticated by calculating its hash and matching it
with the hash extracted from the content certificate. The SHA-256 function is
with the hash extracted from the content certificate. Various hash algorithms
used to calculate all hashes. The public keys and hashes are included as
are supported to calculate all hashes, please refer to the :ref:`Build Options`
non-standard extension fields in the `X.509 v3`_ certificates.
for more details.. The public keys and hashes are included as non-standard
extension fields in the `X.509 v3`_ certificates.
The keys used to establish the CoT are:
The keys used to establish the CoT are:
...
@@ -63,10 +65,10 @@ The keys used to establish the CoT are:
...
@@ -63,10 +65,10 @@ The keys used to establish the CoT are:
non secure world image (BL33). The public part is stored in one of the
non secure world image (BL33). The public part is stored in one of the
extension fields in the trusted world certificate.
extension fields in the trusted world certificate.
- **BL3
-
X keys**
- **BL3X keys**
For each of SCP_BL2, BL31, BL32 and BL33, the private part is used to
For each of SCP_BL2, BL31, BL32 and BL33, the private part is used to
sign the content certificate for the BL3
-
X image. The public part is stored
sign the content certificate for the BL3X image. The public part is stored
in one of the extension fields in the corresponding key certificate.
in one of the extension fields in the corresponding key certificate.
The following images are included in the CoT:
The following images are included in the CoT:
...
@@ -219,8 +221,7 @@ certificates (in DER format) required to establish the CoT. New keys can be
...
@@ -219,8 +221,7 @@ certificates (in DER format) required to establish the CoT. New keys can be
generated by the tool in case they are not provided. The certificates are then
generated by the tool in case they are not provided. The certificates are then
passed as inputs to the ``fiptool`` utility for creating the FIP.
passed as inputs to the ``fiptool`` utility for creating the FIP.
The certificates are also stored individually in the in the output build
The certificates are also stored individually in the output build directory.
directory.
The tool resides in the ``tools/cert_create`` directory. It uses the OpenSSL SSL
The tool resides in the ``tools/cert_create`` directory. It uses the OpenSSL SSL
library version to generate the X.509 certificates. The specific version of the
library version to generate the X.509 certificates. The specific version of the
...
@@ -259,7 +260,7 @@ Instructions for building and using the tool can be found in the
...
@@ -259,7 +260,7 @@ Instructions for building and using the tool can be found in the
--------------
--------------
*Copyright (c) 2015-20
19
, Arm Limited and Contributors. All rights reserved.*
*Copyright (c) 2015-20
20
, Arm Limited and Contributors. All rights reserved.*
.. _X.509 v3: https://tools.ietf.org/rfc/rfc5280.txt
.. _X.509 v3: https://tools.ietf.org/rfc/rfc5280.txt
.. _Trusted Board Boot Requirements (TBBR): https://developer.arm.com/docs/den0006/latest/trusted-board-boot-requirements-client-tbbr-client-armv8-a
.. _Trusted Board Boot Requirements (TBBR): https://developer.arm.com/docs/den0006/latest/trusted-board-boot-requirements-client-tbbr-client-armv8-a
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment