加密和身份验证 - 2022.1 Chinese

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

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 简体中文

赛灵思 7 系列 FPGA 使用基于 PL 的嵌入式散列消息认证码 (HMAC) 和含密码分组链接 (CBC) 模式的高级加密标准 (AES) 模块。对于 UltraScale 器件和更高版本的器件,则使用 AES-256/Galois 计数器模式 (GCM),无需 HMAC。

加密示例

为创建加密比特流,在 BIF 中使用 aeskeyfile 属性指定了 AES 密钥文件。应根据需加密的 BIF 文件中列出的比特流来指定 encryption=aes 属性。

bootgen -arch fpga -image secure.bif -w -o securetop.bit

BIF 文件如下所示:

the_ROM_image:
{
	[aeskeyfile] encrypt.nky
	[encryption=aes] top.bit
}

身份验证示例

用于对 FPGA 比特流进行身份验证的 Bootgen 命令如下所示:

bootgen -arch fpga -image all.bif -o rsa.bit -w on -log error

BIF 文件如下所示:

the_ROM_image:
{
	[sskfile] rsaPrivKeyInfo.pem
	[authentication=rsa] plain.bit
}

族密钥或模糊密钥

为支持模糊密钥加密,必须向赛灵思支持人员注册,并请求获取目标器件系列的族密钥文件。尝试执行模糊密钥加密前,必须将此文件的存储路径作为 bif 选项来传递。请联系 secure.solutions@xilinx.com 以获取族密钥。

image:
{
	[aeskeyfile] key_file.nky
	[familykey] familyKey.cfg
	[encryption=aes] top.bit
}
aeskey 文件样本如下图所示。
图 1. AES 密钥样本