Versal 認証サポート - 2022.1 日本語

Bootgen ユーザー ガイド (UG1283)

Document ID
UG1283
Release Date
2022-04-26
Version
2022.1 日本語

Bootgen では、Versal ACAP の認証に RSA-4096 および ECDSA P384 と P521 がサポートされます。すべてのパーティション/ヘッダーのハッシュを計算するには、NIST SHA-3 が使用されます。ハッシュで計算される署名は、PDI に含まれます。

注記: Zynq デバイスおよび Zynq UltraScale+ MPSoC の場合と異なり、Versal ACAP では認証証明がパーティションよりも前に含まれます。ECDSA P521 曲線は、ブートローダー パーティション (PLM) ではサポートされていません。bootROM では、RSA-4096 または ECDSA-P384 認証のみがサポートされます。その他のパーティションの認証には、P521 を使用できます。

メタ ヘッダー認証

Versal ACAP では、BIF 属性 metaheader のパラメーターに基づいて、Bootgen でメタ ヘッダーが認証されます。次は、その使用例です。

metaheader
{
	authentication = rsa,
	pskfile = psk.pem,
	sskfile = ssk.pem
}

eFUSE 用の PPK ハッシュ

Bootgen は、PPK が信頼されることを確実にすることを目的とした、eFUSE に格納するための PPK ハッシュを生成します。次に示す手順は、eFUSE モードの認証でのみ実行する必要があり、ブート ヘッダー認証ではスキップできます。efuseppksha.txt からの値は、eFUSE にプログラムして eFUSE モードの認証に使用できます。

BIF ファイルの例

BIF ファイルの例 (generate_hash_ppk.bif) を次に示します。

generate_hash_ppk:
{
    pskfile = primary0.pem
    sskfile = secondary0.pem
    image
    {
        name = pmc_ss, id = 0x1c000001
        { type=bootloader, authentication=rsa, file=plm.elf}
        { type=pmcdata, load=0xf2000000, file=pmc_cdo.bin}
    }
}

コマンド

eFUSE プログラミング用の PPK ハッシュを生成するコマンドは次のとおりです。

bootgen –image generate_hash_ppk.bif –arch versal –w –o test.bin –efuseppkbits efuseppksha.txt

Versal ACAP の累積セキュア ブート

表 1. 累加的なセキュア ブート動作
ブート タイプ 動作 ハードウェア暗号化エンジン
認証 復号化 完全性 (チェックサム検証)
非セキュア ブート なし なし なし なし
非対称のハードウェアによる信頼のルート (A-HWRoT) はい (必須) なし なし RSA/ECDSA と SHA3
対称のハードウェアによる信頼のルート (S-HWRoT) (PDI の復号化には強制的に eFUSE ブラック キーを使用) なし あり (PLM とメタ ヘッダーは eFUSE KEK で暗号化する必要あり) なし AES-GCM
A-HWRoT + S-HWRoT はい (必須) はい (必須) なし RSA/ECDSA と SHA3 および AES-GCM
PDI の認証と復号化 あり Yes (キー ソースは BBRAM または eFUSE) なし RSA/ECDSA と SHA3 および AES-GCM
復号化 (ユーザーが選択したキーを使用。キー ソースは、BBRAM/BHDR または eFUSE など任意のものを使用可能) なし あり なし AES-GCM
チェックサム検査 なし なし Yes SHA3