User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 767
UG585 (v1.11) September 27, 2016
Chapter 32: Device Secure Boot
32.2 Functional Description
32.2.1 Master Secure Boot
Master secure boot is the only secure boot mode supported in Zynq-7000 AP SoC devices. It uses the
hardened AES decryption engine and the hardened HMAC authentication engine within the PL to
decrypt PS images and PL bitstreams. If RSA authentication is enabled, the BootROM authenticates
the encrypted FSBL using the public key prior to decryption (see Table 32-3). The boot process for
the master secure boot mode is shown in Figure 32-2.
IMPORTANT: The master secure boot mode uses the AES
decr
yption and HMAC authentication engines
within the PL, therefore the PL must be powered on during the secure boot process. The BootROM ensures
that the PL is powered before reading the encrypted image from the external boot device. It is the user’s
responsibility to ensure that the PL is powered on before trying to decrypt any new configuration files.
Power on Reset
After the power-on and reset sequences have completed, the on-chip BootROM begins to execute.
An optional eFuse setting can be used to perform a full 128 KB CRC on the BootROM for a small
boot time penalty (around 25 ms at default boot settings). After the integrity check the BootROM
reads the boot mode setting specified by the bootstrap pins. The BootROM then reads the boot
header from the specified external memory.
RSA Authentication Performed on FSBL
If RSA authentication is enabled the BootROM loads the boot image header and the FSBL into the
first 192 KB of the OCM. Next the public key is loaded from the boot image (see section
32.2.3 Secure Boot Image) and validated by calculating a SHA-256 signature and comparing it to the
hash value stored in eFuse. If the values match, the BootROM calculates the signature for the FSBL
and authenticates it with the public key. If the public key signature does not match the hash value
stored in eFuse or the authentication fails on the FSBL, the BootROM performs a fallback and
searches for a new FSBL if the boot device is NAND, NOR, or QSPI. If the fallback fails or the boot
device is SD, the BootROM enters either an error state and enables JTAG or enters a secure lockdown
if the boot image was encrypted. If the authentication of the FSBL passes, the BootROM continues
the boot process. For more details see section 32.2.5 RSA Authentication.
Secure FSBL Decryption
If a secure boot is
specif
ied in the boot image header, the BootROM starts by checking the power-on
status of the PL. Since the AES and HMAC engines reside within the PL, the PL must be powered up
to perform a secure boot. The BootROM waits until the PL is powered up before continuing the secure
boot sequence. After the power-on status of the PL is
conf
irmed, the BootROM begins to load the
encrypted FSBL into the AES engine via the PCAP. The PL sends the decrypted FSBL back to the PS via
the PCAP. The decrypted image is then loaded into the OCM. The BootROM also monitors the HMAC