2392353_ja-JP

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

2392353_ja-JP

2392353_ja-JP

iMXRT1052 カスタムファームウェアでキーブロブを生成しても、起動時に受け入れられません。

こんにちは、

 

署名済みの暗号化ブートローダーがあり、HABは有効になっていますが、シールはされていません。NXPのセキュアプロビジョニングツールを使ってフラッシュすると、問題なく動作します。同様に、FCB + パディング + 署名および暗号化されたブートローダー + キーブロブ(キーブロブはターミナルで次のコマンドを実行して生成されます)を連結すると、次のようになります。

 
blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin"
 

それも効果がある。しかし、デバッグセッション(キーブロブを生成するためだけに用いられる)でカスタムファームウェアを使用してこのプロセスを実行すると、生成されたブロブファイルが受け入れられず、ブートローダーの実行に失敗します。どちらのシナリオにおいても、DEKは変化しない。

 

両方とも.binファイルを生成しましたファイル間の違いは、ブロブオフセットアドレスのみである。

 

Secure Provisioning Toolが提供するflashloader.binと公開されているソースコード(MCUブート)との間に違いはありますか?

 

標準のフラッシュローダーは、このバージョンを報告します。

blhost -u 0x15A2,0x0073 -- get-property 1 Response status = 0 
(0x0) Success. Response word 1 = 1258424320 (0x4b020800) 
Current Version = K2.8.0
 

bl_version.h に基づくと、ソースコードは一貫しているはずであり、Secure Provisioning Tool のバージョンは 25.09 です。

 

カスタムファームウェアはフラッシュローダーソースからのコードスニペット(特にbl_keyblob_dcp.cにあります)を使用しています。そして、すべての依存関係は同じソースから取得されます。この実装は内部でのみ使用されるため、ファームウェアからDEKを抽出することは問題ありません。

 

お時間をいただきありがとうございました。

Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot.

こんにちは、 @JordanSt さん


あなたはiMXRT1052を使って以下のようにテストを行ったと理解してよろしいでしょうか?


1. NXPのセキュアプロビジョニングツールからフラッシュローダーをロードし、以下のコマンドを使用してdek.binとblob.binを取得します。

blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin"

2. iMXRT1052でflashloaderのSDKデモのコードを使ってカスタムファームウェアを実行し、上記のコマンドでdek.binとblob.binを得ます。

3. 生成された dek.bin ファイルは同じですが、blob.bin ファイルは異なります。


私の理解が正しければ、ステップ2のSDKのフラッシュローダーは試しましたか?結果は同じだったのでしょうか?


すてきな一日を、
カン


-------------------------------------------------------------------------------
注記:
この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとうございます!
- 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています
もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。
-------------------------------------------------------------------------------

Re: iMXRT1052 Generating key blob in custom firmware not accepted on boot.

こんにちは@Kan_Li
ご支援ありがとうございます。

関連事項:
1. NXPのSecure Provisioning Toolからフラッシュローダーを読み込み、以下のコマンドでdek.binとblob.binを起動します

- そうだ、鍵の塊を手に入れるために。

2. iMXRT1052でflashloaderのSDKデモのコードを使ってカスタムファームウェアを実行し、上記のコマンドでdek.binとblob.binを得ます。

- はい、しました。SDKのデモフラッシュローダーでテストしました。こちらもカスタムファームウェアです。
重要かどうかはわかりませんが、主な違いはSPTのフラッシュローダーは内部のSRAMから実行されるのに対し、カスタムファームウェアやSDKのデモはそうではなく、外部(搭載)SDRAM用に設定・構築されていることです。


3. 生成されたdek.binファイルは同じですが、blob.binファイルは異なります。

はい、どちらのシナリオでも使用される DEK は同じです (当然です)。生成されたキー ブロブを見ると、ヘッダーは同じで、bk セクションと dek セクションのみが異なり、mac セクションはすべてゼロです。


すてきな一日を
ヨルダン

タグ(1)
評価なし
バージョン履歴
最終更新日:
3 週間前
更新者: