Versal 散列方案 - 2023.2 简体中文

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

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

AMD Versal™ 引入了全新散列方案,旨在执行分区身份验证时尽可能缩短 PLM 的启动时间并减小缓冲器空间。该散列方案主要核心是在当前数据块中包含下一个数据块的散列(类似于密钥滚动)。这样即可将单一签名用于整个分区而不必考量分区大小,同时消除了 PLM 本身内部的缓冲器散列需求。此方案用于除启动加载程序外的所有分区。此数据块每次均散列化,它被称为安全区块。对于 Versal,此区块大小为 32 KB。

该散列方案如下表所示:

表 1. 分区区块划分方案
分区区块计数 分区区块划分方案 注释
CHUNK 0 [ Authentication Certificate - Partition Sign Field + SECURE HEADER + GCM TAG + SECURE_CHUNK_SIZE + HASH OF CHUNK 1 ] 此数据会加以散列化,随后签名。此签名置于 AC 的“Partition Signature”(分区签名)字段内
CHUNK 1 SECURE_CHUNK_SIZE + HASH OF CHUNK 2 ]  
CHUNK 2 SECURE_CHUNK_SIZE + HASH OF CHUNK 3 ]  
CHUNK n-1 SECURE_CHUNK_SIZE + HASH OF CHUNK n]  
CHUNK n [ REMAINING LENGTH ]  

适用于 AMD Versal™ 的 SECURE_CHUNK_SIZE 为 32 KB。