先前版本的 Bootgen 支持通过使用单一加密密钥对多个分区进行加密来创建启动镜像。针对每个分区重复使用相同密钥。这是一个安全漏洞,不推荐使用此方法。流程中每个密钥应仅使用一次。
Bootgen 支持针对每个分区使用独立的加密密钥。如果存在多个密钥文件,请确保每个加密密钥文件都使用相同的 Key0(器件密钥)、IV0 和运行密钥。如果每个加密密钥文件中上述密钥不同,那么 Bootgen 将不允许创建启动镜像。您必须指定多个加密密钥文件,针对镜像中每个分区指定一个密钥文件。使用针对分区指定的密钥来对分区进行加密。
注释: 由于存在多个可加载节,您可为每个分区创建专用密钥文件,方法是在分区专用的密钥文件目录内给密钥文件名追加
.1
、.2
、.n
等。以下代码片段显示了 1 个加密密钥文件样本:
all:
{
[keysrc_encryption] bbram_red_key
// FSBL (Partition-0)
[
bootloader,
destination_cpu = a53-0,
encryption = aes,
aeskeyfile = key_p0.nky
]fsbla53.elf
// application (Partition-1)
[
destination_cpu = a53-0,
encryption = aes,
aeskeyfile = key_p1.nky
]hello.elf
}
- fsbla53.elf 分区是使用来自 key_p0.nky 文件的密钥进行加密的。
- 假定 hello.elf 具有 3 个分区,因为它具有 3 个可加载节,而 hello.elf.0 分区是使用来自 test2.nky 文件的密钥加密的。
- 此外,hello.elf.1 分区是使用来自
test2.1.nky
的密钥加密的。 -
hello.elf.2 分区是使用来自
test2.2.nky
的密钥加密的。