検証 - 2022.1 日本語

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

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

デバイス内では、公開キーを使用して、bootROM が FSBL を検証し、FSBL または U-Boot のいずれかが続くパーティションを検証します。

  1. PPK の検証: この手順では、プライマリ キーの認証が確立されます。プライマリ キーは、セカンダリ キーの認証に使用します。
    1. ブート イメージの AC から PPK が読み出されます。
    2. PPK ハッシュ値を生成します。
    3. ハッシュ化された PPK と、eFUSE から取得された PPK ハッシュ値を比較します。
    4. 同じ場合はプライマリ キーが信頼されます。そうでない場合はセキュア ブート エラーとなります。
  2. セカンダリ キーの検証 - この手順では、セカンダリ キーの認証が確立されます。セカンダリ キーはパーティションの認証に使用します。
    1. ブート イメージの AC から SPK が読み出されます。
    2. SPK ハッシュ値を生成します。
    3. PPK を使用して AC に格納されている SPK 署名を検証し、SPK ハッシュ値を取得します。
    4. ステップ (b) およびステップ (c) からのハッシュ値を比較します。
    5. 同じ場合はセカンダリ キーが信頼されます。そうでない場合はセキュア ブート エラーとなります。
  3. パーティションの検証: この手順では、ブートされているパーティションの信頼性を確立します。
    1. ブート イメージからパーティションが読み出されます。
    2. パーティションのハッシュ値を生成します。
    3. SPK を使用して AC に格納されているパーティション署名を検証し、パーティション ハッシュ値を取得します。
    4. ステップ (b) およびステップ (c) からのハッシュ値を比較します。
    5. 同じ場合はパーティションが信頼されます。そうでない場合はセキュア ブート エラーとなります。
図 1. 検証のフロー図

Bootgen は、次の 2 つの方法で認証証明を作成できます。

  • PSK と SSK を供給します。これらの 2 つの入力を使用し、SPK 署名がオンザフライで計算されます。
  • PPK、SSK、および SPK 署名を入力として供給します。この方法は、PSK がわからない場合に使用されます。