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