对 Versal 器件分区进行加密 - 2023.2 简体中文

Vitis 统一软件平台文档 嵌入式软件开发 (UG1400)

Document ID
UG1400
Release Date
2023-12-13
Version
2023.2 简体中文

AMD Versal™ 器件使用 AES-GCM 核,该核支持 256 位密钥。创建安全镜像时,可选择对启动镜像中的每个分区进行加密。密钥源和 aes 密钥文件对于加密都是必需的。

注释: 对于 Versal 自适应 SoC,启用加密时,必须指定每个分区的 AES 密钥文件和密钥源。根据使用的密钥源,在每个指定的 aes 密钥文件内应使用相同的 Key0,反之亦然。

密钥管理

良好的密钥管理方法包括最大限度减少私钥或专用密钥的使用。这可通过在启动镜像内的不同分区间使用不同 Key/IV 对来实现。这样即可将器件上的 BBRAM 或 eFUSE 中存储的 AES 密钥的使用限制到 384 位内,从而显著降低其遭受旁路攻击的可能。

all: {
  image
  {
    {type=bootloader, encryption=aes, keysrc=bbram_red_key, aeskeyfile=plm.nky, dpacm_enable, file=plm.elf}
    {type=pmcdata, load=0xf2000000, aeskeyfile = pmc_data.nky, file=pmc_data.cdo}
    {core=psm, file=psm.elf}
    {type=cdo, encryption=aes, keysrc=bbram_red_key, aeskeyfile=ps_data.nky, file=ps_data.cdo}
    {type=cdo, file=subsystem.cdo}
    {core=a72-0, exception_level = el-3, file=a72-app.elf}
  }
}