多个加密密钥文件 - 2023.2 简体中文

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

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

先前版本的 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 的密钥加密的。