Secure Boot System Design Decisions - 2024.2 English - UG1209

Zynq UltraScale+ MPSoC Embedded Design Tutorial (UG1209)

Document ID
UG1209
Release Date
2025-03-20
Version
2024.2 English

The following are device level decisions affecting secure boot:

  • Boot mode

  • AES key storage location

  • AES storage state (encrypted or unencrypted)

  • Encryption and authentication requirements

  • Key provisioning

The boot modes which support secure boot are quad serial peripheral interface (QSPI), SD, eMMC, USB Boot, and NAND. The AES key is stored in either eFUSEs (encrypted or unencrypted), battery backed random access memory (BBRAM) (unencrypted only), or in external Non-Volatile Memory (NVM) (encrypted only).

In Zynq UltraScale+ MPSoC devices, partitions can be encrypted and/or authenticated on a partition basis. Xilinx generally recommends that all partitions be RSA authenticated. Partitions that are open source (such as U-Boot and Linux) or that do not contain any proprietary or confidential information typically do not need to be encrypted. In systems in which there are multiple sources/suppliers of sensitive data and/or proprietary IP, encrypting the partitions using unique keys can be important.

DPA resistance requirements are dictated by whether the adversary has physical access to the device.

The following table can be a good reference when deciding on features required to meet a specific secure system requirement. The following sections discuss the features in more detail.

System Consideration

Zynq UltraScale+ Feature

Ensure that only the users software and hardware runs on the device

Hardware Root of Trust

Guarantee that the users software and hardware are not modified

Hardware Root of Trust

Ensure that an adversary cannot clone or reverse engineer software/hardware

Boot Image Confidentiality

Protect sensitive data and proprietary Intellectual Property (IP)

Boot Image Confidentiality

Ensure that Private Key (AES key) is protected against side channel attacks

DPA Protections

Private/Secret keys (AES key) is stored encrypted at rest

Black Key Storage