mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
feat: update docs for ESP32H4 security chapters
This commit is contained in:
@@ -253,7 +253,7 @@ JTAG 与 flash 加密和安全启动
|
||||
|
||||
.. only:: SOC_HMAC_SUPPORTED
|
||||
|
||||
请注意,一旦 JTAG 被永久禁用,就无法重新启用以访问 JTAG。但是我们也提供了暂时禁用 (soft disable) JTAG 的选项。有关如何暂时禁用以及重新启用 JTAG,请参考 :ref:`hmac_for_enabling_jtag`。
|
||||
请注意,一旦 JTAG 被永久禁用,就无法重新启用以访问 JTAG。但是我们也提供了暂时禁用 (soft disable) JTAG 的选项。有关如何暂时禁用以及重新启用 JTAG,请参考 :ref:`HMAC 启用 JTAG 接口 <hmac_for_enabling_jtag>`。
|
||||
|
||||
Kconfig 配置项 :ref:`CONFIG_SECURE_BOOT_ALLOW_JTAG` 可以改变这个默认行为,使得用户即使开启了安全启动或者 flash 加密,仍会保留 JTAG 的功能。
|
||||
|
||||
|
||||
@@ -34,13 +34,24 @@
|
||||
|
||||
可将该密钥设置为禁止所有外部资源访问,避免密钥泄露。
|
||||
|
||||
此外,在 {IDF_TARGET_NAME} 上的 HMAC 有以下三种应用场景:
|
||||
.. only:: SOC_DIG_SIGN_SUPPORTED
|
||||
|
||||
#. HMAC 支持软件使用
|
||||
#. HMAC 用作 RSA 数字签名外设 (RSA_DS) 的密钥
|
||||
#. HMAC 用于启用软禁用的 JTAG 接口
|
||||
此外,在 {IDF_TARGET_NAME} 上的 HMAC 有以下三种应用场景:
|
||||
|
||||
第一种应用场景称为 **上行** 模式,后两种应用场景称为 **下行** 模式。
|
||||
#. HMAC 支持软件使用
|
||||
#. HMAC 用作 RSA 数字签名外设 (RSA_DS) 的密钥
|
||||
#. HMAC 用于启用软禁用的 JTAG 接口
|
||||
|
||||
第一种应用场景称为 **上行** 模式,后两种应用场景称为 **下行** 模式。
|
||||
|
||||
.. only:: not SOC_DIG_SIGN_SUPPORTED
|
||||
|
||||
此外,在 {IDF_TARGET_NAME} 上的 HMAC 有以下两种应用场景:
|
||||
|
||||
#. HMAC 支持软件使用
|
||||
#. HMAC 用于启用软禁用的 JTAG 接口
|
||||
|
||||
第一种应用场景称为 **上行** 模式,第二种应用场景称为 **下行** 模式。
|
||||
|
||||
HMAC 的 eFuse 密钥
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
@@ -49,20 +60,35 @@ HMAC 的 eFuse 密钥
|
||||
|
||||
每个密钥都有相应的 eFuse 参数 **密钥功能 (key purpose)**,决定密钥应用于 HMAC 的哪种应用场景。
|
||||
|
||||
.. list-table::
|
||||
:widths: 15 70
|
||||
:header-rows: 1
|
||||
.. only:: SOC_DIG_SIGN_SUPPORTED
|
||||
|
||||
* - 密钥功能
|
||||
- 应用场景
|
||||
* - 8
|
||||
- HMAC 支持软件使用
|
||||
* - 7
|
||||
- HMAC 用作 RSA 数字签名外设 (RSA_DS) 的密钥
|
||||
* - 6
|
||||
- HMAC 启用软禁用的 JTAG 接口
|
||||
* - 5
|
||||
- HMAC 既用作 RSA 数字签名外设 (RSA_DS) 的密钥,又用于启用 JTAG 接口
|
||||
.. list-table::
|
||||
:widths: 15 70
|
||||
:header-rows: 1
|
||||
|
||||
* - 密钥功能
|
||||
- 应用场景
|
||||
* - 8
|
||||
- HMAC 支持软件使用
|
||||
* - 7
|
||||
- HMAC 用作 RSA 数字签名外设 (RSA_DS) 的密钥
|
||||
* - 6
|
||||
- HMAC 启用软禁用的 JTAG 接口
|
||||
* - 5
|
||||
- HMAC 既用作 RSA 数字签名外设 (RSA_DS) 的密钥,又用于启用 JTAG 接口
|
||||
|
||||
.. only:: not SOC_DIG_SIGN_SUPPORTED
|
||||
|
||||
.. list-table::
|
||||
:widths: 15 70
|
||||
:header-rows: 1
|
||||
|
||||
* - 密钥功能
|
||||
- 应用场景
|
||||
* - 8
|
||||
- HMAC 支持软件使用
|
||||
* - 5, 6
|
||||
- HMAC 用于启用软禁用的 JTAG 接口(HMAC 下行模式)
|
||||
|
||||
这样一来,可以确保密钥用于原定场景。
|
||||
|
||||
@@ -79,16 +105,18 @@ HMAC 支持软件使用
|
||||
|
||||
:cpp:func:`psa_mac_compute` 用于计算 HMAC,该函数接收一个不透明的 PSA 密钥,该密钥引用了包含密钥机密的 eFuse 密钥块,并且该密钥块的用途被设置为上行模式。
|
||||
|
||||
HMAC 用作 RSA 数字签名外设 (RSA_DS) 的密钥
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
.. only:: SOC_DIG_SIGN_SUPPORTED
|
||||
|
||||
密钥功能值:7、5
|
||||
HMAC 用作 RSA 数字签名外设 (RSA_DS) 的密钥
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
HMAC 可用作密钥派生函数,解码 RSA_DS 模块使用的私钥参数。在此情况下,硬件使用标准信息进行计算。在 HMAC 部分只需提供 eFuse 密钥块和功能;而在 RSA_DS 模块则还需要一些额外参数。
|
||||
密钥功能值:7、5
|
||||
|
||||
无论是密钥还是实际的 HMAC,都不会暴露在 HMAC 和 RSA_DS 模块之外。对 HMAC 的计算,以及将其传递给 RSA_DS 模块的过程,均在内部进行。
|
||||
HMAC 可用作密钥派生函数,解码 RSA_DS 模块使用的私钥参数。在此情况下,硬件使用标准信息进行计算。在 HMAC 部分只需提供 eFuse 密钥块和功能;而在 RSA_DS 模块则还需要一些额外参数。
|
||||
|
||||
详情请参阅 **{IDF_TARGET_NAME} 技术参考手册** > **RSA 数字签名外设 (RSA_DS)** [`PDF <{IDF_TARGET_TRM_CN_URL}#digsig>`__]。
|
||||
无论是密钥还是实际的 HMAC,都不会暴露在 HMAC 和 RSA_DS 模块之外。对 HMAC 的计算,以及将其传递给 RSA_DS 模块的过程,均在内部进行。
|
||||
|
||||
详情请参阅 **{IDF_TARGET_NAME} 技术参考手册** > **RSA 数字签名外设 (RSA_DS)** [`PDF <{IDF_TARGET_TRM_CN_URL}#digsig>`__]。
|
||||
|
||||
.. _hmac_for_enabling_jtag:
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
:link_to_translation:`en:[English]`
|
||||
|
||||
{IDF_TARGET_RF_NAME: default="Wi-Fi 或蓝牙", esp32s2="Wi-Fi", esp32h2="蓝牙或 802.15.4 Thread/Zigbee", esp32c6="Wi-Fi 或蓝牙或 802.15.4 Thread/Zigbee", esp32c5="Wi-Fi 或蓝牙或 802.15.4 Thread/Zigbee"}
|
||||
{IDF_TARGET_RF_NAME: default="Wi-Fi 或蓝牙", esp32s2="Wi-Fi", esp32h2="蓝牙或 802.15.4 Thread/Zigbee", esp32h4="蓝牙或 802.15.4 Thread/Zigbee", esp32c6="Wi-Fi 或蓝牙或 802.15.4 Thread/Zigbee", esp32c5="Wi-Fi 或蓝牙或 802.15.4 Thread/Zigbee"}
|
||||
{IDF_TARGET_RF_IS: default="已启用", esp32s2="已启用"}
|
||||
|
||||
{IDF_TARGET_NAME} 中包含一个硬件随机数发生器 (RNG),可以调用 API :cpp:func:`esp_random` 和 :cpp:func:`esp_fill_random` 从中获取随机数值。
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
{IDF_TARGET_CRYPT_CNT:default="SPI_BOOT_CRYPT_CNT",esp32="FLASH_CRYPT_CNT"}
|
||||
{IDF_TARGET_CRYPT_CNT_MAX_VAL:default="7",esp32="127"}
|
||||
{IDF_TARGET_SBV2_DEFAULT_SCHEME:default="RSA", esp32c2="ECDSA (V2)"}
|
||||
{IDF_TARGET_SBV2_DEFAULT_SCHEME:default="RSA", esp32c2, esp32h4="ECDSA (V2)"}
|
||||
{IDF_TARGET_FLASH_ENC_ARGS:default="--aes-xts", esp32=""}
|
||||
|
||||
概述
|
||||
|
||||
@@ -190,7 +190,7 @@ JTAG
|
||||
|
||||
- 如果启用了任一安全功能,则 JTAG 接口将保持禁用。更多详情请参阅 :ref:`jtag-debugging-security-features`。
|
||||
- 如果不启用其他安全功能,也可以使用 :ref:`efuse_API` 禁用 JTAG 接口。
|
||||
:SOC_HMAC_SUPPORTED: - {IDF_TARGET_NAME} 支持软禁用 JTAG 接口,并且可以通过 HMAC 烧录密钥重新启用,请参阅 :ref:`hmac_for_enabling_jtag`。
|
||||
:SOC_HMAC_SUPPORTED: - {IDF_TARGET_NAME} 支持软禁用 JTAG 接口,并且可以通过 HMAC 烧录密钥重新启用,请参阅 :ref:`HMAC 启用 JTAG 接口 <hmac_for_enabling_jtag>`。
|
||||
|
||||
UART 下载模式
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Reference in New Issue
Block a user