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. キー ファイルの例