2201723_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2201723_ja-JP

2201723_ja-JP

i.MX RTデュアルイメージセットアップ1050でHAB認証が警告(サポートされていないエンジン - DCP)とともに成功する

こんにちは、
私は、 i.MX RT1050 MCUのセキュア ブートの実装に取り組んでおり、外部フラッシュにある第 2 段階のブートローダ用とアプリケーション イメージ用の2 つのイメージ認証を実現したいと考えています。

セットアップの概要

  • SRK、IMG、および CSF 証明書は、 NXP Secure Provisioning Tool (SPT)を使用して生成されます。

  • 2 段階のブートローダは、HAB を使用して ROM によって署名および認証されます。

  • アプリケーション イメージはブートローダの後に外部フラッシュに保存され、独立して更新できます (例: USB または OTA 経由)。

  • 2 番目の状態のブートローダは、実行前にROM HAB APIを呼び出してアプリケーション イメージを認証します。

    実装の詳細

    両方のイメージ (ブートローダー + アプリ) は同じ SRK/CSF キー セットで署名されています。
    第 2 段階のブートローダー内で、次のように HAB 認証を呼び出します。

    load_addr = (uint32_t)hab_authenticate_image_no_dcd(1, ivt_offset, image_start, バイト);

    hab_image_entry_f hab_authenticate_image_no_dcd(uint8_t cid, uint32_t ivt_offset, uint32_t start, size_t バイト)
    {
    g_habrvtTree->authenticate_image_no_dcd(cid, ivt_offset, (void **)&start, (size_t *)&bytes, NULL) を返します。
    }

    認証は機能します。関数は有効なリセット ハンドラー アドレスを返し、イメージが正常に検証されたことを確認します。

    問題: HAB 警告 (サポートされていないエンジン - DCP)

    認証が成功したら、hab_rvt_report_status() と hab_rvt_report_event() を使用して HAB のステータスとイベント情報をログを照会します。
    認証は成功しますが、HAB_SUCCESS ではなくHAB WARNING が常に表示されます。

    出力例:

    Hab rvt レポート ステータス = 0x69、構成 = 0xcc、ステータス = 0x99
    イベント情報 #0 を報告 -> 0xf0
    [HAB イベント情報 #0] (44 バイト):
    DB 00 2C 43 69 0A C0 00 CA 00 24 00 02 C5 1B 00 ...

    HAB4 ドキュメントに従ってこのイベントをデコードすると、次のようになります。

    • 0x69 → 警告

    • 0x0A → サポートされていないエンジン

    • 0xC0 → hab_rvt.run_csf() に記録されたイベント情報

    • シーケンス02 C5 1B 00は次のようにマップされます。

      • 画像キー検証インデックス

      • プロトコル: HAB_PCL_CMS

      • エンジン: DCP

      • デフォルト設定

    このことから、ROM が警告を報告しているのは、CSF 実行中に DCP エンジンを使用しようとしているが、DCP が適切に初期化されていないか、第 2 段階のブートローダ コンテキストで使用できないためだとわかります。

    私が試したこと

    SDK を使用して DCP を手動で初期化しました。

     
    DCP_Init(DCP、&config);

    (すべてのチャネルが有効でデフォルト設定の場合)

    ただし、警告は引き続き表示されます。認証は成功しますが、イベント情報ログには引き続きサポートされていないエンジン (DCP)が報告されます。

    質問

    1. プライマリ HAB 認証SSB プロセス中に ROM はどのように DCP を初期化して使用するのでしょうか?

    2. この警告は、HAB ROM API を手動で呼び出すときに予想されるものでしょうか、それとも無害なものでしょうか?

    3. カスタム ブートローダから ROM HAB 認証 API を呼び出してHAB_SUCCESS (警告なし) を達成することは可能ですか? それとも、初期ブート コンテキスト外で ROM HAB API を使用した場合にこの警告が表示されることが予想されますか?



Re: HAB authentication succeeds with WARNING (Unsupported Engine – DCP) on i.MX RT dual image setup1

こんにちは@BiHDeveloper

お問い合わせいただきありがとうございます!

さらに進む前に、Header_Engine を any にするように BD ファイルを手動で変更していただけますか?結果を教えてください

diego_charles_2-1762816138764.png

編集: 上記のように bd ファイルを更新した後、イメージを再度ビルドします。イメージのビルド ボタンをクリックすると、SPT によって BD ファイルが車載生成されることに注意してください。これを回避するには、プロジェクト ワークスペースから build_image スクリプトを手動で実行できます。次に、新しいイメージをプロセッサに書き込みます。

何か変化がありましたらお知らせください。

ディエゴ



タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 05:27 PM
更新者: