Zynq-7000 デバイスのパーティションの暗号化 - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発 (UG1400)

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

Zynq®-7000 SoC デバイスは、内蔵型でプログラマブル ロジック (PL) ベースの HMAC (Hash-based Message Authentication Code)、および Cipher Block Chaining (CBC) モードの Advanced Encryption Standard (AES) モジュールを使用します。

BIF ファイルの例

暗号化されたパーティションを持つブート イメージを作成するには、aeskeyfile 属性を使用して BIF で AES キー ファイルを指定します。暗号化する BIF ファイルにリストされている各イメージ ファイルに対して encryption=aes 属性を指定します。BIF ファイル (secure.bif) の例を次に示します。

image: 
{
	[aeskeyfile] secretkey.nky
	[keysrc_encryption] efuse
	[bootloader, encryption=aes] fsbl.elf
	[encryption=aes] uboot.elf
}
コマンド ラインから、次のコマンドを使用して、暗号化された fsbl.elf および uboot.elf を含むブート イメージを生成します。
bootgen -arch zynq -image secure.bif -w -o BOOT.bin

キーの生成

Bootgen は AES-CBC キーを生成できます。Bootgen は、BIF で指定された AES キー ファイルを使用し、パーティションを暗号化します。キー ファイルが空または存在しない場合、Bootgen は BIF ファイルで指定されたファイルにキーを生成します。キー ファイルが BIF で指定されておらず、いずれかのパーティションに対して暗号化が要求されている場合、Bootgen は BIF と同じディレクトリに拡張子 .nky の BIF ファイル名を用いたキー ファイルを生成します。次に、キー ファイルの例を示します。

図 1. キー ファイルの例