AMD Zynq™ 7000 SoC 器件使用嵌入式可编程逻辑 (PL) 散列消息认证码 (HMAC) 和含密码分组链接 (CBC) 模式的高级加密标准 (AES) 模块。
BIF 文件示例
为使用加密分区创建启动镜像,在 BIF 中使用 aeskeyfile 属性指定了 AES 密钥文件。为 BIF 文件中列出的要加密的每个镜像文件指定 encryption=aes
属性。BIF 文件 (secure.bif) 示例如下所示:
image:
{
[aeskeyfile] secretkey.nky
[keysrc_encryption] efuse
[bootloader, encryption=aes] fsbl.elf
[encryption=aes] uboot.elf
}
在命令行中,使用以下命令可生成含已加密的 fsbl.elf 和 uboot.elf 的启动镜像。bootgen -arch zynq -image secure.bif -w -o BOOT.bin
密钥生成
Bootgen 可生成 AES-CBC 密钥。Bootgen 使用 BIF 中指定的 AES 密钥文件来对分区进行加密。如果密钥文件为空或者不存在,Bootgen 会在 BIF 文件中指定的文件内生成密钥。如果在 BIF 中未指定密钥文件,并且针对任一分区已请求加密,那么 Bootgen 会在 BIF 所在目录内生成一个密钥文件,其文件名为 BIF 文件的名称加上 .nky 扩展名。以下是密钥文件样本。
图 1. 密钥文件样本