この機能は、Bootgen の U-Boot プロンプトで作成されたシングル パーティション (ビットストリームなしの) イメージの認証および暗号化の両方またはいずれかをサポートします。
注記: 複数パーティションを含むイメージはサポートしません。
セキュア イメージを読み込む U-Boot コマンド
zynqmp secure <srcaddr> <len> [key_addr]
このコマンドは、アドレス $src で $len bytes\ long のセキュア イメージを検証します。暗号化にキーを使用する必要がある場合は、オプションで key_addr を指定できます。
認証のみのユース ケース
U-Boot で認証のみを使用する場合は、次の例に示すように bif を使用して認証イメージを作成します。
- U-Boot で認証されるシングル パーティション イメージを作成します。注記: elf ファイルを指定する場合は、複数のロード可能なセクションが含まれていないことを確認してください。elf ファイルに複数のロード可能なセクションが含まれる場合は、入力を .bin 形式に変換して、その .bin を bif で入力として指定します。次に、bif の例を示します。
the_ROM_image: { [pskfile]rsa4096_private1.pem [sskfile]rsa4096_private2.pem [auth_params] ppk_select=1;spk_id=0x1 [authentication = rsa]Data.bin }
- イメージが生成されたら、その認証イメージを DDR にダウンロードします。
- 次の例のように、U-Boot コマンドを実行してセキュア イメージを認証します。
ZynqMP> zynqmp secure 100000 2d000 Verified image at 0x102800
- 問題なく認証されると、U-Boot から実際のパーティションの開始アドレスが返されます。エラーがあった場合は、エラー コードが表示されます。RSA_EN eFUSE をプログラムする場合、イメージ認証は必須です。eFUSE RSA がイネーブルの場合、ブート ヘッダーの認証はサポートされません。
暗号化のみのユース ケース
イメージを暗号化するだけの場合、デバイス キーはサポートされません。認証がイネーブルになっていない場合は、KUP キーの暗号化のみがサポートされます。