• 検索結果がありません。

aeskeyfile

ドキュメント内 Bootgen ユーザー ガイド (ページ 141-144)

構文

• Zynq デバイスおよび FPGA の場合:

[aeskeyfile] <key filename>

• Zynq UltraScale+ MPSoC の場合:

[aeskeyfile = <keyfile name>] <partition>

• Versal ACAP の場合:

{ aeskeyfile = <keyfile name>, file = <filename> } 説明

AES キーファイルへのパスを指定します。キーファイルには、パーティションの暗号化に使用される AES キーが含 まれます。キー ファイルの内容は、eFUSE または BBRAM に書き込む必要があります。指定したパスにキー ファイ ルが存在しない場合は、Bootgen により暗号化に使用する新しいキーが生成されます。

注記: Zynq UltraScale+ MPSoC のみ: BIF ファイルで複数のキーファイルを指定できます。使用するすべての NKY

ァイルで Key0、IV0、および Key Opt を同じにする必要があります。1 つの ELF ファイルに対して複数のパーティシ ョンを生成する場合、各パーティションを固有のキー ファイルのキーを使用して暗号化できます。次の例を参照して ください。

引数

指定するファイルの名前。

戻り値 なし

all:

{ [keysrc_encryption] bbram_red_key [aeskeyfile] test.nky [bootloader, encryption=aes] fsbl.elf [encryption=aes] hello.elf }

サンプル キー (.nky) ファイルは test.nky です。

Device xc7z020clg484;

Key 0 8177B12032A7DEEE35D0F71A7FC399027BF....D608C58;

Key StartCBC 952FD2DF1DA543C46CDDE4F811506228;

Key HMAC 123177B12032A7DEEE35D0F71A7FC3990BF....127BD89;

Zynq UltraScale+ MPSoC 例 例 1:

fsbl.elf パーティションは test.nky のキーを使用し、hello.elf は test1.nky のキーを使用し、app.elf は test2.nky のキーを使用して暗号化されます。サンプル BIF は test_multipl.bif です。

all:

{ [keysrc_encryption] bbram_red_key [bootloader,encryption=aes,aeskeyfile=test.nky] fsbl.elf [encryption=aes,aeskeyfile=test1.nky] hello.elf [encryption=aes,aeskeyfile=test2.nky] app.elf }

例 2:

Bootgen が、hello.elf の hello.elf.0、hello.elf.1、および hello.elf.2 という 3 つのパーティション を作成するとします。サンプル BIF は test_mulitple.bif です。

all:

{ [keysrc_encryption] bbram_red_key [bootloader,encryption=aes,aeskeyfile=test.nky] fsbl.elf [encryption=aes,aeskeyfile=test1.nky] hello.elf }

その他の情報:

fsbl.elf パーティションは、test.nky のキーで暗号化されます。すべての hello.elf パーティションは、

test1.nky のキーを使用して暗号化されます。

test1.1.nky および test1.2.nky という名前のキー ファイルを test1.nky と同じパスに置くことで、hello パ ーティションごとに一意のキーファイルを使用できます。

hello.elf.0 は test1.nky を使用

• aeskeyfile の形式:

.nky ファイルには次のフィールドを使用できます。

• Device: .nky ファイルを使用するデバイスの名前。Zynq デバイスおよび Zynq UltraScale+ MPSoC の両方で有 効です。

• Keyx, IVx: x は Key0、Key1、Key2 ...、IV0、IV1、IV2...といったキー/IV 番号に該当する整数。AES キーは 256 ビット、キーは 12 バイト長にする必要があります。Keyx は Zynq デバイスおよび Zynq UltraScale+ MPSoC に有効ですが、IVx Zynq UltraScale+ MPSoC にのみ有効です。

• Key Opt: ブートローダーの最初のブロックを暗号化するのに使用するオプションのキー。Zynq UltraScale+

MPSoC にのみ有効です。

• StartCBC - CBC Key: CBC キーは 128 ビット長である必要があります。Zynq デバイスにのみ有効です。

• HMAC - HMAC Key: HMAC キーは 128 ビット長である必要があります。Zynq デバイスにのみ有効です。

• Seed: パーティションの暗号化に必要なキー/IV ペアを生成するために使用する必要のある最初のシード。

AES シードは 256 ビット長である必要があります。Zynq UltraScale+ MPSoC にのみ有効です。

• FixedInputData: カウンター モード KDF への入力としてシードと共に使用されるデータ。AES 固定入力デー タは 60 バイト長である必要があります。Zynq UltraScale+ MPSoC にのみ有効です。

注記:

シードは FixedInputData と共に指定する必要があります。

シードには、複数のキー/IV ペアは使用されません。

Versal ACAP の例:

all:

{ image { name = pmc_subsys, id = 0x1c000001 { type = bootloader, encryption = aes, keysrc = bbram_red_key, aeskeyfile = key1.nky, file = plm.elf } { type = pmcdata, load = 0xf2000000, aeskeyfile = key2.nky, file = pmc_cdo.bin } { type=cdo, encryption = aes, keysrc = efuse_red_key, aeskeyfile = key3.nky, file=fpd_data.cdo } } }

構文

boot_config { a_hwrot } 説明

非対称ハードウェアの信頼のルート (A-HWRoT) ブート モード。Bootgen で A-HWRoT ブート モードのデザイン ル ールがチェックされます。プロダクション PDI でのみ有効です。

ドキュメント内 Bootgen ユーザー ガイド (ページ 141-144)