構文
[auth_params] ppk_select=<0|1>; spk_id <32-bit spk id>;/
spk_select=<spk-efuse/user-efuse>; auth_header
説明
認証パラメーターは、ブート イメージ内のパーティションの認証に使用する PPK、SPK などの追加設定を指定します。この BIF パラメーターの引数は次のとおりです。
- ppk_select: 使用する PPK を選択します。オプションは 0 (デフォルト) または 1 です。
- spk_id: 使用または取り消し可能な SPK を指定します。詳細は、ユーザー eFUSE サポートおよび RSA キー取り消しの改善 を参照してください。デフォルト値は 0x00 です。注記: ヘッダーと FSBL に異なる SPK が存在する場合は、同じ SPK ID を共有します。
SPK ID を指定する auth_params フィールドのみを使用した場合、SPK ID はブート パーティションとアプリケーション パーティションに伝搬されます。SPK ID がブート パーティションとアプリケーション パーティションの両方で使用される場合、ブート/イメージ ヘッダー パーティションの SPK ID が上書きされ、アプリケーション SPK が使用されます。これは、ヘッダーと FSBL が同じ SPK ID を持つことを確認する過程で、Bootgen が送信された SPK ID の最新バージョンを選択するということです。
- spk_select: SPK とユーザー eFUSE を識別。オプションは spk-efuse (デフォルト) と user_efuse です。
- header_auth: パーティションが認証されていない場合のヘッダーを認証。
注記:
- ppk_select は各イメージに固有です。
- 各パーティションは固有の spk_select および spk_id を持つことができます。
- spk-efuse id はイメージ全体で一意ですが、spk-efuse id はパーティションによって異なる場合があります。
- パーティションの範囲外の spk_select/spk_id は、ヘッダーと、これらの指定をパーティション属性として持たないその他のパーティションに使用されます。
例
サンプル BIF 1 - test.bif
all:
{
[auth_params]ppk_select=0;spk_id=0x4
[pskfile] primary.pem
[sskfile]secondary.pem
[bootloader, authentication=rsa]fsbl.elf
}
サンプル BIF 2 - test.bif
all:
{
[auth_params] ppk_select=0;spk_select=spk-efuse;spk_id=0x22
[pskfile] primary.pem
[sskfile] secondary.pem
[bootloader, authentication = rsa] fsbl.elf
}
サンプル BIF 3 - test.bif
all:
{
[auth_params] ppk_select=1; spk_select= user-efuse; spk_id=0x22; header_auth
[pskfile] primary.pem
[sskfile] secondary.pem
[destination_cpu=a53-0] test.elf
}
サンプル BIF 4 - test.bif
all:
{
[auth_params] ppk_select=1;spk_select=user-efuse;spk_id=0x22
[pskfile] primary.pem
[sskfile] secondary0.pem
/* FSBL - Partition-0) */
[
bootloader,
destination_cpu = a53-0,
authentication = rsa,
spk_id = 0x3,
spk_select = spk-efuse,
sskfile = secondary1.pem
] fsbla53.elf
/* Partition-1 */
[
destination_cpu = a53-1,
authentication = rsa,
spk_id = 0x24,
spk_select = user-efuse,
sskfile = secondary2.pem
] hello.elf
}