注記: SHA-3 認証では、ブート ヘッダー、PPK、およびブート イメージのハッシュ値の計算に Keccak SHA-3 が常に使用されます。ROM によってロードされないその他すべてのパーティションには、NIST-SHA3 が使用されます。
生成された署名は、次の表に基づいて Keccak-SHA3 または NIST-SHA3 を使用します。
認証証明 (AC) の種類 | 署名 | SHA アルゴリズムおよび SPK eFUSE | 署名の生成に使用される秘密キー |
---|---|---|---|
パーティション ヘッダー AC (FSBL/FW によってロードされる) | SPK 署名 | SPKID eFUSE の場合 Keccak、ユーザー eFUSE の場合は NIST | PSK |
BH 署名 | 常に Keccak | SSKheader | |
ヘッダー署名 | 常に NIST | SSKheader | |
ブートローダー (FSBL) AC (ROM によってロードされる) | SPK 署名 | 常に Keccak、常に SPK 用の SPKID eFUSE | PSK |
BH 署名 | 常に Keccak | SSKBootloader | |
FSBL 署名 | 常に Keccak | SSKBootloader | |
その他のパーティション AC (FSBL FW によってロードされる) | SPK 署名 | SPKID eFUSE の場合 Keccak、ユーザー eFUSE の場合は NIST | PSK |
BH 署名 | 常に Keccak パディング | SSKPartition | |
パーティション署名 | 常に NIST パディング | SSKPartition |
例
例 1: 1 つのキー ファイル セットでパーティションを認証するための BIF ファイル
image:
{
[fsbl_config] bh_auth_enable
[auth_params] ppk_select=0; spk_id=0x00000000
[pskfile] primary_4096.pem
[sskfile] secondary_4096.pem
[pmufw_image] pmufw.elf
[bootloader, authentication=rsa, destination_cpu=a53-0] fsbl.elf
[authenication=rsa, destination_cpu=r5-0] hello.elf
}
例 2: パーティションごとに個別のセカンダリ キーを使用してパーティションを認証するための BIF ファイル
image:
{
[auth_params] ppk_select=1
[pskfile] primary_4096.pem
[sskfile] secondary_4096.pem
// FSBL (Partition-0)
[
bootloader,
destination_cpu = a53-0,
authentication = rsa,
spk_id = 0x01,
sskfile = secondary_p1.pem
] fsbla53.elf
// ATF (Partition-1)
[
destination_cpu = a53-0,
authentication = rsa,
exception_level = el-3,
trustzone = secure,
spk_id = 0x02,
sskfile = secondary_p2.pem
] bl31.elf
// UBOOT (Partition-2)
[
destination_cpu = a53-0,
authentication = rsa,
exception_level = el-2,
spk_id = 0x03,
sskfile = secondary_p3.pem
] u-boot.elf
}